Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Step-by-step guide to connect FrameworX to a Programmable Logic Controller (PLC). This tutorial uses Allen-Bradley ControlLogix as an example, but includes notes for other brands.



What You'll Learn

  • Configure PLC communication driver
  • Import tag database from PLC
  • Map PLC addresses
  • Optimize communication performance

Prerequisites

  • PLC network details (IP address, slot number)
  • PLC programming software for tag export (optional)

Step 1: Select Your PLC Protocol

Navigate to Devices → Channels and choose protocol:

PLC BrandProtocolPort
Allen-Bradley ControlLogixAB ControlLogix44818
Siemens S7Siemens S7102
Modbus devicesModbus TCP502
SchneiderModbus or OPC UAVaries

Step 2: Configure Channel

Create channel for ControlLogix:

  • Name: CLX_Channel
  • Protocol: AB ControlLogix
  • Connection: Ethernet/IP
  • Timeout: 5000ms
  • Max Connections: 16

Step 3: Add PLC Node

  1. Go to Devices → Nodes
  2. Create node:
    • Name: MainPLC
    • Channel: CLX_Channel
    • IP Address: 192.168.1.100
    • Slot: 0 (CPU slot)
    • Connection Path: Leave blank for local

Step 4: Import Tags from PLC

Method 1 - Online Import:

  1. Right-click node → Import Tags Online
  2. Connect to PLC
  3. Select tags to import
  4. Map to FrameworX namespace

Method 2 - Offline Import (L5X file):

  1. Export from RSLogix/Studio 5000
  2. In FrameworX: Tools → Import → ControlLogix L5X
  3. Browse to file
  4. Select tags and data types

Step 5: Create Device Points

For manual configuration:

Controller Tag:

  • Name: Line_Speed
  • Node: MainPLC
  • Address: Line_Speed (tag name in PLC)
  • Data Type: REAL/Float
  • Scan Rate: 1000ms

Array Element:

  • Name: Alarm_Active_01
  • Address: Alarms[0]
  • Data Type: BOOL

UDT Member:

  • Name: Motor1_Running
  • Address: Motor1.Running
  • Data Type: BOOL

Step 5: Optimize Communication

  1. Create Scan Groups:
    • Fast: 100ms (critical values)
    • Normal: 1000ms (standard)
    • Slow: 10000ms (setpoints)
  2. Assign Points to Groups:
    • Alarms → Fast
    • Process values → Normal
    • Configurations → Slow

Step 6: Test Connection

  1. Start Runtime
  2. Check Devices → Monitor
  3. Verify:
    • Connection status green
    • Values updating
    • Scan time acceptable

Step 7: Troubleshooting

IssueSolution
Cannot connectCheck firewall, ping PLC
Wrong slotVerify CPU slot number
Tags not foundCheck controller/program scope
Slow updatesReduce points per packet
Connection lostIncrease timeout value

PLC-Specific Notes

Siemens S7:

  • Requires DB number and offset
  • Example: DB100.DBD10 (Double at offset 10)

Modbus:

  • Use register addresses
  • 40001 = Holding registers
  • 30001 = Input registers

OPC UA:

  • Browse available nodes
  • Use NodeId for address

Best Practices

  • Import tags to maintain consistency
  • Use structured addressing
  • Group related tags
  • Set appropriate scan rates
  • Monitor communication load

Next Steps

  • [Define Alarms] - Add alarms to PLC values
  • [Historian] - Log PLC data
  • [Operator UI Design] - Display PLC status