SlideShare a Scribd company logo
1 of 15
Download to read offline
Построение и верификация ПЛК-программ
по LTL-спецификации
Кузьмин Е. В., Рябухин Д. А., Шипов А. А.
Ярославский государственный университет им. П.Г. Демидова
Ярославль, 2013
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Содержание доклада 2/15
Программируемый логический контроллер (ПЛК).
Особенности программ ПЛК.
Языки программирования ПЛК стандарта МЭК 61131-3.
Программа ПЛК как объект верификации.
Структура Крипке программ ПЛК
Подход к написанию ПЛК-программ
Схема трансляции
LTL-спецификации для переменных
Построение SMV-модели и программы на языке ST по
спецификации
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Программируемый логический контроллер (ПЛК) 3/15
Особенности ПЛК.
Входы: датчики, концевые выключатели, кнопки,
термометры . . . .
Выходы: электромаг. реле, приводы, световые
сигнализаторы . . . .
Рабочий цикл: считывание входов,
выполнение программы,
выставление выходов.
Применение: бытовые приборы — промышленное
производство.
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Программы ПЛК и особенности верификации 4/15
Два типа задач.
1 Аналоговые. Обеспечение устойчивости.
Программирование формул. Дедуктивный анализ.
2 Дискретные. Логическое управление. Конечное
пространство состояний. Метод проверки модели.
Отсутствие циклов (кроме рабочего).
Понимание широким кругом специалистов.
Высокая цена программной ошибки.
Языки программирования стандарта МЭК 61131-3.
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Языки МЭК 61131-3 5/15
Языки программирования ПЛК стандарта МЭК 61131-3:
IL (Instruction List) — список инструкций (Ассемблер);
FBD (Functional Block Diagram) — диаграммы
функциональных блоков;
ST (Structured Text) — структурированный текст;
SFC (Sequential Function Chart) — последовательные
функциональные схемы;
LD (Ladder Diagram) — язык релейно-контактных схем
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
ПодходыкпостроениюиверификацииПЛК-программ 6/15
Цель работы: описание технологии программирования ПЛК
для задач логического управления.
Два подхода к анализу программ ПЛК:
Прямая трансляция с языков стандарта МЭК в
интерфейсные языки верификаторов (SMV, SPIN,
CPNTools...)
Программирование и верификация по спецификации.
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Модель программы ПЛК 7/15
Состояние модели: вектор значений входов + вектор
значений выходов и внутренних переменных.
Переходы по состояниям: один проход рабочего цикла.
Условия для программных переменных:
1. Не более одного изменения значения каждой
переменной за один проход рабочего цикла ПЛК
2. Значение переменной изменяется в одном месте
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Подход к написанию программ 8/15
Предлагаемая последовательность написания ПЛК-программ:
Создание спецификации при помощи логики LTL
Трансляция на язык SMV и верификация
Трансляция на язык ST
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Трансляция 9/15
LTL-спецификация:
G X( V >_V ⇒ OldValCond ∧ FiringCond ∧ V = NewValExpr)
G X( V <_V ⇒ OldValCond ∧ FiringCond ∧ V = NewValExpr )
ST-код:
IF OldValCond AND FiringCond THEN V := NewValExpr ;
ELSIF OldValCond AND FiringCond THEN V := NewValExpr ;
END_IF.
SMV-модель:
case{ next(OldValCond ) & next(FiringCond ) :
next(V ) := next(NewValExpr );
next(OldValCond ) & next(FiringCond ) :
next(V ) := next(NewValExpr );
default : next(V ) := V ; }.
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Трансляция 10/15
LTL-спецификация:
G X( ¬_V ∧ V ⇒ FiringCond )
G X( _V ∧ ¬V ⇒ FiringCond )
ST-код:
IF NOT _V AND FiringCond THEN V := 1 ;
ELSIF _V AND FiringCond THEN V := 0; END_IF.
SMV-модель:
case{ ∼V & next(FiringCond ) : next(V ) := 1;
V & next(FiringCond ) : next(V ) := 0;
default : next(V ) := V ; }.
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Трансляция 11/15
Особый случай спецификаций, при котором
FiringCond = FiringCond = 1, NewValExpr = NewValExpr ,
OldValCond = (_V < NewValExpr) и
OldValCond = (_V > NewValExpr):
LTL-спецификация:
G X( V = NewValExpr )
ST-код:
V := NewValExpr.
SMV-модель:
next(V ) := next(NewValExpr).
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Интерфейс задачи «Логическая игра 31» 12/15
Лампы
Кнопки
ПЛК ВыходыВходы
Кнопка 1
PB1
выбрана цифра 1
ход по цифре 1 Лампа 1
Out1
ход по цифре 2
1
1
2
Лампа 2
Out2
Кнопка 2
PB2
выбрана цифра 2
2
Кнопка 3
PB3
выбрана цифра 3
3
Кнопка 4
PB4
выбрана цифра 4
4
Кнопка 5
PB5
выбрана цифра 5
5
Кнопка 6
PB6
выбрана цифра 6
6
Старт
PBStart
начать игру заново
7
ход по цифре 3
3
Лампа 3
Out3
ход по цифре 4
4
Лампа 4
Out4
ход по цифре 5
5
Лампа 5
Out5
ход по цифре 6
6
Лампа 6
Out6
право хода у игрока
7
Ход
игрока
победил игрок
8
Игрок
ManWin
победил ПЛК
9
ПЛК
PLCWin
право хода у ПЛК
7
Ход ПЛК
Turn
Старт 1 2 3 4 5 6
40 0 44444
Ход
Последний ход:
Игрок ПЛК
Победа
Игрок ПЛК
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Примеры общепрограммных свойств 13/15
G(¬PLCWin ∨ ¬ManWin)
G(Mv1 + Mv2 + Mv3 + Mv4 + Mv5 + Mv6 ≤ 1)
G(F(Mv)) ⇒ G(F(PLCWin ∨ ManWin ∨ PBStart))
G(F(Mv)) ∧ G(¬PBStart ∧ X(PBStart) ⇒
(PLCWin ∨ ManWin)) ⇒
G(Mv3 ∧ Sum = 3 ⇒ ((¬ManWin ∧ ¬PLCWin) U PLCWin))
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Заключение 14/15
Апробация: 12 типичных задач логического управления
(для ПЛК с 30 входами и выходами в среднем).
Время верификации: несколько секунд на персональном
компьютере.
Ограничения на верификацию: SMV поддерживает до 59
бинарных переменных.
Типичные свойства: выполнение команд, соблюдение
технологического процесса, бесперебойная работа системы.
Дальнейшее развитие: разработка комплекса построения и
верификации ПЛК-программ.
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
Благодарим за внимание!
Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ

More Related Content

More from Iosif Itkin

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Iosif Itkin
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...Iosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesIosif Itkin
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolIosif Itkin
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresIosif Itkin
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday SeasonIosif Itkin
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AIIosif Itkin
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresIosif Itkin
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...Iosif Itkin
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiIosif Itkin
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenIosif Itkin
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...Iosif Itkin
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...Iosif Itkin
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)Iosif Itkin
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop TestingIosif Itkin
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in ReviewIosif Itkin
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyIosif Itkin
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesIosif Itkin
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)Iosif Itkin
 

More from Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

TMPA-2013: LTL Specification

  • 1. Построение и верификация ПЛК-программ по LTL-спецификации Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Ярославский государственный университет им. П.Г. Демидова Ярославль, 2013 Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 2. Содержание доклада 2/15 Программируемый логический контроллер (ПЛК). Особенности программ ПЛК. Языки программирования ПЛК стандарта МЭК 61131-3. Программа ПЛК как объект верификации. Структура Крипке программ ПЛК Подход к написанию ПЛК-программ Схема трансляции LTL-спецификации для переменных Построение SMV-модели и программы на языке ST по спецификации Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 3. Программируемый логический контроллер (ПЛК) 3/15 Особенности ПЛК. Входы: датчики, концевые выключатели, кнопки, термометры . . . . Выходы: электромаг. реле, приводы, световые сигнализаторы . . . . Рабочий цикл: считывание входов, выполнение программы, выставление выходов. Применение: бытовые приборы — промышленное производство. Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 4. Программы ПЛК и особенности верификации 4/15 Два типа задач. 1 Аналоговые. Обеспечение устойчивости. Программирование формул. Дедуктивный анализ. 2 Дискретные. Логическое управление. Конечное пространство состояний. Метод проверки модели. Отсутствие циклов (кроме рабочего). Понимание широким кругом специалистов. Высокая цена программной ошибки. Языки программирования стандарта МЭК 61131-3. Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 5. Языки МЭК 61131-3 5/15 Языки программирования ПЛК стандарта МЭК 61131-3: IL (Instruction List) — список инструкций (Ассемблер); FBD (Functional Block Diagram) — диаграммы функциональных блоков; ST (Structured Text) — структурированный текст; SFC (Sequential Function Chart) — последовательные функциональные схемы; LD (Ladder Diagram) — язык релейно-контактных схем Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 6. ПодходыкпостроениюиверификацииПЛК-программ 6/15 Цель работы: описание технологии программирования ПЛК для задач логического управления. Два подхода к анализу программ ПЛК: Прямая трансляция с языков стандарта МЭК в интерфейсные языки верификаторов (SMV, SPIN, CPNTools...) Программирование и верификация по спецификации. Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 7. Модель программы ПЛК 7/15 Состояние модели: вектор значений входов + вектор значений выходов и внутренних переменных. Переходы по состояниям: один проход рабочего цикла. Условия для программных переменных: 1. Не более одного изменения значения каждой переменной за один проход рабочего цикла ПЛК 2. Значение переменной изменяется в одном месте Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 8. Подход к написанию программ 8/15 Предлагаемая последовательность написания ПЛК-программ: Создание спецификации при помощи логики LTL Трансляция на язык SMV и верификация Трансляция на язык ST Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 9. Трансляция 9/15 LTL-спецификация: G X( V >_V ⇒ OldValCond ∧ FiringCond ∧ V = NewValExpr) G X( V <_V ⇒ OldValCond ∧ FiringCond ∧ V = NewValExpr ) ST-код: IF OldValCond AND FiringCond THEN V := NewValExpr ; ELSIF OldValCond AND FiringCond THEN V := NewValExpr ; END_IF. SMV-модель: case{ next(OldValCond ) & next(FiringCond ) : next(V ) := next(NewValExpr ); next(OldValCond ) & next(FiringCond ) : next(V ) := next(NewValExpr ); default : next(V ) := V ; }. Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 10. Трансляция 10/15 LTL-спецификация: G X( ¬_V ∧ V ⇒ FiringCond ) G X( _V ∧ ¬V ⇒ FiringCond ) ST-код: IF NOT _V AND FiringCond THEN V := 1 ; ELSIF _V AND FiringCond THEN V := 0; END_IF. SMV-модель: case{ ∼V & next(FiringCond ) : next(V ) := 1; V & next(FiringCond ) : next(V ) := 0; default : next(V ) := V ; }. Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 11. Трансляция 11/15 Особый случай спецификаций, при котором FiringCond = FiringCond = 1, NewValExpr = NewValExpr , OldValCond = (_V < NewValExpr) и OldValCond = (_V > NewValExpr): LTL-спецификация: G X( V = NewValExpr ) ST-код: V := NewValExpr. SMV-модель: next(V ) := next(NewValExpr). Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 12. Интерфейс задачи «Логическая игра 31» 12/15 Лампы Кнопки ПЛК ВыходыВходы Кнопка 1 PB1 выбрана цифра 1 ход по цифре 1 Лампа 1 Out1 ход по цифре 2 1 1 2 Лампа 2 Out2 Кнопка 2 PB2 выбрана цифра 2 2 Кнопка 3 PB3 выбрана цифра 3 3 Кнопка 4 PB4 выбрана цифра 4 4 Кнопка 5 PB5 выбрана цифра 5 5 Кнопка 6 PB6 выбрана цифра 6 6 Старт PBStart начать игру заново 7 ход по цифре 3 3 Лампа 3 Out3 ход по цифре 4 4 Лампа 4 Out4 ход по цифре 5 5 Лампа 5 Out5 ход по цифре 6 6 Лампа 6 Out6 право хода у игрока 7 Ход игрока победил игрок 8 Игрок ManWin победил ПЛК 9 ПЛК PLCWin право хода у ПЛК 7 Ход ПЛК Turn Старт 1 2 3 4 5 6 40 0 44444 Ход Последний ход: Игрок ПЛК Победа Игрок ПЛК Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 13. Примеры общепрограммных свойств 13/15 G(¬PLCWin ∨ ¬ManWin) G(Mv1 + Mv2 + Mv3 + Mv4 + Mv5 + Mv6 ≤ 1) G(F(Mv)) ⇒ G(F(PLCWin ∨ ManWin ∨ PBStart)) G(F(Mv)) ∧ G(¬PBStart ∧ X(PBStart) ⇒ (PLCWin ∨ ManWin)) ⇒ G(Mv3 ∧ Sum = 3 ⇒ ((¬ManWin ∧ ¬PLCWin) U PLCWin)) Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 14. Заключение 14/15 Апробация: 12 типичных задач логического управления (для ПЛК с 30 входами и выходами в среднем). Время верификации: несколько секунд на персональном компьютере. Ограничения на верификацию: SMV поддерживает до 59 бинарных переменных. Типичные свойства: выполнение команд, соблюдение технологического процесса, бесперебойная работа системы. Дальнейшее развитие: разработка комплекса построения и верификации ПЛК-программ. Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ
  • 15. Благодарим за внимание! Кузьмин Е. В., Рябухин Д. А., Шипов А. А. Построение и верификация ПЛК-программ