OPC Device Support (PLC Gateway for 3.14) Ralph Lange – EPICS Collaboration Meeting at SLAC, April 2005 OPC Overview OPC Device Support (PLC Gateway for 3.14) Accessing PLCs through 3.14 Device Support running on a Windows box connecting to a combination of commercially available OPC client and server packages Developed by Carsten Winkler and Bernhard Kuner With additional help from Roland Fleischhauer and Ralph Lange Another Layer Anyone? Introduction OPC: OLE (based on COM) for Process Control Based on DCOM: Distributed Component Object Model Client/Server Architecture Scalable and distributed over the network “Data Access” Specification Read/write operations, time stamp, data quality Polled or event driven (callback mechanism) “Alarm and Event” Specification Many existing OPC servers only implement a subset of the defined OPC features OPC Overview Data Flow OPC Client Libraries Available for Windows, Unixes (see http://www.opcconnect.com) Binary distribution of the client library by Softing is royalty-free OPC Client – OPC Server Communication via DCOM (availably by Microsoft and others – also for Linux) OPC Server Application Always available from the PLC vendor For wide-spread PLC series there are alternatives offered by third party vendors (see link list at http://www.opcconnect.com or e.g. http://www.matrikonOPC.com) OPC Server – PLC Communication Proprietary, vendor dependant PC Hardware PC Hardware OPC Server OPC Server DCOM PC-Card, RS 232 … IO-Device PC Hardware OPC Client DCOM OPC Client DCOM Ethernet PLC PLC OPC Overview Client Side Data Access Connect to Server Client will start/stop the server Browse Server For debugging purposes or dynamic client configuration Add Group Client defines groups with common parameters for all items within the group Add Items Client subscribes for several data objects OPC Server 1 1 OPC Browser N OPC Group Common Parameters, e.g. Update Rate, Deadband 1 N OPC Item Process Variable 1 N Item Properties Properties are: • Value of a common data type • Quality • Timestamp OPC Overview Structure and Supported Records Supported Record Types: - ai, ao - bi, bo - mbbi, mbbo - mbbiDirect, mbboDirect - longin, longout - stringin, stringout - (planned: waveform) PC Hardware OPC Server iocShell EPICS 3.14 OPC Client DCOM OPC Client Library: - Softing OPC Toolbox 3.01 - Binary distribution is royalty-free - Other client libraries possible Channel Access Ethernet PLC To other OPC clients From other OPC servers To EPICS Clients 3.14 Device Support Features Flexibility IOC will connect to multiple and/or remote OPC servers Data Conversion For all integer and float data types Timestamp is Set by OPC Server or EPICS Record Processing Determined by the record‘s TSE field OPC Quality Information is Mapped to Record’s STAT/SEVR In-Records: Read-Only Value is written by the PLC SCAN = “I/O Intr“ (event driven mode) or “.1 second“ to “10 second“ (polled mode) Out-Records: Bidirectional Value may be written by the PLC (e.g. local control) or by EPICS SCAN = “Passive“, but record will still be updated when PLC value changes 3.14 Device Support Connecting the PLC Controlled Beamlines to EPICS 33 Phoenix DIN-Rail PLCs with ~700 Channels Each: Approx. 22,000 Channels Phoenix OPC Server Introduces Serious Limitations Supports only polling mode: no events in the OPC server – PLC connection Max. 2 PLCs per OPC server No third-party OPC server available for this particular PLC type Windows PC Hardware 4 Dual-processor 3 GHz 19” rack servers (standard high availability servers) Each server runs 4 virtual Windows PCs (using VMware GSX server software) Each of the 16 virtual PCs runs one softIOC and one OPC server that connects to 2 PLCs PLC data is polled every 100ms or 250ms (different OPC Groups) Servers are running at 40-50% CPU load BESSY Installation and Use Experiences and Status The BESSY beamline guys are very happy with this solution “OPC is the spreading integration standard in scada and industrial automation.” “Vendors simply have to provide OPC servers for a PLC if they want to be commercially successful. For common PLC series, third-party vendors will add competition, leading to better OPC servers.” “This gateway opens up a window from EPICS to the whole wide world of industrial automation.” They are very interested to have more facilities use the OPC device support Existing users are DESY and PSI SLS and PPPL are interested Contact: Roland.Fleischhauer@bessy.de Carsten.Winkler@bessy.de BESSY Installation and Use