Dear All,
Yesterday I caused some confusion with my email about “Channel Access implementation for Siemens S71500 PLCs”.
I mentioned ESS in my abstract because I got a lot of help from the colleagues, but S7EPICS is a proof-of-concept project, that is not planned to be used at ESS. It will be an open source PLC code
library for the EPICS community from the end of this year.
I made a statement in my letter that can be easily misunderstood. I wrote:
“I’m currently testing the S7EPICS PLC code with CS-Studio, Archiver Appliance and BEST on a real cryogenics scenario. It works well so far.”
I want to clarify that this test was done only in the lab without any PLC I/O or field equipment. No change on ESS production IOCs were done.
When I wrote “S7EPICS was tested with a real cryogenics scenario”, I meant the test was performed using an existing configuration (IOC) for cryogenics, without any connection to field devices just
to be able to measure the communication cycle difference in the lab between the PLC and the OPI. I could have picked any other configuration but cryogenic IOCs have large number of PVs at ESS so they are good choice, nevertheless we know the actual communication
cycle values so we can compare them.
Sorry for the confusion, and thanks for the love and support.
Cheers,
Miklos
Dear All,
I’m preparing a paper for this year’s ICALEPCS with the title: “An EPICS Channel Access Implementation on Siemens PLCs”.
I wrote a PLC code in my free time in TIA portal (SCL) as a library that implements EPICS Channel Access protocol v13. I came up with a way to easily declare PVs directly in the PLC code, so the PLC can talk directly
with CS-Studio, Archiver Appliance, BEST… etc. without an IOC in-between.
The abstract of the paper is the following:
“At the European Spallation Source (ESS), a neutron research facility in Sweden, most of the controls are based on PLCs and layered in the following (traditional) way: field equipment <-> PLC <-> EPICS IOC <-> high-level
applications. In many situations, the EPICS IOC layer will not implement control logic per se and is only used for converting PLC tags into EPICS PVs to enable the usage of high-level applications such as CS-Studio, Archiver Appliance, and BEAST. To alleviate
this (traditional) way of doing controls, we propose a simpler approach: implementation of the Channel Access (CA) protocol in the PLC layer for the latest family of Siemens PLCs to remove the EPICS IOC layer. We called it S7EPICS. S7EPICS fully respects version
13 of the CA protocol specification, and supports multiple EPICS-based client connections at the same time - e.g. CS-Studio, Archiver Appliance - without a noticeable service degradation (i.e. delays). In this paper we introduce this implementation, its architecture
and workflow, benchmarking results of tests performed, and future developments that could be pursued such as authentication & authorization mechanisms using, e.g., the Arrowhead Framework.”
I’m currently testing the S7EPICS PLC code with CS-Studio, Archiver Appliance and BEST on a real cryogenics scenario. It works well so far.
If you have any suggestion how to test it further or what kind of stress-test should I perform, please don’t hesitate to tell me. If you know any real-life scenario when this EPICS<->PLC communication could be useful,
please send me.
If the code is done it will be a public open EPICS community code.
Cheers,
Miklos Boros,