Software Infrastructure for Low-level Equipment ControllerS (SILECS)

SILECS wiki (CERN only)

What is SILECS?

Programmable Logic Controllers (PLCs) and other micro-controller families are essential components of the CERN control system. Both have their weaknesses and their strengths and as they typically present custom communication protocols, it is difficult to federate them into the control system using a single communication strategy.

The purpose of SILECS is to mitigate the communication issues by providing communication interfaces in a hardware-independent manner. In addition, it automatically generates all the resources needed on client (FEC) and controller side to implement a common and generic Ethernet communication.

 

silecs1

 

A set of rules and concepts has been defined to delimit the scope of the SILECS product. The framework has to:

  • normalize the controllers connection based on Ethernet medium 
  • saves experts from implementing communication software, on both side: client and controller
  • offer a suitable interface for the accelerator Device/Property model
  • propose a non-intrusive solution for the controller software by limiting the use of hardware resources (relies on internal PLC features)
  • define high-level services and API for the client side (Front-End software)

The table below lists the principal components used at CERN and supported by SILECS in the accelerator controls infrastructure.

 

Brand name

Product

Model

Environment

Protocol

SIEMENS

SIMATIC S7

S7-3xx,
S7-4xx

STEP-7

S7 (Get/Set)

SIEMENS

SIMATIC S7

S7-12xx,
S7-15xx

TIA-PORTAL

S7 (Get/Set)

SCHNEIDER

MODICON

Premium,
Quantum

Unity Pro

ModBUS-TCP

SCHNEIDER

MODICON

M340, M580

Unity Pro

ModBUS-TCP

DIGI

Rabbit MiniCore

RCM module

C/C++ platform

ModBUS-TCP

National Instrument

PXI platform

Compact-RIO,
PXI-RT, PC,…

LabView

NI CNV
shared-variable

BECKHOFF

Bus controller

BC9xxxx,
CX9xxxx

TwinCAT-2

ModBUS-TCP

BECKHOFF

Eth. Bus coupler

BK9xxxx

KS2000

ModBUS-TCP

ICPCON

Eth. Bus coupler

ET7x00

 

ModBUS-TCP

CERN CUSTOM

Embedded Linux systems

FPGA, Arms, …

STEP-7

S7 (Get/Set)

 

How is SILECS made?

The SILECS framework is composed of a set of tools, scripts and a C++ library. The configuration tool allows the definition of the data to be exchanged and their instantiation on different controllers within the control system. The scripts generate the resources necessary for the final communication while the library eventually allows the application on the client side to send and receive data to/from the different controllers. Finally, a diagnostic tool is proposed to validate the whole configuration without implementing a single line of code.

 

silecs2