KR20150127161A - 래더 프로그램 표시 프로그램 및 래더 프로그램 표시 장치 - Google Patents

래더 프로그램 표시 프로그램 및 래더 프로그램 표시 장치 Download PDF

Info

Publication number
KR20150127161A
KR20150127161A KR1020157027535A KR20157027535A KR20150127161A KR 20150127161 A KR20150127161 A KR 20150127161A KR 1020157027535 A KR1020157027535 A KR 1020157027535A KR 20157027535 A KR20157027535 A KR 20157027535A KR 20150127161 A KR20150127161 A KR 20150127161A
Authority
KR
South Korea
Prior art keywords
hierarchical
unit
ladder
display
ladder program
Prior art date
Application number
KR1020157027535A
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 미쓰비시덴키 가부시키가이샤
Publication of KR20150127161A publication Critical patent/KR20150127161A/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

Landscapes

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

Abstract

래더 프로그램 표시 프로그램에 있어서, 래더 프로그램의 계층 단위인 각 회로 블록을 논리식으로 나타냄으로써 래더 프로그램을 논리적인 계층 구조로 나타낸 데이터 구조 표기(4)로 래더 프로그램을 기억해 두는 계층 데이터 유지 스텝과, 데이터 구조 표기(4)에 기초하여, 계층 구조를 계층 단위마다 시각적으로 식별할 수 있는 데이터 구조 표기(4a) 또는 래더도(L5)로, 래더 프로그램을 표시 장치에 표시시키는 표시 처리 스텝을 컴퓨터에 실행시킨다.

Description

래더 프로그램 표시 프로그램 및 래더 프로그램 표시 장치{LADDER PROGRAM DISPLAY PROGRAM AND LADDER PROGRAM DISPLAY DEVICE}
본 발명은 래더 프로그램을 회로 표시하는 래더 프로그램 표시 프로그램 및 래더 프로그램 표시 장치에 관한 것이다.
래더 프로그램은 시퀀서가 행하는 제어 순서를 정한 프로그램으로, 래더도의 형식으로 기술되어 있다. 래더도에서는, 회로도가 사다리 모양으로 그려지고 있고, 양단의 수직인 2개의 모선(플러스 모선과 마이너스 모선)이 동력을 상징적(symbolic)으로 표현하고 있다. 그리고 2개의 모선의 사이를 수평으로 잇는 평행한 선상에 릴레이 회로의 동력의 흐름이 도시된다. 이러한 래더 프로그램을 표시 또는 편집할 때에는, 전용의 래더 프로그램 표시 편집 장치가 사용된다.
종래의 래더 프로그램 표시 편집 장치는, 화면상의 래더 프로그램 표시 영역에, 래더 프로그램을 구성하는 모선과, 격자 모양으로 보조선을 그은 2차원 그리드를 표시하고 있다. 그리고 종래의 래더 프로그램 표시 편집 장치는, 2차원 그리드 위의 셀에, 접점 등의 회로 부품 또는 접속선과 같은 래더 프로그램의 구성요소(회로 요소)를 배치하도록 하여, 래더 프로그램을 표시하고 있다(예를 들면, 특허 문헌 1 참조).
또, 래더 프로그램을 표시할 때에, 종래는 현재 선택 중인 지점을 나타내는 테두리선(커서)을 배경색과 다른 색으로 그림으로써, 선택 지점의 식별을 행하고 있었다(예를 들면, 특허 문헌 2 참조).
그런데, 래더 프로그램은 릴레이 회로를 표현하는 것으로, 직렬·병렬 회로가 계층적으로 중첩 구조(nested structure)(논리적 계층 구조)를 이룬 것이다. 이 때문에, 논리적 계층 구조를 가지는 래더 프로그램을 편집하는 경우, 현재 선택 중인 지점이 전체 중에서 어느 계층에 위치하는 것인지를 파악할 필요가 있다.
또, 일반적으로 래더 프로그램이 대규모로 되면 복잡도가 증가하므로, 래더 프로그램 전체의 가독성(可讀性)이 저하된다. 이 때문에, 의미를 가진 정형적인 부분 프로그램(예를 들면, 개개의 함수나 블록 등)을 생략 표시함으로써, 프로그램 전체의 가독성을 향상시키는 방법이 있다.
특허 문헌 1: 일본국 특개 2005-092807호 공보 특허 문헌 2: 일본국 특개 2011-086118호 공보
그렇지만, 상기 전자 및 후자의 종래 기술에서는, 계층 구조를 파악하는 것은 곤란했다. 그 때문에, 계층 구조를 가지는 래더 프로그램의 작성 효율이 저하된다고 하는 문제나, 계층 범위의 판독 오류가 원인으로, 작성한 래더 프로그램에 결함이 혼입(混入)되는 등의 문제가 발생하고 있었다.
또, 상기 전자 및 후자의 종래 기술에서는, 2차원 그리드상에서 회로 표현하므로, 의미가 있는 회로 단위를 자동적으로 인식할 수 없었다. 이 때문에, 래더 프로그램 작성자가 생략 표시하는 프로그램 단위를 수동으로 지정할 필요가 있어, 매우 번거로웠다.
본 발명은 상기를 감안하여 이루어진 것으로서, 래더 프로그램의 계층 구조를 용이하게 시인할 수 있는 프로그램 표시를 행하는 래더 프로그램 표시 장치 및 래더 프로그램 표시 프로그램을 얻는 것을 목적으로 한다.
상술한 과제를 해결하여 목적을 달성하기 위해서, 본 발명은 래더 프로그램의 계층 단위인 각 회로 블록을 논리식으로 나타냄으로써 상기 래더 프로그램을 논리적인 계층 구조로 나타낸 데이터 구조 표기로 상기 래더 프로그램을 기억해 두는 계층 데이터 유지 스텝과, 상기 데이터 구조 표기에 기초하여, 상기 계층 구조를 계층 단위마다 시각적으로 식별할 수 있는 데이터 구조 표기 또는 래더도로, 상기 래더 프로그램을 표시 장치에 표시시키는 표시 처리 스텝을 컴퓨터에 실행시키는 것을 특징으로 한다.
본 발명에 의하면, 래더 프로그램의 계층 구조를 용이하게 시인할 수 있는 프로그램 표시를 행하는 것이 가능하게 된다고 하는 효과를 달성한다.
도 1은 실시 형태 1에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다.
도 2는 래더 프로그램의 데이터 구조 표기를 설명하기 위한 도면이다.
도 3은 래더도의 표시 방법을 설명하기 위한 도면이다.
도 4는 계층 단위의 색상 구분 표시 처리를 설명하기 위한 도면이다.
도 5는 실시 형태 2에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다.
도 6은 선택 범위의 생략 표시 처리를 설명하기 위한 도면이다.
도 7은 실시 형태 3에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다.
도 8은 래더도를 계층 단위마다 편집하는 처리를 설명하기 위한 도면이다.
도 9는 데이터 구조 표기를 계층 단위마다 편집하는 처리를 설명하기 위한 도면이다.
도 10은 실시 형태 4에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다.
도 11은 계층 단위의 모니터 표시를 설명하기 위한 도면이다.
도 12는 실시 형태 5에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다.
도 13은 래더 프로그램 표시 장치의 하드웨어 구성을 나타내는 도면이다.
이하에, 본 발명의 실시 형태에 따른 래더 프로그램 표시 장치 및 래더 프로그램 표시 프로그램을 도면에 기초하여 상세하게 설명한다. 또한, 이들 실시 형태에 의해 본 발명이 한정되는 것은 아니다.
실시 형태 1.
도 1은 실시 형태 1에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다. 래더 프로그램 표시 장치(1A)는 래더 프로그램을 표시하는 장치로서, 예를 들면, PC(Personal Computer) 등이다. 본 실시 형태의 래더 프로그램 표시 장치(1A)는, 회로의 논리적인 계층 구조를 용이하게 시인(視認)할 수 있도록, 계층 구조를 시각적으로 식별할 수 있는 상태로 래더 프로그램을 표시한다. 래더 프로그램 표시 장치(1A)는, 예를 들면, 계층마다 색상 구분 표시함으로써, 각 계층을 시각적으로 식별 가능한 래더 프로그램을 표시한다. 래더 프로그램 표시 장치(1A)가 표시하는 래더 프로그램은, PLC(Programmable Logic Controller)(시퀀서) 시스템 등에서 이용되는 프로그램이다.
래더 프로그램 표시 장치(1A)는 엔지니어링 툴(10A)과, 프로그램 입력부(11)와, 표시부(30)를 구비하고 있다. 프로그램 입력부(11)는 래더 프로그램 작성 장치 등에서 작성된 래더 프로그램을 입력하여 엔지니어링 툴(10A)에 보낸다. 본 실시 형태에서는, 래더 프로그램 표시 장치(1A)가 래더 프로그램의 데이터 구조 표기를 이용하여 래더도의 표시를 행한다.
데이터 구조 표기는 래더 프로그램 내의 직렬·병렬 회로의 논리적인 계층 구조를, 회로 블록마다 논리적으로 기술한 것이다. 환언하면, 데이터 구조 표기는, 래더 프로그램의 계층 단위인 각 회로 블록을 논리식으로 나타냄으로써 래더 프로그램을 논리적인 계층 구조로 나타낸 것이다. 구체적으로는, 데이터 구조 표기는, 회로를 and, or 및 not만을 이용한 2진 논리의 논리식만으로 표현할 수 있는 데이터이다.
엔지니어링 툴(10A)은 PLC 시스템 등에서 동작시키는 래더 프로그램을 표시하는 툴이다. 엔지니어링 툴(10A)은, 예를 들면 PC상의 S/W(소프트웨어)로서 실현할 수 있다.
엔지니어링 툴(10A)은 계층 데이터 유지부(12)와, 표시 처리부(14A)를 가지고 있다. 계층 데이터 유지부(12)는 계층 구조를 표현한 래더 프로그램(데이터 구조 표기)을 기억하는 메모리 등이다.
표시 처리부(14A)는 계층 데이터 유지부(12) 내의 데이터 구조 표기를 이용하여, 래더 프로그램을 표시부(30)에 래더 표시시킨다. 본 실시 형태의 표시 처리부(14A)는 각 계층을 시각적으로 식별 가능하도록 래더 표시시킨다. 표시 처리부(14A)는 예를 들면, 래더 프로그램을 계층별로 다른 색으로 칠 구분하여 표시시킨다.
다음으로, 래더 프로그램의 구조에 대해 설명한다. 래더 프로그램은 직렬·병렬 회로의 계층 구조로서 표현할 수 있다. 본 실시 형태에서는 래더 프로그램에 있어서의 계층 구조의 단위를 계층 단위라고 부른다. 계층 단위는 의미를 가진 정형적인 부분 프로그램(개개의 함수나 블록 등)이다.
또, 본 실시 형태에서는, 불가분(不可分)의 것으로서 취급되는 기본 소자(1개의 접점, 1개의 코일 등)를 회로 요소라고 부른다. 회로 요소는 최소의 계층 단위이다. 또, 계층 단위는 1 입력 1 출력이다. 예를 들면, 계층 단위 또는 회로 요소가 직렬 접속되어 있는 경우, 직렬 접속되어 있는 일련의 계층 단위 또는 회로 요소가 1개의 계층 구조가 된다.
도 2는 래더 프로그램의 데이터 구조 표기를 설명하기 위한 도면이다. 래더 프로그램은, 도 2에 도시하는 것 같은 래더도(L3) 또는 데이터 구조 표기(4)로서 작성된다. 래더도(L3)와 데이터 구조 표기(4)는, 같은 래더 프로그램을 나타내는 것이므로, 래더도(L3)로부터 데이터 구조 표기(4)를 생성하는 것, 데이터 구조 표기(4)로부터 래더도(L3)로부터를 생성하는 것은, 어느 쪽도 가능하다.
도 2에 있어서의 래더도(L3) 및 데이터 구조 표기(4)의 회로 요소는, X1, X2, X3, X4(접점) 및 Y10(코일)이다. 그리고 X1와 X2는, 직렬 회로를 구성하고 있다. 계층 해석부(13)는 X1와 X2로 이루어지는 직렬 회로를, (X1 and X2)로 나타낸다. 이것은 계층 단위이다. 또, (X1 and X2)와 X3은, 병렬 회로를 구성하고 있다. 계층 해석부(13)는 (X1 and X2)와 X3로 이루어지는 병렬 회로를, ((X1 and X2) or X3)으로 나타낸다. 이것도 계층 단위이다.
이와 같이, 직렬 회로 및 병렬 회로를 표시해 감으로써, 래더도(L3)는 이하와 같은 데이터 구조 표기(A)로 표현할 수 있다.
(((X1 and X2) or X3) and X4 and Y10) … (A)
여기서의 데이터 구조 표기(A)가 도 2의 데이터 구조 표기(4)이다. 본 실시 형태에서는, 계층 데이터 유지부(12)는 데이터 구조 표기(4)를 기억해 둔다. 표시 처리부(14A)는 계층 데이터 유지부(12)로부터 데이터 구조 표기(4)를 판독하여, 데이터 구조 표기(4)에 대응하는 래더도를 표시부(30)에 표시시킨다.
도 3은 래더도의 표시 방법을 설명하기 위한 도면이다. 표시 처리부(14A)는 데이터 구조 표기(4)에 기초하여, 병렬 회로, 직렬 회로, 및 접속선을, 이하의 규칙에 따라서 표시부(30)에 래더 표시시킨다.
(규칙 1) 직렬 회로 블록은 가로 방향(좌우 방향)으로 계층 단위를 배치함으로써 나타낸다.
(규칙 2) 병렬 회로 블록은 세로 방향(상하 방향)으로 계층 단위를 배치함으로써 나타낸다.
(규칙 3) 접속된 계층 단위가 서로 이웃하지 않는 경우는, 접속선을 보충함으로써 접속 관계를 나타낸다.
표시 처리부(14A)는 상기 (규칙 1)~(규칙 3)에 따름으로써, 래더 프로그램을 2차원 그리드상의 래더도로서 표시부(30)에 표시시킨다. 상기 (규칙 1)~(규칙 3)에 따르면, 표시 처리부(14A)는 이하의 데이터 구조 표기(B)를, 도 3과 같이 표시할 수 있다.
(((X1 or X4) and X2 and X3) or (X5 and X6)) … (B)
이때, 표시 처리부(14A)는 데이터 구조 표기(B)의 3개의 괄호()를 내측에서부터 해석해 감으로써, 데이터 구조 표기(B)의 래더 프로그램을 래더도로서 표시부(30)에 표시시킨다. 구체적으로는, 표시 처리부(14A)는 이하의 처리를 행한다.
(처리 1-1) (X1 or X4)의 계층 단위를, 화면의 좌상(左上) 위치에서 상하로 늘어놓음으로써, (X1 or X4)로 이루어지는 병렬 회로 블록(51)을 표시한다.
(처리 1-2) and X2 and X3의 계층 단위를, 병렬 회로 블록(51)의 우측으로 늘어놓음으로써, ((X1 or X4) and X2 and X3)로 이루어지는 직렬 회로 블록(52)을 표시한다.
(처리 1-3) (X5 and X6)의 계층 단위를, 좌우로 늘어놓음으로써, 직렬 회로 블록(53)을 생성한다.
(처리 1-4) ((X1 or X4) and X2 and X3)과(X5 and X6)을 병렬 접속하기 위해서, X6의 우측에 접속선(54)을 보충한다.
본 실시 형태의 표시 처리부(14A)는 각 계층을 표시할 때에, 계층마다 색상 구분을 한다. 환언하면, 표시 처리부(14A)는 각 계층 단위로 색을 칠 구분한다. 여기서, 계층 단위의 색상 구분 표시 처리에 대해 설명한다.
도 4는 계층 단위의 색상 구분 표시 처리를 설명하기 위한 도면이다. 여기에서는, 표시 처리부(14A)가 데이터 구조 표기(4)를, 래더도(L5) 또는 데이터 구조 표기(4a)로서 색상 구분 표시시키는 경우에 대해 설명한다.
우선, 데이터 구조 표기(4)를 래더도(L5)로서 색상 구분 표시하는 경우에 대해 설명한다. 데이터 구조 표기(4)는 회로 단위(직렬 회로 블록(31), 병렬 회로 블록(32), 직렬 회로 블록(33))를 이용하여 구성되어 있다. 표시 처리부(14A)는 도 3에서 설명한 방법에 의해서, 데이터 구조 표기(4)를 래더도(L5)로서 표시시킨다.
이때, 표시 처리부(14A)는 직렬 회로 블록(31)을 래더도(L5)의 직렬 회로 블록(41)으로서 표시부(30)에 표시시킨다. 마찬가지로, 표시 처리부(14A)는 병렬 회로 블록(32)을 래더도(L5)의 병렬 회로 블록(42)으로서 표시시키고, 직렬 회로 블록(33)을 래더도(L5)의 직렬 회로 블록(43)으로서 표시시킨다. 구체적으로는, 표시 처리부(14A)는, 이하의 처리를 행한다.
(처리 2-1) (X1 and X2):직렬 회로의 계층 단위이므로, 화면의 좌상에서 좌우로 늘어놓아 표시한다.
(처리 2-2) or X3:병렬 회로의 계층 단위이므로, X3을 직렬 회로 블록(41)의 아래로 늘어놓아 표시한다.
(처리 2-3) 접속선:X3과 (X1 and X2)와 접속하기 위해서, X3의 우측으로 접속선을 보충한다.
(처리 2-4) and X4 and Y10:직렬 회로의 계층 단위이므로, X4와 Y10을 병렬 회로 블록(42)의 우측으로 늘어놓아 표시한다.
또한, 표시 처리부(14A)는 코일을 우단에 가까이 대는 표시 처리를 자동적으로 행하고 있다.
추가로, 표시 처리부(14A)는 래더도(L5)를 계층 단위마다 색상 구분한다. 표시 처리부(14A)는 예를 들면, 제1 계층인 직렬 회로 블록(41)을 제1 색(황색 등)으로 칠한다. 또, 표시 처리부(14A)는 제2 계층인 병렬 회로 블록(42)(환상(環狀) 영역)을 제2 색(녹색 등)으로 칠한다. 추가로, 표시 처리부(14A)는 제3 계층인 직렬 회로 블록(43)(환상 영역)을 제3 색(수색(水色) 등)으로 칠한다.
다음으로, 데이터 구조 표기(4)를, 데이터 구조 표기(4a)로서 색상 구분 표시하는 경우에 대해 설명한다. 표시 처리부(14A)는, 예를 들면, 제1 계층인 직렬 회로 블록(31)을 제1 색으로 칠하고, 제2 계층인 병렬 회로 블록(32)(환상 영역)을 제2 색으로 칠한다. 추가로, 표시 처리부(14A)는 제3 계층인 직렬 회로 블록(33)(환상 영역)을 제3 색으로 칠한다.
이와 같이, 표시 처리부(14A)는 계층 단위의 칠 구분을 행한다. 이때, 표시 처리부(14A)는 계층 단위와 그 상위의 계층 단위의 사이에 마진(간극)을 마련한 다음에 칠 구분해도 좋다.
구체적으로는, 표시 처리부(14A)는 직렬 회로 블록(41)의 경계선이, 병렬 회로 블록(42) 및 직렬 회로 블록(43)과 겹치지 않도록 하고, 병렬 회로 블록(42)의 경계선이, 직렬 회로 블록(43)과 겹치지 않도록 해 둔다. 환언하면, 표시 처리부(14A)는 직렬 회로 블록(41)(하층측)이, 병렬 회로 블록(42)(상층측)의 내측에 들어가고, 병렬 회로 블록(42)(하층측)이 직렬 회로 블록(43)(상층측)의 내측에 들어가도록 각 회로 블록을 배치한다.
마찬가지로, 표시 처리부(14A)는 직렬 회로 블록(31)의 경계선이, 병렬 회로 블록(32) 및 직렬 회로 블록(33)과 겹치지 않도록 하고, 병렬 회로 블록(32)의 경계선이, 직렬 회로 블록(33)과 겹치지 않도록 해 둔다. 환언하면, 표시 처리부(14A)는 직렬 회로 블록(31)(하층측)이, 병렬 회로 블록(32)(상층측)의 내측에 들어가고, 병렬 회로 블록(32)(하층측)이 직렬 회로 블록(33)(상층측)의 내측에 들어가도록 각 회로 블록을 표시시킨다. 이것에 의해, 계층의 깊이를 시각적으로 알기 쉽게 표시할 수 있다.
또한, 본 실시 형태에서는, 색상 구분되어 있지 않은 상태의 데이터 구조 표기(4)를 계층 데이터 유지부(12)에 기억시켜 두는 경우에 대해 설명했지만, 색상 구분된 상태의 데이터 구조 표기(4a)를 계층 데이터 유지부(12)에 기억시켜 두어도 좋다. 또, 시각적인 식별 표시는 색상 구분 표시로 한정되지 않는다. 예를 들면, 색 농담(濃淡), 배경의 모양, 점멸 표시, 테두리로 둘러싸는 표시, 해쉬 표시 등을 이용하여 식별 표시해도 좋다.
또, 표시 처리부(14A)는 회로의 계층 구조의 깊이(계층 단위가 가지고 있는 계층 구조의 깊이)(몇 층째인지)를 래더 프로그램의 품질 정보로서 표시부(30)에 표시시켜도 좋다. 계층 구조의 깊이는 래더 프로그램 내에 있는 계층 단위의 계층 위치를 나타내는 것이다. 표시 처리부(14A)는 계층 구조의 깊이를 요구하는 계층 단위에 대해, 이 계층 단위보다도 외측의 괄호수 또는 내측의 괄호수에 기초하여 계층 구조의 깊이를 도출한다. 표시 처리부(14A)는 도출한 계층 구조의 깊이를, 모든 계층 단위의 근방에 표시시켜도 좋고, 설정 중인 계층 단위에 대해서만 표시시켜도 좋다.
또, 표시 처리부(14A)는 1개의 계층 단위 내에서 동일한 회로 블록이 복수 있는 경우에, 동일한 회로 블록을 강조 표시시켜도 좋다. 또, 표시 처리부(14A)는 래더 프로그램 내에 있어서 동일한 회로 블록으로 구성된 계층 단위가 있는 경우에는, 이들 계층 단위를 강조 표시시켜도 좋다.
이와 같이, 실시 형태 1에 의하면, 래더 프로그램을 회로의 논리적인 계층 단위로 칠 구분하고 있으므로, 래더도의 각 구성요소가 전체 중에서 어느 계층에 위치하는 것인지를 용이하게 파악하는 것이 가능해진다. 환언하면, 래더 프로그램의 계층 구조(계층 범위나 계층간의 깊이)를 용이하게 시인할 수 있도록 프로그램 표시를 행하는 것이 가능하게 된다.
따라서 본 실시 형태의 프로그램 표시를 래더 프로그램의 작성 작업에 적용하는 경우, 현재 선택 중인 지점이 전체 중에서 어느 계층에 위치하는 것인지를 용이하게 파악할 수 있다. 이 때문에, 프로그램 작성 작업을 효율화할 수 있다. 또, 계층 단위로 조작을 행함으로써, 논리적으로 하나로 정리된 단위로의 일괄 조작을 할 수 있으므로, 프로그램 작성 작업을 추가로 효율화할 수 있다. 또, 계층 범위의 판독 오류에 기인하는 프로그램의 결함이 혼입하는 것 등을 피할 수 있으므로, 작성하는 프로그램의 품질을 향상시킬 수 있다.
실시 형태 2.
다음으로, 도 5 및 도 6을 이용하여 본 발명의 실시 형태 2에 대해 설명한다. 실시 형태 2에서는, 계층 단위를 선택 범위로서 선택할 수 있는 구조를 도입한다. 이것에 의해, 계층 단위마다의 생략 표시를 행한다.
도 5는 실시 형태 2에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다. 도 5의 각 구성요소 중 도 1에 도시하는 실시 형태 1의 래더 프로그램 표시 장치(1A)와 동일 기능을 달성하는 구성요소에 대해서는 동일 번호를 부여하고 있고, 중복하는 설명은 생략한다.
래더 프로그램 표시 장치(1B)는 래더 프로그램 표시 장치(1A)의 기능에 더하여, 지시 입력부(17)와, 범위 선택부(대상 설정부)(16)를 구비하고 있다. 또, 래더 프로그램 표시 장치(1B)는 엔지니어링 툴(10A) 대신에, 엔지니어링 툴(10B)을 구비하고 있다. 그리고 엔지니어링 툴(10B)이, 엔지니어링 툴(10A)의 구성 요소에 더하여, 범위 선택부(16)를 구비하고 있다. 본 실시 형태의 엔지니어링 툴(10B)은, 생략 표시 툴로서의 기능을 가지고 있다. 또, 래더 프로그램 표시 장치(1B)는 표시 처리부(14A) 대신에 표시 처리부(14B)를 구비하고 있다.
지시 입력부(17)는 범위 선택부(16)에 접속되어 있다. 지시 입력부(17)는 유저로부터의 지시를 입력하여, 범위 선택부(16)에 보낸다. 유저로부터의 지시는, 조작 대상(처리 대상)이 되는 계층 단위를 지정하는 지시(이하, 계층 지정 지시라고 함) 또는 생략 표시를 행하는 지시(이하, 생략 표시 지시라고 함)이다.
범위 선택부(16)는 표시 처리부(14B)에 접속되어 있다. 범위 선택부(16)는 조작 대상이 되는 범위를 계층 단위마다 전환하는 기능을 가지고 있다. 범위 선택부(16)는 지시 입력부(17)를 통해서 어느 계층 단위가 지정되면(계층 지정 지시가 입력되면), 지정된 계층 단위를 선택 범위로 설정한다. 범위 선택부(16)는 설정한 선택 범위(계층 단위)를 표시 처리부(14B)에 보낸다. 또, 범위 선택부(16)는 생략 표시 지시가 입력되면, 설정 중인 선택 범위를 생략 표시하는 지시를 표시 처리부(14B)에 보낸다.
본 실시 형태의 표시 처리부(14B)는, 표시 처리부(14A)와 마찬가지의 기능과, 범위 선택부(16)로부터의 지시에 따라서 설정 중인 선택 범위를 생략 표시하는 기능을 가지고 있다. 또한, 표시 처리부(14B)는 범위 선택부(16)로부터 설정 중인 선택 범위에 관한 정보가 보내져 온 경우에, 설정 중인 선택 범위를 식별 가능하도록 표시해도 좋다. 예를 들면, 표시 처리부(14B)는 설정 중인 선택 범위를, 설정 중인 선택 범위인 것을 나타내는 색(다른 부분과는 다른 색) 등으로 변경해도 좋다.
다음으로, 선택 범위의 생략 표시 처리에 대해 설명한다. 도 6은 선택 범위의 생략 표시 처리를 설명하기 위한 도면이다. 도 6에 도시하는 래더도(L5a)는, 도 4에 도시한 래더도(L5)와 같은 래더도이다.
이 래더도(L5a)에 있어서, 유저가 예를 들면 병렬 회로 블록(42)을 지정하면, 병렬 회로 블록(42)을 지정한 계층 지정 지시가 지시 입력부(17)에 입력된다. 예를 들면, 병렬 회로 블록(42)의 어느 위치로서 직렬 회로 블록(41) 이외의 위치를, 유저가 마우스 클릭함으로써, 계층 지정 지시가 지시 입력부(17)에 입력된다. 환언하면, 병렬 회로 블록(42) 내의 영역으로부터 직렬 회로 블록(41)의 영역을 제외한 영역(구형 환상 영역) 중 어느 위치가 지정됨으로써, 병렬 회로 블록(42)을 지정한 계층 지정 지시가 지시 입력부(17)에 입력된다.
또한, 지시 입력부(17)는 예를 들면, 접점 X1의 내측이 지정되었을 경우에는, 접점 X1이 지정된 것으로서 취급한다. 또, 지시 입력부(17)는 직렬 회로 블록(41) 내로서 또한 접점 X1, X2의 외측이 지정되었을 경우에는, 직렬 회로 블록(41)(X1 and X2)이 지정된 것으로서 취급한다.
이 선택 조작은, 키 조작에 의해서 행하는 것도 가능하다. 예를 들어, Shift+↑키로 선택 범위를 상위의 계층 단위로 이동시키고, Shift+↓키로 하위의 계층 단위로 이동시켜도 좋다.
지시 입력부(17)는 지정된 계층 지정 지시를 범위 선택부(16)에 보낸다. 이것에 의해, 범위 선택부(16)는,계층 지정 지시로 지정된 계층 단위를 선택 범위로 설정한다. 범위 선택부(16)는 예를 들면, 병렬 회로 블록(42)이 지정되었을 경우에는, 병렬 회로 블록(42)의 계층 단위를 선택 범위로 설정하고, 직렬 회로 블록(43)이 지정되었을 경우에는, 직렬 회로 블록(43)의 계층 단위를 선택 범위로 설정한다.
그리고 범위 선택부(16)는 설정한 선택 범위를 표시 처리부(14B)에 보낸다. 이것에 의해, 표시 처리부(14B)는 설정되어 있는 선택 범위를, 설정되어 있지 않은 선택 범위와 식별 가능하도록 표시한다. 표시 처리부(14B)는 설정되어 있는 선택 범위에 채색 등을 행한다. 또한, 표시 처리부(14B)는 설정되어 있는 선택 범위를 테두리로 둘러싸도 좋고, 점멸 표시시켜도 좋다.
이 후, 유저가 오른쪽 클릭 등의 조작을 행하면, 이 조작에 대응하는 지시가 지시 입력부(17) 및 범위 선택부(16)를 통해서 표시 처리부(14B)에 보내진다. 이것에 의해, 표시 처리부(14B)는 편집 메뉴를 표시시킨다. 편집 메뉴에는 잘라내기, 복사, 붙여넣기, 생략 표시 등을 설정해 둔다.
유저가 선택 범위의 생략 표시를 지정하면, 이 지정 조작에 대응하는 지시가 지시 입력부(17) 및 범위 선택부(16)를 통해서 표시 처리부(14B)에 보내진다. 이것에 의해, 표시 처리부(14B)는 설정 중인 계층 단위를 표시부(30)에 생략 표시시킨다.
표시 처리부(14B)는, 예를 들면, 회로 단위(회로 블록)를 본래의 구조가 표시되는 영역보다 작은 영역으로 표시함으로써, 표시부(30)에 생략 표시를 행하게 한다. 또, 표시 처리부(14B)는 표시부(30)에 내부 구조를 생략 표시시켜도 좋다. 또, 표시 처리부(14B)는 회로 단위를, 회로 단위의 역할 또는 의미를 나타내는 문자열 등으로 대체 표시함으로써, 표시부(30)에 생략 표시를 행하게 해도 좋다.
도 6에서는, 표시 처리부(14B)가 병렬 회로 블록(42)을, 「병렬 회로 A」의 문자열(44)로 표시부(30)에 대체 표시시켰을 경우의 래더도(L5b)를 나타내고 있다. 이와 같이, 래더도(L5a)가 래더도(L5b)와 같이 생략 표시되어 있다.
또한, 래더도(L5b)의 생략 표시를 데이터 구조 표기(4a)에 반영시켜도 좋다. 도 6에서는, 표시 처리부(14B)가, 회로 단위인 병렬 회로 블록(32)을, 「병렬 회로 A」의 문자열(34)로 표시부(30)에 대체 표시시켰을 경우의 데이터 구조 표기(4b)를 나타내고 있다. 이와 같이, 데이터 구조 표기(4a)가 데이터 구조 표기(4b)와 같이 생략 표시되어 있다.
또, 데이터 구조 표기(4a)를 이용하여 데이터 구조 표기(4b)를 생성해도 좋다. 환언하면, 유저가 데이터 구조 표기(4a)에 생략 표시 지시를 행함으로써, 표시 처리부(14B)가 데이터 구조 표기(4a)로부터 데이터 구조 표기(4b)를 생성해도 좋다. 이 경우, 표시 처리부(14B)는 래더도(L5b)를 생성하는 일 없이, 데이터 구조 표기(4a)로부터 직접 데이터 구조 표기(4b)를 생성한다.
또한, 본 실시 형태에서는, 계층 단위마다 색상 구분 표시하는 경우에 대해 설명했지만, 계층 단위마다 색상 구분 표시하는 일 없이, 계층 단위의 생략 표시를 행해도 좋다. 또, 표시 처리부(14B)는 생략 표시 중인 래더도(L5b) 또는 데이터 구조 표기(4b)를 계층 데이터 유지부(12)에 기억시켜 두어도 좋다.
이와 같이, 실시 형태 2에 의하면, 조작 대상이 되는 범위를 계층 단위마다 전환하므로, 유저는 종래의 조작에 비해 적은 수고로 계층 단위를 지정 또는 생략 표시할 수 있게 된다. 또, 계층 단위를 용이하게 생략 표시할 수 있으므로, 프로그램 전체의 가독성이 향상된다.
실시 형태 3.
다음으로, 도 7 및 도 8을 이용하여 본 발명의 실시 형태 3에 대해 설명한다. 실시 형태 3에서는, 선택된 계층 단위를 일괄하여 삭제, 복사 또는 붙여넣기 등의 편집 처리를 행하는 구조를 도입한다. 이것에 의해, 논리적으로 하나로 정리된 단위(계층 단위)로의 일괄 편집을 행한다.
도 7은 실시 형태 3에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다. 도 7의 각 구성요소 중 도 5에 도시하는 실시 형태 2의 래더 프로그램 표시 장치(1B)와 동일 기능을 달성하는 구성요소에 대해서는 동일 번호를 부여하고 있고, 중복하는 설명은 생략한다.
래더 프로그램 표시 장치(1C)는 래더 프로그램 표시 장치(1B)의 기능에 더하여, 편집 처리부(18)와 출력부(15)를 구비하고 있다. 또, 래더 프로그램 표시 장치(1C)는 엔지니어링 툴(10B) 대신에, 엔지니어링 툴(10C)을 구비하고 있다. 그리고 엔지니어링 툴(10C)이, 엔지니어링 툴(10B)의 구성 요소에 더하여, 편집 처리부(18)를 구비하고 있다. 본 실시 형태의 엔지니어링 툴(10C)은 표시 편집 툴로서의 기능을 가지고 있다.
편집 처리부(18)는 지시 입력부(17), 범위 선택부(16) 및 표시 처리부(14B)에 접속되어 있다. 편집 처리부(18)는 범위 선택부(16)가 설정하고 있는 계층 단위에 대해서 유저로부터 편집 조작이 행해지면, 조작 내용에 따라서 계층 데이터 유지부(12) 내의 데이터 구조 표기(4a)를 변경한다.
출력부(15)는 계층 데이터 유지부(12)에 접속되어 있다. 출력부(15)는 계층 데이터 유지부(12) 내의 데이터 구조 표기를 출력하는 지시가 있었을 경우에, 계층 데이터 유지부(12) 내의 데이터 구조 표기를 외부 장치에 출력한다.
본 실시 형태의 지시 입력부(17)는 유저로부터 편집 지시에 따른 조작이 행해지면, 편집 지시를 편집 처리부(18)에 보낸다. 편집 지시는 예를 들면, 삭제, 복사, 붙여넣기 등이다.
다음으로, 계층 단위마다의 편집 처리에 대해 설명한다. 도 8은 래더도를 계층 단위마다 편집하는 처리를 설명하기 위한 도면이다. 여기에서는, 래더 프로그램 표시 장치(1C)가 래더도(L5a)의 일부(병렬 회로 블록(42))를 이용하여, 래더도(L5c)를 생성하는 경우의 처리에 대해 설명한다.
범위 선택부(16)는 계층 지정 지시로 지정된 계층 단위(병렬 회로 블록(42))를 선택 범위로 설정한다. 그리고 범위 선택부(16)는 설정한 선택 범위를 표시 처리부(14B)에 보낸다. 이것에 의해, 표시 처리부(4B)는 설정되어 있는 선택 범위를, 설정되어 있지 않은 선택 범위와 식별 가능하도록 표시한다.
추가로, 범위 선택부(16)는 설정 중인 계층 단위를 편집 처리부(18)에 보낸다. 이 후, 범위 선택부(16)가 설정하고 있는 계층 단위에 대해서 유저가 지시 입력부(17)로부터 편집 조작(삭제, 복사, 붙여넣기 등)을 입력하면, 편집 처리부(18)는 편집 조작의 내용에 따라서, 설정 중인 계층 단위를 이용한 편집 처리를 행한다. 구체적으로는, 편집 처리부(18)는 계층 단위의 복사 또는 삭제 등을, 표시 중인 래더도에 대해서 행한다. 또한, 편집 조작이 붙여넣기인 경우에는, 편집 조작으로서 붙여넣기 위치가 지정되므로, 편집 처리부(18)는 지정된 붙여넣기 위치에 설정 중인 계층 단위를 붙여넣는다. 도 8에서는, 편집 처리부(18)가 병렬 회로 블록(42)을 복사하여, 래더도(L5c)에 붙여넣었을 경우를 나타내고 있다.
이 후, 래더 프로그램 표시 장치(1C)에서는, 유저로부터의 지시에 따른 편집 처리가 반복된다. 유저로부터 편집 완료의 지시가 지시 입력부(17)에 입력되면, 이 지시는 편집 처리부(18)를 통해서 표시 처리부(14B)에 보내진다. 이것에 의해, 표시 처리부(14B)는 편집 후의 래더 프로그램인 래더도(L5c)를 계층 데이터 유지부(12)에 기억시킨다.
도 9는 데이터 구조 표기를 계층 단위마다 편집하는 처리를 설명하기 위한 도면이다. 여기에서는, 래더 프로그램 표시 장치(1C)가 데이터 구조 표기(4a)의 일부를 이용하여, 데이터 구조 표기(4c)를 생성하는 경우의 처리에 대해 설명한다.
범위 선택부(16)는 계층 지정 지시로 지정된 계층 단위(병렬 회로 블록(32))를 선택 범위로 설정한다. 그리고 범위 선택부(16)는 설정한 선택 범위를 표시 처리부(14B)에 보낸다. 이것에 의해, 표시 처리부(4B)는 설정되어 있는 선택 범위를, 설정되어 있지 않은 선택 범위와 식별 가능하도록 표시한다.
추가로, 범위 선택부(16)는 설정 중인 계층 단위를 편집 처리부(18)에 보낸다. 이 후, 범위 선택부(16)가 설정하고 있는 계층 단위에 대해서 유저가 지시 입력부(17)로부터 편집 조작(삭제, 복사, 붙여넣기 등)을 입력하면, 편집 처리부(18)는 편집 조작의 내용에 따라서, 설정 중인 계층 단위를 이용한 편집 처리를 행한다. 구체적으로는, 편집 처리부(18)는 계층 단위의 복사 또는 삭제 등을, 표시 중인 데이터 구조 표기에 대해서 행한다. 또한, 편집 조작이 붙여넣기인 경우에는, 편집 조작으로서 붙여넣기 위치가 지정되므로, 편집 처리부(18)는, 지정된 붙여넣기 위치에 설정 중인 계층 단위를 붙여넣는다. 도 9에서는, 편집 처리부(18)가 병렬 회로 블록(32)을 복사하여, 데이터 구조 표기(4c)에 붙여넣었을 경우를 나타내고 있다. 또한, 편집 처리부(18)는 편집 조작으로서, 검색 또는 치환 등을 실행해도 좋다.
이 후, 래더 프로그램 표시 장치(1C)에서는, 유저로부터의 지시에 따른 편집 처리가 반복된다. 유저로부터 편집 완료의 지시가 지시 입력부(17)에 입력되면, 이 지시는 편집 처리부(18)를 통해서 표시 처리부(14B)에 보내진다. 이것에 의해, 표시 처리부(14B)는 편집 후의 래더 프로그램인 데이터 구조 표기(4c)를 계층 데이터 유지부(12)에 기억시킨다. 또한, 본 실시 형태에서는, 계층 단위마다 색상 구분 표시하는 경우에 대해 설명했지만, 계층 단위마다 색상 구분 표시하는 일 없이, 계층 단위의 편집 처리를 행해도 좋다.
이와 같이, 실시 형태 3에 의하면, 논리적인 계층 단위를 지정한 선택 범위를 이용하여, 편집의 일괄 조작을 할 수 있으므로, 논리적으로 하나로 정리된 단위로의 편집을 용이하게 행할 수 있다. 따라서 프로그램 작성 작업 및 편집 작업을 효율화할 수 있다.
실시 형태 4.
다음으로, 도 10 및 도 11을 이용하여 본 발명의 실시 형태 4에 대해 설명한다. 실시 형태 4에서는, 선택된 계층 단위(부분 회로)에 포함되는 변수만의 현재값을 CPU 유닛으로부터 취득하는 구조를 도입한다. 이것에 의해, 논리적으로 하나로 정리된 단위로 개별로 실행 상태의 모니터 표시를 행한다.
도 10은 실시 형태 4에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다. 도 10의 각 구성요소 중 도 5에 도시하는 실시 형태 2의 래더 프로그램 표시 장치(1B)와 동일 기능을 달성하는 구성요소에 대해서는 동일 번호를 부여하고 있고, 중복하는 설명은 생략한다.
래더 프로그램 표시 장치(1D)는 래더 프로그램 표시 장치(1B)의 기능에 더하여, 모니터값 취득부(19)를 구비하고 있다. 또, 래더 프로그램 표시 장치(1D)는 엔지니어링 툴(10B) 대신에, 엔지니어링 툴(10D)을 구비하고 있다. 그리고 엔지니어링 툴(10D)이, 엔지니어링 툴(10B)의 구성 요소에 더하여, 모니터값 취득부(19)를 구비하고 있다. 엔지니어링 툴(10D)은 CPU 유닛(20)에 접속되어 있다. 본 실시 형태의 엔지니어링 툴(10D)은 모니터 툴로서의 기능을 가지고 있다.
모니터값 취득부(19)는 표시 처리부(14B), 범위 선택부(16), 지시 입력부(17), CPU 유닛(20)에 접속되어 있다. 모니터값 취득부(19)는 유저로부터 선택 범위를 모니터 표시하는 지시를 수취하면, 범위 선택부(16)로부터 설정 중인 계층 단위를 취득하여, 선택 범위 내의 변수 일람을 작성한다. 또, 모니터값 취득부(19)는, 실행 중인 CPU 유닛(20)으로부터, 변수 일람의 현재값을 취득한다. 환언하면, 모니터값 취득부(19)는 설정 중인 계층 단위에 포함되는 변수만의 모니터값을, CPU 유닛(20)으로부터 취득한다. 추가로, 모니터값 취득부(19)는 표시 처리부(14B)에 대해서, 선택 범위를, 취득한 변수의 현재값에 따른 상태로 표시하도록 지시(모니터 표시 지시)한다.
CPU 유닛(20)은 래더 프로그램을 실행하는 처리 유닛으로, 래더 프로그램에 따라서 동작하는 CPU를 가진 유닛이다. CPU 유닛(20)은 래더 프로그램을 실행하면, 도통 상태(실행 상태)를 모니터값 취득부(19)에 출력한다.
본 실시 형태의 표시 처리부(14B)는 모니터값 취득부(19)로부터의 지시에 따라서, 계층 단위로 도통 상태를 알 수 있도록 래더도를 표시부(30)에 표시시킨다. 구체적으로는, 표시 처리부(14B)는 변수의 현재값에 따라서, 지정된 계층 단위 내의 회로 및 지정된 계층 단위 자체가 도통하고 있는지 여부를 알 수 있도록 래더도를 표시시킨다. 표시 처리부(14B)는 예를 들면, 도통 상태에 있는 회로 요소에 다른 부분과는 다른 색(예를 들면, 청색)을 부여함으로써 회로 요소의 도통 상태를 표현한다. 또, 표시 처리부(14B)는 예를 들면, 도통 상태에 있는 계층 단위에 다른 부분과는 다른 색(예를 들면, 갈색)을 부여함으로써 계층 단위의 도통 상태를 표현한다.
종래 기술의 모니터 표시에서는, 래더 프로그램 전체를 단위로서 모니터 표시하고 있었다. 이 때문에, 도통 상태를 취득·표시하는 변수의 수가 증가함에 따라서, 성능 열화를 일으킨다고 하는 문제가 있었다. 또, 부분 회로만의 상태에 주목하여 모니터하고 싶은 경우, 전체가 모니터 표시 상태가 되어 있으면, 주목하고 싶은 부분 회로를 찾아내기 어려운 등 시인성에 과제가 있었다.
본 실시 형태에서는, 래더 프로그램 표시 장치(1D)가 계층 단위로 도통 상태를 알 수 있도록 래더도를 표시한다. 또, 래더 프로그램 표시 장치(1D)가 도통 상태에 있는 회로 요소 및 계층 단위로 색을 부여하여 표시한다.
도 11은 계층 단위의 모니터 표시를 설명하기 위한 도면이다. 도 11에서는, 병렬 회로 블록(42)의 계층 단위가 유저에 의해서 선택되어, 선택 범위만이 모니터 표시되어 있는 경우의 래더도를 나타내고 있다.
지시 입력부(17)로는, 유저로부터 선택된 범위(계층 단위)만을 모니터 표시하는 지시(선택 범위 모니터 지시)가 입력된다. 지시 입력부(17)는 입력된 선택 범위 모니터 지시를 모니터값 취득부(19)에 보낸다.
모니터값 취득부(19)는 선택 범위 모니터 지시를 수취하면, 범위 선택부(16)로부터 설정 중인 계층 단위를 취득하여, 계층 단위 내(범위 내)의 변수 일람을 작성한다. 범위 선택부(16)가 병렬 회로 블록(42)을 선택 범위로 설정하고 있는 경우, 모니터값 취득부(19)는 변수 일람으로서[X1, X2, X3]을 작성한다.
그리고 모니터값 취득부(19)는 실행 중인 CPU 유닛(20)으로부터, 변수 일람의 현재값을 취득한다. 모니터값 취득부(19)는 예를 들면,[X1=ON, X2=ON, X3=OFF]등의 현재값을 취득한다. 모니터값 취득부(19)는 설정 중인 선택 범위를, 취득한 변수의 현재값에 따른 상태로 표시하도록, 표시 처리부(14B)에 모니터 표시 지시를 보낸다.
표시 처리부(14B)는 모니터 표시 지시를 수취하면, 변수의 현재값에 따라서 어느 회로가 도통 상태에 있는지를 식별 가능하도록 표시부(30)에 회로 표시시킨다. 표시 처리부(14B)는 예를 들면, 도통 상태에 있는 회로 요소(접점 X1, X2)를 색 부여로 표시한다. 또, 표시 처리부(14B)는 도통 상태에 있는 계층 단위를 망점 표시한다.
이와 같이, 실시 형태 4에 의하면, 논리적인 회로의 계층 단위로 모니터 표시 대상을 지정할 수 있으므로, 계층 단위마다 개별로 모니터 표시할 수 있다. 이 때문에, 도통 상태를 취득하는 변수의 수를 제한할 수 있고, 이 결과, 도통 상태의 표시·처리 성능이 향상된다. 또, 주목하고 싶은 계층 단위만을 지정하여 도통 상태를 모니터할 수 있으므로, 모니터의 시인성이 향상된다. 따라서 래더 프로그램의 디버그 작업을 효율화할 수 있다.
실시 형태 5.
다음으로, 도 12 및 도 13을 이용하여 본 발명의 실시 형태 5에 대해 설명한다. 실시 형태 5에서는, 래더 프로그램 표시 장치에 래더도가 입력되었을 경우에, 래더도를 해석하여 데이터 구조 표기로 변환한다.
도 12는 실시 형태 5에 따른 래더 프로그램 표시 장치의 구성을 나타내는 도면이다. 도 12의 각 구성요소 중 도 1에 도시하는 실시 형태 1의 래더 프로그램 표시 장치(1A)와 동일 기능을 달성하는 구성요소에 대해서는 동일 번호를 부여하고 있고, 중복하는 설명은 생략한다.
래더 프로그램 표시 장치(1E)는 래더 프로그램 표시 장치(1A)의 기능에 더하여, 계층 해석부(13)를 구비하고 있다. 또, 래더 프로그램 표시 장치(1D)는 엔지니어링 툴(10A) 대신에, 엔지니어링 툴(10E)을 구비하고 있다. 그리고 엔지니어링 툴(10E)이, 엔지니어링 툴(10A)의 구성 요소에 더하여, 계층 해석부(13)를 구비하고 있다. 본 실시 형태의 엔지니어링 툴(10E)은, 모니터 툴로서의 기능을 가지고 있다.
프로그램 입력부(11)는, 래더 프로그램 작성 장치 등에서 작성된 래더도(L3)를 입력하여 계층 해석부(13)에 보낸다. 계층 해석부(13)는 래더도(L3) 내에 배치되어 있는 직렬·병렬 회로의 계층 구조를 해석한다. 계층 해석부(13)는 해석 결과에 기초하여, 래더 프로그램에 계층 구조를 부여한다. 구체적으로는, 계층 해석부(13)는 래더도(L3)에 기초하여, 데이터 구조 표기(4)를 생성한다. 계층 해석부(13)는 계층 구조에 관한 정보를 포함한 데이터 구조 표기(4)를 계층 데이터 유지부(12)에 기억시킨다.
표시 처리부(14A)는 계층 데이터 유지부(12) 내의 데이터 구조 표기(4)에 기초하여, 각 계층 단위가 시각적으로 식별 가능하도록, 래더도(L5)를 표시한다. 표시 처리부(14A)는 실시 형태 1과 마찬가지의 처리에 의해서 래더도(L5)를 색상 구분 표시한다.
또한, 본 실시 형태에서는, 데이터 구조 표기(4)에 기초하여, 래더도(L5)를 색상 구분 표시하는 경우에 대해 설명했지만, 데이터 구조 표기(4) 및 래더도(L3)에 기초하여, 래더도(L5)를 색상 구분 표시해도 좋다. 이 경우, 계층 데이터 유지부(12)에는, 데이터 구조 표기(4) 및 래더도(L3)를 기억시켜 둔다.
다음으로, 래더 프로그램 표시 장치(1A~1E)의 하드웨어 구성에 대해 설명한다. 도 13은 래더 프로그램 표시 장치의 하드웨어 구성을 나타내는 도면이다. 도 13에 도시하는 래더 프로그램 표시 장치(1X)는, 래더 프로그램 표시 장치(1A~1E) 중 어느 것이다.
래더 프로그램 표시 장치(1X)는 CPU(Central Processing Unit)(91), ROM(Read Only Memory)(92), RAM(Random Access Memory)(93), 표시부(30), 입력부(95)를 가지고 있다. 래더 프로그램 표시 장치(1X)에서는, 이들 CPU(91), ROM(92), RAM(93), 표시부(30), 입력부(95)가 버스 라인(B)을 통해서 접속되어 있다.
CPU(91)는 컴퓨터 프로그램인 계층 표시 프로그램(90)을 이용하여, 래더 프로그램을 계층 단위마다 색상 구분 표시한다. 표시부(30)는 액정 모니터 등의 표시 장치이며, CPU(91)로부터의 지시에 기초하여, 래더도, 데이터 구조 표기 등을 색상 구분 표시한다. 입력부(95)는 마우스나 키보드를 구비하여 구성되고, 유저로부터 외부 입력되는 지시 정보, 래더 프로그램 등을 입력한다. 입력부(95)로 입력된 지시 정보는, CPU(91)로 보내진다.
계층 표시 프로그램(90)은 ROM(92) 내에 격납되어 있고, 버스 라인(B)을 통해서 RAM(93)에 로드된다. CPU(91)는 RAM(93) 내에 로드된 계층 표시 프로그램(90)을 실행시킨다. 구체적으로는, 래더 프로그램 표시 장치(1X)에서는, 사용자에 의한 입력부(95)로부터의 지시 입력에 따라서, CPU(91)가 ROM(92) 내로부터 계층 표시 프로그램(90)을 판독하여 RAM(93) 내의 프로그램 격납 영역에 전개해서 각종 처리를 실행한다. CPU(91)는 이 각종 처리를 할 때 생기는 각종 데이터를 RAM(93) 내에 형성되는 데이터 격납 영역에 일시적으로 기억시켜 둔다.
래더 프로그램 표시 장치(1X)에서 실행되는 계층 표시 프로그램(90)은 계층 데이터 유지부(12), 표시 처리부(14A)(표시 처리부(14B)) 등을 포함하는 모듈 구성으로 되어 있고, 이들이 주 기억 장치상에 로드되어, 이들이 주 기억 장치상에 생성된다.
이와 같이, 실시 형태 5에 의하면, 래더도(L3)로부터 데이터 구조 표기(4)를 생성하므로, 래더 프로그램 표시 장치(1E)에 입력되는 래더 프로그램이 래더도여도, 래더도를 색상 구분 표시하는 것이 가능해진다.
[산업상의 이용 가능성]
이상과 같이, 본 발명에 따른 래더 프로그램 표시 장치 및 래더 프로그램 표시 프로그램은, 래더 프로그램의 회로 표시에 적합하다.
1A~1E, 1X: 래더 프로그램 표시 장치, 4, 4a~4c: 데이터 구조 표기,
10A~10E: 엔지니어링 툴, 11: 프로그램 입력부,
12: 계층 데이터 유지부, 13: 계층 해석부,
14A, 14B: 표시 처리부, 15: 출력부,
16: 범위 선택부, 17: 지시 입력부,
18: 편집 처리부, 19: 모니터값 취득부,
20: CPU 유닛, 30: 표시부,
31, 33, 41, 43, 52, 53: 직렬 회로 블록, 32, 42, 51: 병렬 회로 블록,
90: 계층 표시 프로그램, L3, L5, L5a~L5c: 래더도.

Claims (13)

  1. 래더 프로그램의 계층 단위인 각 회로 블록을 논리식으로 나타냄으로써 상기 래더 프로그램을 논리적인 계층 구조로 나타낸 데이터 구조 표기로 상기 래더 프로그램을 기억해 두는 계층 데이터 유지 스텝과,
    상기 데이터 구조 표기에 기초하여, 상기 계층 구조를 계층 단위마다 시각적으로 식별할 수 있는 데이터 구조 표기 또는 래더도로, 상기 래더 프로그램을 표시 장치에 표시시키는 표시 처리 스텝을 컴퓨터에 실행시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  2. 청구항 1에 있어서,
    상기 표시 처리 스텝에서는, 상기 계층 구조를 계층 단위마다 서로 다른 색으로 칠 구분하여 표시시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  3. 청구항 1 또는 청구항 2에 있어서,
    유저로부터 지정된 계층 단위를 처리 대상으로 설정하는 대상 설정 스텝을 추가로 컴퓨터에 실행시키고,
    상기 표시 처리 스텝에서는, 설정된 계층 단위를 설정되어 있지 않은 계층 단위와 식별할 수 있도록 표시시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  4. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    유저로부터 지정된 계층 단위를 처리 대상으로 설정하는 대상 설정 스텝과,
    상기 처리 대상으로 설정된 계층 단위를 상기 래더 프로그램 내에서 생략 표시시키는 생략 표시 스텝을 추가로 컴퓨터에 실행시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  5. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    유저로부터 지정된 계층 단위를 처리 대상으로 설정하는 대상 설정 스텝과,
    유저로부터의 지시에 따라서, 상기 처리 대상으로 설정된 계층 단위를 이용한 프로그램 편집을 행하는 편집 스텝을 추가로 컴퓨터에 실행시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  6. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    유저로부터 지정된 계층 단위를 처리 대상으로 설정하는 대상 설정 스텝과,
    상기 처리 대상으로 설정된 계층 단위에 포함되는 변수만의 모니터값을, 상기 래더 프로그램을 실행하는 처리 유닛으로부터 취득하는 모니터값 취득 스텝을 추가로 컴퓨터에 실행시키고,
    상기 표시 처리 스텝에서는, 상기 처리 대상으로 설정된 계층 단위의 실행 상태를, 상기 모니터값을 이용하여 모니터 표시시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  7. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    상기 표시 처리 스텝에서는, 상기 계층 단위가 가지고 있는 계층 구조의 깊이를 상기 표시 장치에 표시시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  8. 청구항 1에 있어서,
    상기 표시 처리 스텝에서는, 1개의 계층 단위 내에서 동일한 회로 블록이 복수 있는 경우에, 상기 동일한 회로 블록을 강조 표시시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  9. 청구항 1 내지 청구항 8 중 어느 한 항에 있어서,
    상기 표시 처리 스텝은 상기 데이터 구조 표기에 기초하여, 상기 래더도를 생성하는 래더도 생성 스텝을 가지고 있는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  10. 청구항 1 내지 청구항 9 중 어느 한 항에 있어서,
    래더도를 입력하는 입력 스텝과,
    상기 래더도의 계층 구조를 해석하여 상기 래더도에 대응하는 데이터 구조 표기를 생성하는 계층 해석 스텝을 추가로 컴퓨터에 실행시키고,
    상기 계층 데이터 유지 스텝에서는, 생성된 데이터 구조 표기를 기억해 두는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  11. 래더 프로그램의 계층 단위인 각 회로 블록을 논리식으로 나타냄으로써 상기 래더 프로그램을 논리적인 계층 구조로 나타낸 데이터 구조 표기로 상기 래더 프로그램을 기억해 두는 계층 데이터 유지 스텝과,
    상기 데이터 구조 표기로, 상기 래더 프로그램을 표시 장치에 표시시키는 표시 처리 스텝과,
    유저로부터 지정된 계층 단위를 처리 대상으로 설정하는 대상 설정 스텝과,
    유저로부터의 지시에 따라서, 상기 처리 대상으로 설정된 계층 단위를 이용한 프로그램 편집을 상기 데이터 구조 표기의 래더 프로그램에 대해서 행하는 편집 스텝을 컴퓨터에 실행시키는 것을 특징으로 하는 래더 프로그램 표시 프로그램.
  12. 래더 프로그램의 계층 단위인 각 회로 블록을 논리식으로 나타냄으로써 상기 래더 프로그램을 논리적인 계층 구조로 나타낸 데이터 구조 표기로 상기 래더 프로그램을 기억해 두는 계층 데이터 유지부와,
    상기 데이터 구조 표기에 기초하여, 상기 계층 구조를 계층 단위마다 시각적으로 식별할 수 있는 데이터 구조 표기 또는 래더도로, 상기 래더 프로그램을 표시 장치에 표시시키는 표시 처리부를 구비하는 것을 특징으로 하는 래더 프로그램 표시 장치.
  13. 래더 프로그램의 계층 단위인 각 회로 블록을 논리식으로 나타냄으로써 상기 래더 프로그램을 논리적인 계층 구조로 나타낸 데이터 구조 표기로 상기 래더 프로그램을 기억해 두는 계층 데이터 유지부와,
    상기 데이터 구조 표기로, 상기 래더 프로그램을 표시 장치에 표시시키는 표시 처리부와,
    유저로부터 지정된 계층 단위를 처리 대상으로 설정하는 대상 설정부와,
    유저로부터의 지시에 따라서, 상기 처리 대상으로 설정된 계층 단위를 이용한 프로그램 편집을 상기 데이터 구조 표기의 래더 프로그램에 대해서 행하는 편집 처리부를 구비하는 것을 특징으로 하는 래더 프로그램 표시 장치.
KR1020157027535A 2013-03-07 2013-03-07 래더 프로그램 표시 프로그램 및 래더 프로그램 표시 장치 KR20150127161A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/056328 WO2014136240A1 (ja) 2013-03-07 2013-03-07 ラダープログラム表示プログラムおよびラダープログラム表示装置

Publications (1)

Publication Number Publication Date
KR20150127161A true KR20150127161A (ko) 2015-11-16

Family

ID=51490799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157027535A KR20150127161A (ko) 2013-03-07 2013-03-07 래더 프로그램 표시 프로그램 및 래더 프로그램 표시 장치

Country Status (7)

Country Link
US (1) US20160004242A1 (ko)
JP (1) JP5777838B2 (ko)
KR (1) KR20150127161A (ko)
CN (1) CN105074591A (ko)
DE (1) DE112013006688T5 (ko)
TW (1) TWI489233B (ko)
WO (1) WO2014136240A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6224575B2 (ja) * 2014-12-19 2017-11-01 ファナック株式会社 指定した信号の演算条件によりラダー回路を検索可能なラダープログラム検索装置
CN106233212B (zh) * 2015-01-28 2019-03-08 三菱电机株式会社 智能功能单元以及可编程逻辑控制器系统
JP6325500B2 (ja) * 2015-09-17 2018-05-16 ファナック株式会社 Cncの動作状況をコメント中に追加表示可能なラダー図モニタ装置
US10295981B2 (en) * 2016-02-12 2019-05-21 Mitsubishi Electric Corporation Engineering tool
JP6356726B2 (ja) * 2016-05-19 2018-07-11 ファナック株式会社 ラダープログラム解析装置
DE112016007220T5 (de) * 2016-09-14 2019-06-06 Mitsubishi Electric Corporation Kontaktplanprogrammbearbeitungsunterstützungsvorrichtung und Kontaktplanprogrammbearbeitungsverfahren
JP6457467B2 (ja) * 2016-11-29 2019-01-23 ファナック株式会社 ラダープログラム管理装置
JP2018190133A (ja) * 2017-05-01 2018-11-29 ファナック株式会社 ラダープログラム編集装置
JP6988597B2 (ja) 2018-03-14 2022-01-05 オムロン株式会社 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
CN112997123B (zh) * 2018-10-29 2021-12-03 三菱电机株式会社 可编程逻辑控制器系统以及数据解析方法
US11227567B2 (en) * 2019-01-28 2022-01-18 Mitsubishi Electric Corporation Device state reproduction device, device state reproduction method, and storage medium
WO2020174627A1 (ja) * 2019-02-27 2020-09-03 三菱電機株式会社 設計支援装置、設計支援方法および設計支援プログラム
JP7423895B2 (ja) * 2019-03-12 2024-01-30 オムロン株式会社 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム
TWI738113B (zh) * 2019-11-15 2021-09-01 台達電子工業股份有限公司 圖形程式語言的垂直線連續編輯方法
JP7380376B2 (ja) 2020-03-26 2023-11-15 オムロン株式会社 情報処理装置およびラダープログラムを表示するためのプログラム
US20230065428A1 (en) * 2020-03-26 2023-03-02 Mitsubishi Electric Corporation Programming support program storage medium, programming support device, and programming support method

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5267145A (en) * 1989-06-30 1993-11-30 Icom, Inc. Method and apparatus for program navigation and editing for ladder logic programs by determining which instructions reference a selected data element address
JP2943260B2 (ja) * 1990-07-06 1999-08-30 株式会社明電舎 シーケンサ・ローダの回路入力方式
ES2090194T3 (es) * 1990-09-20 1996-10-16 Hitachi Ltd Metodo de programacion y aparato para controlador programable.
US5504902A (en) * 1993-12-01 1996-04-02 Patriot Sensors And Controls Corporation Multi-language generation of control program for an industrial controller
JPH09330107A (ja) * 1996-06-12 1997-12-22 Meidensha Corp プログラマブルコントローラ用ラダー図作成cadシステムにおけるコメント付与方法
US5963446A (en) * 1996-08-27 1999-10-05 Steeplechase Software, Inc. Extended relay ladder logic for programmable logic controllers
US5818711A (en) * 1996-09-30 1998-10-06 Allen Bradley Company, Llc Method for visually determining the status of program edits in an on-line programming environment
US7603183B1 (en) * 1999-08-31 2009-10-13 Digital Electronics Corporation Editor device and recorded medium on which editor program is recorded
US8116759B2 (en) * 2000-06-12 2012-02-14 I/O Controls Corporation System and method for facilitating diagnosis and maintenance of a mobile conveyance
JP4490577B2 (ja) * 2000-10-02 2010-06-30 株式会社キーエンス Plcシステム構築支援ツール
US7143366B1 (en) * 2001-06-11 2006-11-28 Rockwell Automation Technologies, Inc. Graphical compare utility
JP3839295B2 (ja) * 2001-10-09 2006-11-01 株式会社ジェイテクト 設備モニタ装置
JP2004046421A (ja) * 2002-07-10 2004-02-12 Toshiba Eng Co Ltd シーケンスシュミレータ
JP3963174B2 (ja) * 2003-03-14 2007-08-22 オムロン株式会社 表示・編集装置及び表示方法並びにプログラム
EP1734432B1 (en) * 2004-03-22 2011-09-21 Digital Electronics Corporation Display apparatus, program for causing a computer to function as the display apparatus and storage medium including the program
EP1582948B1 (en) * 2004-03-31 2009-06-24 Omron Corporation Development aid device
CN101669077B (zh) * 2007-04-26 2011-09-14 株式会社东芝 可编程控制器的线图的调试系统、其编程装置及其调试方法
JP5073067B2 (ja) * 2009-02-04 2012-11-14 三菱電機株式会社 ラダープログラム編集装置
CN102449563B (zh) * 2009-05-27 2014-06-18 三菱电机株式会社 定序程序的调试装置、调试方法
WO2011080945A1 (ja) * 2009-12-28 2011-07-07 三菱電機株式会社 プログラム作成支援装置
US8952965B2 (en) * 2010-07-21 2015-02-10 Siemens Aktiengesellschaft Non-linear time scale optimization for mechanical-electrical machine behavior model visualization
JP5425317B2 (ja) * 2011-01-31 2014-02-26 三菱電機株式会社 モーションsfcプログラム部品作成装置
US9098289B2 (en) * 2011-09-15 2015-08-04 Mitsubishi Electric Corporation Ladder program creation device
TWI489232B (zh) * 2012-11-14 2015-06-21 Inst Information Industry 遠端監控系統及方法及其記錄媒體

Also Published As

Publication number Publication date
CN105074591A (zh) 2015-11-18
WO2014136240A1 (ja) 2014-09-12
JPWO2014136240A1 (ja) 2017-02-09
JP5777838B2 (ja) 2015-09-09
DE112013006688T5 (de) 2015-10-29
TW201435528A (zh) 2014-09-16
US20160004242A1 (en) 2016-01-07
TWI489233B (zh) 2015-06-21

Similar Documents

Publication Publication Date Title
KR20150127161A (ko) 래더 프로그램 표시 프로그램 및 래더 프로그램 표시 장치
JP6250901B2 (ja) Cncとロボット制御装置が通信ネットワークを介して接続されたロボットシステム
JP5527521B2 (ja) 階層構造表示装置、階層構造表示方法および階層構造表示制御プログラム
WO2014155717A1 (ja) シーケンスプログラム部品作成プログラムおよびシーケンスプログラム部品作成装置
US20060066610A1 (en) Method, device, and computer program product for displaying 3D grid in designing configuration model
CN107590592B (zh) 作业依赖关系表示方法、作业展示和调度控制方法及装置
TWI746271B (zh) SCADA Web HMI系統
JP2005115859A (ja) 自動設計支援システムおよび自動解析評価方法
JP2012159868A (ja) プログラマブルロジックコントローラのプログラミング装置
CN110457028B (zh) 一种页面可视化编程方法、装置、服务器和存储介质
WO2014010576A1 (ja) 配色支援装置、配色支援方法、およびプログラム
JP4001461B2 (ja) プログラマブルコントローラの周辺装置
JP2009032121A (ja) 色生成支援装置及び色生成支援プログラム
JP2017054467A (ja) 2次元または3次元の物体データを表示操作するシステム、方法及びコンピュータソフトウエアプログラム
Pretorius et al. Multiple views on system traces
JP7477027B1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6796967B2 (ja) 設計支援方法、設計支援プログラムおよび設計支援装置
US11361125B2 (en) Support method, design support apparatus, and a non-transitory recording medium storing a design support program
JP2003223204A (ja) プログラマブルコントローラのプログラミング方法およびその装置並びに記憶媒体
CN115933454A (zh) 用于表示工业过程车间的可缩放图的过程图形生成器
JP2005018457A (ja) 加工工程モデル生成装置及び加工工程モデル生成プログラム
JP2022142493A (ja) シミュレーション装置
JP2021149610A (ja) 情報処理装置、情報処理方法、および物品の製造方法
JP2005284396A (ja) 回路図作成装置および回路図作成方法とそのプログラム、該プログラムを格納した記録媒体
JPH08171646A (ja) 図形作成装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application