Cargando…

Translation of PLC Programs to x86 for Simulation and Verification

PLC programs are written in special languages, variants of the languages defined in the IEC 61131 standard. These programs cannot be directly executed on personal computers (on x86 architecture). To perform simulation of the PLC program or diagnostics during development, either a real PLC or a PLC s...

Descripción completa

Detalles Bibliográficos
Autor principal: Sallai, Gyula
Lenguaje:eng
Publicado: 2017
Materias:
Acceso en línea:http://cds.cern.ch/record/2282938
_version_ 1780955681486012416
author Sallai, Gyula
author_facet Sallai, Gyula
author_sort Sallai, Gyula
collection CERN
description PLC programs are written in special languages, variants of the languages defined in the IEC 61131 standard. These programs cannot be directly executed on personal computers (on x86 architecture). To perform simulation of the PLC program or diagnostics during development, either a real PLC or a PLC simulator has to be used. However, these solutions are often inflexible and they do not provide appropriate performance. By generating x86-representations (semantically equivalent programs which can be executed on PCs, e.g. written in C, C++ or Java) of the PLC programs, some of these challenges could be met. PLCverif is a PLC program verification tool developed at CERN which includes a parser for Siemens PLC programs. In this work, we describe a code generator based on this parser of PLCverif. This work explores the possibilities and challenges of generating programs in widely-used general purpose languages from PLC programs, and provides a proof-of-concept code generation implementation. The presented solution demonstrates that code generation may aid the PLC developers by providing simulation, visualisation, automated unit testing and assertion checking with formal verification methods.
id cern-2282938
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2017
record_format invenio
spelling cern-22829382019-09-30T06:29:59Zhttp://cds.cern.ch/record/2282938engSallai, GyulaTranslation of PLC Programs to x86 for Simulation and VerificationComputing and ComputersPLC programs are written in special languages, variants of the languages defined in the IEC 61131 standard. These programs cannot be directly executed on personal computers (on x86 architecture). To perform simulation of the PLC program or diagnostics during development, either a real PLC or a PLC simulator has to be used. However, these solutions are often inflexible and they do not provide appropriate performance. By generating x86-representations (semantically equivalent programs which can be executed on PCs, e.g. written in C, C++ or Java) of the PLC programs, some of these challenges could be met. PLCverif is a PLC program verification tool developed at CERN which includes a parser for Siemens PLC programs. In this work, we describe a code generator based on this parser of PLCverif. This work explores the possibilities and challenges of generating programs in widely-used general purpose languages from PLC programs, and provides a proof-of-concept code generation implementation. The presented solution demonstrates that code generation may aid the PLC developers by providing simulation, visualisation, automated unit testing and assertion checking with formal verification methods.CERN-STUDENTS-Note-2017-186oai:cds.cern.ch:22829382017-09-11
spellingShingle Computing and Computers
Sallai, Gyula
Translation of PLC Programs to x86 for Simulation and Verification
title Translation of PLC Programs to x86 for Simulation and Verification
title_full Translation of PLC Programs to x86 for Simulation and Verification
title_fullStr Translation of PLC Programs to x86 for Simulation and Verification
title_full_unstemmed Translation of PLC Programs to x86 for Simulation and Verification
title_short Translation of PLC Programs to x86 for Simulation and Verification
title_sort translation of plc programs to x86 for simulation and verification
topic Computing and Computers
url http://cds.cern.ch/record/2282938
work_keys_str_mv AT sallaigyula translationofplcprogramstox86forsimulationandverification