My perspective application has something of a “splash screen” which the user just taps on to proceed through to the main menu (using an iPad as the client). I’m now in the process of not enabling that “tap through” until the PLC is online and has completed its startup sequence, just to avoid the user experience of multiple “unknown quality” banners.
For clarity, my “startup sequence” is a programmed sequence of events within the PLC ladder logic which occurs at power up - this machine is a mobile one, and it will be unplugged and moved and powered up from time to time. The onboard gateway PC is all solid state and boots in about 10 seconds, the iPad will always be powered on, but the PLC takes a good minute or so to boot, and then another 20 seconds to run through startup sequencing. After this time, the user can tap through.
I’d like to give the user as much detail as possible regarding exactly what it is they’re waiting for to be able to tap through. Possibilities I’ve anticipated are:
- Not connected to a wireless network
- Not connected to the right wireless network
- Connected to the right network but unable to connect to PLC (PLC still booting up)
- Connected to the PLC but PLC not yet in run mode
- Connected to the PLC but PLC still going through startup sequence
Ideas I’ve had so far:
- None, really. Is there any way at all perspective can grab information from the host? I’m suspecting not, but hopeful I might be able to do something clever with a script
- Ditto
- Can probably be achieved with a tag quality binding - there’s an OPC tag which is set to true when the PLC completes its startup sequence, if I monitor that (or any other OPC tag, really) for good quality, I should be able to work out when the connection to the PLC is established. I’ve found a
qualifiedValue()
function in the expression language of v8, but can’t find any documentation about what exactly I need to feed it and what it returns - Can be extrapolated from the device status tags, easy enough
- As easy as monitoring the “startup complete” tag - again, as long as I’ve already established quality and PLC run mode, because the tag won’t be set to false until the PLC enters run mode and resets it
Is anyone able to help me work out a few more details?