Инструментальная поддержка интерпретации и динамической компиляции языков программирования систем промышленной автоматизации

А. В. Дроздов

Сибирский федеральный университет, Красноярск, Россия

DOI: https://doi.org/10.47813/2782-5280-2022-1-1-0201-0216

Ключевые слова: виртуальная машина, среда исполнения, промышленная автоматизация, МЭК 61131-3, интерпретация, компиляция, динамическая компиляция, байткод, автоматизированное управление.


Аннотация

Работа посвящена исследованию различных реализаций сред исполнения для языков промышленной автоматизации стандарта МЭК 61131-3 и проектированию среды исполнения, отличающейся от аналогов подходом к трансляции и выбором целевой платформы. Рассмотрена модель реализации, включающая в себя синтаксический разбор программного кода на языке ST стандарта МЭК 61131-3 посредством алгоритма LALR, последующая его интерпретация на виртуальной машине Java и динамическая компиляция в Java байткод. Рассмотрены и спроектированы части виртуальной машины, специфичные для языков промышленной автоматизации – планировщик задач и модуль управления конфигурацией подключаемых устройств. Разработана модель взаимодействия частей программы с применением архитектуры на основе плагинов.


Биография автора

А. В. Дроздов, Сибирский федеральный университет, Красноярск, Россия

Дроздов Александр Витальевич, Сибирский Федеральный Университет, кафедра информатики института  космических и информационных технологий, Красноярск, Российская Федерация


Библиографические ссылки

Karl-Heinz John, Michael Tiegelkamp, IEC 61131-3: Programming Industrial Automation Systems. Concepts and Programming Languages, Requirements for Programming Systems, Aids to Decision-making Tools. 2001; 376.

CODESYS Control SoftPLC [Электронный ресурс] Режим доступа: https://www.codesys.com/products/codesys-runtime.html

IEC 61131-3 on ECLR (The PLCnext Runtime) [Электронный ресурс] Режим доступа: http://plcnext-runtime.com/ch05-03-iec-programs.html

International Standard IEC 61131-3 [Электронный ресурс] Режим доступа: https://d1.amobbs.com/bbs_upload782111/files_31/ourdev_569653.pdf

Dick Grune, Ceriel J.H. Jacobs. Parsing Techniques A Practical Guide. 2003; 302.

JavaCC [Электронный ресурс] Режим доступа: https://github.com/javacc/javacc

ANTLR [Электронный ресурс] Режим доступа: https://www.antlr.org/

Расширенная форма Бэкуса-Наура [Электронный ресурс] Режим доступа: https://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip

SableCC [Электронный ресурс] – Режим доступа: https://sablecc.org/

GNU Bison [Электронный ресурс] Режим доступа: https://www.gnu.org/software/bison/manual/html_node/Java-Bison-Interface.html

J. W. Cooper. Java Design Patterns. A Tutorial. 2000; 257.

Richard Jones, Rafael Lins., Garbage Collection. Algorithms for Automatic Dynamic Memory Management. 1996; 257.

Шэнг Лиенг. Интерфейс JNI. Руководство по программированию и спецификация. 2022; 1.

REFERENCES

Karl-Heinz John, Michael Tiegelkamp, IEC 61131-3: Programming Industrial Automation Systems. Concepts and Programming Languages, Requirements for Programming Systems, Aids to Decision-making Tools. 2001; 376.

CODESYS Control SoftPLC [Elektronnyj resurs] Rezhim dostupa: https://www.codesys.com/products/codesys-runtime.html

IEC 61131-3 on ECLR (The PLCnext Runtime) [Elektronnyj resurs] Rezhim dostupa: http://plcnext-runtime.com/ch05-03-iec-programs.html

International Standard IEC 61131-3 [Elektronnyj resurs] Rezhim dostupa: https://d1.amobbs.com/bbs_upload782111/files_31/ourdev_569653.pdf

Dick Grune, Ceriel J.H. Jacobs. Parsing Techniques, A Practical Guide. 2003; 302.

JavaCC [Elektronnyj resurs] Rezhim dostupa: https://github.com/javacc/javacc

ANTLR [Elektronnyj resurs] Rezhim dostupa: https://www.antlr.org/

Rasshirennaya forma Bekusa-Naura [Elektronnyj resurs] Rezhim dostupa: https://standards.iso.org/ittf/PubliclyAvailableStandards/s026153_ISO_IEC_14977_1996(E).zip

SableCC [Elektronnyj resurs] – Rezhim dostupa: https://sablecc.org/

GNU Bison [Elektronnyj resurs] Rezhim dostupa: https://www.gnu.org/software/bison/manual/html_node/Java-Bison-Interface.html

J. W. Cooper. Java Design Patterns. A Tutorial. 2000; 257.

Richard Jones, Rafael Lins., Garbage Collection. Algorithms for Automatic Dynamic Memory Management. 1996; 257.

Sh. Lieng. Interfejs JNI. Rukovodstvo po programmirovaniyu i specifikaciya. 2022; 1.

Веб-сайт https://www.oajiem.com использует cookie файлы с с целью повышения удобства и эффективности работы Пользователя при работе с сервисами журнала "Modern Innovations, Systems and Technologies" - "Современные инновации, системы и технологии". Продолжая использование сайта, Пользователь дает согласие на использование файлов cookie.