ether_ip - epics ethernet/ip support for controllogix kay-uwe kasemir, lanl nov. 2000

7
ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov. 2000

Upload: arline-mosley

Post on 23-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov. 2000

ether_ip - EPICS EtherNet/IP support for

ControlLogix

Kay-Uwe Kasemir, LANL

Nov. 2000

Page 2: Ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov. 2000

EtherNet/IP

IP = Industrial Protocol Evolved from “ControlNet over EtherNet” SIG Encapsulates CIP in TCP & UDP

– (Ctrl. & Info. Protocol, shared by DeviceNet and ControlNet)

Part of ControlNet Specs:– Open DeviceNet Vendor Assoc.,

http://www.odva.org

Page 3: Ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov. 2000

EtherNet/IP Spec. Details

ControlNet Spec.2 Errata 1, E.Net. still in red Open portion of CIP (object & service codes):

– How to route messages– How to read serial number and vendor code

Vendor specific:– Get data of real interest, e.g. PLC values

This driver:CIP Read/WriteData as used byAllen Bradley ControlLogix PLCs– Round-trip request/response mechanism– Subscription (ForwardOpen) with triggered updates via

UDP not implemented/documented by AllenBradley

Page 4: Ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov. 2000

EPICS Driver/Device No special hardware, neither for setup nor runtime IOCs (pc486, PPC), command-line (Win32, Unix) Can read & write any tag on PLC

– DTYP=“EtherIP”, INP=“@plc1 PS1RB2”

– also: INP=“@plc2 arraytag[21]”, “@plc2 struct.elem”

– REAL, INT, DINT, BOOL,scalars, struct. elements, arrays

– no need to “publish” tag in PLC’s LadderLogic or program ControlNet connection to allocate bandwidth

– Records: ai, ao, bi, bo, mbbi, mbbo, mbbiDirect, mbboDirect INP/OUT can be changed at runtime to use different tag on different

PLC! Handles disconnects/reconnects (e.g. PLC reboot)

Page 5: Ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov. 2000

Driver/Device Details

One communication thread per PLC Combines requests to minimize transfers

– (up to ~500 byte PLC buffer limit) Arrays are transferred as a whole (default) Output records:

– Monitors PLC, updates rec. on change Supports SCAN=I/O Event (also for e.g. 30Hz scans) Provides statistics: min/max/last scan times, #errors, ... Performance: about 8ms per transfer

• Single REAL tag: 8ms• BOOL[352]: 8ms• 3xREAL[30]: ~20ms (combined requests)

Page 6: Ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov. 2000

Conclusion

Setup:– No additional hardware (neither for PC, IOC, nor

communication setup)

Use:– No special LadderLogic required, though arrays might

be preferred (performance)

– Good IOC support (I/O Event, runtime change)

Performance:– 8ms/transfer, susceptible to network delays

– good enough for most applications?

Page 7: Ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov. 2000

Test

Taken after about 46000 runs,PPC IOC, 350 BI @10Hz, 150 AI @ 1Hz, switched network.After 1 week: max. scan time 0.15 sec

020004000600080001000012000140001600018000

Hit

s

6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Scan Time [ms]

Histogram for BOOL[352] fetch