OPC Device Support (PLC Gateway for 3.14) Ralph Lange OPC Overview

advertisement
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
Download