Abstract

The article is devoted to the approach to constructing and verification of discrete PLC-programs by LTL-specification. This approach provides an ability of correctness analysis of PLC-programs by the model checking method. The linear temporal logic LTL is used as a language of specification of the program behavior. The correctness analysis of LTL-specification is automatically performed by the symbolic model checking tool Cadence SMV. The article demonstrates the consistency of the approach to constructing and verification of PLC programs by LTL-specification from the point of view of Turing power. It is proved, that in accordance with this approach for any Minsky counter machine can be built an LTL-specification, which is used for machine implementation in any PLC programming language of standard IEC 61131-3. Minsky machines equipollent Turing machines, and the considered approach also has Turing power. The proof focuses on representation of a counter machine behavior in the form of a set of LTL-formulas and matching these formulas to constructions of ST and SFC languages. SFC is interesting as a specific graphical language. ST is considered as a basic language because an implementation of a counter machine in IL, FBD/CFC and LD languages is reduced to rewriting blocks of ST-program. The idea of the proof is demonstrated by an example of a Minsky 3-counter machine, which implements a function of squaring.

Highlights

  • Статья посвящена предложенному ранее [1,2,3,4,5, 11,12,13] подходу к построению и верификации «дискретных» программ логических контроллеров по LTL-спецификации

  • A. The article is devoted to the approach to constructing and verification

  • The article demonstrates the consistency of the approach to constructing and verification

Read more

Summary

Построение программ ПЛК по LTL-спецификации

Смысл концепции программирования ПЛК по LTL-спецификации [1,2,3,4,5,11,12,13] состоит в обеспечении возможности анализа корректности ПЛК-программ методом проверки модели [8, 9]. При которых переменная не меняет своего значения за один проход рабочего цикла ПЛК. Которые приводят к увеличению и уменьшению значения целочисленной переменной V, используются LTL-формулы вида. Условия FiringCond и OldValCond являются логическими выражениями над программными переменными и константами, которые строятся с применением операторов сравнения, логических и арифметических операторов и псевдооператора «_» (который по определению может быть применим только к переменным). Выражение FiringCond описывает ситуации, при которых возникает необходимость изменения значения переменной V , если это, конечно, допускается условием OldValCond. Для описания всех возможных ситуаций, при которых происходит возрастание значения переменной V , в формуле (1) после символа оператора импликации ⇒ может потребоваться несколько наборов рассмотренных конъюнктивных членов OldValCond i ∧ FiringCond i ∧ V = NewValExpr i объединенных в дизъюнкцию. Некоторая переменная без псевдооператора «_» может быть задействована в спецификации поведения другой переменной, только если спецификация ее поведения уже произведена и находится выше по тексту

Счётчиковая машина Минского
Реализация счётчиковой машины Минского
Счетчиковая машина возведения в квадрат

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.