Design Recommendations for Integration to a PLC

PLC (Programmable Logic Controller) Door Control is common in many facilities and provides a flexible and reliable solution. As PLCs are highly flexible in the way they are programmed, these best practice guidelines are recommended wherever possible to simplify integration with IPFusion.

IPFusion's display is based on discrete control points, referred to as assets. An asset can be, for example: a door, intercom, or light. Each asset provides a status display and accepts commands to control it.

All PLC communication leverages the IPFusion OPC Tag Database, which models the OPC DA standard. OPC DA is a standard in which data values are shared on pre-defined tags. Each tag has a data type; IPFusion is best suited to using WORD, INT, and BOOL data types.

IPFusion can connect to PLCs through a variety of communication protocols such as Modbus Ethernet or Omron FINS (see the Add a Tag in OPC Tag Database topic for further information and a complete list).

For the other PLC protocols, a third-party OPC DA compliant application such as KEPserverEX or similar is required to act as an intermediary as follows:

  • IPFusion is an OPC DA Client and configured with OPC Tags.
  • Third-Party Driver, an OPC DA Server, is configured with OPC Tags and is configured to interface with the PLC via the PLC’s proprietary communication format, which links the OPC Tags with a PLC Tag (sometimes referred to as a PLC Variable).

In this way, and by using a status and command tag for each asset, IPFusion can send commands to the PLC that are directed to the asset, and the PLC can send back the current state of the asset.

Overview from a design perspective:

  • IPFusion declares an asset to represent a discrete control point. It can show the status of this point and send commands to it, which requires two dedicated OPC DA tags.
  • When direct integration to the PLC is not possible, intermediary software links the IPFusion Tag to the PLC Tag/Variable and ensures they are always equal.
  • The PLC allocates one Tag/Variable per discrete control point to accept commands from IPFusion by monitoring the value of the Tag/Variable. The PLC must reset this to a "rest" value (such as 0) after acting on it to ensure that a new command is noticed.
  • The PLC allocates one Tag/Variable per discrete control point such that it keeps set to a value that represents the state of that point.