I am not sure of the best way to describe what I am trying to do. I guess I will just describe the application first. I have an automated storage and retrieval machine that interfaces to other controls systems (conveyor and process machines). There are interlocks to the ancillary equipment as part of the pick and drop cycle (ready for pickup, ready for dropoff, handshakes, etc). The way the system works now the PLC on board the ASRS machine talks directly to the PLC(s) running the equipment over Ethernet. However, when the storage and retrieval machine is down, the customer wants to be able to use a manually driven vehicle with a wireless thin client on board and emulate the same process. The screen would tell the operator where to drive the vehicle and signal when it is OK to pick or drop. The operator will confirm the action is complete with a PB on the screen (or scanning the part / location). I would like to use Ignition to control this mode. Normally Ignition would just pass the interlock signals back and forth between the PLCs. When the machine is down and the manual machine is in use, the HMI screen and some scripts would take over to supply the same interlock signals to the ancillary equipment. Normally I would handle a situation like this by having a “master” PLC that all the ancillary equipment talks to and it controls the automated/manual process and either gets data from the ASRS machine or the operator via an HMI. I think I can do this using just Ignition but I would like some help on the overall methodology and best way of doing this. Any help is appreciated. Sorry for the long explanation!
Well there are probably a bunch of ways to skin this cat…
Maybe you could use a database table as the “master”.
Under normal conditions have an OPC-to-DB group that writes
ASRS -> Table
and a DB-to-OPC group that does
Table -> ancillary
You could have the 1st group triggered on good quality data so that it turns itself on and off depending upon availability
Then under manual conditions have your Vision screens directly update that table, so the data flow would be:
Vision Client Screens > Table
Table > ancillary
Just an idea based upon my extremely limited understanding, hope it helps get the ball rolling.