1
PyPLC, A VERSATILE PLC-TO-PC PYTHON INTERFACE References www.tango-controls.org - www.sardana-controls.org - www.taurus-scada.org D.Fernández et al. “Alba, a Tango based Control System in Python”, ICALEPCS'09, Kobe, Japan. D. Beltran, et al. “ ALBA CONTROL & CABLING DATABASE ”, ICALEPCS'09, Kobe, Japan. S.Rubio et al., “Dynamic Attributes and other functional flexibilities of PyTango”, ICALEPCS 2009, Kobe, Japan D.Fernández et al. “Personnel protection, equipment protection and fast interlock systems.”, ICALEPCS'11. Grenoble, France T.Coutinho et al., "Sardana, The Software for Building SCADAS in Scientific Environments", ICALEPCS '11. Grenoble, France P C a P A C 2 0 1 4 ALBA is a 3GeV Synchrotron Light facility in Barcelona (EU) with 7 operative beamlines and 2 more in construction. Programmable Logic Controllers from several vendors (B&R, Pilz, …) are used for acquisition, protection and motion within our Tango Control System. PyPLC Tango Device provides a common interface to all PLC's at ALBA using the Modbus protocol. This developer-friendly interface allowed dynamic and effort-less integration of new PLC signals into our Archiving, Alarm System and Beamlines SCADA (Sardana). Our cabling database provides an updated repository with all the equipment connected to PLC's at ALBA. C C hanges in the PLC's hanges in the PLC's do not do not require changes in PyPLC or require changes in PyPLC or Taurus UI source code, being Taurus UI source code, being automatically updated from automatically updated from attribute definitions generated attribute definitions generated at the time of programming at the time of programming the PLC. the PLC. PyPLC provided a dynamic interface to our PLC engineers that allowed them to  easily create new attributes and customize its behaviour. It reduced the time needed to upgrade PLC systems in Beamlines and extended its functionality. Using PyTango and Fandango libraries, additional attributes are added/modified at runtime from simple Python formulas stored in the Tango database. Tango Attributes from PyPLC become available on any UI and allow higher-level interactions, using our Alarm System (PANIC) or Sardana Macro Executor. S. Rubio-Manrique, A. Rubio D. Fernandez-Carreiras C.Pascual G. Cuni ALBA Synchrotron Barcelona Fluorescent screens FSOTR Valves 2xDI 1xDO 4xDI 2xDO 2xDI 1xDO PyPLC enabled automation of pneumatic elements during experiments. Complex behaviors and customization are achieved subclassing PyPLC with no need of rewriting the communication layer. PyPLC enhances the Modbus Tango Device providing smart mapping of the PLC memory. It allows to optimize ethernet/ serial communications and setup selective address refresh when needed. www.tango-controls.org

PyPLC, A VERSATILE PLCTOPC

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PyPLC, A VERSATILE PLCTOPC

PyPLC, A VERSATILE PLC­TO­PC PYTHON INTERFACE

References www.tango-controls.org - www.sardana-controls.org - www.taurus-scada.org

D.Fernández et al. “Alba, a Tango based Control System in Python”, ICALEPCS'09, Kobe, Japan. D. Beltran, et al. “ ALBA CONTROL & CABLING DATABASE ”, ICALEPCS'09, Kobe, Japan. 

S.Rubio et al., “Dynamic Attributes and other functional flexibilities of PyTango”, ICALEPCS 2009, Kobe, JapanD.Fernández et al. “Personnel protection, equipment protection and fast interlock systems.”, ICALEPCS'11. Grenoble, France

T.Coutinho et al., "Sardana, The Software for Building SCADAS in Scientific Environments", ICALEPCS'11. Grenoble, France

PC

aPA

C 2

014

ALBA is a 3GeV Synchrotron Light facility in Barcelona (EU) with 7 operative beamlines and 2 more in construction. Programmable Logic Controllers from several vendors (B&R, Pilz, …) are used for acquisition, protection and motion within our Tango Control System. 

PyPLC Tango Device provides a common interface to all PLC's at ALBA using the Modbus protocol.  This  developer­friendly  interface  allowed  dynamic  and  effort­less  integration  of new PLC signals into our Archiving, Alarm System and Beamlines SCADA (Sardana).

Our cabling database provides an updated repository with all the equipment connected to PLC's at ALBA.

CChanges in the PLC's hanges in the PLC's do not do not require changes in PyPLC or require changes in PyPLC or Taurus UI source code, beingTaurus UI source code, being automatically updated from automatically updated from attribute definitions generated attribute definitions generated at the time of programming at the time of programming the PLC.the PLC.

PyPLC provided a dynamic interface to our PLC engineers that allowed them to  easily create new attributes and customize its behaviour. It reduced the time needed to upgrade PLC systems in Beamlines and extended its functionality.

Using PyTango and Fandango libraries, additional attributes are added/modified at runtime from simple Python formulas stored in the Tango database.Tango Attributes from PyPLC become

available on any UI and allow higher-level interactions, using our Alarm System (PANIC) or Sardana Macro Executor.

S. Rubio­Manrique, A. Rubio D. Fernandez­CarreirasC.PascualG. Cuni

ALBA SynchrotronBarcelona

Fluorescent screens

FSOTR

Valves

2xDI

1xDO

4xDI

2xDO

2xDI

1xDO

PyPLC enabled automation of pneumatic elements during experiments.

Complex behaviors and customization are achieved subclassing PyPLC with no need of rewriting the communication layer.

PyPLC enhances the Modbus Tango Device providing smart mapping of the PLC memory. It allows to optimize ethernet/ serial communications and setup selective address refresh when needed.

www.tango­controls.org