ATLAS Wiener OPC UA Server Piotr Nikiel For ATLAS Central DCS 3rd Mar 2015
ATLAS Wiener OPC UA Server What? OPC UA Server supporting Wiener CAN-based communication protocol for VME crates Why? Most natural approach with dwindling OPC DA To support natively wide range of CAN interfaces To evaluate Generic Server Framework Not to be bound to Windows Also because original OPC DA server came from ATLAS too By whom? ATLAS Central DCS
Features Native CAN handling for various CAN interfaces Through SocketCan: SysTec, Peak, AnaGate, Kvaser Through native API on Windows: Kvaser Native application for both Linux and Windows Windows is no longer imposed fwWiener-oriented Instant setup for fwWiener users Existing fwWiener project may use OPC UA readout easily
How is this made? Server is based on Generic OPC UA Server Framework: Design file prepared Address Space, Configuration generated automatically Device logic implemented There is no official HAL from Wiener CAN communication by CAN hardware component from ATLAS (the same like in CANopen server) WinCC OA integration in analogy to FwElmb
Design diagram Zoomed in:
Current status In production in ATLAS (version 1.0.3-1) System with 62 crates of ATLAS TDAQ (handled by 1 server and 5 CAN buses) RPM available
Config file example <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration [ <!ENTITY CRATE SYSTEM "standard_crate.xml"> ]> <configuration xmlns="http://www.example.org/Configuration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.example.org/Configuration ../Configuration/Configuration.xsd "> <CanBus port="can1" name="CAN1" type="sock" speed="Unspecified" listenOnly="false" controlEnabled="true"> <Crate name="Crate3" id="3" queryPeriod="10000" >&CRATE;</Crate> <Crate name="Crate4" id="4" queryPeriod="10000" >&CRATE;</Crate> <Crate name="Crate5" id="5" queryPeriod="10000" >&CRATE;</Crate> </CanBus> </configuration>
Screenshots