Managed by UT-Battelle for the Department of Energy Kay Kasemir Sept. 2014 EPICS EtherIP Driver.

Slides:



Advertisements
Similar presentations
MIL/STD-1553B Bus Overview J. Frederick Bartlett Fermilab June 3, 1999.
Advertisements

Computer Organization and Architecture
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
Introduction to the Enhanced AIM When Q.i was first introduced, a ladder logic driver program – called the Application Interface Module (AIM) - was created.
Advanced Access to Allen-Bradley Devices with VS.NET Win Worrall Applications/Development Engineer Renee Sikes Applications.
Computer Organization and Architecture
Computer Organization and Architecture
Dirk Zimoch, EPICS Collaboration Meeting, Vancouver 2009 Real-Time Data Transfer using the Timing System (Original slides and driver code by Babak Kalantari)
OPC Overview OPC Device Support (PLC Gateway for 3.14) Ralph Lange – EPICS Collaboration Meeting at SLAC, April 2005.
14 Nov 2000G3/FlexIO/PLC5/VSIOD8 Carl Lionberger 1 EPICS Support for G3/FlexIO/PLC5/VSIOD8 Carl Lionberger Group3™ optical-fiber-connected I/O AB FlexIO™
Dirk Zimoch, EPICS Meeting April 2007, Hamburg Siemens S7 PLC Communication.
ILon Brad Webb, SNS 2Managed by UT-Battelle for the U.S. Department of Energy Presentation_name What Is iLon And What Is Its Purpose?
EPICS support for ControlLogix via EtherNet/IP Kay-Uwe Kasemir, LANL May 2001.
Ether_ip - EPICS EtherNet/IP support for ControlLogix Kay-Uwe Kasemir, LANL Nov
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
EtherIP Driver Kay Kasemir, July 2009.
SLAC asyn class, Day 1, August 26, 2010 Example asyn driver Modbus Mark Rivers, Marty Kraimer, Eric Norum University of Chicago Advanced Photon Source.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
ORNL is managed by UT-Battelle for the US Department of Energy EPICS State Notation Language (SNL), “Sequencer” Kay Kasemir, SNS/ORNL Many slides from.
Managed by UT-Battelle for the Department of Energy EPICS Database … in 1 hour?! Kay Kasemir, SNS/ORNL Many slides from Andrew Johnson, APS/ANL, Jan
8 May 2001EPICS Group3 Carl Lionberger1 EPICS Support for Group3 Control System Carl Lionberger Group3™ optical-fiber-connected I/O Software and operational.
Controls for High-Availability Magnet PS’s for ATF2 Glen White SLAC September
Ralph Lange: OPC Gateway (Device Support) OPC Gateway (Device Support) Ralph Lange – EPICS Collaboration Meeting March SSRF.
IP Forwarding.
Berliner Elektronenspeicherringgesellschaft für Synchrotronstrahlung mbH (BESSY) OPC - Device Support Bernhard Kuner, Carsten Winkler BESSY, Berlin, Germany.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Feb EPICS ’Stream’ Device Support.
Running EPICS on NI CompactRIO Initial Experience Eric Björklund (LA-UR )
ORNL is managed by UT-Battelle for the US Department of Energy EPICS Automation Kay Kasemir, SNS/ORNL June 2014.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
A U.S. Department of Energy Office of Science Laboratory Operated by The University of Chicago Argonne National Laboratory Office of Science U.S. Department.
Turbine Crane CRANES TURBINE NEA39. Turbine Crane PLANT STATUS! PV Daily Status Report.
SNS Integrated Control System MBUF Problems and solutions on VxWorks Dave Thompson and cast of many.
Agilent Technologies Copyright 1999 H7211A+221 v Capture Filters, Logging, and Subnets: Module Objectives Create capture filters that control whether.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 Virtual Trunking Protocol.
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
Fast Fault Finder A Machine Protection Component.
Block Diagram MTB Board #1 PC LabVIEW Program #1 Config File #1 MTB Board #2 LabVIEW Program #2 Config File #2 Database SUB record for each channel. Other.
1 1999/Ph 514: Flow of Control EPICS Flow of Control Marty Kraimer APS.
1. EPICS IOC on CompactRIO EPICS Collaboration Meeting Fall 2011.
A Next Generation OCS OCS connectivity to (aka the Evil Empire) Rockwell Automation.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 3 v3.0 Module 9 VLAN Trunking Protocol Cisco Networking Academy.
Managed by UT-Battelle for the Department of Energy EPICS Database Kay Kasemir, SNS/ORNL Many slides from Andrew Johnson, APS/ANL Sept
Managed by UT-Battelle for the Department of Energy SCL Vacuum Control System Upgrade Derrick Williams
New IP Drivers using drvIpac Module Driver:CANopen Carrier Driver:GPFC drvIpac ?? CANopen Tip810 CAN Tip810 mv162GPFCatc40vipc310vipc616 Module driver.
Protocol Layering Chapter 11.
A Next Generation OCS OCS &. A Next Generation OCS What is Ethernet/IP? Open Network specified by ODVA Uses standard Ethernet components Based on CIP.
1 1999/Ph 514: Supported Hardware EPICS Supported Hardware Ned D. Arnold APS.
Babak Kalantari, EPICS Collaboration Meeting, Kobe 2009 A generic driver for Data Buffer of MRF Timing System Babak Kalantari Paul Scherrer Institute Switzerland.
Unity Application Generator Step 4d: Defining PLC.
1 EPICS Flow of Control: EPICS Workshop at IHEP, Beijing, August 2001 EPICS Flow of Control Marty Kraimer APS.
Managed by UT-Battelle for the Department of Energy Kay Kasemir Jan Experimental Physics and Industrial Control System.
Stanford Linear Accelerator Center Stephanie AllisonEPICS Meeting June, Porting EtherIP to EPICS 3.14 Usage at SPEAR IOC Software Porting Notes 3.13/3.14.
SNS Control System Slide 1, 4/19/2002 EPICS Interlock Experience Kay-Uwe Kasemir, Los Alamos National Laboratory Presented at the EPICS Collaboration Meeting.
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS May 2014 Control System Studio Training - Hierarchical Preferences.
LonWorks Introduction Hwayoung Chae.
An Overview When Connecting to Yaskawa Drives Date: 8/14/06, Rev: PP.AFD.26.
Allen-Bradley PLC-5 Control With A ‘Soft’ IOC 1 Jim Stevens APS Controls Group Epics Collaboration Meeting May 20, 2015 Rick Putnam APS MOM Group.
Industrial communication networks
Do-more Technical Training
Programmable Logic Controllers: I/O
Click to edit Master subtitle style
Setup Of 4050 EIP To Control LOGIX PLC
Welcome! Thank you for joining us. We’ll get started in a few minutes.
PLC Hardware Components.
regDev Simple access to register based devices
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Managed by UT-Battelle for the Department of Energy Kay Kasemir Sept EPICS EtherIP Driver

2Managed by UT-Battelle for the Department of Energy EtherNet/IP ?  Industrial Protocol, a.k.a. –ControlNet-over-Ethernet –TCP encapsulation of CIP (Control & Information Protocol)  Open DeviceNet Vendor Association (ODVA) Routing, messages, objects, services, data types

3Managed by UT-Battelle for the Department of Energy EPICS “ether-ip” Support EtherNet/IP spec: Connect & read serial number of ENET module Allen Bradley 1756-RM005A-EN-E.pdf: Read & write PLC tags EPICS support: IOC records read/write PLC tags

4Managed by UT-Battelle for the Department of Energy History, Status  Developed ~2000 for SNS –Key to its operation: Vacuum, cryo, water, … –Now used by many EPICS sites  Convenient –Compared to serial, ControlNet, …: No special interface hardware nor wiring –Can read/write any tag on the PLC, no “publish” –“Fast enough”  Supports AllenBradley ControlLogix, CompactLogix

5Managed by UT-Battelle for the Department of Energy PLC Requirements  ENET Module –Know the IP address –Know the CPU slot number One PLC could have multiple controllers!  Tags –Know tag names –“Controller” level, not! private to program –No need to “produce” ENET Module, IP Controller, Slot 0

6Managed by UT-Battelle for the Department of Energy EPICS Records Input Records (ai, bi, mbbi, mbbiDirect, stringin) field(DTYP, "EtherIP") field(INP, name_of_tag") field(SCAN, "1 second”) Output Records (ao, bo, mbbo, mbboDirect) field(DTYP, "EtherIP") field(OUT, name_of_tag")

7Managed by UT-Battelle for the Department of Energy PLC Data Type  Record Type REAL, INT, DINT  ai, ao (REAL?VAL:RVAL) INT, DINT, BOOL[]  bi, bo, mbb* BOOL  bi, bo For arrays, access one element: my_array[42]") For structures, access one element: gadget.ps.voltage")

8Managed by UT-Battelle for the Department of Energy Starting the IOC: Development Type this on one line: eipIoc -p my_plc= –m "P=MyPrefix,N=2" –d example.db ‘softIoc’ with EtherIP built in -p "name=ip,slot" Define PLC name for in INP/OUT links, IP address, optional CPU slot -p "name=ip,slot" Define PLC name for in INP/OUT links, IP address, optional CPU slot -m "macro=value" Define database macros -m "macro=value" Define database macros -d path/to/some.db Load database -d path/to/some.db Load database

9Managed by UT-Battelle for the Department of Energy Starting the IOC: Production Setup Add driver to ‘makeBaseApp’ type IOC: configure/RELEASE: ETHER_IP=/path/to/share/ether_ip yourApp/src/Makefile: your_DBD += ether_ip.dbd your_LIBS += ether_ip iocBoot/iocYours/st.cmd: drvEtherIP_init() drvEtherIP_define_PLC("my_plc", " ", 0) dbLoadRecords(…

10Managed by UT-Battelle for the Department of Energy Arrays, Aliases  Arrays are MUCH more effective –Read scalar REAL tag: 8ms –Read REAL[40]: 8ms –Read BOOL[352]: 8ms –Read 352 separate BOOL tags: ~352 * 8 ms  Records with INP or OUT that access my_array[2]” my_array[39]”  Driver reads my_array[0..39] 1.Arrange data in array tags 2.Configure INP/OUT to use array elements 3.May use alias tags within PLC logic ! !

11Managed by UT-Battelle for the Department of Energy Driver Combines Tags used by Records Records 1.INP arrayA[2]”, SCAN “2 second” 2.INP arrayA[3]”, SCAN “2 second” 3.INP arrayB[13]”, SCAN “1 second” 4.INP arrayA[2]”, SCAN “2 second” Driver 1.“plc” Handle “arrayA[0-3]” every 2 seconds Handle “arrayB[0-13]” every 1 second 2.“plc2” Handle “arrayA[0-2]” every 2 seconds

12Managed by UT-Battelle for the Department of Energy Reading, Writing, Scanning Records 1.INP array[2]”, SCAN “2 second” 2.INP array[3]”, SCAN “1 second” 3.INP array[13]”, SCAN “I/O Intr” 4.OUT array[5]”, SCAN “Passive” Driver “array[0-13]” read every 1 second 1.Reads most recent value[2] every 2 seconds 2... [3] every 1 second, data may be sec old 3.Processes whenever value [13] changes 4.Reads (though output!) when value [5] changes. When processed, updates value [5], marks whole tag for writing. Driver will then once write instead of read.

13Managed by UT-Battelle for the Department of Energy Scan Flag “ S ” Records 1.INP array[2]”, SCAN “2 second” 2.INP array[3]”, SCAN “1 second” 3.INP array[13]”, SCAN “I/O Intr” 4.OUT array[5]”, SCAN “Passive” Driver Uses the “fastest” SCAN of any record related to a tag. Records 2 & 3 should add array[..] S 1” to provide suggested scan period, otherwise warning “cannot decode SCAN field, no scan flag given”

14Managed by UT-Battelle for the Department of Energy Elementary “ E” Flag Records 1.INP array[190]” 2.OUT array[191]” Driver 1.Reads array[0..191], but we may only use [190], [191]  array[190] E“ causes transfer of just that array element 2.Writes all of [0..191] even if just 191 was changed, writing elements which we otherwise wanted to read a)Use separate arrays for “writing” and “reading” b)Add “ E” to write just that element, not whole array

15Managed by UT-Battelle for the Department of Energy Bitfiddly Stuff Internally, DINT and BOOL[32] look similar. Driver assumes bit for binary records. “some_tag[40]” a)ai, ao: Element 40 of a REAL, INT, DINT array b)bi, bo, mbb*: Bit 40 of a BOOL array, or bit 40 of a DINT array, i.e. bit 8 of DINT[1] To force [i] to be the i th array element: “some_tag[1] B 8”

16Managed by UT-Battelle for the Department of Energy Diagnosis on IOC  Set records’ TPRO field –Show when tag is read/written by that record  drvEtherIP_dump –Dumps all tags and their value  drvEtherIP_report level –Dumps info about each plc, period list, tag –Level  EIP_verbosity(7), EIP_verbosity(10) –Show warnings or details of protocol

17Managed by UT-Battelle for the Department of Energy The Elusive Buffer Limit Driver combines several reads and writes for tags into one network transfer until either the request or the response reaches EIP_buffer_limit How large? About 500 bytes, details hairy Set too large  PLC error “Buffer too small, partial data only” Set too small  Inefficient, can’t combine many tags Set way too small  Can’t read a single REAL[40] array, driver error “Tag ‘xyz’ exceeds buffer limit of.. Bytes” Don’t mess with the default EIP_buffer_limit. Keep arrays to REAL/DINT/INT[40] and BOOL[400]. Driver will then combine several of those in one transfer.

18Managed by UT-Battelle for the Department of Energy Transfer Time Histogram Hz, 3 x 2 Hz

19Managed by UT-Battelle for the Department of Energy Summary  Arrange PLC data in arrays –Separate ones for read, write –Maybe 40 elements per array (400 for BOOL)  Point records’ INP/OUT to those array tags  Done