1 / 7

ether_ip - EPICS EtherNet/IP support for ControlLogix

This driver provides EtherNet/IP support for ControlLogix PLCs, allowing easy read/write access to PLC values. No special hardware is required for setup or runtime. The driver handles disconnects/reconnects and provides performance statistics.

maricelat
Download Presentation

ether_ip - EPICS EtherNet/IP support for ControlLogix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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)

  5. 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)

  6. 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?

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

More Related