Моделирование, спецификация и построение программ логических контроллеров
Аннотация
Предлагается новый подход к построению надежных «дискретных» ПЛК-программ с таймерами — программирование исходя из задач спецификации и верификации. Для спецификации программного поведения используется язык темпоральной логики LTL. Программирование осуществляется на языке ST по LTL-спецификации. Проводится дискретное моделирование таймера. Новый подход к программированию ПЛК демонстрируется на примере.
Предлагаемый подход к программированию ПЛК обеспечивает возможность анализа корректности ПЛК-программ с помощью метода проверки модели. При программировании требуется соблюдение следующих двух условий:
1) значение каждой переменной должно изменяться не более одного раза за одно полное выполнение программы при прохождении рабочего цикла ПЛК;
2) значение каждой переменной должно изменяться только в одном месте про- граммы ПЛК.
В рамках предлагаемого подхода изменение значения каждой программной переменной описывается с помощью пары LTL-формул. Первая LTL-формула описывает ситуации, при которых происходит возрастание значения соответствующей переменной, вторая LTL-формула задает условия, приводящие к уменьшению значения переменной. Рассматриваемые для спецификации поведения переменных LTL-формулы являются конструктивными в том смысле, что по ним производится построение ПЛК-программы, которая соответствует темпоральным свойствам, выраженным этими формулами. Таким образом, программирование ПЛК сводится к построению LTL-спецификации поведения каждой программной переменной.
Об авторах
Егор Владимирович КузьминРоссия
д-р физ.-мат. наук, профессор,
150000 Россия, г. Ярославль, ул. Советская, 14
Валерий Анатольевич Соколов
Россия
д-р физ.-мат. наук, профессор,
150000 Россия, г. Ярославль, ул. Советская, 14
Список литературы
1. Грис Д. Наука программирования: Пер. с англ. М.: Мир, 1984. 416 с. (Gries D. The Science of Programming. Springer-Verlag, 1981).
2. Кларк Э. М., Грамберг О., Пелед Д. Верификация моделей программ: Model Checking: Пер. с англ. М.: МЦНМО, 2002. 416 с. (Clark E. M., Grumberg O., Peled D. A. Model Checking. The MIT Press, 2001).
3. Кузьмин Е. В., Соколов В. А. О построении и верификации программ логических контроллеров // Моделирование и анализ информационных систем. 2012. Т. 19, №4. С. 25–36 (Kuzmin E. V., Sokolov V. A. On Construction and Verification of PLCPrograms // Modeling and analysis of information systems. 2012. V. 19, №4. P. 25–36 [in Russian]).
4. Кузьмин Е. В., Соколов В. А. О верификации LD-программ логических контроллеров // Моделирование и анализ информационных систем. 2012. Т. 19, №2. С. 138–144 (Kuzmin E. V., Sokolov V. A. On Verification of PLC-Programs Written in the LD-Language // Modeling and analysis of information systems. 2012. V. 19, №2. P. 138–144 [in Russian]).
5. Парр Э. Программируемые контроллеры: руководство для инженера. М.: БИНОМ. Лаборатория знаний, 2007. 516 с. (Parr E. A. Programmable Controllers. An engineer’s guide. Newnes, 2003. 442 p.).
6. Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования. М.: СОЛОН-Пресс, 2004. 256 с. (Petrov I. V. Programmiruemye kontrollery. Standartnye jazyki i priemy prikladnogo proektirovanija. M.: SOLON-Press, 2004. 256 p. [in Russian]).
7. CoDeSys. Controller Development System. http://www.3s-software.com/
8. SMV. The Cadence SMV Model Checker. http://www.kenmcmil.com/smv.html
Для цитирования:
Кузьмин Е.В., Соколов В.А. Моделирование, спецификация и построение программ логических контроллеров. Моделирование и анализ информационных систем. 2013;20(2):104-120. https://doi.org/10.18255/1818-1015-2013-2-104-120
For citation:
Kuzmin E.V., Sokolov V.A. Modeling, Specification and Construction of PLC-programs. Modeling and Analysis of Information Systems. 2013;20(2):104-120. (In Russ.) https://doi.org/10.18255/1818-1015-2013-2-104-120