KR101846140B1 - 프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램 - Google Patents

프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램 Download PDF

Info

Publication number
KR101846140B1
KR101846140B1 KR1020177031427A KR20177031427A KR101846140B1 KR 101846140 B1 KR101846140 B1 KR 101846140B1 KR 1020177031427 A KR1020177031427 A KR 1020177031427A KR 20177031427 A KR20177031427 A KR 20177031427A KR 101846140 B1 KR101846140 B1 KR 101846140B1
Authority
KR
South Korea
Prior art keywords
command
search
condition
control program
unit
Prior art date
Application number
KR1020177031427A
Other languages
English (en)
Other versions
KR20170127569A (ko
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 미쓰비시덴키 가부시키가이샤
Publication of KR20170127569A publication Critical patent/KR20170127569A/ko
Application granted granted Critical
Publication of KR101846140B1 publication Critical patent/KR101846140B1/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0267Fault communication, e.g. human machine interface [HMI]
    • G05B23/0272Presentation of monitored results, e.g. selection of status reports to be displayed; Filtering information to the user
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14112Diagnostic, troubleshooting

Abstract

동작 명령 및 조건 명령을 포함하는 제어 프로그램과, 명령의 명령명, 명령의 타입 및 명령의 처리의 내용을 포함하는 명령 사양 데이터와, 제어 프로그램에 대해서 실행되는 검색의 결과가 축적되는 검색 결과 데이터를 기억하는 기억부와, 타겟 변수를 설정하는 변수 설정부와, 타겟 변수의 값이 변화할 가능성이 있는 동작 명령을 검색하고, 타겟 변수명 및 검색된 동작 명령의 명령명, 명령의 타입 및 처리의 내용을 검색 결과 데이터에 기입하는 동작 검색부와, 동작 명령을 실행하는 조건을 판정하는 조건 명령을 검색하고, 검색된 조건 명령의 인수의 변수명 및 조건 명령의 명령명, 명령의 타입 및 처리의 내용을 검색 결과 데이터에 기입하고, 조건 명령의 인수를 새로운 타겟 변수로 설정하는 조건 검색부와, 동작 검색부 및 조건 검색부에 검색을 재차 실행시키는 검색 판정부와, 검색 결과 데이터의 내용을 일람 표시하는 일람 표시부를 구비한다.

Description

프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램
본 발명은 제어 프로그램을 진단하는 프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램에 관한 것이다.
FA(Factory Automation) 분야에서 기계를 제어하는 제어 시스템에서는, 제어 프로그램은 프로그램 언어로 기술(記述)된다. 프로그램 언어는 래더(Ladder, LD) 언어 또는 스트럭처드 텍스트(Structured Text, ST) 언어(IEC 61131-3, JIS B 3503:2012)가 예시된다.
제어 프로그램은 명령 및 변수를 포함한다. 제어 프로그램 내의 어느 변수의 값이, 상정하고 있는 값과 상이한 경우에, 그 원인을 조사하기 위해서는, 이하의 조작이 수동으로 행해지고 있었다.
제1 조작은 제어 프로그램을 거슬러 올라가, 타겟 변수의 값을 변화시킬 가능성이 있는 지점 및 조건을 조사하는 조작이다.
제2 조작은 제어 프로그램을 시뮬레이션 실행하여, 제1 조작에서 조사한 지점에서 조건이 만족되는 것을 재현하는 조작이다.
제3 조작은 추가로 제어 프로그램을 거슬러 올라가, 제2 조작에서 재현한 조건을 만족하는 지점 및 조건을 조사하는 조작이다.
이후, 제2 조작 및 제3 조작을 반복하여, 근본이 되는 원인을 찾고 있었다.
그러나 수동으로 제어 프로그램을 거슬러 올라가 조사해 가는 것은, 시간 및 노력이 드므로, 변수의 값이 상정하고 있는 값과 상이한 것의 원인의 특정은 곤란했었다.
관련되는 기술로서, 하기의 특허 문헌 1에는, 출력 신호가 이상(異常) 접점으로 검지되었을 경우, 그 출력 신호로부터 래더 프로그램을 전의 스텝으로 돌아가, 1개 1개의 접점 상태를 확인하면서 결함 접점을 특정하는 커버리지 진단을 행하는, 래더 프로그램 진단 방법이 기재되어 있다(단락 0053).
또, 하기의 특허 문헌 2에는, 출력 명령부의 이상을 검색 키로 하여, 이 값을 조작 가능한 출력 명령부를 포함한 블록을 래더 프로그램 내의 모든 블록 중으로부터 발견하는 제1 과정과, 제1 과정에서 찾아 내진 블록의 조건 명령부의 논리 연산을 행하고, 이 조건 명령부의 논리 연산 결과에 대응하는 이 블록의 출력 명령부의 상태를 판정하여, 이 블록이 상기 이상한 출력 명령부의 상태를 실제로 조작하고 있는지 여부에 대한 정당성 판정을 행하는 제2 과정과, 제2 과정에서 블록이 정당한 경우에, 이 블록의 조건 명령부 중에서 그 출력 명령부의 상태를 조작 가능한 릴레이를 모두 찾는 제3 과정과, 제3 과정에서 찾아 내진 릴레이를 다음 검색 키로 하여 제1, 제2 및 제3 과정을 반복하는 제4 과정과, 제1 과정에서 해당하는 블록이 발견되지 않았을 경우에, 그 취지의 결과를 출력함과 아울러, 제3 과정에서 해당하는 릴레이가 발견되지 않았을 경우에 그 조건 명령부 내의 릴레이를 이상 원인으로 하는 결과를 출력하는 제5 과정을 가지는 래더 시퀀스 방식의 프로그램에 있어서의 이상에 대한 원인 지점 구명 방법이 기재되어 있다(제4 페이지 내지 제5 페이지).
또, 하기의 특허 문헌 3에는, 시퀀스도 취득부가 동작 상태의 시퀀스도를 취득하고, 선택부가 동작 시퀀스도 중 소망하는 심볼을 선택함으로써, 그 심볼에 관련되는 상류(上流)의 접속선을 접속선 검색부가 잇따라 검색하여, 동작 상태의 출력의 유무를 용이하게 얻을 수 있음과 아울러, 동작 상태가 변화하더라도, 그 데이터를 읽어들여 불량 부분의 검색을 차례로 행할 수 있는 시퀀스도 모니터가 기재되어 있다(요약서).
특허 문헌 1: 일본 특개 2001-67122호 공보 특허 문헌 2: 일본 특개평 3-108005호 공보 특허 문헌 3: 일본 특개평 9-305207호 공보
그렇지만, 특허 문헌 1 내지 특허 문헌 3에 기재된 기술에서는, 유저는 문제의 원인이 된 접점을 알 수 있지만, 문제의 원인이 된 접점으로부터 문제가 발생한 접점까지의 사이의 명령을 알 수 없다. 따라서, 유저가 문제의 전체 형상(이미지)을 파악하는 것은, 곤란했다.
본 발명은 상기를 감안하여 이루어진 것으로서, 유저가 문제의 전체 형상을 파악하는 것을 용이하게 할 수 있는 프로그램 진단 장치를 얻는 것을 목적으로 한다.
상술한 과제를 해결하여 목적을 달성하기 위해서, 본 발명의 프로그램 진단 장치는 인수(引數, argument)의 값을 변화시키는 동작 명령 및 동작 명령을 실행하는 조건을 판정하는 조건 명령을 포함하는 제어 프로그램과, 제어 프로그램에서 기술될 수 있는 명령의 명령명, 동작 명령 또는 조건 명령의 타입, 및 명령의 처리의 내용을 포함하는 명령 사양 데이터와, 제어 프로그램에 대해서 실행되는 검색의 결과가 축적되는 검색 결과 데이터를 기억하는 기억부를 구비한다. 본 발명은 타겟 변수를 설정하는 변수 설정부와, 타겟 변수의 값이 변화할 가능성이 있는 동작 명령을 제어 프로그램 중에서 검색하고, 검색된 동작 명령과 명령 사양 데이터를 대조하여, 타겟 변수명, 및 검색된 동작 명령의 명령명, 명령의 타입 및 처리의 내용을 검색 결과 데이터에 기입하는 동작 검색부와, 동작 검색부에서 검색된 동작 명령을 실행하는 조건을 판정하는 조건 명령을 제어 프로그램 중에서 검색하고, 검색된 조건 명령과 명령 사양 데이터를 대조하고, 검색된 조건 명령의 인수의 변수명, 및 검색된 조건 명령의 명령명, 명령의 타입 및 처리의 내용을 검색 결과 데이터에 기입하고, 검색된 조건 명령의 인수를 새로운 타겟 변수로 설정하는 조건 검색부와, 동작 검색부 및 조건 검색부에 검색을 재차 실행시키는 검색 판정부와, 검색 결과 데이터의 내용을 일람 표시하는 일람 표시부를 구비한다.
본 발명에 따른 프로그램 진단 장치는, 유저가 문제의 전체 형상을 파악하는 것을 용이하게 할 수 있다고 하는 효과를 달성한다.
도 1은 실시 형태 1에 따른 제어 시스템의 구성을 나타내는 도면이다.
도 2는 실시 형태 1에 따른 제어 장치의 하드웨어 구성을 나타내는 도면이다.
도 3은 실시 형태 1에 따른 엔지니어링 툴의 하드웨어 구성을 나타내는 도면이다.
도 4는 실시 형태 1에 따른 엔지니어링 툴의 기능 블록을 나타내는 도면이다.
도 5는 실시 형태 1에 따른 엔지니어링 툴의 명령 사양 데이터를 나타내는 도면이다.
도 6은 실시 형태 1에 따른 엔지니어링 툴의 검색 횟수 데이터를 나타내는 도면이다.
도 7은 실시 형태 1에 따른 엔지니어링 툴의 검색 범위 데이터를 나타내는 도면이다.
도 8은 실시 형태 1에 따른 엔지니어링 툴의 검색 결과 데이터를 나타내는 도면이다.
도 9는 실시 형태 1에 따른 엔지니어링 툴의 프로젝트 데이터 작성 화면을 나타내는 도면이다.
도 10은 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
도 11은 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
도 12는 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
도 13은 실시 형태 1에 따른 엔지니어링 툴의 프로그램 진단 화면을 나타내는 도면이다.
도 14는 실시 형태 1에 따른 엔지니어링 툴의 검색 처리를 설명하는 도면이다.
도 15는 실시 형태 1에 따른 엔지니어링 툴의 검색 처리를 설명하는 도면이다.
도 16은 실시 형태 1에 따른 엔지니어링 툴의 검색 처리를 설명하는 도면이다.
도 17은 실시 형태 1에 따른 엔지니어링 툴의 프로그램 진단 화면을 나타내는 도면이다.
도 18은 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
도 19는 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
이하에, 본 발명의 실시 형태에 따른 프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램을 도면에 기초하여 상세하게 설명한다. 또한, 이 실시 형태에 의해 이 발명이 한정되는 것은 아니다.
실시 형태 1.
도 1은 본 발명의 실시 형태 1에 따른 제어 시스템의 구성을 나타내는 도면이다. 제어 시스템(1)은 엔지니어링 툴(2)과, 제어 장치(3)와, 기계(4 및 5)를 포함한다.
엔지니어링 툴(2)은 제어 장치(3)에서 실행되는 제어 프로그램을 포함하는 프로젝트 데이터를 작성하여, 제어 장치(3)에 송신한다. 제어 장치(3)는 프로젝트 데이터에 포함되는 제어 프로그램을 실행함으로써, 기계(4 및 5)를 제어한다. 제어 장치(3)는 프로그래머블 컨트롤러(JIS B 3502:2011, programmable controllers(PLC))가 예시된다.
도 2는 실시 형태 1에 따른 제어 장치의 하드웨어 구성을 나타내는 도면이다. 제어 장치(3)는 메인 기판(3a)과, 서브 기판(3b 및 3c)을 포함한다.
메인 기판(3a)은 CPU(Central Processing Unit)(3a1)와, RAM(Random Access Memory)인 메모리(3a2)와, 통신 인터페이스(3a3)와, 버스 인터페이스(3a4)와, 기억부(3a5)를 포함한다. CPU(3a1), 메모리(3a2), 통신 인터페이스(3a3), 버스 인터페이스(3a4) 및 기억부(3a5)는, 내부 버스(B1)를 통해서 접속되어 있다.
통신 인터페이스(3a3)는 엔지니어링 툴(2)과 통신을 행한다.
버스 인터페이스(3a4)는 내부 버스(B1)와 확장 버스(B2)를 연결하는 버스 브릿지 회로이다. 서브 기판(3b 및 3c)은 확장 버스(B2)를 통해서, 메인 기판(3a)에 접속되어 있다. 서브 기판(3b)은 기계(4)에 접속되어 있다. 서브 기판(3c)은 기계(5)에 접속되어 있다.
기억부(3a5)는 엔지니어링 툴(2)로부터 수신한 프로젝트 데이터(24a)를 기억한다. 기억부(3a5)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)가 예시된다.
프로젝트 데이터(24a)는 인수의 값을 변화시키는 동작 명령 및 동작 명령을 실행하는 조건을 판정하는 조건 명령을 포함하는 제어 프로그램(24a1)과, 제어 프로그램(24a1)의 실행시에 참조되는 제어 파라미터(24a2)와, 메모리(3a2) 내의 작업 영역을 규정하는 디바이스 메모리(24a3)와, 서브 기판(3b)과 기계(4)의 접속 관계 및 서브 기판(3c)과 기계(5)의 접속 관계를 규정하는 접속 정보(24a4)를 포함한다.
제어 프로그램(24a1)은 MAIN(메인) 프로그램(24a1a)과, SUB(서브) 프로그램(24a1b)을 포함한다. 실시 형태 1에서는, 제어 프로그램(24a1)은 래더 언어로 기술되어 있는 것으로 하지만, 이것으로 한정되지 않는다. 제어 프로그램(24a1)이 기술되는 다른 언어는, 스트럭처드 텍스트 언어가 예시된다.
메모리(3a2) 내에는, 디바이스 메모리(24a3)로 규정되는 복수의 디바이스가 확보된다. 실시 형태 1에서는, 메모리(3a2) 내의 복수의 디바이스의 각각은, 제어 프로그램(24a1)의 변수에 대응한다.
도 3은 실시 형태 1에 따른 엔지니어링 툴의 하드웨어 구성을 나타내는 도면이다. 실시 형태 1에 따른 엔지니어링 툴(2)은 컴퓨터를 이용하여 실현 가능하다. 컴퓨터는 CPU(21)와, RAM(22)과, ROM(Read Only Memory)(23)과, 기억부(24)와, 입력부(25)와, 표시부(26)와, 통신 인터페이스(27)를 포함한다. CPU(21), RAM(22), ROM(23), 기억부(24), 입력부(25), 표시부(26) 및 통신 인터페이스(27)는 버스(B)를 통해서 접속되어 있다.
CPU(21)는 RAM(22)을 작업 영역으로서 사용하면서, ROM(23) 및 기억부(24)에 기억되어 있는 프로그램을 실행한다. ROM(23)에 기억되어 있는 프로그램은, BIOS(Basic Input/Output System) 또는 UEFI(Unified Extensible Firmware Interface)가 예시된다. 기억부(24)에 기억되어 있는 프로그램은, 오퍼레이팅 시스템 프로그램 및 엔지니어링 툴 프로그램이 예시된다. 기억부(24)는 SSD 또는 HDD가 예시된다.
입력부(25)는 유저로부터의 조작 입력을 접수한다. 입력부(25)는 키보드 또는 마우스가 예시된다. 표시부(26)는 문자 및 화상을 표시한다. 표시부(26)는 액정 표시 장치가 예시된다. 통신 인터페이스(27)는 제어 장치(3)와 통신을 행한다.
도 4는 실시 형태 1에 따른 엔지니어링 툴의 기능 블록을 나타내는 도면이다. 기억부(24)는 프로젝트 데이터(24a)를 기억한다.
프로젝트 데이터(24a)는 인수의 값을 변화시키는 동작 명령 및 동작 명령을 실행하는 조건을 판정하는 조건 명령을 포함하는 제어 프로그램(24a1)과, 제어 프로그램(24a1)의 실행시에 참조되는 제어 파라미터(24a2)와, 제어 장치(3)의 메모리(3a2) 내의 작업 영역을 규정하는 디바이스 메모리(24a3)와, 제어 장치(3)의 서브 기판(3b)과 기계(4)의 접속 관계 및 제어 장치(3)의 서브 기판(3c)과 기계(5)의 접속 관계를 규정하는 접속 정보(24a4)를 포함한다.
기억부(24)는 제어 프로그램(24a1)에서 기술될 수 있는 모든 명령의 명령명, 동작 명령 또는 조건 명령의 타입 및 명령의 처리의 내용을 포함하는 명령 사양 데이터(24b)를 기억한다.
실시 형태 1에서는, 제어 프로그램(24a1)은 래더 언어로 기술되어 있다. 따라서, 명령 사양 데이터(24b)는 래더 언어의 모든 명령의 명령명, 동작 명령 또는 조건 명령의 타입 및 명령의 처리의 내용을 포함한다.
도 5는 실시 형태 1에 따른 엔지니어링 툴의 명령 사양 데이터를 나타내는 도면이다. 명령 사양 데이터(24b)는 명령명의 항목(24b1)과, 명령 타입의 항목(24b2)과, 설명문의 항목(24b3)과, 비고의 항목(24b4)을 포함한다.
명령 사양 데이터(24b)의 행(51)은 「LD」(로드) 명령에 관한 정보를 포함한다. 행(51)의 명령명의 항목에는 명령명 「LD」가 기술되어 있다. 행(51)의 명령 타입의 항목에는, LD 명령이 조건 명령이므로, 명령 타입 「조건」이 기술되어 있다.
행(51)의 설명문의 항목에는, 「LD」명령에 대한 동작 설명이 기술되어 있다. 「LD」명령은 제1 인수가 ON(온)되어 있는지 여부를 판정하는 명령이므로, 행(51)의 설명문의 항목에는, 설명문 「#1이 ON되어 있음」이 기술되어 있다.
행(51)의 비고의 항목에는, 「LD」명령의 제1 인수의 데이터형이 기술되어 있다. 「LD」명령의 제1 인수는 비트형이므로, 행(51)의 비고의 항목에는, 비고 「비트 변수」가 기술되어 있다.
명령 사양 데이터(24b)의 행(52)은 「OUT」(아웃) 명령에 관한 정보를 포함한다. 행(52)의 명령명의 항목에는 명령명 「OUT」이 기술되어 있다. 행(52)의 명령 타입의 항목에는, OUT 명령이 동작 명령이므로, 명령 타입 「동작」이 기술되어 있다.
행(52)의 설명문의 항목에는 「OUT」명령에 대한 동작 설명이 기술되어 있다. 「OUT」명령은 제1 인수를 ON(온)시키는 명령이므로, 행(52)의 설명문의 항목에는, 설명문 「#1을 ON시킴」이 기술되어 있다.
행(52)의 비고의 항목에는, 「OUT」명령의 제1 인수의 데이터형(型)이 기술되어 있다. 「OUT」명령의 제1 인수는 비트형이므로, 행(52)의 비고의 항목에는, 비고 「비트 변수」가 기술되어 있다.
명령 사양 데이터(24b)의 행(53)은 「=」(equal) 명령에 관한 정보를 포함한다. 행(53)의 명령명의 항목에는 명령명 「=」이 기술되어 있다. 행(53)의 명령 타입의 항목에는, 「=」명령이 조건 명령이므로, 명령 타입 「조건」이 기술되어 있다.
행(53)의 설명문의 항목에는 「=」명령에 대한 동작 설명이 기술되어 있다. 「=」명령은 제1 인수와 제2 인수가 같은지 여부를 판정하는 명령이므로, 행(53)의 설명문의 항목에는, 설명문 「#1이 #2와 같음」이 기술되어 있다.
행(53)의 비고의 항목에는, 「=」명령의 제1 인수 및 제2 인수의 데이터형이 기술되어 있다. 「=」명령의 제1 인수 및 제2 인수는 워드형이므로, 행(53)의 비고의 항목에는, 비고 「워드 변수」가 기술되어 있다.
명령 사양 데이터(24b)의 행(54)은 「MOV」(무브) 명령에 관한 정보를 포함한다. 행(54)의 명령명의 항목에는, 명령명 「MOV」가 기술되어 있다. 행(54)의 명령 타입의 항목에는, 「MOV」명령이 동작 명령이므로, 명령 타입 「동작」이 기술되어 있다.
행(54)의 설명문의 항목에는, 「MOV」명령에 대한 동작 설명이 기술되어 있다. 「MOV」명령은 제1 인수의 값을 제2 인수에 전송하는 명령이므로, 행(54)의 설명문의 항목에는, 설명문 「#1이 #2에 전송됨」이 기술되어 있다.
행(54)의 비고의 항목에는, 「MOV」명령의 제1 인수 및 제2 인수의 데이터형이 기술되어 있다. 「MOV」명령의 제1 인수 및 제2 인수는 워드형이므로, 행(54)의 비고의 항목에는, 비고 「워드 변수」가 기술되어 있다.
도 5에서는, 4개의 명령에 관한 4개의 행(51, 52, 53 및 54)을 나타낸다. 그러나 실제로는, 명령 사양 데이터(24b)는 래더 언어로 기술되는 모든 명령에 관한 복수의 행을 포함한다.
다시 도 4를 참조하면, 기억부(24)는 제어 프로그램(24a1)에 대해서 실행되는 검색의 종료 조건이 기술된 검색 종료 조건 데이터(24c)를 기억한다. 검색 종료 조건 데이터(24c)는 검색 횟수 데이터(24c1)와, 검색 범위 데이터(24c2)를 포함한다.
도 6은 실시 형태 1에 따른 엔지니어링 툴의 검색 횟수 데이터를 나타내는 도면이다. 검색 횟수 데이터(24c1)에는 「10」이 기술되어 있다. 이것에 의해, 제어 프로그램(24a1)에 대해서 실행되는 검색은, 최대 10회까지에서 종료한다.
도 7은 실시 형태 1에 따른 엔지니어링 툴의 검색 범위 데이터를 나타내는 도면이다. 검색 범위 데이터(24c2)는 범위 선두 스텝 번호의 항목과, 범위 말미 스텝 번호의 항목을 포함한다. 범위 선두 스텝 번호의 항목에는, 「1」이 기술되어 있다. 범위 말미 스텝 번호의 항목에는, 「100」이 기술되어 있다. 이것에 의해, 제어 프로그램(24a1)에 대해서 실행되는 검색은, 스텝 번호 1 내지 스텝 번호 100까지의 범위로 한정되며, 이 범위로부터 벗어나면 종료된다.
다시 도 4를 참조하면, 기억부(24)는 제어 프로그램(24a1)에 대해서 실행되는 검색의 결과가 축적되는 검색 결과 데이터(24d)를 기억한다.
도 8은 실시 형태 1에 따른 엔지니어링 툴의 검색 결과 데이터를 나타내는 도면이다. 검색 결과 데이터(24d)는 변수명의 항목(24d1)과, 명령명의 항목(24d2)과, 명령 타입의 항목(24d3)과, 설명문의 항목(24d4)과, 프로그램명의 항목(24d5)과, 스텝 번호의 항목(24d6)을 포함한다.
검색 결과 데이터(24d)의 행(61, 62, 63 및 64)에 대해서는, 엔지니어링 툴(2)의 동작의 설명 중에서 설명한다.
다시 도 4를 참조하면, 기억부(24)는 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 미리 정해진 타이밍에서의 값이 축적되는 실행 데이터(24e)를 기억한다. 즉, 실행 데이터(24e)는 복수의 상이한 타이밍에서의 모든 변수의 값이 축적된다.
검색 결과 데이터(24d)에 대해서는, 엔지니어링 툴(2)의 동작의 설명 중에서 설명한다.
CPU(21)는 기억부(24)에 기억된 엔지니어링 툴 프로그램을 실행한다. 이것에 의해, 프로젝트 데이터 작성부(21a1) 및 프로그램 진단부(21a2)를 포함하는 엔지니어링 툴부(21a)가 실현된다.
프로젝트 데이터 작성부(21a1)는 프로젝트 데이터(24a)를 작성하여, 제어 장치(3)에 송신한다.
도 9는 실시 형태 1에 따른 엔지니어링 툴의 프로젝트 데이터 작성 화면을 나타내는 도면이다. 프로젝트 데이터 작성부(21a1)는 프로젝트 데이터 작성 화면(30)을 표시부(26)에 표시시킨다.
프로젝트 데이터 작성 화면(30)은 제어 프로그램 작성란(30a)을 가진다. 도 9에서는, 제어 프로그램 작성란(30a) 내에, MAIN 프로그램(24a1a)이 작성되어 있다.
MAIN 프로그램(24a1a)은 행(41, 42, 43, 44, 45 및 46)을 포함한다.
행(41)은 조건 명령(41a)과, 동작 명령(41b)을 포함한다. 조건 명령(41a)은 「LD M0」이다. 이 중의 「M0」는 변수이다. 실시 형태 1에 있어서, 영문자 「M」과 수치의 결합은, 비트형의 변수를 나타낸다.
동작 명령(41b)은 「INC D0」이다. 이 중의 「D0」는 변수이다. 실시 형태 1에 있어서, 영문자 「D」와 수치의 결합은, 워드형의 변수를 나타낸다. 「INC」(인크리먼트(increment)) 명령은, 제1 인수를 1 증가시키는 명령이다. 즉, 동작 명령(41b)은 변수 「D0」를 1 증가시키는 명령이다.
행(42)은 조건 명령(42a)과, 동작 명령(42b)을 포함한다. 조건 명령(42a)은 「LD M100」이다. 이 중의 「M100」은 변수이다.
동작 명령(42b)은 「MOV D0 D10」이다. 이 중의 「D10」은 변수이다. 「MOV」명령은 제1 인수의 값을 제2 인수에 전송하는 명령이다. 즉, 동작 명령(42b)은 변수 「D0」의 값을 변수 「D10」에 전송하는 명령이다.
행(43)은 조건 명령(43a)과, 동작 명령(43b)을 포함한다. 조건 명령(43a)은 「LD M200」이다. 이 중의 「M200」은 변수이다.
동작 명령(43b)은 「OUT Y0」이다. 이 중의 「Y0」는 변수이다. 실시 형태 1에 있어서, 영문자 「Y」와 수치의 결합은, 비트형의 변수를 나타낸다. 즉, 동작 명령(43b)은 변수 「Y0」를 ON으로 하는 명령이다.
행(44)은 조건 명령(44a)과, 동작 명령(44b)을 포함한다. 조건 명령(44a)은 「=D10 K10000」이다. 이 중의 「K10000」은 상수 「10000」이다. 즉, 조건 명령(44a)은 변수 「D10」의 값과 상수 「10000」이 같은지 여부를 판정하는 명령이다.
동작 명령(44b)은 「MOV K15 D20」이다. 이 중의 「K15」는 상수 「15」이고, 「D20」은 변수이다. 즉, 동작 명령(44b)은 상수 「15」를 변수 「D20」에 전송하는 명령이다.
행(45)은 조건 명령(45a)과, 동작 명령(45b)을 포함한다. 조건 명령(45a)은 「LD M10」과, 「LD M11」과, 「LD M12」의 OR(논리합)이다. 이 중의 「M10」, 「M11」 및 「M12」는 변수이다. 즉, 조건 명령(45a)은 변수 「M10」의 값과, 변수 「M11」의 값과, 변수 「M12」의 값의 논리합을 판정하는 명령이다.
동작 명령(45b)은 「MOV D20 D30」이다. 이 중의 「D30」은 변수이다. 즉, 동작 명령(45b)은 변수 「D20」의 값을 변수 「D30」에 전송하는 명령이다.
행(46)은 종료 명령이다.
다시 도 4를 참조하면, 프로그램 진단부(21a2)는 타겟 변수를 설정하는 변수 설정부(21a2a)를 포함한다. 변수 설정부(21a2a)는 유저가 입력부(25)에 입력한 변수를 수취(受取)하여, 타겟 변수로 설정할 수 있다. 또, 변수 설정부(21a2a)는 문제가 발생한 변수를 제어 장치(3)로부터 수취하여, 타겟 변수로 설정할 수 있다.
프로그램 진단부(21a2)는 타겟 변수의 값이 변화할 가능성이 있는 동작 명령을 제어 프로그램(24a1) 중에서 검색하고, 검색된 동작 명령과 명령 사양 데이터(24b)를 대조하여, 타겟 변수명 및 검색된 동작 명령의 명령명, 명령의 타입 및 처리의 내용을 검색 결과 데이터(24d)에 기입하는 동작 검색부(21a2b)를 포함한다.
프로그램 진단부(21a2)는 동작 검색부(21a2b)에서 검색된 동작 명령을 실행하는 조건을 판정하는 조건 명령을 제어 프로그램(24a1) 중에서 검색하고, 검색된 조건 명령과 명령 사양 데이터(24b)를 대조하여, 검색된 조건 명령의 인수의 변수명 및 검색된 조건 명령의 명령명, 명령의 타입 및 처리의 내용을 검색 결과 데이터(24d)에 기입하고, 검색된 조건 명령의 인수를 새로운 타겟 변수로 설정하는 조건 검색부(21a2c)를 포함한다.
프로그램 진단부(21a2)는 동작 검색부(21a2b) 및 조건 검색부(21a2c)에 검색을 재차 실행시키는 검색 판정부(21a2d)를 포함한다.
프로그램 진단부(21a2)는 검색 결과 데이터(24d)의 내용을 일람 표시하는 일람 표시부(21a2e)를 포함한다.
프로그램 진단부(21a2)는 미리 정해진 타이밍에서, 제어 장치(3)의 메모리(3a2)를 스캔함으로써, 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 값을 취득하여, 실행 데이터(24e)에 기입하는 스캔부(21a2f)를 포함한다.
미리 정해진 타이밍은, 이하가 예시된다.
제1 예는 일정한 시간 경과 마다이다. 일정한 시간은, 1초가 예시된다. 이것에 의해, 실행 데이터(24e)에는 일정한 시간 경과 마다의 모든 변수의 값이 축적된다.
제2 예는 제어 장치(3)로부터 문제가 발생했다는 취지의 통지를 수신했을 때이다. 이것에 의해, 실행 데이터(24e)에는 제어 장치(3)에서 문제가 발생했을 때의 모든 변수의 값이 축적된다.
제3 예는 유저가 입력부(25)에 스캔을 실행하는 취지의 지시를 입력했을 때이다. 이것에 의해, 실행 데이터(24e)에는, 유저가 소망하는 타이밍에서의 모든 변수의 값이 축적된다.
도 10은 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
스캔부(21a2f)는 미리 정해진 타이밍에서, 도 10에 나타내는 처리를 실행한다.
스캔부(21a2f)는, 스텝 S10에 있어서, 제어 장치(3)의 메모리(3a2)를 스캔함으로써, 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 값을 취득한다.
스캔부(21a2f)는, 스텝 S12에 있어서, 스텝 S10에서 취득한 모든 변수의 값을 실행 데이터(24e)에 기입하고, 처리를 종료한다.
다시 도 4를 참조하면, 프로그램 진단부(21a2)는 제어 프로그램(24a1)을 시뮬레이션 실행함으로써, 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 값을 산출하여, 실행 데이터(24e)에 기입하는 시뮬레이션부(21a2g)를 포함한다.
이것에 의해, 실행 데이터(24e)에는 제어 장치(3)를 동작시키지 않더라도, 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 값이 축적된다. 따라서, 프로그램 진단부(21a2)는 제어 장치(3)를 동작시키지 않더라도, 제어 프로그램(24a1)의 문제를 진단할 수 있다.
도 11은 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
시뮬레이션부(21a2g)는 유저가 입력부(25)에 시뮬레이션 실행하는 취지의 지시를 입력하면, 도 11에 나타내는 처리를 실행한다.
시뮬레이션부(21a2g)는, 스텝 S20에 있어서, 제어 프로그램(24a1)을 시뮬레이션 실행함으로써, 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 값을 산출한다.
시뮬레이션부(21a2g)는, 스텝 S22에 있어서, 스텝 S20에서 산출한 모든 변수의 값을 실행 데이터(24e)에 기입하고, 처리를 종료한다.
도 12는 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
변수 설정부(21a2a)는, 스텝 S100에 있어서, 타겟 변수를 설정한다.
도 13은 실시 형태 1에 따른 엔지니어링 툴의 프로그램 진단 화면을 나타내는 도면이다. 변수 설정부(21a2a)는 프로그램 진단 화면(70)을 표시부(26)에 표시시킨다.
프로그램 진단 화면(70)은 변수 설정란(71)을 가진다. 도 13에서는 변수 설정란(71) 내에서, 변수 「D20」이 타겟 변수(72)로 설정되어 있다.
변수 설정부(21a2a)는 유저가 입력부(25)에 입력한 변수를 수취하여, 타겟 변수(72)로 설정할 수 있다. 또, 변수 설정부(21a2a)는 문제가 발생한 변수를 제어 장치(3)로부터 수취하여, 타겟 변수(72)로 설정할 수 있다.
다시 도 12를 참조하면, 동작 검색부(21a2b)는, 스텝 S102에 있어서, 타겟 변수(72)가 인수에 기술되어 있는 동작 명령을, 제어 프로그램(24a1) 중에서 검색한다.
동작 검색부(21a2b)는 제어 프로그램(24a1) 중의 명령과 명령 사양 데이터(24b)를 대조하여 당해 명령의 명령 타입을 취득함으로써, 동작 명령을 제어 프로그램(24a1) 중에서 검색할 수 있다.
동작 검색부(21a2b)에 의한 검색 결과는, 복수 지점이어도 된다.
도 14는 실시 형태 1에 따른 엔지니어링 툴의 검색 처리를 설명하는 도면이다.
도 14에 있어서, 각 변수의 하단에 기술되어 있는 값은, 어느 타이밍에서의 각 변수의 값으로, 실행 데이터(24e)에 축적되어 있는 값이다.
프로그램 진단부(21a2)는 제어 장치(3)로부터 문제가 발생했다는 취지의 통지를 수신했을 때 스캔한 모든 변수의 값을 검색에 사용하는 것으로 하면, 제어 장치(3)에서 문제가 발생한 타이밍에서의 모든 변수의 값에 기초하여, 제어 프로그램(24a1)의 진단을 행할 수 있다. 이것에 의해, 프로그램 진단부(21a2)는 제어 장치(3)에서 문제가 발생한 타이밍에서의, 제어 프로그램(24a1)의 문제를 진단할 수 있다.
프로그램 진단부(21a2)는 제어 장치(3)로부터 문제가 발생했다는 취지의 통지를 수신했을 때보다 전(前)에서의 모든 변수의 값을 검색에 사용하는 것으로 하면, 제어 장치(3)에서 문제가 발생했을 때보다 전의 타이밍에서의 모든 변수의 값에 기초하여, 제어 프로그램(24a1)의 진단을 행할 수 있다. 이것에 의해, 프로그램 진단부(21a2)는 제어 장치(3)에서 문제가 발생했을 때보다 전의 타이밍에서의, 제어 프로그램(24a1)의 문제를 진단할 수 있다.
타겟 변수(72)로 설정된 변수 「D20」은, 동작 명령(44b)의 제2 인수(44b1)에 기술되어 있다.
동작 검색부(21a2b)는, 스텝 S102에 있어서, 타겟 변수(72)로 설정된 변수 「D20」이 동작 명령(44b)의 제2 인수(44b1)에 기술되어 있는 것을 찾아낸다. 그리고 동작 검색부(21a2b)는 동작 명령(44b)의 명령명 「MOV」와 명령 사양 데이터(24b)를 대조함으로써, 명령명 「MOV」의 명령 타입 「동작」을 취득한다. 따라서, 동작 검색부(21a2b)는 동작 명령(44b)을 제어 프로그램(24a1) 중에서 검색할 수 있다.
또한, 동작 검색부(21a2b)는 명령명과 명령 사양 데이터(24b)를 대조하는 것을 대신하여, 제어 프로그램(24a1)을 도형적으로 해석함으로써, 동작 명령을 취득하는 것으로 해도 된다.
구체적으로는, 동작 검색부(21a2b)는, 도 9에 나타내는 제어 프로그램(24a1)의 행(41, 42, 43 및 44)과 같이, 1개의 행에 2개의 명령이 기술되어 있는 경우에는, 2개의 명령 중의 우측, 즉 제어 프로그램(24a1)의 하류측의 명령을 동작 명령으로서 취득해도 된다.
또, 동작 검색부(21a2b)는, 도 9에 나타내는 제어 프로그램(24a1)의 행(45)과 같이, 1개의 행에 2개 보다 많은 명령이 기술되어 있는 경우에는, 우선, 복수의 명령이 와이어드 OR 접속되어 있는 점(45a1)을 찾아낸다. 그리고 동작 검색부(21a2b)는 점(45a1)보다 우측, 즉 제어 프로그램(24a1)의 하류측의 명령(45b)을 동작 명령으로서 취득해도 된다.
이것에 의해, 동작 검색부(21a2b)는 명령명과 명령 사양 데이터(24b)를 대조하는 일 없이, 동작 명령을 제어 프로그램(24a1) 중에서 검색할 수 있다.
다시 도 12를 참조하면, 동작 검색부(21a2b)는, 스텝 S104에 있어서, 스텝 S102에서 검색한 동작 명령 중에서, 타겟 변수의 값이 변화할 가능성이 있는 동작 명령을 검색한다.
타겟 변수(72)로 설정된 변수 「D20」은, 동작 명령(44b)의 제2 인수(44b1)에 기술되어 있다. 동작 명령(44b)의 명령명 「MOV」는, 제1 인수의 값을 제2 인수에 전송하는 명령이다.
따라서, 동작 검색부(21a2b)는, 스텝 S104에 있어서, 타겟 변수(72)로 설정된 변수 「D20」의 값이 변화할 가능성이 있는 동작 명령(44b)을 제어 프로그램(24a1) 중에서 검색할 수 있다.
동작 검색부(21a2b)는, 스텝 S106에 있어서, 스텝 S104에서 검색된 동작 명령과 명령 사양 데이터(24b)를 대조하여, 스텝 S104에서의 검색 결과에 기초한 정보를, 검색 결과 데이터(24d)에 기입한다.
다시 도 8을 참조하면, 동작 검색부(21a2b)는, 스텝 S106에 있어서, 행(61)을 작성한다. 그리고 동작 검색부(21a2b)는 변수명 「D20」, 명령명 「MOV」 및 명령 타입 「동작」을, 행(61)의 항목(24d1, 24d2 및 24d3)에 기입한다.
또, 동작 검색부(21a2b)는 스텝 S104에서 검색된 동작 명령(44b)과 명령 사양 데이터(24b)의 설명문의 항목(24b3)을 대조한다. 동작 명령(44b)의 제1 인수는 상수 「K15」이고, 제2 인수는 변수 「D20」이다. 따라서, 동작 검색부(21a2b)는 설명문 「K15가 D20에 전송됨」을 작성하여, 행(61)의 항목(24d4)에 기입한다.
또, 동작 검색부(21a2b)는 동작 명령(44b)이 포함되어 있는 프로그램명 「MAIN」을, 행(61)의 항목(24d5)에 기입한다.
또, 동작 명령(44b)은 MAIN 프로그램(24a1a)의 제11 스텝째이다. 따라서, 동작 검색부(21a2b)는 스텝 번호 「11」을 행(61)의 항목(24d6)에 기입한다.
다시 도 12를 참조하면, 조건 검색부(21a2c)는, 스텝 S108에 있어서, 동작 검색부(21a2b)에 의해서 검색된 동작 명령을 실행하는 조건을 판정하는 조건 명령을, 제어 프로그램(24a1) 중에서 검색한다.
조건 검색부(21a2c)는 제어 프로그램(24a1) 중의 명령과 명령 사양 데이터(24b)를 대조하여 당해 명령의 명령 타입을 취득함으로써, 조건 명령을 제어 프로그램(24a1) 중에서 검색할 수 있다.
조건 검색부(21a2c)에 의한 검색 결과는, 복수 지점이어도 된다.
또한, 조건 검색부(21a2c)는 명령명과 명령 사양 데이터(24b)를 대조하는 것을 대신하여, 제어 프로그램(24a1)을 도형적으로 해석함으로써, 조건 명령을 취득하는 것으로 해도 된다.
구체적으로는, 조건 검색부(21a2c)는, 도 9에 나타내는 제어 프로그램(24a1)의 행(41, 42, 43 및 44)과 같이, 1개의 행에 2개의 명령이 기술되어 있는 경우에는, 2개의 명령 중의 좌측, 즉 제어 프로그램(24a1)의 상류측의 명령을 조건 명령으로서 취득해도 된다.
또, 조건 검색부(21a2c)는, 도 9에 나타내는 제어 프로그램(24a1)의 행(45)과 같이, 1개의 행에 2개보다 많은 명령이 기술되어 있는 경우에는, 우선, 복수의 명령이 와이어드 OR 접속되어 있는 점(45a1)을 찾아낸다. 그리고 조건 검색부(21a2c)는 점(45a1)보다 좌측, 즉 제어 프로그램(24a1)의 상류측의 명령(45a)을 조건 명령으로서 취득해도 된다.
이것에 의해, 조건 검색부(21a2c)는 명령명과 명령 사양 데이터(24b)를 대조하는 일 없이, 조건 명령을 제어 프로그램(24a1) 중에서 검색할 수 있다.
다시 도 14를 참조하면, 동작 명령(44b)의 도면 중 좌측, 즉 MAIN 프로그램(24a1a)의 상류측에는, 조건 명령(44a)이 기술되어 있다.
따라서, 조건 검색부(21a2c)는, 스텝 S108에 있어서, 동작 명령(44b)을 실행하는 조건을 판정하는 조건 명령(44a)을, 제어 프로그램(24a1) 중에서 검색할 수 있다.
다시 도 12를 참조하면, 조건 검색부(21a2c)는, 스텝 S110에 있어서, 스텝 S108에서 검색된 조건 명령과 명령 사양 데이터(24b)를 대조하여, 스텝 S108에서의 검색 결과에 기초한 정보를, 검색 결과 데이터(24d)에 기입한다.
다시 도 8을 참조하면, 조건 검색부(21a2c)는, 스텝 S110에 있어서, 행(62)을 작성한다. 그리고 조건 검색부(21a2c)는, 변수명 「D10」, 명령명 「=」 및 명령 타입 「조건」을, 행(62)의 항목(24d1, 24d2 및 24d3)에 기입한다.
또, 조건 검색부(21a2c)는, 스텝 S108에서 검색된 조건 명령(44a)과 명령 사양 데이터(24b)의 설명문의 항목(24b3)을 대조한다. 조건 명령(44a)의 제1 인수는 변수 「D10」이고, 제2 인수는 상수 「K10000」이다. 따라서, 조건 검색부(21a2c)는 설명문 「D10이 K10000와 같음」을 작성하여, 행(62)의 항목(24d4)에 기입한다.
또, 조건 검색부(21a2c)는 조건 명령(44a)이 포함되어 있는 프로그램명 「MAIN」을, 행(62)의 항목(24d5)에 기입한다.
또, 조건 명령(44a)은 MAIN 프로그램(24a1a)의 제8 스텝째이다. 따라서, 조건 검색부(21a2c)는, 스텝 번호 「8」을, 행(62)의 항목(24d6)에 기입한다.
다시 도 12를 참조하면, 조건 검색부(21a2c)는, 스텝 S112에 있어서, 스텝 S110에서 검색된 조건 명령의 인수를, 새로운 타겟 변수(72)로 설정한다.
조건 검색부(21a2c)에 의해서 설정되는 새로운 타겟 변수(72)는, 복수여도 된다. 또, 조건 검색부(21a2c)는, 제어 프로그램(24a1)을 그 이상 거슬러 올가갈 수 없는 경우는, 새로운 타겟 변수(72)를 설정하지 않는다.
도 15는 실시 형태 1에 따른 엔지니어링 툴의 검색 처리를 설명하는 도면이다.
도 15에 나타내는 것처럼, 조건 명령(44a)은 제1 인수(44a1) 「D10」과, 제2 인수 「K10000」을 포함하고 있다. 그러나 제2 인수 「K10000」는 상수이고, 변수는 아니다. 이에, 조건 검색부(21a2c)는, 스텝 S112에 있어서, 제1 인수(44a1) 「D10」을, 새로운 타겟 변수(72)로 설정한다.
다시 도 12를 참조하면, 검색 판정부(21a2d)는, 스텝 S114에 있어서, 검색 종료 조건이 만족되었는지 여부를 판정한다. 검색 종료 조건은, 이하가 예시된다.
제1 예는, 스텝 S112에서 새로운 타겟 변수(72)가 설정되지 않았을 경우이다. 즉, 제어 프로그램(24a1)을 그 이상 거슬러 올가갈 수 없는 경우이다.
제2 예는, 동작 검색부(21a2b) 및 조건 검색부(21a2c)에 의한 스텝 S102부터 스텝 S112까지의 검색의 반복 횟수가, 검색 횟수 데이터(24c1)에 기술된 횟수에 도달했을 경우이다.
이것에 의해, 프로그램 진단부(21a2)는 검색이 종료되지 않는 것을 억제하여 검색이 정지하는 것을 확보할 수 있는, 즉 검색의 정지성을 확보할 수 있다고 하는 효과를 달성한다. 또, 프로그램 진단부(21a2)는, 제어 프로그램(24a1)의 규모가 큰 경우라도, 검색 범위를 한정할 수 있으므로, 제어 프로그램(24a1)의 문제의 원인을 특정하는 공정수를 억제할 수 있는 효과를 달성한다.
제3 예는, 조건 검색부(21a2c)에 의해 스텝 S112에서 설정된 새로운 타겟 변수(72)가, 검색 범위 데이터(24c2)에 기술된 스텝 번호의 범위 외가 되었을 경우이다.
이것에 의해, 프로그램 진단부(21a2)는 검색의 정지성이 확보된다고 하는 효과를 달성한다. 또, 프로그램 진단부(21a2)는 제어 프로그램(24a1)의 규모가 큰 경우라도, 검색 범위를 한정할 수 있으므로, 제어 프로그램(24a1)의 문제의 원인을 특정하는 공정수를 억제할 수 있는 효과를 달성한다.
검색 판정부(21a2d)는 복수의 검색 종료 조건의 OR(논리합)를 판정할 수 있다.
검색 판정부(21a2d)는, 스텝 S114에 있어서, 검색 종료 조건이 만족되어 있지 않다고 판정하면(No), 처리를 스텝 S102로 진행한다.
도 16은 실시 형태 1에 따른 엔지니어링 툴의 검색 처리를 설명하는 도면이다.
도 16에 나타내는 것처럼, 동작 명령(42b)은 제1 인수 「D0」와, 제2 인수(42b1)「D10」을 포함하고 있다.
동작 검색부(21a2b)는, 스텝 S102 및 스텝 S104에 있어서, 타겟 변수(72)로 설정된 변수 「D10」이 동작 명령(42b)의 제2 인수(42b1)에 기술되어 있는 것을 찾아낸다. 그리고 동작 검색부(21a2b)는 동작 명령(42b)의 명령명 「MOV」와 명령 사양 데이터(24b)를 대조함으로써, 명령명 「MOV」의 명령 타입 「동작」을 취득한다. 따라서, 동작 검색부(21a2b)는 동작 명령(42b)을 제어 프로그램(24a1) 중에서 검색할 수 있다.
다시 도 8을 참조하면, 동작 검색부(21a2b)는, 스텝 S106에 있어서, 행(63)을 작성한다. 그리고 동작 검색부(21a2b)는 변수명 「D0」, 명령명 「MOV」 및 명령 타입 「동작」을, 행(63)의 항목(24d1, 24d2 및 24d3)에 기입한다.
또, 동작 검색부(21a2b)는, 스텝 S104에서 검색된 동작 명령(42b)과 명령 사양 데이터(24b)의 설명문의 항목(24b3)을 대조한다. 동작 명령(42b)의 제1 인수는 변수 「D0」이고, 제2 인수는 변수 「D10」이다. 따라서, 동작 검색부(21a2b)는 설명문 「D0가 D10에 전송됨」을 작성하여, 행(63)의 항목(24d4)에 기입한다.
또, 동작 검색부(21a2b)는 동작 명령(42b)이 포함되어 있는 프로그램명 「MAIN」을, 행(63)의 항목(24d5)에 기입한다.
또, 동작 명령(42b)은 MAIN 프로그램(24a1a)의 제4 스텝째이다. 따라서, 동작 검색부(21a2b)는 스텝 번호 「4」를, 행(63)의 항목(24d6)에 기입한다.
동작 명령(42b)의 도면 중 좌측, 즉 MAIN 프로그램(24a1a)의 상류측에는, 조건 명령(42a)이 기술되어 있다.
따라서, 조건 검색부(21a2c)는, 스텝 S108에 있어서, 동작 명령(42b)을 실행하는 조건을 판정하는 조건 명령(42a)을, 제어 프로그램(24a1) 중에서 검색할 수 있다.
조건 검색부(21a2c)는, 스텝 S110에 있어서, 스텝 S108에서 검색된 조건 명령과 명령 사양 데이터(24b)를 대조하여, 스텝 S108에서의 검색 결과에 기초한 정보를, 검색 결과 데이터(24d)에 기입한다.
다시 도 8을 참조하면, 조건 검색부(21a2c)는, 스텝 S110에 있어서, 행(64)을 작성한다. 그리고 조건 검색부(21a2c)는 변수명 「M100」, 명령명 「LD」 및 명령 타입 「조건」을, 행(64)의 항목(24d1, 24d2 및 24d3)에 기입한다.
또, 조건 검색부(21a2c)는, 스텝 S108에서 검색된 조건 명령(42a)과 명령 사양 데이터(24b)의 설명문의 항목(24b3)을 대조한다. 조건 명령(42a)의 제1 인수는, 변수 「M100」이다. 따라서, 조건 검색부(21a2c)는 설명문 「M100이 ON되어 있다」를 작성하여, 행(64)의 항목(24d4)에 기입한다.
또, 조건 검색부(21a2c)는 조건 명령(42a)이 포함되어 있는 프로그램명 「MAIN」을, 행(64)의 항목(24d5)에 기입한다.
또, 조건 명령(42a)은 MAIN 프로그램(24a1a)의 제3 스텝째이다. 따라서, 조건 검색부(21a2c)는 스텝 번호 「3」을, 행(64)의 항목(24d6)에 기입한다.
조건 명령(42a)은 제1 인수 「M100」을 포함하고 있다. 이에, 조건 검색부(21a2c)는, 스텝 S112에 있어서, 제1 인수 「M100」을, 새로운 타겟 변수(72)로 설정한다.
다시 도 12를 참조하면, 검색 판정부(21a2d)는, 스텝 S114에 있어서, 검색 종료 조건이 만족되어 있다고 판정하면(Yes), 처리를 스텝 S116으로 진행한다.
다시 도 16을 참조하면, 타겟 변수(72) 「M100」을 포함하는 동작 명령은 제어 프로그램(24a1) 내에 존재하지 않는다.
따라서, 검색 판정부(21a2d)는, 스텝 S114에서 검색 종료 조건이 만족되어 있다고 판정하고(Yes), 처리를 스텝 S116으로 진행한다.
다시 도 12를 참조하면, 일람 표시부(21a2e)는, 스텝 S116에 있어서, 검색 결과 데이터(24d)의 내용을 표시부(26)에 일람 표시한다.
도 17은 실시 형태 1에 따른 엔지니어링 툴의 프로그램 진단 화면을 나타내는 도면이다. 일람 표시부(21a2e)는, 검색 결과 데이터(24d)의 내용을, 프로그램 진단 화면(70)의 일람 표시란(80) 내에 일람 표시한다.
일람 표시란(80)은 프로그램명의 항목(81)과, 스텝 번호의 항목(82)과, 변수명의 항목(83)과, 명령명의 항목(84)과, 명령 타입의 항목(85)과, 설명문의 항목(86)을 가진다.
일람 표시부(21a2e)는 행(91, 92, 93 및 94) 내에, 검색 결과 데이터(24d)의 행(61, 62, 63 및 64)의 내용을 각각 표시한다.
이와 같이, 프로그램 진단부(21a2)는 행(94) 내에 표시되어 있는, 문제의 원인이 된 명령의 내용 및 행(91) 내에 표시되어 있는, 문제가 발생한 명령의 내용 만이 아니라, 행(93) 및 행(92) 내에 표시되어 있는, 문제의 원인이 된 명령과 문제가 발생한 명령의 사이에 관여하는 명령의 내용도 함께, 일람 표시할 수 있다.
이것에 의해, 프로그램 진단부(21a2)는 유저가 문제의 원인이 된 명령과 문제가 발생한 명령 사이의 전체 형상을 파악하는 것을 용이하게 할 수 있다고 하는 효과를 달성한다.
도 18은 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
일람 표시부(21a2e)는, 스텝 S200에 있어서, 행(91, 92, 93 또는 94)이 선택되면, 선택된 행의 항목(82a) 내의 스텝 번호에 해당하는 명령(44b, 44a, 42b 또는 42a)을 표시한다.
이것에 의해, 프로그램 진단부(21a2)는 유저가 원하는 명령을 즉시 확인할 수 있다고 하는 효과를 달성한다.
또, 일람 표시란(80)은 프로그램명의 필터 조건을 입력하기 위한 필터 조건 입력란(81a)과, 스텝 번호의 필터 조건을 입력하기 위한 필터 조건 입력란(82a)과, 변수명의 필터 조건을 입력하기 위한 필터 조건 입력란(83a)과, 명령명의 필터 조건을 입력하기 위한 필터 조건 입력란(84a)과, 명령 타입의 필터 조건을 입력하기 위한 필터 조건 입력란(85a)과, 설명문의 필터 조건을 입력하기 위한 필터 조건 입력란(86a)을 가진다.
도 19는 실시 형태 1에 따른 엔지니어링 툴의 처리를 나타내는 순서도이다.
일람 표시부(21a2e)는, 스텝 S202에 있어서, 필터 조건 입력란(84a)에 명령명이 입력되면, 검색 결과 데이터(24d)의 행(91, 92, 93 및 94) 중에서 입력된 필터 조건에 합치(合致)하는 행을 일람 표시한다. 예를 들면, 필터 조건 입력란(84a)에 「MOV」가 입력되면, 일람 표시부(21a2e)는 행(91 및 93)만을 표시한다.
이것에 의해, 프로그램 진단부(21a2)는 유저가 문제에 관계되는 명령의 범위를 좁힘으로써 문제의 원인을 특정하는 공정수를 억제할 수 있는 효과를 달성한다.
또, 동작 검색부(21a2b)는 명령명과 명령 사양 데이터(24b)를 대조함으로써, 명령명의 명령 타입 「동작」을 취득할 수 있다.
이것에 의해, 동작 검색부(21a2b)는 동작 명령을 제어 프로그램(24a1) 중에서 검색할 수 있다.
또, 조건 검색부(21a2c)는 명령명과 명령 사양 데이터(24b)를 대조함으로써, 명령명의 명령 타입 「조건」을 취득할 수 있다.
이것에 의해, 조건 검색부(21a2c)는 조건 명령을 제어 프로그램(24a1) 중에서 검색할 수 있다.
또, 기억부(24)는 제어 프로그램(24a1)에 대해서 실행되는 검색의 종료 조건이 기술된 검색 종료 조건 데이터(24c)를 기억한다. 그리고 검색 판정부(21a2d)는 검색이 종료 조건을 만족하고 있다고 판정하면, 동작 검색부(21a2b) 및 조건 검색부(21a2c)에 의한 검색을 종료시킨다.
이것에 의해, 프로그램 진단부(21a2)는 검색의 정지성이 확보된다고 하는 효과를 달성한다. 또, 검색 판정부(21a2d)는 제어 프로그램(24a1)의 규모가 큰 경우라도, 검색 범위를 한정할 수 있다. 따라서, 프로그램 진단부(21a2)는 제어 프로그램(24a1)의 문제의 원인을 특정하는 공정수를 억제할 수 있는 효과를 달성한다.
또, 기억부(24)는 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 미리 정해진 타이밍에서의 값이 축적되는 실행 데이터(24e)를 기억한다.
스캔부(21a2f)는, 미리 정해진 타이밍에서, 제어 장치(3)의 메모리(3a2)를 스캔함으로써, 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 값을 취득하여, 실행 데이터(24e)에 기입한다.
이것에 의해, 프로그램 진단부(21a2)는 제어 장치(3)로부터 문제가 발생했다는 취지의 통지를 수신했을 때 스캔한 모든 변수의 값을 검색에 사용하는 것으로 하면, 제어 장치(3)에서 문제가 발생한 타이밍에서의 모든 변수의 값에 기초하여, 제어 프로그램(24a1)의 진단을 행할 수 있다. 이것에 의해, 프로그램 진단부(21a2)는 제어 장치(3)에서 문제가 발생한 타이밍에서의, 제어 프로그램(24a1)의 문제를 진단할 수 있다.
또, 프로그램 진단부(21a2)는 제어 장치(3)로부터 문제가 발생했다는 취지의 통지를 수신했을 때보다 전에서의 모든 변수의 값을 검색에 사용하는 것으로 하면, 제어 장치(3)에서 문제가 발생했을 때보다 전의 타이밍에서의 모든 변수의 값에 기초하여, 제어 프로그램(24a1)의 진단을 행할 수 있다. 이것에 의해, 프로그램 진단부(21a2)는 제어 장치(3)에서 문제가 발생했을 때보다 전의 타이밍에서의, 제어 프로그램(24a1)의 문제를 진단할 수 있다.
또, 시뮬레이션부(21a2g)는 제어 프로그램(24a1)을 시뮬레이션 실행함으로써, 제어 프로그램(24a1)에서 사용되고 있는 모든 변수의 값을 산출하여, 실행 데이터(24e)에 기입한다.
이것에 의해, 프로그램 진단부(21a2)는 제어 장치(3)를 동작시키지 않더라도, 제어 프로그램(24a1)의 문제를 진단할 수 있다.
이상의 실시 형태에 나타낸 구성은, 본 발명의 내용의 일례를 나타내는 것이고, 다른 공지의 기술과 조합하는 것도 가능하고, 본 발명의 요지를 일탈하지 않는 범위에서, 구성의 일부를 생략, 변경하는 것도 가능하다.
1: 제어 시스템 2: 엔지니어링 툴
3: 제어 장치 4, 5: 기계
21: CPU 21a1: 프로젝트 데이터 작성부
21a2: 프로그램 진단부 21a2a: 변수 설정부
21a2b: 동작 검색부 21a2c: 조건 검색부
21a2d: 검색 판정부 21a2e: 일람 표시부
21a2f: 스캔부 21a2g: 시뮬레이션부
24: 기억부 24a: 프로젝트 데이터
24a1: 제어 프로그램 24b: 명령 사양 데이터
24c: 검색 종료 조건 데이터 24d: 검색 결과 데이터
24e: 실행 데이터

Claims (10)

  1. 인수의 값을 변화시키는 동작 명령 및 상기 동작 명령을 실행하는 조건을 판정하는 조건 명령을 포함하는 제어 프로그램과, 상기 제어 프로그램에서 기술될 수 있는 명령의 명령명, 상기 동작 명령 또는 상기 조건 명령의 타입 및 명령의 처리의 내용을 포함하는 명령 사양 데이터와, 상기 제어 프로그램에 대해서 실행되는 검색의 결과가 축적되는 검색 결과 데이터를 기억하는 기억부와,
    타겟 변수를 설정하는 변수 설정부와,
    상기 타겟 변수의 값이 변화할 가능성이 있는 상기 동작 명령을 상기 제어 프로그램 중에서 검색하고, 검색된 상기 동작 명령과 상기 명령 사양 데이터를 대조하여, 상기 타겟 변수명 및 검색된 상기 동작 명령의 명령명, 명령의 타입 및 처리의 내용을 상기 검색 결과 데이터에 기입하는 동작 검색부와,
    상기 동작 검색부에서 검색된 상기 동작 명령을 실행하는 조건을 판정하는 상기 조건 명령을 상기 제어 프로그램 중에서 검색하고, 검색된 상기 조건 명령과 상기 명령 사양 데이터를 대조하여, 검색된 상기 조건 명령의 인수의 변수명 및 검색된 상기 조건 명령의 명령명, 명령의 타입 및 처리의 내용을 상기 검색 결과 데이터에 기입하고, 검색된 상기 조건 명령의 인수를 새로운 타겟 변수로 설정하는 조건 검색부와,
    상기 동작 검색부 및 상기 조건 검색부에 검색을 재차 실행시키는 검색 판정부와,
    상기 검색 결과 데이터의 내용을 일람 표시하는 일람 표시부를 구비하는 것을 특징으로 하는 프로그램 진단 장치.
  2. 청구항 1에 있어서,
    상기 동작 검색부는, 상기 제어 프로그램 중의 명령과 상기 명령 사양 데이터를 대조하여 당해 명령의 명령 타입을 취득함으로써, 상기 동작 명령을 상기 제어 프로그램 중에서 검색하는 것을 특징으로 하는 프로그램 진단 장치.
  3. 청구항 1에 있어서,
    상기 조건 검색부는, 상기 제어 프로그램 중의 명령과 상기 명령 사양 데이터를 대조하여 당해 명령의 명령 타입을 취득함으로써, 상기 조건 명령을 상기 제어 프로그램 중에서 검색하는 것을 특징으로 하는 프로그램 진단 장치.
  4. 청구항 1에 있어서,
    상기 기억부는 상기 제어 프로그램에 대해서 실행되는 검색의 종료 조건이 기술된 검색 종료 조건 데이터를 추가로 기억하고,
    상기 검색 판정부는, 상기 동작 검색부 및 상기 조건 검색부에 의해서 실행된 검색이 상기 종료 조건을 만족하고 있다고 판정하면, 상기 동작 검색부 및 상기 조건 검색부에 의한 검색을 종료시키고, 상기 동작 검색부 및 상기 조건 검색부에 의해서 실행된 검색이 상기 종료 조건을 만족하고 있지 않다고 판정하면, 상기 동작 검색부 및 상기 조건 검색부에 검색을 재차 실행시키는 것을 특징으로 하는 프로그램 진단 장치.
  5. 청구항 4에 있어서,
    상기 검색 종료 조건 데이터는, 상기 동작 검색부 및 상기 조건 검색부에 의한 검색 횟수의 데이터 또는 상기 제어 프로그램의 검색 범위의 데이터인 것을 특징으로 하는 프로그램 진단 장치.
  6. 청구항 1에 있어서,
    상기 일람 표시부는 변수명, 또는 검색된 조건 명령의 명령명, 명령의 타입 혹은 처리의 내용의 필터 조건이 입력되면, 상기 검색 결과 데이터 중에서 상기 필터 조건에 합치하는 데이터의 내용을 일람 표시하는 것을 특징으로 하는 프로그램 진단 장치.
  7. 청구항 1에 있어서,
    상기 기억부는 상기 제어 프로그램에서 사용되고 있는 모든 변수의 미리 정해진 타이밍에서의 값이 축적되는 실행 데이터를 추가로 기억하고,
    상기 미리 정해진 타이밍에서, 상기 제어 프로그램을 실행하는 제어 장치의 메모리를 스캔함으로써, 상기 제어 프로그램에서 사용되고 있는 모든 변수의 값을 취득하여, 상기 실행 데이터에 기입하는 스캔부를 추가로 구비하는 것을 특징으로 하는 프로그램 진단 장치.
  8. 청구항 7에 있어서,
    상기 제어 프로그램을 시뮬레이션 실행함으로써, 상기 제어 프로그램에서 사용되고 있는 모든 변수의 값을 산출하여, 상기 실행 데이터에 기입하는 시뮬레이션부를 추가로 구비하는 것을 특징으로 하는 프로그램 진단 장치.
  9. 인수의 값을 변화시키는 동작 명령 및 상기 동작 명령을 실행하는 조건을 판정하는 조건 명령을 포함하는 제어 프로그램과, 상기 제어 프로그램에서 기술될 수 있는 명령의 명령명, 상기 동작 명령 또는 상기 조건 명령의 타입 및 명령의 처리의 내용을 포함하는 명령 사양 데이터와, 상기 제어 프로그램에 대해서 실행되는 검색의 결과가 축적되는 검색 결과 데이터를 기억하는 기억부를 구비하는 프로그램 진단 장치에서 실행되는 방법으로서,
    타겟 변수를 설정하는 변수 설정 공정과,
    상기 타겟 변수의 값이 변화할 가능성이 있는 상기 동작 명령을 상기 제어 프로그램 중에서 검색하고, 검색된 상기 동작 명령과 상기 명령 사양 데이터를 대조하여, 상기 타겟 변수명 및 검색된 상기 동작 명령의 명령명, 명령의 타입 및 처리의 내용을 상기 검색 결과 데이터에 기입하는 동작 검색 공정과,
    상기 동작 검색 공정에서 검색된 상기 동작 명령을 실행하는 조건을 판정하는 상기 조건 명령을 상기 제어 프로그램 중에서 검색하고, 검색된 상기 조건 명령과 상기 명령 사양 데이터를 대조하여, 검색된 상기 조건 명령의 인수의 변수명 및 검색된 상기 조건 명령의 명령명, 명령의 타입 및 처리의 내용을 상기 검색 결과 데이터에 기입하고, 검색된 상기 조건 명령의 인수를 새로운 타겟 변수로 설정하는 조건 검색 공정과,
    상기 동작 검색 공정 및 상기 조건 검색 공정에 검색을 재차 실행시키는 검색 판정 공정과,
    상기 검색 결과 데이터의 내용을 일람 표시하는 일람 표시 공정을 구비하는 것을 특징으로 하는 프로그램 진단 방법.
  10. 인수의 값을 변화시키는 동작 명령 및 상기 동작 명령을 실행하는 조건을 판정하는 조건 명령을 포함하는 제어 프로그램과, 상기 제어 프로그램에서 기술될 수 있는 명령의 명령명, 상기 동작 명령 또는 상기 조건 명령의 타입 및 명령의 처리의 내용을 포함하는 명령 사양 데이터와, 상기 제어 프로그램에 대해서 실행되는 검색의 결과가 축적되는 검색 결과 데이터를 기억하는 기억부를 구비하는 프로그램 진단 장치에서 실행되는 기록 매체에 저장된 프로그램으로서,
    타겟 변수를 설정하는 변수 설정 공정과,
    상기 타겟 변수의 값이 변화할 가능성이 있는 상기 동작 명령을 상기 제어 프로그램 중에서 검색하고, 검색된 상기 동작 명령과 상기 명령 사양 데이터를 대조하여, 상기 타겟 변수명 및 검색된 상기 동작 명령의 명령명, 명령의 타입 및 처리의 내용을 상기 검색 결과 데이터에 기입하는 동작 검색 공정과,
    상기 동작 검색 공정에서 검색된 상기 동작 명령을 실행하는 조건을 판정하는 상기 조건 명령을 상기 제어 프로그램 중에서 검색하고, 검색된 상기 조건 명령과 상기 명령 사양 데이터를 대조하여, 검색된 상기 조건 명령의 인수의 변수명 및 검색된 상기 조건 명령의 명령명, 명령의 타입 및 처리의 내용을 상기 검색 결과 데이터에 기입하고, 검색된 상기 조건 명령의 인수를 새로운 타겟 변수로 설정하는 조건 검색 공정과,
    상기 동작 검색 공정 및 상기 조건 검색 공정에 검색을 재차 실행시키는 검색 판정 공정과,
    상기 검색 결과 데이터의 내용을 일람 표시하는 일람 표시 공정을 구비하는 것을 특징으로 하는 기록 매체에 저장된 프로그램 진단 프로그램.
KR1020177031427A 2015-04-16 2015-04-16 프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램 KR101846140B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/061757 WO2016166876A1 (ja) 2015-04-16 2015-04-16 プログラム診断装置、プログラム診断方法及びプログラム診断プログラム

Publications (2)

Publication Number Publication Date
KR20170127569A KR20170127569A (ko) 2017-11-21
KR101846140B1 true KR101846140B1 (ko) 2018-04-05

Family

ID=57126471

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031427A KR101846140B1 (ko) 2015-04-16 2015-04-16 프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램

Country Status (4)

Country Link
JP (1) JP6076565B1 (ko)
KR (1) KR101846140B1 (ko)
CN (1) CN107533322B (ko)
WO (1) WO2016166876A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6351906B1 (ja) * 2017-06-27 2018-07-04 三菱電機株式会社 デバッグ装置
JPWO2020166004A1 (ja) * 2019-02-14 2021-02-18 三菱電機株式会社 制御システム、プログラマブルロジックコントローラ、方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316986A (ja) 2004-03-31 2005-11-10 Omron Corp 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法
JP2011028552A (ja) 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2923997B2 (ja) * 1989-09-21 1999-07-26 ソニー株式会社 ラダーシーケンス方式のプログラムにおける異常の原因箇所究明方法
US7272450B2 (en) * 2004-03-31 2007-09-18 Omron Corporation Development aid device
WO2011080945A1 (ja) * 2009-12-28 2011-07-07 三菱電機株式会社 プログラム作成支援装置
CN104204975B (zh) * 2012-03-26 2016-10-12 三菱电机株式会社 定序程序调试辅助装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005316986A (ja) 2004-03-31 2005-11-10 Omron Corp 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法
JP2011028552A (ja) 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム

Also Published As

Publication number Publication date
WO2016166876A1 (ja) 2016-10-20
CN107533322B (zh) 2019-04-19
JPWO2016166876A1 (ja) 2017-04-27
KR20170127569A (ko) 2017-11-21
CN107533322A (zh) 2018-01-02
JP6076565B1 (ja) 2017-02-08

Similar Documents

Publication Publication Date Title
CN109933019B (zh) 工业控制系统及其支持装置、控制支持方法和存储介质
CN111989702A (zh) 质量检查管理系统
WO2018073868A1 (ja) デバッグ支援装置およびデバッグ支援方法
JP2008134705A (ja) データ処理方法及びデータ分析装置
KR101110241B1 (ko) 프로그램 테스트 장치 및 프로그램
US8074182B2 (en) Work procedure display method and system, production process management method and system, and computer program of the same
KR101846140B1 (ko) 프로그램 진단 장치, 프로그램 진단 방법 및 프로그램 진단 프로그램
JP2009122936A (ja) 異常調査用表示機能を備えたシーケンスプログラムモニタ装置およびプログラマブルコントローラ
JP6989464B2 (ja) ソフトウェア生成方法およびソフトウェア生成システム
JP2018073054A (ja) オブジェクト分析装置、オブジェクト分析方法、及びプログラム
JP2008225683A (ja) 画面操作システムおよびプログラム
JP6433468B2 (ja) プログラム作成支援方法
US9122772B2 (en) Method for analyzing message archives and corresponding computer program
KR101716480B1 (ko) Gui 기반의 테스트케이스 입력 장치
JP7413742B2 (ja) 予測システム、情報処理装置および情報処理プログラム
WO2020230241A1 (ja) テスト装置、テスト方法及びプログラム
JP6840294B1 (ja) プログラマブル表示器、制御システムおよび解析方法
KR102315228B1 (ko) Plc 제어를 위한 데이터 관리장치 및 방법
WO2020189142A1 (ja) 制御システム、制御方法、および制御プログラム
JP2018109843A (ja) 比較プログラム、比較方法、情報端末装置、設定情報比較システム
JPH08179966A (ja) プログラムテスト装置
JP2009134518A (ja) 試験プログラムの検証方法及びその検証システム
JP6003281B2 (ja) 製品に対する品質評価システム及び品質評価方法
KR20050022298A (ko) 검사 장치 및 프로그래밍 툴
JP2023107534A (ja) 支援システム、支援方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right