Author: Mashayekh, N.
Paper Title Page
MO2BCO04 Applying Standardised Software Architectural Concepts to Design Robust and Adaptable PLC Solutions 40
 
  • S.T. Huynh, B. Baranasic, M. Bueno, L. Feltrin Zanellatto, T. Freyermuth, P. Gessler, N. Jardón Bueno, N. Mashayekh, J. Tolkiehn
    EuXFEL, Hamburg, Germany
 
  Between evolving requirements, additional feature requests and urgent maintenance tasks, the Programmable Logic Controllers (PLC) at the European X-Ray Free Electron Laser Facility (EuXFEL) have become subjected to an array of demands. As the maintainability effort towards the existing systems peak, the requirement for a sustainable solution become an ever pressing concern. Ultimately, in order to provide a PLC code base which can easily be supported and adapted to, a reworking was required from the ground up in the form of a new suite of libraries and tools. Through this, it was possible to bring standardised software principals into PLC design and development, conjunctively offering an interface into the existing code base for ongoing support of legacy code. The set of libraries are developed by incorporating software engineering principles and design patterns in test driven development within a layered architecture. In defining clear interfaces across all the architectural layers - from hardware, to the software representation of hardware, and clusters of software devices, the complexity of PLC development decreases down into modular blocks of unit tested code. Regular tasks such as the addition of features, modifications or process control can easily be performed due to the adaptability, flexibility and modularity of the core PLC code base.  
slides icon Slides MO2BCO04 [0.910 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-MO2BCO04  
About • Received ※ 05 October 2023 — Revised ※ 08 October 2023 — Accepted ※ 14 November 2023 — Issued ※ 09 December 2023
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)  
 
TUSDSC03 Integrating Tools to Aid the Automation of PLC Development Within the TwinCat Environment 925
 
  • N. Mashayekh, B. Baranasic, M. Bueno, L. Feltrin Zanellatto, T. Freyermuth, P. Gessler, S.T. Huynh, N. Jardón Bueno, J. Tolkiehn
    EuXFEL, Hamburg, Germany
 
  Within the myriad of day to day activities, a consistent and standardised code base can be hard to achieve, especially when a diverse array of developers across different fields are involved. By creating tools and wizards, it becomes possible to guide the developer and/or user through many of the development and generic tasks associated with a Programmable Logic Controller (PLC). At the European X-Ray Free Electron Laser Facility (EuXFEL), we have striven to achieve structure and consistency within the PLC framework through the use of C# tools which are embedded into the TwinCAT environment (Visual Studio) as extensions. These tools aid PLC development and deployment, and provide a clean and consistent way to develop, configure and integrate code from the hardware level, to the Supervisory Control And Data Acquisition (SCADA) system.  
poster icon Poster TUSDSC03 [0.137 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-TUSDSC03  
About • Received ※ 05 October 2023 — Accepted ※ 29 November 2023 — Issued ※ 12 December 2023  
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)  
 
THPDP023 Evolution of Control System and PLC Integration at the European XFEL 1354
 
  • A. Samadli, T. Freyermuth, P. Gessler, G. Giovanetti, S. Hauf, D.G. Hickin, N. Mashayekh, A. Silenzi
    EuXFEL, Schenefeld, Germany
 
  The Karabo software framework* is a pluggable, distributed control system that offers rapid control feedback to meet the complex requirements of the European X-ray Free Electron Laser facility. Programmable Logic Controllers (PLC) using Beckhoff technology are the main hardware control interface system within the Karabo Control System. The communication between Karabo and PLC currently uses an in-house developed TCP/IP protocol using the same port for operational-related communications and self-description (the description of all available devices sent by PLC). While this simplifies the interface, it creates a notable load on the client and lacks certain features, such as a textual description of each command, property names coherent with the rest of the control system as well as state-awareness of available commands and properties**. To address these issues and to improve user experience, the new implementation will provide a comprehensive self-description, all delivered via a dedicated TCP port and serialized in a JSON format. A Python Asyncio implementation of the Karabo device responsible for message decoding, dispatching to and from the PLC, and establishing communication with relevant software devices in Karabo incorporates lessons learned from prior design decisions to support new updates and increase developer productivity.
* Hauf, et al. The Karabo distributed control system J.Sync. Rad.26.5(2019): 1448ff
** T. Freyermuth et al. Progression Towards Adaptability in the PLC Library at the EuXFEL, PCaPAC’22, pp. 102-106. 
 
poster icon Poster THPDP023 [0.338 MB]  
DOI • reference for this paper ※ doi:10.18429/JACoW-ICALEPCS2023-THPDP023  
About • Received ※ 05 October 2023 — Revised ※ 25 October 2023 — Accepted ※ 13 December 2023 — Issued ※ 18 December 2023
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)