Abstract
This article continues a cycle of papers, which describe an approach to construction and verification of discrete PLC-programs by an LTL-specification. The approach provides a possibility of PLC-program correctness analysis by the model checking method. For the specification of the program behavior the linear-time temporal logic LTL is used. The correctness analysis of an LTL specification is performed automatically by the symbolic model checking tool Cadence SMV. Previously it was shown how ST-, LDand IL-programs are constructed by a correct (with verified program properties) LTL-specification. In this article a technology of CFC-program construction by an LTL-specification is described. The language CFC (Continuous Function Chart) is a variation of FBD (Function Block Diagram). FBD is a graphical language for microcircuits. CFC provides a possibility of free allocation of program components and connections on a screen. The approach to construction of CFC-programs is shown by an example. PLC-program representation on CFC within the approach to programming by LTL-specification differs from other representations. It gives the visualisation of a data flow from inputs to outputs. Influence and dependence between variables is explicitly shown during program execution within one PLC working cycle. In fact, CFC-program is a scheme of PLC-program data flow.
Highlights
This article continues a cycle of papers
which describe an approach to construction and verification of discrete
A., "Construction of CFC-programs by LTL-specification", Modeling and Analysis of Information Systems, 23:2 (2016), 173– 184
Summary
Смысл концепции программирования ПЛК по LTL-спецификации [1,2,3,4,5,6,10,11,12,13] состоит в обеспечении возможности анализа корректности ПЛК-программ методом проверки модели [7, 8]. Которые приводят к увеличению и уменьшению значения целочисленной переменной 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.