Abstract
The article is devoted to an approach to constructing and verification of discrete PLC-programs by LTL-specification. This approach provides a possibility of analysing the correctness of PLCprograms by using 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 an LTL-specification can be built, which is used for machine implementation in any PLC programming language of standard IEC 61131-3. Minsky machines are equipollent to Turing machines, and the considered approach also has the 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 the implementation of a counter machine on IL, FBD/CFC and LD languages is reduced to rewriting blocks of an 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
Summary
Смысл концепции программирования ПЛК по 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
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.