KR101254598B1 - Smⅴ를 이용한 plc 제어 프로그램의 인터록 기능 검증방법 - Google Patents

Smⅴ를 이용한 plc 제어 프로그램의 인터록 기능 검증방법 Download PDF

Info

Publication number
KR101254598B1
KR101254598B1 KR1020120092484A KR20120092484A KR101254598B1 KR 101254598 B1 KR101254598 B1 KR 101254598B1 KR 1020120092484 A KR1020120092484 A KR 1020120092484A KR 20120092484 A KR20120092484 A KR 20120092484A KR 101254598 B1 KR101254598 B1 KR 101254598B1
Authority
KR
South Korea
Prior art keywords
control program
plc
plc control
output signal
state
Prior art date
Application number
KR1020120092484A
Other languages
English (en)
Inventor
박창목
왕지남
Original Assignee
주식회사 유디엠텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 유디엠텍 filed Critical 주식회사 유디엠텍
Priority to KR1020120092484A priority Critical patent/KR101254598B1/ko
Application granted granted Critical
Publication of KR101254598B1 publication Critical patent/KR101254598B1/ko
Priority to US14/422,120 priority patent/US20150268655A1/en
Priority to PCT/KR2013/006857 priority patent/WO2014030854A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

자동화 생산 시스템을 제어하는 PLC 구동 시스템에서 구동되는 PLC 제어 프로그램의 인터록 기능 검증방법이 개시된다. 본 발명의 실시예에 따른 PLC 제어 프로그램의 인터록 기능 검증방법은, 상기 PLC 제어 프로그램을, 출력신호를 부모 노드로 하고 상기 출력신호의 상태변화에 영향을 주는 상태변환로직들을 자식 노드로 표현하는 제어중간모델로 변환하는 단계; 상기 PLC 제어 프로그램이 구동됨에 따라 상기 PLC 구동 시스템에서 출력되는 다수의 출력신호들 중 동시에 온(ON) 상태가 되어 상기 자동화 생산 시스템의 동작에 에러상황을 발생하는 출력신호 리스트 정보를 이용하여 상기 제어중간모델을 간략화하는 단계; 상기 PLC 구동 시스템 및 상기 간략화된 제어중간모델을 FSM(Finite State Machine) 형식으로 변환하는 단계; 및 SMV(Symblic Model Checker)를 이용하여 상기 FSM 형식으로 변환된 간략화된 제어중간모델에서 상기 에러 상황을 발생하는 출력신호 리스트의 출력신호들이 동시에 온(ON)이 되는 상태발생 여부를 파악하는 릴레이 검증을 하여, 상기 에러 상황 발생을 방지하기 위한 인터록 기능이 구현되도록 상기 PLC 제어 프로그램을 수정하는 단계를 포함한다.

Description

SMⅤ를 이용한 PLC 제어 프로그램의 인터록 기능 검증방법{METHOD OF EXAMING INTERLOCK FUNCTION OF PLC CONTROL PROGRAM USING SYMBOLIC MODEL CHECKER}
본 발명은 SMV(Symbolic Model Checker)를 이용한 PLC 제어 프로그램의 인터록(Interlock) 기능 검증방법에 관한 것이다.
자동화 생산 시스템을 제어하는 PLC 구동 시스템에서 구동되는 PLC 제어 프로그램은 작업장의 안전을 고려하여 설계되어야 한다. 만약 PLC 제어 프로그램이 완벽하게 설계되지 않은 경우 자동화 생산 시스템에 오동작이 발생할 수 있으며 이로 인해서 인명피해 및 고가 설비의 파괴 등 큰 손실이 발생할 수 있다.
이러한 자동화 생산 시스템의 오동작은 PLC 제어 프로그램에서 사용되는 특정신호들, 예를 들어 특정설비들을 구동하기 위한 출력신호들이 동시에 온(ON) 상태가 됨으로써 대부분 발생 된다. 따라서 자동화 생산 시스템의 오동작은 특정신호들이 동시에 온(ON) 되는 상태로 정의되는 에러상황이 절대로 발생하지 않도록 PLC 제어 프로그램을 구현함으로써 방지될 수 있다. 즉 PLC 제어 프로그램은 자동화 생산 시스템의 설비들을 순차제어하는 기능과 에러상황을 방지하기 위한 인터록(Interlock) 기능을 포함한다. 인터록 기능은 안전에 관련된 문제이기 때문에 100% 완벽하게 구현되어야 한다. 예를 들어 인터록 기능은 특정 설비의 동작에 관련된 신호들이 동시에 온(ON) 상태가 되지 않도록 도 1에 도시된 바와 같이 프로그램되어 PLC 제어 프로그램에 포함된다. 도 1을 참조하면 설비A구동조건이 만족되어도 B신호가 NOT으로 연결되어 있기 때문에 B신호가 온(ON) 상태이면 첫 번째 회로는 항상 FALSE가 되어 A는 절대로 온(ON) 상태가 될 수 없다. 마찬가지로 설비B구동조건이 만족되어도 A신호가 NOT으로 연결되어 있기 때문에 A신호가 온(ON) 상태이면 두 번째 회로는 항상 FALSE가 되어 B는 절대로 온(ON) 상태가 될 수 없다.
그러나 상기한 PLC 제어 프로그램은 수천 개의 신호와 복잡한 로직으로 구성되어 있기 때문에 이렇게 특정신호들이 동시에 온(ON) 상태가 되는 에러 상황이 발생하지 않도록 하는 인터록 기능이 완벽히 구현되었는지를 PLC 프로그램 작성자 등이 일일이 확인하기가 용이하지 않다. 이러한 문제를 해결하기 위하여 시뮬레이션과 시운전을 통하여 PLC 제어프로그램을 검증하는 방안이 제안되고 있으나 시뮬레이션과 시운전을 통하여 PLC 제어 프로그램을 검증하는 경우 검사해야 할 신호상태가 기하급수로 증가하기 때문에 모든 경우를 검사할 수 없다는 문제점이 있다.
SMV를 이용하여 PLC 제어 프로그램의 인터록 기능이 완벽하게 구현되어 있는가를 검증하여 보완하는 PLC 제어 프로그램의 인터록 기능 검증방법이 제안된다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상에 따른 SMV를 이용한 PLC 제어 프로그램의 인터록 기능 검증방법은, 상기 PLC 제어 프로그램을, 출력신호를 부모 노드로 하고 상기 출력신호의 상태변화에 영향을 주는 상태변환로직들을 자식 노드로 표현하는 제어중간모델로 변환하는 단계; 상기 PLC 제어 프로그램이 구동됨에 따라 상기 PLC 구동 시스템에서 출력되는 다수의 출력신호들 중 동시에 온(ON) 상태가 되어 상기 자동화 생산 시스템의 동작에 에러상황을 발생하는 출력신호 리스트 정보를 이용하여 상기 제어중간모델을 간략화하는 단계; 상기 PLC 구동 시스템 및 상기 간략화된 제어중간모델을 FSM(Finite State Machine) 형식으로 변환하는 단계; 및 SMV(Symblic Model Checker)를 이용하여 상기 FSM 형식으로 변환된 간략화된 제어중간모델에서 상기 에러 상황을 발생하는 출력신호 리스트의 출력신호들이 동시에 온(ON)이 되는 상태발생 여부를 파악하는 릴레이 검증을 하여, 상기 에러 상황 발생을 방지하기 위한 인터록 기능이 구현되도록 상기 PLC 제어 프로그램을 수정하는 단계를 포함한다.
상기 제어중간모델을 간략화하는 단계는, 상기 에러 상황과 관련이 없는 출력신호 리스트의 출력신호들 및 해당 출력신호들의 상태변환로직들을 상기 제어중간모델에서 제거하여, 상기 제어중간모델을 간략화할 수 있다.
상기 에러 상황 발생을 방지하기 위한 인터록 기능이 구현되도록 상기 PLC 제어 프로그램을 수정하는 단계는, 상기 에러 상황을 발생하는 출력신호 리스트의 출력신호들을 발생하는 의존관계 계층구조를 생성하고, 상기 의존관계 계층구조에 기초하여 단계적으로 상기 에러 상황을 발생하는 출력신호 리스트의 출력신호들이 동시에 온(ON)이 되는 상태발생 여부를 파악할 수 있다.
본 발명의 실시예에 따른 SMV를 이용한 PLC 제어 프로그램의 인터록 기능 검증방법에 따르면, 자동화 생산 시스템의 동작에 에러 상황이 발생한 경우를 방지하기 위하여 상기 자동화 생산 자동화 시스템을 제어하는 PLC 구동 시스템에서 구동되는 PLC 제어 프로그램 중 상기 에러 상황을 발생하는 신호 상태와 프로그램 위치를 도출해서 수정 또는 보완함으로써, 자동화 생산 시스템의 동작에 에러 상황이 발생한 경우 PLC 제어 프로그램의 모든 부분을 점검하지 않아도 된다.
도 1은 인터록 기능을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 SMV를 이용한 PLC 제어 프로그램의 인터록 기능 검증방법에 대한 플로차트이다.
도 3은 본 발명의 실시예에 따른 SMV를 이용한 PLC 제어프로그램의 인터록 기능 검증방법이 적용되는 자동화 생산 시스템을 예시한 도면이다.
도 4는 도 3에 도시된 자동화 생산 시스템을 제어하는 PLC 구동 시스템에서 동작하는 PLC 제어프로그램을 나타낸 도면이다.
도 5는 도 4에 도시된 PLC 제어프로그램이 제어중간모델로 변환된 것을 나타낸 도면이다.
도 6은 도 5에 도시된 제어중간모델을 에러상황 신호리스트 정보를 이용하여 간략화한 도면이다.
도 7은 PLC 구동 시스템의 일반적인 동작 사이클을 나타낸 도면이다.
도 8은 도 7에 도시된 PLC 구동 시스템의 구동특성을 FSM형식으로 표현한 것을 예시한 도면이다.
도 9는 도 4에 도시된 두 개의 타이머 로직을 FSM으로 표현한 것을 예시한 도면이다.
도 10은 도 3에 도시된 센서입력신호 S1 ~ S5의 상태변환 특성을 FSM으로 표현한 도면이다.
도 11은 도 4에 도시된 PLC 논리회로를 FSM으로 표현한 것을 나타낸 도면이다.
도 12는 BELT1 출력신호, UP 출력신호가 동시에 온(ON) 상태가 되는 상황을 센서입력신호의 상태로 표현한 도면이다.
도 13은 BELT1 출력신호 및 UP 출력신호가 동시에 온(ON) 상태인 것을 검증하기 위하여 BELT1 출력신호 및 UP 출력신호를 시작으로 의존관계 계층구조를 표시한 도면이다.
도 14는 PLC 제어 프로그램 검증 및 수정을 위한 플로차트를 나타낸 도면이다.
도 15는 PLC 제어 프로그램의 에러 상황이 수정되기 전과 후를 나타낸 도면이다.
도 16은 SMV에서 사용되는 FSM의 예를 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 아래의 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시예들로 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하며 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다. 
본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)" 및/또는"포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다. 
본 명세서에서 제1, 제2 등의 용어가 다양한 부재, 영역 및/또는 부위들을 설명하기 위하여 사용되지만, 이들 부재, 부품, 영역, 층들 및/또는 부위들은 이들 용어에 의해 한정되어서는 안됨은 자명하다. 이들 용어는 특정 순서나 상하, 또는 우열을 의미하지 않으며, 하나의 부재, 영역 또는 부위를 다른 부재, 영역 또는 부위와 구별하기 위하여만 사용된다. 따라서, 이하 상술할 제1 부재, 영역 또는 부위는 본 발명의 가르침으로부터 벗어나지 않고서도 제2 부재, 영역 또는 부위를 지칭할 수 있다.
이하, 본 발명의 실시예들은 본 발명의 실시예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 제조 기술 및/또는 공차에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조상 초래되는 형상의 변화를 포함하여야 한다.
도 2는 본 발명의 실시예에 따른 SMV를 이용한 PLC 제어 프로그램의 인터록 기능 검증방법에 대한 플로차트이다.
도 2를 참조하면, 본 발명의 실시예에 따른 SMV를 이용한 PLC 제어 프로그램의 인터록 기능 검증방법은, SMV를 이용하여 자동화 생산 시스템을 제어하는 PLC 구동 시스템에서 구동되는 PLC 제어 프로그램의 인터록 기능을 검증하는 방법이다.
도 2를 참조하면, 상기 PLC 제어프로그램의 인터록 기능 검증방법은, 상기 PLC 제어 프로그램을, 출력신호를 부모 노드로 하고 상기 출력신호의 상태변화에 영향을 주는 상태변환로직들을 자식 노드로 표현하는 제어중간모델로 변환하고(S1), 상기 PLC 제어 프로그램이 구동됨에 따라 상기 PLC 구동 시스템에서 출력되는 다수의 출력신호들 중 동시에 온(ON) 상태가 되어 상기 자동화 생산 시스템의 동작에 에러상황을 발생하는 출력신호 리스트 정보를 이용하여 상기 제어중간모델을 간략화하고(S2), 상기 PLC 구동 시스템 및 상기 간략화된 제어중간모델을 FSM(Finite State Machine) 형식으로 변환하고(S3), SMV(Symblic Model Checker)를 이용하여 상기 FSM 형식으로 변환된 제어중간모델에서 상기 에러상황을 발생하는 출력신호 리스트의 출력신호들이 동시에 온(ON)이 되는 상태발생 여부를 파악하는 릴레이 검증을 하여, 상기 에러 상황 발생을 방지하기 위한 인터록 기능이 구현되도록 상기 PLC 제어 프로그램을 수정하는(S4) 순서로 수행될 수 있다. 이때, 상기 제어중간모델의 간략화는, 상기 에러 상황과 관련이 없는 출력신호 리스트의 출력신호들 및 해당 출력신호들의 상태변환로직들을 상기 제어중간모델에서 제거함으로써 이뤄질 수 있다. 또한 상태변환로직은 출력신호의 상태변화에 영향을 주는 것으로서, 예를 들어 도 5를 참조하면 BELT1 출력신호에 영향을 주는 상태변환로직은 내부신호 F1의 상태 혹은 내부신호 F3의 상태변화와, 내부신호 F1의 상태변화에 영향을 주는 센서입력신호 S1, S2 및 S3의 논리식을 포함할 수 있다. 또한 UP 출력신호에 영향을 주는 상태변환로직은 타이머(T1)의 상태변화와 타이머(T1)의 상태변화에 영향을 주는 내부신호 F2의 상태변화와 내부신호 F2의 상태변화에 영향을 주는 센서입력신호 S1, S2 및 S4의 논리식을 포함할 수 있다.
도 3은 본 발명의 실시예에 따른 SMV를 이용한 PLC 제어프로그램의 인터록 기능 검증방법이 적용되는 자동화 생산 시스템을 예시한 도면이다.
도 3을 참조하면 자동화 생산 시스템은 아래 순서(구동 1 -> 구동 2 -> 구동 3 -> 구동 4 -> 구동 5)의 동작을 반복적으로 수행한다. 즉 자동화 생산 시스템은 아래에 설명된 바와 같은 구동 순서를 갖도록 프로그램된 PLC 제어 프로그램이 구동되는 PLC 구동 시스템에 의해 제어될 수 있다.
구동 1: 롤러 트레인(Roller train)에 접근하는 작업물을 센서 S1이 감지하면 벨트 컨베이어 1(Belt conveyor 1)을 구동한다.
구동 2: 작업물이 벨트 컨베이어 1(Belt conveyor 1)의 오른쪽 끝에 도달하여 센서 S2가 이를 감지하면 8초 후에 엘리베이터(Elevator)를 상승한다.
구동 3: 엘리베이터(Elevator)가 끝까지 상승하여 센서 S4가 이를 감지하면 엘리베이터(Elevator)의 상승을 정지한다.
구동 4: 엘리베이터(Elevator)의 상승이 끝나면 벨트 컨베이어 1(Belt conveyor 1)과 벨트 컨베이어 2(Belt conveyor 2)를 동시에 구동하여 작업물을 벨트 컨베이어 2(Belt conveyor 2)의 오른쪽 끝으로 이동시킨다.
구동 5: 작업물이 사라지게 되어 센서 S2로부터 작업물 감지 신호가 없으면 4초 후 엘리베이터(Elevator)를 하강한다.
이렇게 도 3에 도시된 자동화 생산 시스템을 제어하는 PLC 구동 시스템에서 동작하는 PLC 제어프로그램이 도 4에 도시되어 있다.
도 4를 참조하면, PLC 제어프로그램은 센서 상태를 나타내는 센서입력신호들(S1, S2, S3, S4, S5)와 자동화 생산 시스템의 상태를 나타내는 내부신호들(F1, F2, F3, F4), 마지막으로 자동화 생산 시스템의 설비들을 구동하기 위한 출력신호들(UP, DOWN, BELT1, BELT2)로 구성되어 있다.
내부신호 F1은 작업물을 롤러 트레인(Roller train)에서 벨트 컨베이어 1(Belt conveyor 1)의 오른쪽 끝까지 이동시키는 자동화 생산 시스템의 상태를 표현하고, [(S1=ON AND S2=OFF) OR S3=ON] 조건을 만족할 때 온(ON) 상태가 된다(301).
내부신호 F2는 엘리베이터(Elevator)를 이용하여 작업물을 위로 올리는 상태를 나타내며 [S1=OFF AND S2=ON AND S4=OFF] 조건을 만족할 때 온(ON) 상태가 된다(302).
내부신호 F3는 두 개의 벨트 컨베이어 1, 2를 동시에 구동하여 작업물을 벨트 컨베이어 2(Belt conveyor 2)의 오른쪽으로 보내주는 상태를 표현하며, [(S4=ON OR S2=1) AND S5=OFF]조건을 만족할 때 온(ON) 상태가 된다(303).
마지막으로 내부신호 F4는 엘리베이터(Elevator)를 하강시켜주는 상태를 정의하며, [S2=OFF AND S3=OFF]조건을 만족할 때 온(ON) 상태가 된다(304).
이렇게 정의한 내부신호 F1 혹은 F3가 온(ON) 상태가 되면 벨트 컨베이어 1(Belt conveyor 1)을 구동하기 위한 BELT1 출력신호가 온(ON) 상태로 된다(305).
내부신호 F2가 온(ON) 상태가 되고 8초 후에 엘리베이터(Elevator)를 상승하기 위한 UP출력신호가 온(ON) 상태로 된다(306).
내부신호 F3가 온(ON) 상태가 되면 벨트 컨베이어 2(Belt conveyor 2)를 구동하기 위한 BELT2 출력신호가 온(ON) 상태로 된다(307).
내부신호 F4가 온(ON) 상태가 되고 4초 후에 엘리베이터(Elevator)를 하강하기 위한 DOWN 출력신호가 온(ON) 상태로 된다(308).
상기 UP 출력신호 및 BELT1 출력신호가 동시에 온(ON) 상태가 될 경우 작업물이 벨트 컨베이어 2(Belt conveyor 2)의 베이스에 부딪히기 때문에 이를 에러상황으로 정의할 수 있다. 따라서, 도 3에 예시된 자동화 생산 시스템을 제어하는 PLC 구동 시스템에서 구동되는 PLC 제어 프로그램에 의해서 발생할 수 있는 에러상황은 UP 출력신호 및 BELT1 출력신호가 동시에 온(ON) 상태인 경우이고, UP=ON AND BELT1=ON으로 나타낼 수 있다.
도 5는 도 4에 도시된 PLC 제어프로그램이 제어중간모델로 변환된 것을 나타낸 도면이다.
제어중간모델은 출력신호를 부모 노드로 하고 출력신호에 영향을 주는 상태변환 로직들을 자식 노드로 표현하는 모델이다.
결과적으로 PLC 제어프로그램은 이러한 중간모델의 집합으로 표현된다. 상태변환로직내에 있는 변수들도 마찬가지로 하부의 상태변환로직을 가질 수 있으므로, 이러한 전체적인 구조를 연결하면 전체 제어중간모델은 계층적인 구조를 가지는 트리(tree) 모양이 된다. 도 5에 도시된 바와 같이 트리구조를 가지는 제어중간모델은 변수들의 종속관계를 추출할 수 있는 구조이다.
DOWN 출력신호는 타이머(T2)가 4초에 도달했을 때 온(ON) 상태가 되며, 타이머(T2)는 내부신호 F4가 온(ON) 상태가 될 때 구동되며 내부신호 F4는 센서입력신호 S2와 S3의 논리식에 의하여 온(ON) 상태 혹은 오프(OFF) 상태로 된다(410).
UP 출력신호는 타이머(T1)가 8초에 도달했을 때 온(ON) 상태가 되며, 타이머(T1)는 내부신호 F2가 온(ON) 상태가 될 때 구동되며 내부신호 F2는 센서입력신호 S1, S2 및 S4의 논리식에 의하여 온(ON) 상태 혹은 오프(OFF) 상태가 된다(420).
BELT2 출력신호는 내부신호 F3이 온(ON) 상태가 될 때 온(ON) 상태가 되며 내부신호 F3은 센서입력신호 S2, S4 및 S5의 논리식에 의하여 온(ON) 상태 혹은 오프(OFF) 상태가 된다(430).
BELT1 출력신호는 내부신호 F1이 온(ON) 상태 혹은 F3이 온(ON) 상태가 될 때 온(ON) 상태가 되며 내부신호 F1은 센서입력신호 S1, S2 및 S3의 논리식에 의하여 온(ON)상태 혹은 오프(OFF) 상태가 되고, 내부신호 F3은 센서입력신호 S2, S4 및 S5의 논리식에 의하여 온(ON) 상태 혹은 오프(OFF) 상태가 된다(440).
도 6은 도 5에 도시된 제어중간모델을 간략화한 도면이다.
도 6을 참조하면, 본 발명의 실시예에 따른 PLC 제어프로그램의 인터록 기능 검증은 PLC 제어 프로그램이 PLC 구동 시스템에서 구동될 때 두 개 이상의 출력신호가 동시에 온(ON) 상태가 되는 에러 상황이 발생하는가를 검사하여, 해당 에러 상황이 발생하지 않도록 PLC 제어프로그램을 수정하는 것이므로, 에러 상황을 발생하는 변수들만을 분석할 수 있도록 도 5에 도시된 제어중간모델을 간략화하여 PLC 제어프로그램의 인터록 기능검증을 수행할 수 있다. 이로써 탐색 공간을 줄일 수 있어서 검증시간을 단축할 수 있다.
도 5의 예에서 에러 상황을 발생하는 BELT1 출력신호와 UP 출력신호가 동시에 온(ON) 상태가 되는데, DOWN 출력신호, BELT2 출력신호는 영향을 주지 않으므로, 도 5에서 예시된 제어중간모델 중 DOWN 출력신호, BELT2 출력신호의 하부 트리(tree)가 제외되고, 도 6에 도시된 바와 같이 BELT1 출력신호와 UP 출력신호와 연결된 종속관계만을 갖는 제어중간모델로 간략화된다. 실제 자동화 생산시스템을 제어하는 PLC 구동 시스템에서 구동되는 PLC 제어프로그램은 많은 신호들이 종속관계로 연관되어 있으므로 이러한 간략화 방법으로 효과적으로 검증시스템을 단순화할 수 있게 된다.
본 발명에서 사용되는 검증 도구인 SMV를 이용하여 PLC 제어 프로그램의 인터록 기능검증을 하기 위해서는 PLC 구동시스템의 상태변화 특성 즉 출력신호 상태의 변화를 FSM(Finite State Machine, 유한상태기계)로 표현해야 한다. SMV는 FSM 형식으로 표현된 시스템이 설계명세서(Specification)를 벗어나는지 검증하는 방법이며, 전체상태공간을 탐색하므로 완벽한 검증에 가깝다는 장점을 가진다. 이러한 SMV를 이용하여 PLC 제어프로그램의 인터록 기능 검증을 위해서는 PLC 제어프로그램이 구동되는 PLC 구동 시스템을 SMV 형식으로 변환하여야 한다.
PLC 구동 시스템을 SMV 형식으로 변환하기 전에, PLC 구동 시스템의 동작 사이클(cycle)에 대해서 도 7을 참조하여 살펴보기로 한다. 도 7을 참조하면, PLC 구동 시스템은 도 7에 도시된 바와 같은 사이클의 동작을 반복 수행한다. 단계 1에서 외부 입력신호가 PLC 제어 프로그램의 내부입력메모리에 복사된다(610). 이에 따라 단계 1 이외의 단계에서 내부입력메모리의 변화는 없게 된다. 단계 2에서 PLC 제어프로그램이 순차적으로 실행된다(620). 이때 실행순서에 따라 결과가 달라지기 때문에 PLC 제어프로그램의 코드순서는 지켜져야 한다. 순차적인 PLC 제어프로그램의 실행결과는 출력내부메모리에 저장된다. 마지막으로 단계 3에서는 출력메모리가 출력신호에 일괄적으로 복사된다(630). 이때 단계 3에서 에러 상황이 발생하는지가 체크되는데, 입력을 임의로 바꾸어 PLC 제어프로그램을 실행시키면서 에러 상황이 발생하는지를 확인한다. 이렇게 하면 너무 많은 시간이 많이 소요되기 때문에 본 발명에 따른 SMV를 이용한 PLC 제어프로그램의 인터록 기능 검증방법이 개시된다.
한편 단계 1에서 마지막 단계까지 PLC 구동시스템에서는 일정한 시간에 구동되도록 설계되어 있다(640).
SMV에서 사용되는 FSM형식은 상태와 전이특성을 가지는 상태머신(state machine)을 여러 개 사용하여 특정 시스템을 묘사하는 방식이다.
도 8은 도 7에 도시된 PLC 구동 시스템의 구동특성을 FSM형식으로 표현한 것을 예시한 도면이다.
도 8을 참조하면, Step 모델은 (단계1->단계2(순차적인 프로그램 수행)->단계3)의 순차적인 구동을 표현하기 위한 것이며, 모든 로직이 정해진 순서에 의해 수행되도록 하고, 입력값이 프로그램수행중에 변경되는 것을 막고, 출력에 대한 체크시점을 지정해주는 역할을 한다. 이 모델에서 Step 상태가 0일때 입력 값들이 임의의 상태로 변경될 수 있으며, Step 상태가 8일 때 출력에 대한 체크시점이다. 나머지 Step 상태는 로직 수행 시점을 나타낸다. Step 모델을 통해서 FSM으로 표현된 PLC 구동 시스템의 동기화가 성립된다.
또한 Tick 모델은 PLC 구동사이클에 대한 가정을 통해 시간을 표현한 모델로써 PLC 구동 시스템 내에 존재하는 다수의 타이머 변수 간의 동기화를 이룰 수 있도록 해준다.
도 9는 도 4에 도시된 두 개의 타이머 로직을 FSM으로 표현한 것을 예시한 도면이다.
도 9를 참조하면, 도 8에서 정의한 Tick 변수를 통하여 타이머 변수 간의 동기화를 표현하였다.
실제 타이머를 가진 로직의 구동방식은 아래와 같다.
내부신호 F2가 온(ON) 상태가 되면 타이머 T1이 동작하고 8초가 지나고 UP 출력신호가 온(ON) 상태가 된다 (801).
내부신호 F4가 온(ON) 상태가 되면 타이머 T2가 동작하고 4초가 지나고 DOWN 출력신호가 온(ON) 상태가 된다(802).
이러한 구동방식을 FSM으로 표현한 것이 UP 모델, DOWN 모델, T1 모델, T2 모델이다. 타이머 T1은 1초 단위로 상태가 변하도록 설계하였고, 내부신호 F2가 온(ON) 상태일 때만 Tick 상태와 동기화되어 상태변화가 발생 되도록 하였고, 타이머 T2도 1초 단위로 상태가 변하며 내부신호 F4가 온(ON) 상태일 때만 Tick 상태와 동기화되어 상태변화가 발생 되도록 하였다. 이때 UP 출력신호는 타이머 T1이 8초가 되고 PLC 로직 순서번호가 6일 때 '0'에서 '1'로 변하도록 표현되고, DOWN 출력신호도 같은 방식으로 타이머 T2가 4초가 되고 PLC 로직 순서번호가 8일 때 '0'에서 '1'로 변하도록 상태전이가 표현되었다.
도 10은 도 4에 도시된 센서입력신호 S1 ~ S5까지의 모델이 Step이 0일 때만 입력신호 상태가 0 혹은 1로 변환될 수 있다는 것을 나타낸다.
도 11은 도 4에 도시된 PLC 논리회로를 FSM으로 표현한 것을 나타낸 도면이다.
도 11을 참조하면, 내부신호 F1, F2, F3와 출력신호 BELT1, BELT2 모델은 각 논리회로에 의하여 신호 값이 바뀌는 구동 특성을 표현한 것이다.
본 발명의 실시예의 설명을 위한 도 4에 도시된 PLC 제어 프로그램에서 BELT1 출력신호, UP 출력신호가 동시에 온(ON) 상태가 되는 상황은 5가지 경우가 있으며, 이를 나타낸 도면이 도 12에 도시되어 있다.
도 12를 참조하면 BELT1 출력신호, UP 출력신호가 동시에 온(ON) 상태가 되는 상황은 센서입력신호의 상태로 표현될 수 있다.
실제 SMV 도구를 이용하여 이러한 경우를 모두 찾아내는 것은 대형 PLC 제어 프로그램에서는 불가능하다. 설사 이러한 경우를 모두 만들어 내어도 이것을 활용하여 PLC 제어 프로그램을 수정하는 것은 매우 어려운 일이다. 즉 도 12에서 표현된 5가지 상황이 발생할 때에 BELT1 출력신호 및 UP 출력신호가 동시에 온(ON) 상태가 되지 않도록 PLC 제어프로그램을 수정해야 하는 것은 매우 어려운 일이다. 왜냐하면 PLC 제어프로그램의 어느 부분을 수정해야 하는지 알 수 없으며, 또한 수정할 수 있는 방법 또한 여러 가지가 있을 수 있기 때문에 가장 효율적인 수정에 대한 정보를 알기 어렵기 때문이다. 이러한 어려움은 대형 자동화 생산시스템의 PLC 제어 프로그램일수록 더욱 심해진다.
이에 따라 본 발명의 실시예에 따른 SMV를 이용한 PLC 제어프로그램의 인터록 기능 검증 방법은, SMV를 이용하여 에러 상황을 발생하는 출력신호들을 동시에 온(ON) 상태가 되게 하는 신호들의 상태들을 찾는 릴레이 검증을 수행하고 릴레이 검증결과 찾아진 신호들의 상태와 도 13에서 도시한 의존관계 계층구조의 논리회로 번호를 이용하여 에러 상황이 발생하지 않도록 PLC 제어 프로그램을 정정하는 과정을 거치게 된다.
PLC 제어 프로그램은 설계특성상 다양한 조건 및 시퀀스(sequnece)가 복합적으로 섞여 있도록 작성된다. 이러한 특성 때문에 특정 상태가 발생하는 것을 체크 하기 위해서는 신호의 상호의존관계를 이용한 Tree구조를 만들고 이것을 바탕으로 릴레이 검증을 수행하면 전체 문제를 여러 개의 단위문제로 분할하여 검증하는 효과를 거둘 수 있고, 상태폭발문제(탐색해야할 탐색공간이 너무 큼)에서 자유로워질 수 있게 된다.
도 13은 BELT1 출력신호 및 UP 출력신호가 동시에 온(ON) 상태인 것을 검증하기 위하여 BELT1 출력신호 및 UP 출력신호를 시작으로 의존관계 계층구조를 표시한 것이다.
도 13을 참조하면, UP 출력신호 및 BELT1 출력신호와 연관된 로직은 305, 306이며, 연관된 내부신호는 F1, F2 및 F3이다. 또한 내부신호 F1, F2, F3과 연관된 로직은 301, 302 및 303이며, 연관된 센서입력신호는 S1, S2, S3, S4 및 S5 이다. 이러한 구조를 가지는 PLC 제어프로그램의 검증은, UP 출력신호 및 BELT1 출력신호가 동시에 온(ON) 상태가 되는 경우를 검증하는 것으로 이뤄질 수 있으며, 도 14에 도시된 알고리즘을 이용하면 PLC 제어 프로그램 검증 및 수정을 단순화할 수 있다.
도 14를 참조하면, 검증절차는 다음과 같다.
도 14의 레벨 1의 검증방식은 도 13에 도시한 1차 의존관계만을 이용한 검증방식을 나타낸다.
1. 에러 상황(UP=1 & BELT1=1)을 발생하는 내부신호 F1, F2, F3 상태조합을 SMV를 이용하여 찾아낸다.
2. [F1=1, F2=1, F3=0]일 경우 에러 상황이 발생한다.
3. 프로그램 작성자 등이 프로그램 305, 306을 수정하여 [F1=1, F2=1, F3=0]일 경우에 에러 상황이 발생하지 않도록 한다.
4. 에러 상황을 발생하는 내부신호 F1, F2, F3 상태 조합이 발생하지 않을 때까지 위 절차를 반복한다.
UP, BELT1 출력신호의 상태를 결정하는 것은 내부신호 F1, F2, F3 신호이므로 PLC 제어프로그램 305, 306에서 에러상황을 방지하도록 처리하는 것이 효율적이고 관리하기 쉽다. 실제 프로그램 작성자가 설계하는 PLC 제어프로그램은 이러한 형태를 가지는 것이 일반적이다.
그러나 만일 305, 306 프로그램의 수정으로 이러한 에러 상황 방지가 불가능하거나 좀 더 쉽게 에러 상황 방지가 가능한 부분을 찾아 검증하기 위해서는 다음과 같은 검증 절차를 이용하여 종속관계를 레벨 다운하여 검증할 수도 있다.
즉, 도 14의 레벨 2의 검증방식은 도 13에 명시된 2차 의존관계만을 이용한 검증방식이다.
11. 레벨 1 검증에서 찾은 내부신호 상태 [F1=1, F2=1, F3=0]을 발생하는 센서입력신호 S1, S2, S3, S4, S5의 상태조합을 SMV를 이용하여 찾아낸다.
12. [S1=0, S2=1, S3=1]일 경우 [F1=1, F2=1, F3=0]이 발생한다.
13. 프로그램 작성자 등이 프로그램 301, 302, 303을 수정하여 센서입력신호 [S1=0, S2=1, S3=1]일 경우에 [F1=1, F2=1, F3=0]이 발생하지 않도록 한다.
14. [F1=1, F2=1, F3=0]을 발생하는 센서입력신호 S1, S2, S3, S4, S5의 상태가 발견되지 않을 때까지 위 절차를 반복한다.
SMV는 상태 탐색을 기반으로 하는 정형 검증 기법으로, 유한상태기계(FSM, Finite State Machine)로 표현된 시스템과 특성이 주어지면, 모델 체킹 알고리즘을 이용하여 주어진 시스템이 검증하고자 하는 특성을 만족하는지를 알아보기 위해서 전체 상태 공간(state space)를 검사한다. 만일 특성을 만족하지 않는다면 반증 예(Counter example)를 제시하여 준다. 즉 반증 예는 특성을 만족하지 않는 시스템의 상태를 보여주는 것이다.
SMV에서 사용하는 FSM 형식은 아래 표 1과 같이 4가지로 요약할 수 있다.
형식 설명
변수 선언 시스템의 변수설정 VAR
BELT1: boolean
변수 초기값 변수의 초기값을 지정해준다. ASSIGN
init(BELT1) := FALSE
변수 상태변화 변수의 상태가 어떻게 변하는지 지정한다. ASSIGN
next(BELT1) :=
case
F1 | F3 : TRUE ;
! (F1 | F3) : FALSE ;
시스템 특성 어떤 식이 항상 FALSE가 되는지 체크
(예: BETL1 & UP 이 항상 FALSE)
INVARSPEC
!(BELT1 & UP)
위 표의 시스템 특성에서 사용된 FSM 형식을 나타낸 도면이 도 16에 도시되어 있다.
PLC 구동 시스템, PLC 제어프로그램 및 검증하려는 에러 상황을 SMV 입력 언어를 이용하여 시스템을 명세하고, SMV 검증 프로그램을 구동하면 SMV는 에러 상황을 발생하는 신호들의 상태를 파악해서 알려주며, 만일 에러 상황이 발생하지 않는다면 에러가 발생하지 않음을 알려준다.
상기 예에서 에러상황 즉 BEL11 & UP 이 TRUE 가 되는 상황, 즉 동시에 온(ON) 상태가 되는 상황을 체크 하기 위해서 SMV를 사용하게 되면, 센서입력신호 5개, 내부신호 4개, 출력신호 4개, 변수 상태변화 로직 8개를 모두 FSM 형식으로 표현하고, SMV 검증 프로그램을 구동하게 되어 비교적 큰 상태 공간을 탐색하게 되어 검증시간이 증가하며, 또한 SMV 가 제시하는 것은 에러 상황을 발생시키는 센서입력신호 상태만을 제시하기만 하고, PLC 제어 프로그램 수정에 도움이 되는 정보를 얻을 수 없다.
그러므로 상기 제시한 제어중간모델 간략화하는 방법을 사용하게 되면, 일차적으로 센서입력신호 5개, 내부신호 3개, 출력신호 2개, 변수 상태변화 로직 5개를 사용하게 되므로 SMV 검증을 위한 상태 공간이 감소하게 된다.
또한 상기에서 제시한 릴레이 검증을 이용하면 레벨 1 검증에서는 내부신호 3개, 출력신호 2개, 변수 상태변화로직 2개 만을 사용하므로 SMV 검증을 위항 상태공간이 감소하게 되며, 검증 결과와 PLC 제어프로그램 계층정보를 이용하면 수정할 PLC 제어프로그램 위치를 알 수 있으므로 효율적인 수정이 가능하다.
마찬가지로 상기에서 제시한 릴레이 검증에서 레벨 2 검증을 사용할 경우에는 입력신호 5개, 내부신호 3개, 상태변화로직 3개 만을 사용하므로 SMV 검증을 위항 상태공간이 감소하게 되며, 검증 결과와 PLC 제어프로그램 계층정보를 이용하면 수정할 PLC 제어프로그램 위치를 알 수 있으므로 효율적인 수정이 가능하다.
PLC 제어프로그램을 수정한다는 것은 PLC 제어 프로그램 작성자가 위 절차에서 제시한 PLC 제어프로그램의 위치(프로그램의 번호)를 점검하여, 잘못 작성한 부분이 있으면 수정하는 것을 나타낸다. 잘못 작성한 것은 아니지만 PLC 제어 프로그램 작성자가 고려하지 않은 부분이 있다면 추가적인 로직을 삽입할 수도 있다.
예를 들면 위 절차에서 "프로그램 작성자 등이 프로그램 305, 306을 수정하여 [F1=1, F2=1, F3=0]일 경우에 에러 상황이 발생하지 않도록 한다."에서 프로그램 305, 306은 도 15의 (a)와 같다.
도 15의 (a)를 참조하면, 내부신호 [F1=1, F2=1, F3=0] 일 경우 BELT 출력신호와 UP 출력신호가 동시에 온(ON) 상태가 되기 때문에, PLC 제어프로그램 작성자는 적절히 PLC 제어프로그램을 수정할 수 있다. 이렇게 수정된 결과를 예시한 도면이 도 15의 (b)에 도시되어 있다. 그러나 도 15의 (b)와 달리 아예 내부신호 [F1=1, F2=1, F3=0] 상태가 발생하지 않도록 레벨 2 검증을 이용하여 301, 302, 303 프로그램을 수정할 수도 있다.
이제까지 본 발명에 대하여 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 따라서 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허청구범위에 기재된 내용 및 그와 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.

Claims (3)

  1. 자동화 생산 시스템을 제어하는 PLC 구동 시스템에서 구동되는 PLC 제어 프로그램의 인터록 기능 검증방법에 있어서,
    상기 PLC 제어 프로그램을, 출력신호를 부모 노드로 하고 상기 출력신호의 상태변화에 영향을 주는 상태변환로직들을 자식 노드로 표현하는 제어중간모델로 변환하는 단계;
    상기 PLC 제어 프로그램이 구동됨에 따라 상기 PLC 구동 시스템에서 출력되는 다수의 출력신호들 중 동시에 온(ON) 상태가 되어 상기 자동화 생산 시스템의 동작에 에러상황을 발생하는 출력신호 리스트 정보를 이용하여 상기 제어중간모델을 간략화하는 단계;
    상기 PLC 구동 시스템 및 상기 간략화된 제어중간모델을 FSM(Finite State Machine) 형식으로 변환하는 단계; 및
    SMV(Symblic Model Checker)를 이용하여 상기 FSM 형식으로 변환된 간략화된 제어중간모델에서 상기 에러 상황을 발생하는 출력신호 리스트의 출력신호들이 동시에 온(ON)이 되는 상태발생 여부를 파악하는 릴레이 검증을 하여, 상기 에러 상황 발생을 방지하기 위한 인터록 기능이 구현되도록 상기 PLC 제어 프로그램을 수정하는 단계를 포함하며,
    상기 제어중간모델을 간략화하는 단계는,
    상기 에러 상황과 관련이 없는 출력신호 리스트의 출력신호들 및 해당 출력신호들의 상태변환로직들을 상기 제어중간모델에서 제거하여, 상기 제어중간모델을 간략화하는 것을 특징으로 하는 PLC 제어 프로그램의 인터록 기능 검증방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 에러 상황 발생을 방지하기 위한 인터록 기능이 구현되도록 상기 PLC 제어 프로그램을 수정하는 단계는,
    상기 에러 상황을 발생하는 출력신호 리스트의 출력신호들을 발생하는 의존관계 계층구조를 생성하고, 상기 의존관계 계층구조에 기초하여 단계적으로 상기 에러 상황을 발생하는 출력신호 리스트의 출력신호들이 동시에 온(ON)이 되는 상태발생 여부를 파악하는 것을 특징으로 하는 PLC 제어 프로그램의 인터록 기능 검증방법.
KR1020120092484A 2012-08-23 2012-08-23 Smⅴ를 이용한 plc 제어 프로그램의 인터록 기능 검증방법 KR101254598B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120092484A KR101254598B1 (ko) 2012-08-23 2012-08-23 Smⅴ를 이용한 plc 제어 프로그램의 인터록 기능 검증방법
US14/422,120 US20150268655A1 (en) 2012-08-23 2013-07-31 Method of autheticating interlock function of plc control program using smv
PCT/KR2013/006857 WO2014030854A1 (ko) 2012-08-23 2013-07-31 Smv를 이용한 plc 제어 프로그램의 인터록 기능 검증방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120092484A KR101254598B1 (ko) 2012-08-23 2012-08-23 Smⅴ를 이용한 plc 제어 프로그램의 인터록 기능 검증방법

Publications (1)

Publication Number Publication Date
KR101254598B1 true KR101254598B1 (ko) 2013-04-15

Family

ID=48443128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120092484A KR101254598B1 (ko) 2012-08-23 2012-08-23 Smⅴ를 이용한 plc 제어 프로그램의 인터록 기능 검증방법

Country Status (3)

Country Link
US (1) US20150268655A1 (ko)
KR (1) KR101254598B1 (ko)
WO (1) WO2014030854A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107835964B (zh) * 2015-06-24 2020-09-11 西门子公司 控制情境化以及关于控制的推理

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100054947A (ko) * 2008-11-17 2010-05-26 주식회사 유디엠텍 피엘씨 코드 테스트 장치 모델링 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040041906A (ko) * 2002-11-12 2004-05-20 우광일 공장자동화설비를 위한 안전관리 시스템 및 방법
US20110264250A1 (en) * 2008-12-15 2011-10-27 Tokyo Electron Limited Substrate processing system, substrate processing method and storage medium storing program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100054947A (ko) * 2008-11-17 2010-05-26 주식회사 유디엠텍 피엘씨 코드 테스트 장치 모델링 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
지은경 외 2명, ‘함수 블록 다이어그램으로 구현된 PLC 프로그램에 대한 정형 검증 기법’, 정보과학회 논문지 : 컴퓨팅의 실제 및 레터, 제15권, 제3호, 2009년 3월.*
지은경 외 2명, '함수 블록 다이어그램으로 구현된 PLC 프로그램에 대한 정형 검증 기법', 정보과학회 논문지 : 컴퓨팅의 실제 및 레터, 제15권, 제3호, 2009년 3월. *

Also Published As

Publication number Publication date
US20150268655A1 (en) 2015-09-24
WO2014030854A1 (ko) 2014-02-27

Similar Documents

Publication Publication Date Title
Moon et al. Automatic verification of sequential control systems using temporal logic
Chandra et al. Automated control synthesis for an assembly line using discrete event system control theory
Park et al. A modeling and analysis methodology for modular logic controllers of machining systems using Petri net formalism
Alvarez et al. A novel approach for supporting the development cycle of automation systems
US20180373218A1 (en) Device and method for common type conversion of plc control program
Lochau et al. Applying model-based software product line testing approaches to the automation engineering domain
US20130053996A1 (en) Method of programming recipe through gui and media recording the same
KR101254598B1 (ko) Smⅴ를 이용한 plc 제어 프로그램의 인터록 기능 검증방법
Cheng et al. G4LTL-ST: Automatic generation of PLC programs
CN106339553B (zh) 一种空间飞行器的重构飞行控制方法及系统
Ovsiannikova et al. Towards user-friendly model checking of IEC 61499 systems with counterexample explanation
Schuh et al. Experimental evaluation of an active fault–tolerant control method
Buzhinsky et al. Formal modeling of testing software for cyber-physical automation systems
CN112204485A (zh) 用于解决多部件系统的自动故障树分析中的闭环的计算机实现的方法和设备
JP5740882B2 (ja) レイアウトデータのエラー判定方法、レイアウトデータのエラー判定装置、レイアウトデータ作成装置およびレイアウトデータのエラー判定プログラム
Ma et al. Design-to-test approach for programmable controllers in safety-critical automation systems
De Smet et al. Safe programming of PLC using formal verification methods
JP6395967B1 (ja) プログラム検証システム、制御装置およびプログラム検証方法
JP7466768B2 (ja) 製造装置設計検証システム
JP2016071767A5 (ko)
Huang et al. Algorithm of transformation from PLC ladder diagram to structured text
US9984194B2 (en) Integrated circuit design
Allen Verification and anomaly detection for event-based control of manufacturing systems
Allen et al. Input Order Robustness: Definition, Verification Procedure, and Examples
KR20100054947A (ko) 피엘씨 코드 테스트 장치 모델링 방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160408

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171010

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190507

Year of fee payment: 7