KR20010024956A - 프로그램머블 컨트롤러의 주변장치 - Google Patents

프로그램머블 컨트롤러의 주변장치 Download PDF

Info

Publication number
KR20010024956A
KR20010024956A KR1020007010608A KR20007010608A KR20010024956A KR 20010024956 A KR20010024956 A KR 20010024956A KR 1020007010608 A KR1020007010608 A KR 1020007010608A KR 20007010608 A KR20007010608 A KR 20007010608A KR 20010024956 A KR20010024956 A KR 20010024956A
Authority
KR
South Korea
Prior art keywords
area
sequence program
continuous
devices
instruction
Prior art date
Application number
KR1020007010608A
Other languages
English (en)
Other versions
KR100407635B1 (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 KR20010024956A publication Critical patent/KR20010024956A/ko
Application granted granted Critical
Publication of KR100407635B1 publication Critical patent/KR100407635B1/ko

Links

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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • 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/054Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0684Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection
    • 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/11Plc I-O input output
    • G05B2219/1187Test input value with stored limits, permissable range, plausibility
    • 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/13Plc programming
    • G05B2219/13035Name, address duplication detection for program components, symbols
    • 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/13Plc programming
    • G05B2219/13188Checking program data, parity, key
    • 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/13Plc programming
    • G05B2219/13196Check if instruction for special module is valid for that module
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23193Memory stores lifetime, different settings, configurations of controlled device

Abstract

시퀀스 프로그램 마다에 할당되는 디바이스의 범위를 기억하는 기억수단과, 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나, 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고, 연속영역의 디바이스가 상기 기억수단에 기억되어 있는 디바이스의 범위내 인가의 여부를 검사하는 디바이스 범위체크수단을 설치하고 이 디바이스 범위 체크수단이 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고, 연속영역의 디바이스가 상기 기억수단에 기억되어 있는 디바이스의 범위내인지 아닌지를 검사한다.

Description

프로그램머블 컨트롤러의 주변장치{PERIPHERAL DEVICE FOR PROGRAMMABLE CONTROLLER}
도 18은 종래기술에서의 프로그램마블 컨트롤러의 주변장치(이하, PC주변장치라고 할때가 있다)를 표시하고 있다.
PC주변장치(300)은, CPU등에 의한 처리부(301)와, 주기억부(302)와, 보조기억부(303)와, 키입력제어부(304)와 회면제어부(305)와 프린터제어부(306)를 갖고 키입력제어부(304)에는 키보드(307)가 화면제어부(305)에는 CRT등에 의한 표시기( 308)가 프린터 제어부(306)에는 프린터(309)가 각각 접속되어 있다.
주기억부(302)는 시스템 프로그램 에리어(310), 시퀀스 프로그램 에리어(311), 디바이스 범위정보 에리어(312)가 각각 갈라져 있고 시스템 프로그램 에리어(311)에는 시퀀스 프로그램이 디바이스 정보에리어(312)에서는 디바이스범위 정보가 각각 저장된다.
도 19는 PC주변장치의 디바이스 할당테이블을 표시하고 있다.
디바이스할당 테이블은 디바이스 범위정보 에리어(312)에 저장되고 각 디바이스의 범위를 정의하고 있고 각 디바이스의 점수정보(400)와 각 디바이스 마다의 로컬 디바이스 범위정보(401)과 글로벌 디바이스 범위정보(402)를 갖고 있다. 또 로컬 디바이스는 각 시퀀스 프로그램마다에 배당되는 디바이스이고 글로벌 디바이스는 각 시퀀스 프로그램과 공통의 디바이스이다.
프로그램머블 컨트롤러의 주변장치(300)는 키보드(307)로부터 키입력 제어부(304)를 통해서 시퀀스 프로그램을 주기억부(302)의 시퀀스 프로그램 에리어(311)에 저장하는 동시에 디바이스 범위정보를 주기억부(302)의 디바이스범위정보 에리어(312)에 저장한다. 또, 각 에리어에 저장한 시퀀스 프로그램이나 디바이스 범위정보를 화면제어부(305)에 통해서 표시기(308)에, 프린터 제어부(306)을 통해서 프린터(309)에 출력하고 보조기억부(303)에 저장한다.
여기서 시퀀스 프로그램과 디바이스 범위정보가 이미 작성되어 있고 주기억부(302)에 저장되어 있는 것으로 한다.
시퀀스 프로그램에서 사용되고 있는 디바이스의 값에 착오가 있는지를 체크하는 경우, 키보드(307)로부터 키입력 제어부(304)를 통해서 체크지시를 낸다. 이 체크지시에 의해 처리부(301)가 시스템 프로그램중의 체크루틴을 실행한다. 이 체크루틴을 도 20을 참조해서 설명한다.
체크지시에 의해 시퀀스 프로그램으로부터 한명령분의 데이터를 취득하는 처리를 실행한다(스텝 S301).
다음에 명령중에 디바이스가 사용되고 있는가 체크하는 처리를 실행한다(스텝 S302).
디바이스가 포함되어 있으면 디바이스 번호를 취득하는 처리를 실행하고(스텝 S303), 디바이스 번호가 디바이스 점수정보의 점수를 초과하고 있는지 아닌지를 체크하는 처리를 실행한다(스텝 S304). 이 체크에서, 디바이스의 번호가 디바이스 점수정보의 점수를 초과하고 있을때는 범위를 초과하고 있는 것을 알리는 에러표시처리를 실행한다(스텝 S305).
다음에, 최종스텝까지 체크가 끝났는지 아닌지를 확인하고(스텝 S306), 상술한 일련의 처리를 최종스텝까지 반복해서 실행한다. 실예로서 도 21에 표시된 바와 같은 시퀀스 프로그램을 체크한 경우 시퀀스 프로그램의 첫번째의 명령에서 순차체크하고 3번째의 명령을 체크할때 "MOV K40 D9000"이 취득되고, 명령중에 사용되고 있는 디바이스로서 "D9000"이 취득된다. 도 22에 표시되어 있는 바와 같이 디바이스는 "D9000"과 디바이스 D의 디바이스 범위정보를 비교하고, 디바이스 "D9000"이 디바이스 범위정보에 있는 디바이스 D의 점수의 범위내 인가를 체크한다. 디바이스 D의 점수는 "8191"인데 대해, 디바이스 "D9000"의 번호는 "9000"이므로 범위외가하고 도 23에 표시되어 있는 것과 같은 에러가 표시된다.
이 에러표시에서는 디바이스 범위를 초과한 디바이스를 사용하고 있는 명령이 존재하는 명령번호(리스트행)와, 그 명령 및 디바이스 범위정보(최대치)가 화면표시된다.
그러나 도 21에 표시되어 있는 시퀀스 프로그램의 7번째의 "BMOV" 명령의 경우 "DO"에서 10개의 데이터를 "D8190"으로부터 10개분의 데이터 에리어에 카피하는 명령이므로 데이터 전송선 디바이스 "D8190"로부터 10개분의 데이터범위 "D8190"~"D8199"가 되고 디바이스 D 점수의 최대치를 초과해 버리나 종래의 PC주변장치에서는, 데이터 전송선 디바이스 "D8190"이 디바이스 범위 범위외인지 아닌지를 체크하고만 있으므로 에러는 되지 않는다.
또, 종래의 PC주변장치에서는 시퀀스 프로그램상에 존재하는 연속 디바이스를 지정하는 명령이나 연속된 영역을 가르키는 디바이스 표기에 의해 연속되는 디바이스가 로컬 디바이스와 글로벌 디바이스를 혼재사용하고 있는지에 대한 체크를 할 수가 없으므로 이 체크에 대해서는 시퀀스 프로그램을 눈으로 확인할 수 밖에 없고, 시간이 걸리고 불편하고 체크미스에 의해 프로그램머블 컨트롤러가 오동작하는 염려가 있다.
또 종래의 PC주변장치에서는 시퀀스 프로그램상에 존재하는 연속 디바이스를 지정하는 명령이나 연속한 영역을 표시하는 디바이스 표기에 의한 연속 디바이스가 시퀀스 프로그램상에 존재하는 다른 명령으로 단독 사용되고 있는지에 대한 체크에 대해 체크할 수가 없으므로 이 체크에 대해서는 시퀀스 프로그램을 오퍼레이터가 목시로 확인할 수 밖에 없고 시간이 걸리고 불편하고, 체크미스에 의해 프로그램머블 컨트롤러가 오동작할 염려가 있다.
또, 종래의 PC주변장치에서는 시퀀스 프로그램상에 존재하는 인덱스장식 디바이스를 지정하는 명령의 인덱스 수식된 결과가 시퀀스 프로그램상에 존재하는 다른 명령으로 사용되고 있지 않었나에 대해 체크할수가 없으므로 이 체크에 대해서는 시퀀스 프로그램을 오퍼레이터가 목시로 확인할 수 밖에 없고 불편하고 체크미스에 의해 프로그램머블 컨트롤러가 오동작하는 염려가 있다.
본 발명은 상술한 바와 같은 문제점을 해소하기 위해 된것으로 시퀀스 프로그램상에 존재하는 연속 디바이스를 지정하는 명령이나 디바이스 표기에 의해 연속하는 디바이스가 로컬디바이스와 글로벌디바이스를 혼재사용되고 있는지, 또 시퀀스 프로그램상에 존재하는 연속디바이스를 지정하는 명령의 연속디바이스가 시퀀스 프로그램상에 존재하는 다른 명령으로 단독 사용되고 있지 않는가? 또 시퀀스 프로그램상에 존재하는 인텍스수식 디바이스를 지정하는 명령의 인덱스수식된 결과가 시퀀스 프로그램상에 존재하는 다른 명령으로 사용되고 있지 않은가에 대한 각 체크를 오퍼레이터에 의한 시퀀스 프로그램 자체의 목시확인 작을을 필요로 하지 않고, 자동적으로 시행할 수 있는 프로그램머블 컨트롤러의 주변장치를 제공하는 것을 목적으로 하고 있다.
[발명의 개시]
본 발명은 시퀀스 프로그램 마다에 할당되는 디바이스의 범위를 기억하는 기억수단과, 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스가 상기 기억수단에 기억되어 있는 디바이스의 범위내 인가의 여부를 검사하는 디바이스범위 체크수단을 갖고 있는 프로그램머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 디바이스범위 체크수단이 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이것들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스가 상기 기억수단에 기억되어 있는 디바이스의 범위내 인가의 여부를 검사한다.
또, 본 발명은 시퀀스 프로그램 마다에 할당되는 로컬디바이스의 범위의 각 시퀀스 프로그램과 공통의 글로벌 디바이스의 범위를 정의한 디바이스 범위정보를 기억하는 기억수단과 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스에 로컬 디바이스와 글로벌 디바이스가 혼재하고 있지 않은가를 상기 기억수단에 기억되어 있는 디바이스 범위정보를 참조해서 검사하는 로컬, 글로벌 디바이스 혼재사용 체크수단을 갖고 있는 프로그램머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서 로컬ㆍ글로벌 디바이스 혼재사용 체크수단이 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차적으로 주출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스에 로컬 디바이스와 글로벌 디바이스가 혼재하고 있지 않은지를 상기 기억수단에 기억되어 있는 디바이스 범위정보를 참조해서 검사한다.
또, 본 발명은 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용하고 있는 디바이스를 비교해서 디바이스의 중복사용을 검사하는 디바이스 중복사용 체크수단을 갖고 있는 프로그램머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 디바이스 중복 사용체크 수단이 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령이나 연속영역을 표시하는 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용하고 있는 디바이스를 비교해서 디바이스의 중복사용을 검사한다.
또, 본 발명은 시퀀스 프로그램에 존재하는 인덱스수식 디바이스를 지정하는 명령을 순차추출하고 인덱스 수식된 결과의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용되고 있는 디바이스를 비교해서 디바이스의 중복사용을 검사하는 디바이스 중복사용 체크수단을 갖고 있는 프로그램머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 디바이스 중복사용 체크수단이 시퀀스 프로그램에 존재하는 인덱스 수식 디바이스를 지정하는 명령을 순차추출하고 인덱스 수식된 결과의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용하고 있는 디바이스를 비교해서 디바이스의 중복사용을 검사한다.
또, 본 발명은 CPU등에 의한 처리부와 시스템 프로그램을 저장한 시스템 프로그램 에리어, 시퀀스 프로그램을 저장하는 시퀀스 프로그램 에리어, 디바이스 범위정보 에리어를 각각 할당하는 주기억부와 보조기억부와 키입력 제어부와 화면제어부를 갖고 상기 디바이스 범위정보 에리어에는 디바이스의 범위를 정의한 디바이스 범위 정보가 저장되고 상기 처리부가 상기 시스템 프로그램 에리어에 저장된 시스템 프로그램을 실행함으로써 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스가 상기 디바이스 범위정보 에리어에 저장되어 있는 디바이스 범위정보에서 정의된 디바이스 범위내인지의 여부를 검사하고 이 결과를 상기 화면제어부에 접속되는 표시기에 표시하는 프로그램머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서 처리부에 의한 시스템 프로그램의 실행에 의해 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스가 상기 디바이스 범위정보 에리어에 저장되어 있는 디바이스범위 정보에서 정의된 디바이스의 범위내인지 아닌지의 여부를 검사하게 되고 이 결과가 화면제어부에 접속되는 표시부에 표시된다.
또, 본 발명은 CPU등에 의한 처리부와, 시스템 프로그램을 저장한 시스템 프로그램 에리어, 시퀀스 프로그램을 저장하는 시퀀스 프로그램 에리어, 디바이스 범위정보를 각각 할당되는 주기억부와, 보조기억부와, 키입력 제어부와, 화면제어부를 갖고 상기 디바이스 범위정보에는 시퀀스 프로그램 마다에 할당되는 로컬 디바이스의 범위와 각 시퀀스 프로그램과 공통의 글로벌 디바이스의 범위를 정의한 디바이스 범위정보가 저장되고 상기 처리부가 상기 시스템 프로그램 에리어에 저장된 시스템 프로그램을 실행함으로써 상기 시퀀스 프로그램 에리어의 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스에 로컬 디바이스와 글로벌 디바이스가 혼재하고 있는 지를 상기 디바이스 범위정보를 참조해서 검사하고, 이 결과를 상기 화면제어부에 접속되는 표시기에 표시하는 프로그램머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 처리부에 의한 시스템 프로그램의 실행에 의해 시퀀스 프로그램 에리어의 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고, 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스에 로컬 디바이스와 글로벌 디바이스가 혼재해 있는지를 상기 디바이스 범위정보를 참조해서 검사하는 것이 실시되고, 이 결과가 화면제어부에 접속되는 표시기에 표시된다.
또, 본 발명은 CPU등에 의한 처리부와 시스템 프로그램을 저장한 시스템 프로그램 에리어, 시스템 프로그램을 저장하는 시퀀스 프로그램 에리어를 각각 할당하는 주기억부와, 보조기억부와, 키입력제어부와, 화면제어부를 갖고 상기 처리부가 상기 시스템 프로그램 에리어에 저장된 시스템 프로그램을 실행함으로써, 상기 시퀀스 프로그램 에리어에 저장된 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령이나 연속영역을 표시하는 표기를 순차추출하고 이들에 의한, 연속영역의 디바이스를 전개하고 연속영역의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용하고 있는 디바이스를 비교해 디바이스의 중복사용을 검사하고 이 결과를 상기 화면제어부에 접속되는 표시기에 표시하는 프로그램머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 처리부에 의한 시스템 프로그램의 실행에 의해 시퀀스 프로그램 에리어에 저장된 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용하고 있는 디바이스를 비교해서 디바이스의 중복사용을 검사하는 것이 실시되고, 이 결과를 화면제어부에 접속되는 표시기에 표시한다.
또 본 발명은, CPU등에 의한 처리부와 시스템 프로그램을 저장한 시스템 프로그램 에리어, 시퀀스 프로그램을 저장하는 시퀀스 프로그램 에리어를 각각 할당되는 주기억부와, 보조기억부와, 키입력제어부와, 화면제어부를 갖고 상기 처리부가 상기 시스템 프로그램 에리어에 저장된 시스템 프로그램을 실행함으로써, 상기 시퀀스 프로그램 에리어에 저장된 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령을 순차추출하고 인덱스 수식된 결과의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용하고 있는 디바이스와 비교해 디바이스의 중복사용을 검사하고, 이 결과를 상기 화면제어부에 접속되는 표시기에 표시하는 프로그램머블 컨트롤러의 주변장치를 제공할수가 있다.
따라서, 처리부에 의한 시스템 프로그램의 실행에 의해 시퀀스 프로그램 에리어에 저장된 시퀀스 프로그램에 존재하는 인덱스수식 디바이스를 지정하는 명령을 순차추출하고 인덱스 수식된 결과의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용하고 있는 디바이스를 비교해서 디바이스의 중복사용을 검사할수가 있고 이 결과가 화면제어부에 접속되는 표시기에 표시된다.
본 발명은 기계설비의 제어를 하는 프로그램머블 컨트롤러를 위한 시퀀스 프로그램을 작성하는 프로그램밍툴 등으로 사용되는 주변장치에 관해 특히 시퀀스 프로그램의 체크기능을 갖는 주변장치에 관한 것이다.
도 1은 본 발명에 의한 프로그램머블 컨트롤러의 주변장치의 하나의 실시의 형태를 표시하는 블록도.
도 2는 본 발명에 의한 프로그램머블 컨트롤러의 주변장치에서의 디바이스 범위와 로컬ㆍ글로벌 디바이스 혼재사용체크의 처리플로를 표시하는 플로차트.
도 3은 본 발명에 의한 프로그램머블 컨트롤러의 주변장치에서의 디바이스를 인출하는 처리의 처리플로를 표시하는 플로차트.
도 4는 로컬ㆍ글로벌 디바이스혼재 사용체크를 실시하는 시퀀스 프로그램의 실예를 표시하는 라더회로 및 리스트 표현도.
도 5 및 도 6은 각각 로컬ㆍ글로벌 디바이스혼재 사용체크의 실예를 표시하는 설명도.
도 7은 로컬ㆍ글로벌 디바이스혼재 사용체크결과의 화면표시예를 표시하는 설명도.
도 8은 본 발명에 의한 프로글래머블 컨트롤러의 주변장치에서의 제 1의 디바이스중복 사용체크의 처리플로를 표시하는 플로차트.
도 9는 도 1의 디바이스중복 사용체크를 실시하는 시퀀스 프로그램의 실예를 표시하는 라더회로 및 리스트 표현도.
도 10 및 도 11은 각각 제 1의 디바이스중복 사용체크의 실예를 표시하는 설명도.
도 12는 제 1의 디바이스중복 사용체크 결과의 화면표시예를 표시하는 설명도.
도 13는 본 발명에 의한 프로그램머블 컨트롤리의 주변위치에서의 제 2의 디바이스중복 사용체크의 처리플로를 표시하는 플로차트.
도 14는 본 발명에 의한 프로그램머블 컨트롤러의 주변장치에서의 검색디바이스의 최소치, 최대치를 인출하는 처리의 처리플로를 표시하는 플로차트.
도 15는 제 2의 디바이스중복 사용체크를 실시하는 시퀀스 프로그램의 실예를 표시하는 라더회로 및 리스트 표현도.
도 16은 제 2의 디바이스 중복사용체크의 실예를 표시하는 설명도.
도 17은 제 2의 디바이스 중복사용체크 결과의 화면표시예를 표시하는 설명도.
도 18은 종래의 프로그램머블 컨트롤러의 주변장치를 표시하는 블록도.
도 19는 디바이스 범위정보의 예를 표시하는 설명도.
도 20은 종래의 프로그램머블 컨트롤러의 주변장치에서의 디바이스 체크의 플로차트.
도 21은 종래의 디바이스 체크를 실시하는 시퀀스 프로그램의 실예를 표시하는 라더회로 및 리스트 표현도.
도 22는 종래의 디바이스 체크의 실예를 표시하는 설명도.
도 23은 종래의 디바이스 체크결과의 화면 표시예를 표하는 설명도.
[발명을 실시하기 위한 최량의 형태]
본 발명을 보다 상세하게 설명하기 위해 첨부한 도면에 따라 이를 설명한다. 도 1은 본 발명에 의한 프로그램머블 컨트롤러의 주변장치의 블록도이다. PC주변장치(10)는 CPU등에 의한 처리부(11)와, 주기억부(12)와, 보조기억부(13)와 키입력 제어부(14)와 화면제어부(15)와, 프린터제어부(16)를 갖고 키입력제어부(14)에는 키보드(17)가 화면제어부(15)에는 CRT등에 의한 표시기(18)가 프린터 제어부(16)에는 프린터(19)가 각각 접속되어 있다.
주기억부(12)는 시스템 프로그램 에리어(20), 시퀀스 프로그램 에리어(21), 디바이스범위 정보 에리어(22)가 각각 할당되어 있고 시스템 프로그램 에리어(20)에는 시스템 프로그램이 시퀀스 프로그램 에리어(21)에는 시스템 프로그램이 시퀀스 프로그램 에리어(21)에는 시퀀스 프로그램이 디바이스 범위정보 에리어(22)에는 디바이스 범위정보가 각각 저장된다.
PC주변장치(10)는 종래의 것과 같이 키보드(17)로부터 키입력 제어부(14)를 통해서 라더표현, 리스트표현에 의한 시퀀스 프로그램을 주기어부(12)의 시퀀스 프로그램 에리어(21)에 저장하는 동시에 디바이스 범위정보를 주기억부(12)의 디바이스 범위정보 에리어(22)에 저장한다. 디바이스 범위정보는 도 19에 예시되어 있는 것과 같은 종래의 것과 같아도 된다.
또, PC주변장치(10)는 각 에리어에 저장한 시퀀스 프로그램이나 디바이스 범위정보를 화면제어부(15)를 통해서 표시기(18)에 프린터제어(16)를 통해서 프린터( 19)에 출력하고 보조기억부(13)에 저장한다.
시스템 프로그램 에리어(20)에 저장되는 시스템 프로그램은 시퀀스 프로그램의 프로그램밍을 하는 프로그램 작성모듈(30)과, 디바이스 범위와 로컬ㆍ글로벌 디바이스 혼재사용체크(동일속성체크) 모듈(31)과 제 1의 디바이스 중복사용체크 모듈( 32)과 제 2의 디바이스 중복사용 체크모듈(33)을 구비하고 있다.
체크하는 디바이스 범위와 로컬ㆍ글로벌 디바이스 혼재사용체크(동일속성체크) 모듈(31)은, 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스가 디바이스 범위정보 에리어(22)에 저장되어 있는 디바이스 범위정보로 정의되고 있는 디바이스의 범위내인지 아닌지를 검사하고 연속영역의 디바이스에 로컬 디바이스와 글로벌 디바이스가 혼재하고 있지 않은가를 디바이스 범위정보 에리어(22)의 디바이스 범위정보를 참조해서 검사한다.
제 1의 디바이스 중복사용체크 모듈(32)은 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 표기를 순차추출하고 이들에 의한 연속영역을 전개하고 연속영역의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용되고 있는 디바이스를 비교하고 디바이스의 중복사용을 검사한다.
제 2의 디바이스 중복사용체크 모듈(33)은, 시퀀스 프로그램에 존재하는 인덱스수식 디바이스를 지정하는 명령을 순차추출하고 인덱스 수식된 결과의 디바이스와 동일한 시퀀스 프로그램에 존재하는 다른 명령이 사용되고 있는 디바이스를 비교해서 디바이스의 중복사용을 검사한다.
시퀀스 프로그램에서 연속 디바이스를 지정하는 명령이나 연속된 영역을 지시하는 디바이스 표기에 의해 연속되는 디바이스가 디바이스 범위정보에 의해 미리 정의된 디바이스 범위내에 있는지의 여부의 체크와, 연속하는 디바이스가 로컬 디바이스와 글로벌 디바이스를 혼재사용하고 있지 않는지를 체크하는 경우는 키보드(17)로부터 키입력 제어부(14)를 통해 로컬ㆍ글로벌 디바이스 혼재사용체크의 지시를 낸다. 이 지시에 의해 처리부(11)가 시스템 프로그램중의 디바이스 범위와 로컬ㆍ글로벌 디바이스 혼재사용체크 모듈(31)을 실행한다.
이 디바이스 범위와 로컬ㆍ글로벌 디바이스 혼재사용체크 모듈(31)에 의한 체크루틴을 도 2를 참조해서 설명한다.
체크지시가 내리면 우선, 시퀀스 프로그램 카피원의 참조선을 선두의 명령에 설정하는 처리를 실행한다(스텝 S1).
이로써 선두의 명령이 카피원의 참조선에 설정된다. 다음, 시퀀스 프로그램로부터 1명령+디바이스를 작업영역에 카피하는 처리를 실행하고(스텝 S2), 1명령+디바이스 작업영역에 카피한다.
다음 제 1의 작업영역에 카피한 1명령+디바이스가 연속한 영역을 지시하는 디바이스를 지정하는 명령 또는 디바이스의 표기인가를 판단하는 처리를 실행한다(스텝 S3).
연속한 영역을 지시하는 디바이스를 지정하는 명령 또는 디바이스 표기의 어느것도 아닌 경우에는 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하는 처리를 실행하고(스텝 S4), 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하고 시퀀스 프로그램으로부터 1명령+디바이스를 작업영역에 카피하는 처리(스텝 S2)로부터 반복한다.
이에 대해 연속한 영역을 지시하는 디바이스를 지정하는 명령 또는 디바이스 표기이면 디바이스를 인출하는 처리를 실행하고(스텝 S5), 1명령+디바이스로부터 디바이스만을 인출한다.
디바이스를 인출하는 처리(디바이스 전개처리)를 도 3을 참조해서 설명한다. 우선 1명령+디바이스를 명령에 계속되는 문자열으로부터 공백문자(스페이스)를 키에 공백문자를 제외한 문자열군으로 분해하는 처리를 하고(스텝 S21), 개개의 디바이스부로 분해한다. 다음에 문자열의 선두문자가 연속한 영역을 표시하는 디바이스의 표기, 즉 "K"인가를 판단하는 처리를 실행하고(스텝 S22), 선두문자가 "K"이면 "K"에 계속되는 수치를 잘라내는 처리를 실행하고(스텝 S23), 연속한 디바이스의 범위를 취득(전개)한다.
다음에 "K"+수치에 계속되는 디바이스가 존재하는가를 판단하는 처리를 실행하고(스텝 S24), 디바이스가 존재하면 "K"+수치에 계속되는 디바이스 수치를 잘라내는 처리를 실행하고(스텝 S25), 연속한 디바이스의 선두를 취득한다.
다음에 문자열군 모두에 대해 잘라내기를 하였는가 판단하는 처리를 실행하고(스텝 S26), 문자열군 모두에 대해 잘라내기를 하고 있지 않으면 문자열의 선두문자는 "K"인가를 판단하는 처리(스텝 S22)으로부터 반복한다.
문자열군 전체에 대해 잘라내기를 하면, 연속된 영역을 지시하는 디바이스를 지정하는 명령("BMOV")인지 아닌지를 판단하는 처리를 실행하고(스텝 S27), 연속된 영역을 지시하는 디바이스를 지정하는 명령이면, 명령에 대응하는 데이터 테이블로부터 몇번째의 문자열군이 연속영역을 지시하거나 취득하는 처리를 실행하고(스텝 S28), 연속영역을 지시하는 디바이스를 데이터 테이블로부터 취득(전개)한다.
다음에, 그 디바이스의 문자열의 선두문자는 "K"이외인가를 판단하는 처리를 실행하고(스텝 S29), "K"이외이면 디바이스치를 잘라내는 처리를 실행한다.(스텝 S30).
이상에서 디바이스를 인출하는 처리는 종료되고 디바이스를 인출하는 처리가 종료되면 다음은(여기서 도 2의 설명으로 되돌아 간다). 상술한 바와 같이 잘라내진 연속영역의 디바이스가 디바이스 범위정보에 정의되어 있는 디바이스 범위내인지 아닌지의 판별을 한다.(스텝 S6).
연속영역의 디바이스가 디바이스 범위정보에 정의되어 있는 디바이스 범위내가 아니면, 결과를 프린트 아우트용 데이터와 화면표시용 데이터로서 보존하는 처리를 실행하고(스텝 S9), 프린트 아웃용 데이터 및 화면표시용 데이터를 작성 추가한다.
연속영역의 디바이스가 디바이스의 범위정보에 정의되어 있는 디바이스 범위내이면 다음에 상술한 바와 같이 잘라낸 연속영역의 디바이스를 선두로, 디바이스 범위정보로부터 영역내의 디바이스의 속성정보를 인출하는 처리를 실행하고(스텝 S7), 로컬 디바이스 범위정보 및 글로벌 디바이스 범위정보를 취득한다.
다음에 영역내에서 속성이 동일한가 아닌가를 판단하는 처리를 실행하고(스텝 S8), 연속영역의 디바이스와 로컬 디바이스 범위정보 및 글로벌 디바이스 범위정보를 비교한다. 속성이 동일하지 않으면 결과를 프린트 아웃용 데이터와 화면표시용 데이터로서 보존하는 처리를 실행하고(스텝 S9), 프린트 아웃용 데이터 및 화면표시용 데이터를 작성 추가한다.
다음에, 명령은 아직 있는지의 여부를 판단하는 처리를 실행하고(스텝 S10), 명령이 아직 있으면, 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하는 처리(스텝 S4)을 실행하고, 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하고 시퀀스 프로그램으로부터 1명령+디바이스를 작업영역에 카피하는 처리(스텝 S2)로부터 반복한다.
모든 시퀀스 프로그램의 체크가 종료되면, 화면제어부(15)를 통해서 CRT(18)로, 프린터 제어부(16)를 통해서 프린터(19)에 보존결과(체크결과)를 출력한다(스텝 S11).
출력결과에는 디바이스 범위외의 디바이스를 지정하는 명령이 존재하는 명령번호(리스트행), 그 명령이나 로컬 디바이스와 글로벌 디바이스가 혼재사용되고 있는 디바이스 표기나 연속된 영역을 지시하는 디바이스를 지정하는 명령이 존재하는 명령번호(리스트행), 그 명령 및 혼재사용개소 및 관련하는 디바이스 범위정보(정규의 로컬 디바이스 범위와 글로벌 디바이스 범위)가 있다.
상술한 체크를 도 4에 표시되어 있는 시퀀스 프로그램에 대해서 실시하면 3번째의 명령 "MOV K4M92 DO"는 연속된 영역을 지시하는 디바이스의 표기 "K"를 포함하고 있고 이 명령에서는 도 5에 표시된 바와 같이 명령부 "MOV"로 계속되는 디바이스부 "K4M92 DO"의 선두문자 "K"에 계속되는 수치를 잘라내는 처리로서 "4"를 잘라내고 연속된 디바이스의 범위 "K1"~"K4"를 취득한다.
연속한 디바이스의 범위 "K1"~"K4"에는 디바이스 "M92"~"M107"이 할당되어 이 일련의 디바이스는 디바이스 범위정보로 정의되어 있는 디바이스 속성에 대해 "M92"~"M99"는 로컬디바이스로, "M100"~"M107"은 글로벌 디바이스이므로 세번째의 명령에서의 연속된 영역을 지시하는 디바이스의 표기는, 로컬 글로벌 디바이스 혼재상용이라고 판정된다.
또, 7번째의 명령 "BMOV D45 D10 K10"은 연속된 영역을 지시하는 명령(전송명령)이고, 그 명령에 따라 여기서는 도 6에 표시되어 있는 바와 같이 전송원의 연속영역을 지시하는 디바이스 "D45"~"D54"를 취득한다. 또 전송원선의 연속영역을 지시하는 디바이스에 대해서도 마찬가지로 취득하나 여기서는 에러가 되지 않으므로 생략한다.
디바이스 범위정보로 정의되어 있는 디바이스 속성에 대해 연속영역을 지시하는 디바이스 "D45"~"D54"중 디바이스 "D45"~"D49"는 로컬 디바이스로 "D50"~"M54"는 글로벌 디바이스이므로 7번째의 연속된 영역을 지시하는 명령은 로컬ㆍ글로벌 디바이스 혼재상용이라고 판정된다.
이 결과 도 7에 표시되어 있는 바와 같은 체크결과가 화면표시된다.
이로써, 시퀀스 프로그램상에 존재하는 연속 디바이스를 지정하는 명령 또는 연속영역을 지시하는 디바이스 표기에 의한 연속 디바이스에 로컬 디바이스와 글로벌 디바이스가 혼재사용되어 있지 않은가의 체크가 시퀀스 프로그램 자체의 목시확인 작업을 필요로 하지 않고 자동적으로 확실하고 신속하게 실시하고 체크미스에 의한 프로그램머블 컨트롤러의 오동작을 미연에 회피할 수가 있다.
시퀀스 프로그램에서 연속해서 디바이스를 지정하는 명령이나 연속한 영역을 지시하는 디바이스 표기에 의해 연속하는 디바이스가 시퀀스 프로그램상에 존재하는 다른 명령으로 단독사용되고 있는지를 체크하는 경우는, 키보드(17)로부터 키입력 제어부(14)를 통해서 제 1의 디바이스 중복사용체크의 지시를 낸다.
이 지시에 의해 처리부(11)가 시스템 프로그램중의 제 1의 디바이스 중복사용체크 모듈(32)을 실행한다.
이 제 1의 디바이스 중복사용체크 모듈(32)에 의한 체크류틴을 도 8을 참조해서 설명한다.
체크지시가 나오면 우선, 시퀀스 프로그램 카피원의 참조선을 선두의 명령(중복사용 디바이스의 검사측의 명령)에 설정하는 처리를 실행한다.(스텝 S41).
이로 인해 선두의 명령이 카피원의 참조선에 설정된다.
다음, 시퀀스 프로그램에 의한 1명령+디바이스를 제 1의 작업영역에 카피하는 처리를 실행하고(스텝 S42), 1명령+디바이스를 제 1의 작업영역에 카피한다.
다음에 제 1의 작업영역에 카피한 1명령+디바이스가 연속한 영역을 지시하는 디바이스를 지정하는 명령 또는 디바이스 표기인가를 판단하는 처리를 실행(스텝 S43)한다.
연속한 영역을 지시하는 디바이스를 지정하는 명령 또는 디바이스 표기의 어느것도 아닌 경우에는 시퀀스 프로그램 카피원의 참조선을 다음 명령에 설정하는 처리를 실행하고(스텝 S44), 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하고 시퀀스 프로그램으로부터 1명령+디바이스를 작업영역에 카피하는 처리(스텝 S42)로부터 반복한다.
이것은 중복사용 디바이스의 검사측의 명령의 주사를 의미한다.
이에 대해, 연속된 영역을 지시하는 디바이스를 지정하는 명령 또는 디바이스 표기이면, 디바이스를 인출하는 처리를 실행하고(스텝 S45), 1명령+디바이스로부터 디바이스만을 인출한다. 디바이스를 인출하는 처리(전개처리)는 로컬ㆍ디바이스 혼재사용체크시와 같이, 도 3에 표시되어 있는 처리플로에 따라 실시되므로 설명은 생략한다.
다음에, 시퀀스 프로그램 카피원의 참조선을 선두의 명령(중복사용 디바이스의 비교 대조측의 명령)에 설정하는 처리를 실행한다(스텝 S46). 이로써 선두의 명령이 카피원의 참조선에 설정된다. 다음에 시퀀스 프로그램으로부터 1명령+디바이스를 제 2의 작업영역에 카피하는 처리를 실행한다(스텝 S47).
다음, 제 2의 작업영역에 카피된 1명령+디바이스로부터 디바이스를 인출하는 처리를 실행한다(스텝 S48).
다음에, 제 2작업영역의 1명령+디바이스로부터 인출한 디바이스는 제 1작업영역의 1명령+디바이스에 의한 연속영역내에 있는지의 여부의 중복사용의 판단을 한다(스텝 S49).
영역내에 있으면 결과를 프린트 아웃용 데이터 및 화면표시용 데이터로 보존하는 처리를 실시하고(스텝 S50), 프린트 아웃용 데이터 및 화면표시용 데이터를 작성추가한다.
다음에 중복사용 디바이스의 비교대조측의 명령은 아직 있는지의 여부를 판단하는 처리를 실행하고(스텝 S51), 명령이 아직 있으면 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하는 처리를 실시하고(스텝 S52), 시퀀스 프로그램 카피원의 참조선을 다음 명령에 설정하고 시퀀스 프로그램으로부터 1명령+디바이스를 제 2의 작업영역에 카피하는 처리(스텝 S47)부터 반복한다. 이것은 중복사용 디바이스의 비교대조측의 명령의 주사를 의미한다.
투자사용 디바이스의 비교대조측의 명령이 종료되면 다음에 중복사용 디바이스의 검사측의 명령은 아직 있는지의 여부를 판단하는 처리를 실행하고(스텝 S53), 명령이 아직 있으면, 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하는 처리를 실행하고(스텝 S44), 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하고, 시퀀스 프로그램으로부터 1명령+디바이스를 제 1의 작업영역에 카피하는 처리(스텝 S42)로부터 반복한다.
모든 시퀀스 프로그램의 체크가 종료하면, 화면제어부(15)를 통해서 CRT(18)에 프린터 제어부(16)를 통해서 프린터(19)에 보존결과(체크결과)를 출력한다(스텝 S54).
출력결과에는 중복 디바이스, 다른 명령으로 디바이스가 단독사용되고 있는 디바이스 표기나, 연속한 영역을 지시하는 디바이스를 지정하는 명령이 존재하는 번호(리스트 행)및 그 명령이 있다.
상술한 체크를 도 9에 표시되어 있는 시퀀스 프로그램에 대해 실시하면 세번째의 명령 "MOV K4M92 D12"는 연속된 영역을 지시하는 디바이스의 표기 "K"를 포함하고 있고 이 명령에서는 도 10에 표시된 바와 같이 명령부 "MOV"에 계속되는 디바이스부 "K4M92 D12"의 선두문자 "K"에 계속되는 수치를 잘라내는 처리로서 "4"를 잘라내고 연속한 디바이스의 범위 "K1"~"K4"를 취득한다. 연속된 디바이스 범위 "K1"~"K4"에는 디바이스 "M92"~"M107"이 할당된다.
이에 대해 5번째의 명령 "OUT M100"에 "M100"이 단독사용되어 있으므로 연속영역의 디바이스 "M92"~"M107"은 5번째의 명령 "OUT M100"의 "M100"과 중복되어 있다고 판정된다.
또 7번째의 명령 "BMOV D45 D10 K10"은 연속된 영역을 지시하는 명령(전송명령)이고 그 명령에 따라 여기서는 도 11에 표시된 바와 같이 여기서는 전송선의 연속영역을 지시하는 디바이스 "D10"~"D19"를 취득한다.
이에 대해, 3번째의 명령 "MOV K4M92 D12"에 "D12"가 단독사용되어 있으므로 연속영역을 지시하는 디바이스 "D10"~"D19"는 3번째의 명령 "MOV K4M92 D12"의 "D12"와 중복되어 있다고 판정된다.
이 결과, 도 12에 표시된 바와 같은 체크결과가 화면표시된다. 이로써 시퀀스 프로그램에서 연속 디바이스를 지정하는 명령이나 연속된 영역을 지시하는 디바이스 표기에 의해 연속하는 디바이스가 시퀀스 프로그램상에 존재하는 다른 명령으로 단독사용되고 있는지의 체크가 시퀀스 프로그램 자체의 목시확인작업을 필요로 하지 않고 자동적으로 확실하고 신속하게 실시되고 체크미스에 의한 프로그램머블 컨트롤러의 오동작을 미연에 회피할 수가 있다.
시퀀스 프로그램상에 존재하는 인덱스수식 디바이스를 지정하는 명령의 인덱스 수식된 결과가 시퀀스 프로그램상에 존재하는 다른 명령으로 사용되고 있지 않은지 체크하는 경우는 키보드(17)로부터 키입력 제어부(14)를 통해서 제 2의 디바이스 중복사용체크의 지시를 낸다. 더해서 인덱스 수식하는 범위(인덱스 수식범위 Z=0~10)도 입력한다.
이 지시에 의해 처리부(11)가 시스템 프로그램중의 제 2의 디바이스 중복사용체크 모듈(33)을 실행한다.
이 제 2의 디바이스 중복사용체크 모듈(33)에 의한 체크루틴을 도 13을 참조해서 설명한다.
체크지시가 내리면 우선 시퀀스 프로그램 카피원의 참조선을 선두의 명령(중복사용 디바이스의 검사측 명령)에 설정하는 처리를 실행한다(스텝 S61). 이로 인해 선두의 명령이 카피원의 참조선에 설정된다. 다음에 시퀀스 프로그램로부터 1명령+디바이스를 제 1의 작업영역에 카피하는 처리를 실행하고(스텝 S62), 1명령+디바이스를 제 1의 작업영역에 카피한다.
다음에 제 1의 작업영역에 카피한 1명령+디바이스가 인덱스 수식된 디바이스를 포함하는 명령인가를 판단하는 처리를 실행한다(스텝 S63).
인덱스 수식된 디바이스를 포함하는 명령이 아닌 경우에는 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하는 처리를 실행하고(스텝 S64), 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하고 시퀀스 프로그램으로부터 1명령+디바이스를 작업영역에 카피하는 처리(스텝 S62)로부터 반복한다.
이에 대해, 인덱스 수식된 디바이스를 포함하는 명령이면 검색디바이스의 최소치와 최대치를 인출하는 처리를 실행하고(스텝 S65), 1명령+디바이스로부터 검색 디바이스의 최소치와 최대치를 인출한다.
검색 디바이스의 최소치와 최대치를 인출하는 처리를 도 14를 참조해서 설명한다.
우선, 1명령+디바이스의 계속되는 문자열에서 공백문자를 키에 공백을 제외한 문자열군으로 분해하는 처리를 하고(스텝 S81), 디바이스부를 개개의 디바이스로 분해한다.
다음 분해한 디바이스의 문자열의 최종문자는 인덱스 디바이스의 표기, 즉 "Z" 인가를 판단하는 처리를 실행한다.(스텝 S82).
"Z"가 아니면, 문자열군 모두에 대해 자르기를 하였는지를 판단하는 처리를 실행하고(스텝 S85), 모두에 대해 실행이 끝났으면 종료한다. 이에 대해, 일부에 대해서만 실행이 끝났으면 종료한다. 이에 대해, 일부에 대해서만 실행이 끝났으면, 문자열의 최종문자가 "Z"인가를 판단하는 처리(스텝 S82)를 디바이스부에 포함되는 개개의 모든 디바이스에 대해 실행하도록 반복한다.
문자열의 최종문자가 "Z"이면 "Z"의 앞의 디바이스치를 잘라내어 이를 검색 디바이스의 최소치에 세트한다(스텝 S83).
다음에 잘라낸 디바이스치에 키보드 입력된 Z의 최대치인 인덱스 수식하는 범위(Z=10)을 가산하고 검색 디바이스의 최대치에 세트한다(스텝 S84).
다음, 문자열군 모두에 대해 잘라내기를 하였는가를 판단하는 처리를 실행하고(스텝 S85), 문자열의 최종문자가 "Z"인가를 판단하는 처리(스텝 S82)를 디바이스부에 포함되는 개개의 모두의 디바이스에 대해 실행하도록 반복하는 모든 디바이스에 대해 실행할때까지 반복한다.
이상에서 검색 디바이스의 최소치와 최대치를 인출하는 처리는 종료하고 검색 디바이스의 최소치와 최대치를 인출하는 처리가 종료되면, 다음에(여기서 도 13의 설명으로 되돌아간다), 시퀀스 프로그램 카피원의 참조선을 선두의 명령(중복사용 디바이스의 비교대조측의 명령)에 설정하는 처리를 실행한다(스텝 S66). 이로써 선두의 명령이 카피원의 참조선에 설정된다. 다음, 시퀀스 프로그램으로부터 1명령+디바이스를 제 2의 작업영역에 카피하는 처리를 실행한다(스텝 S67).
다음에 제 2의 작업영역에 카피된 1명령+디바이스로부터 인출한 디바이스를 인출하는 처리를 실행한다(스텝 S68). 다음 제 2작업영역의 1명령+디바이스로부터 인출한 디바이스는 제 1의 작업영역의 1명령+디바이스(인덱스 수식된 디바이스를 포함하는 명령)에 의한 디바이스의 검색영역내에 있는가의 여부의 중복사용의 판단을 하는(스텝 S69).
검색영역내에 있으면, 결과를 프린트 아웃용 데이터 및 화면표시용 데이터로서 보존하는 처리를 실행하고(스텝 S70), 프린트 아웃용 데이터 및 화면표시용 데이터를 작성, 추가한다.
다음에, 중복사용 디바이스의 비교대조측의 명령은 아직 있는지의 여부를 판단하는 처리를 실행하고(스텝 S71), 명령이 아직 있으면 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하는 처리를 실행하고(스텝 S72), 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하고 시퀀스 프로그램으로부터 1명령+디바이스를 제 2의 작업영역에 카피하는 처리(스텝 S67)로부터 반복한다.
중복사용 디바이스의 비교대조측의 명령이 종료되면, 다음에 중복사용 디바이스의 검사측의 명령은 아직 있는지의 여부를 판단하는 처리를 실행하고(스텝 S73), 명령이 아직 있으면, 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하는 처리를 실행하고(스텝 S64), 시퀀스 프로그램 카피원의 참조선을 다음의 명령에 설정하고 시퀀스 프로그램으로부터 1명령+디바이스를 제 1의 작업영역에 카피하는 처리(스텝 S62)로부터 반복한다.
모든 시퀀스 프로그램의 체크가 종료되면, 화면제어부(15)를 통해서 CRT(18)에 프린터 제어부(16)를 통해서 프린터(19)에 보존결과(체크결과)를 출력한다.(스텝 S74).
출력결과에는 인덱스 수식된 디바이스와 그 인덱스 수식결과와 중복하는 명령 및 그 명령이 출력된다.
상술한 체크를 도 15에 표시되어 있는 시퀀스 프로그램에 대해 실시하면 1번째의 명령 "MOV D12Z D100"은 인덱스수식 디바이스를 지정하는 명령이고 도 16에 표시되어 있는 바와 같이 검색 디바이스의 최소치 "D10"과 최대치 "D19"를 인출하고 디바이스의 검색범위 "D10"~"D19"를 취득한다. 이에 대해 3번째의 명령 "MOV D10 D120"에 "D10"이 사용되고 또 5번째의 명령 "MOV D19 D219"에 "D19"가 사용되고 있으므로 "MOV D10Z D100"의 인덱스 수식된 결과는 3번째와 5번째의 명령에서 사용하고 있는 디바이스와 중복사용이라고 판정된다.
9번째의 명령 "MOV W20Z W200"에 대해서도 똑같이 실시되고 인덱스 수식된 결과는 11번째의 명령으로 사용하고 있는 디바이스와 중복사용이라고 판정된다.
이 결과, 도 17에 표시된 바와 같은 체크결과가 화면표시된다. 이로 인해 시퀀스 프로그램상에 존재하는 인덱스 수식 디바이스를 지정하는 명령의 인덱스 수식된 결과가 시퀀스 프로그램상에 존재하는 다른 명령으로 사용되고 있지 않은지의 체크의 체크가 시퀀스 프로그램 자체의 목시확인 작업을 필요로 하지 않고 자동적으로 확실하고 또 신속하게 실시되고 체크미스에 의한 프로그램머블 컨트롤러의 오동작을 미연에 회피할 수 있다.
기계설비의 제어를 하는 프로그램머블 컨트롤러를 위한 시퀀스 프로그램을 작성할 수 있는 주변장치로 시퀀스 프로그램을 자동체크하는 것으로 이용할 수 있다.

Claims (4)

  1. 시퀀스 프로그램마다에 할당되는 디바이스의 범위를 기억하는 기억수단과, 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차 주출하고 이들에 의한 연속영역의 디바이스를 전개하고, 연속영역의 디바이스가 상기 기억수단에 기억되어 있는 디바이스의 범위내인지 아닌지를 검사하는 디바이스 범위 체크수단을 갖고 있는 것을 특징으로 하는 프로그램머블 컨트롤러의 주변장치.
  2. 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령이나 연속영역을 지시하는 표기를 순차추출하고 이들에 의한 연속영역을 전개하고 연속영역의 디바이스와 동일한 시퀀스 프로그램에 존재하는 다른 명령이 사용되고 있는 디바이스와 비교해 디바이스의 중복사용을 검사하는 디바이스 중복사용 체크수단을 갖고 있는 것을 특징으로 하는 프로그램머블 컨트롤러의 주변장치.
  3. 시스템 프로그램을 저장한 시스템 프로그램 에리어와 시퀀스 프로그램을 저장하는 시퀀스 프로그램 에리어와, 디바이스의 범위를 정의한 디바이스범위 정보가 저장된 디바이스 범위정보 에리어와, 상기 시스템 프로그램 에리어에 저장된 시스템 프로그램을 실행함으로써 상기 시퀀스 프로그램 에리어의 시퀀스 프로그램에 존재하는 연속디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스가 상기 디바이스 범위정보 에리어에 저장되어 있는 디바이스 범위정보로 정의된 디바이스의 범위내 인지의 여부를 검사하고 이 결과를 통지하는 처리부를 갖고 있는 것을 특징으로 하는 프로그램머블 컨트롤러의 주변장치.
  4. 시스템 프로그램을 저장한 시스템 프로그램 에리어와 시퀀스 프로그램을 저장하는 시퀀스 프로그램 에리어와 상기 시스템 프로그램 에리어에 저장된 시스템 프로그램을 실행함으로써, 상기 시퀀스 프로그램 에리어의 시퀀스 프로그램에 존재하는 연속 디바이스를 지정하는 명령이나 연속영역을 지시하는 디바이스 표기를 순차추출하고 이들에 의한 연속영역의 디바이스를 전개하고 연속영역의 디바이스와 같은 시퀀스 프로그램에 존재하는 다른 명령이 사용하고 있는 디바이스를 비교해 그 결과를 통지하는 처리부를 갖고 있는 것을 특징으로 하는 프로그램머블 컨트롤러의 주변장치.
KR10-2000-7010608A 1999-01-25 1999-01-25 프로그래머블 컨트롤러의 주변장치 KR100407635B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/000270 WO2000043883A1 (fr) 1999-01-25 1999-01-25 Unite peripherique de controleur programmable

Publications (2)

Publication Number Publication Date
KR20010024956A true KR20010024956A (ko) 2001-03-26
KR100407635B1 KR100407635B1 (ko) 2003-12-01

Family

ID=14234776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-7010608A KR100407635B1 (ko) 1999-01-25 1999-01-25 프로그래머블 컨트롤러의 주변장치

Country Status (5)

Country Link
US (3) US6810433B1 (ko)
JP (1) JP4001461B2 (ko)
KR (1) KR100407635B1 (ko)
DE (1) DE19983015B4 (ko)
WO (1) WO2000043883A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4569011B2 (ja) * 2001-02-21 2010-10-27 三菱電機株式会社 プログラマブルコントローラ及びその周辺装置
US7594229B2 (en) * 2001-10-09 2009-09-22 Nvidia Corp. Predictive resource allocation in computing systems
DE10202714A1 (de) * 2002-01-24 2003-07-31 Luxmate Controls Gmbh Dornbirn Verfahren zum Zuordnen von Betriebsadressen in einem Steuersystem für eine Vielzahl von Aktoren
JP3809151B2 (ja) * 2003-04-21 2006-08-16 ファナック株式会社 シーケンスプログラム編集装置
JP4835340B2 (ja) * 2006-09-12 2011-12-14 横河電機株式会社 プログラムデバッグ装置
GB2474250B (en) * 2009-10-07 2015-05-06 Advanced Risc Mach Ltd Video reference frame retrieval
JP7273935B2 (ja) * 2018-10-23 2023-05-15 株式会社キーエンス 外部設定機器、ロギング設定方法およびプログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4227247A (en) * 1977-10-12 1980-10-07 Eaton Corporation Integrated circuit controller programmable with unidirectional-logic instructions representative of sequential wire nodes and circuit elements of a ladder diagram
JPS5853368B2 (ja) * 1978-08-30 1983-11-29 三菱電機株式会社 シ−ケンスコントロ−ラ
US4316244A (en) * 1978-11-08 1982-02-16 Data General Corporation Memory apparatus for digital computer system
US4443865A (en) * 1981-10-26 1984-04-17 Allen-Bradley Co. Processor module for a programmable controller
DE3242631A1 (de) * 1981-11-18 1983-05-26 Omron Tateisi Electronics Co., Kyoto Programmierbare steuereinrichtung
JPS63175930A (ja) * 1987-01-16 1988-07-20 Nissan Motor Co Ltd 制御プログラムのドキユメント作成装置
DE68928113T2 (de) * 1988-04-01 1997-10-09 Nec Corp Reihenfolgesteuersystem zur Behandlung von Befehlen
US5038317A (en) * 1988-07-25 1991-08-06 Allen-Bradley Company, Inc. Programmable controller module rack with a relative rack slot addressing mechanism
US5243511A (en) * 1989-06-30 1993-09-07 Icom, Inc. Method and apparatus for block move re-addressing in ladder logic programs
JP2792772B2 (ja) * 1991-04-01 1998-09-03 三菱電機株式会社 プログラマブルコントローラ及びそのシーケンスプログラムモニタ方法
US5295059A (en) * 1992-09-09 1994-03-15 Allen-Bradley Company, Inc. Programmable controller with ladder diagram macro instructions
JP3024422B2 (ja) * 1993-04-01 2000-03-21 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラの運転方法
JPH0736510A (ja) * 1993-07-22 1995-02-07 Mitsubishi Electric Corp プログラマブルコントローラ
JP3251414B2 (ja) * 1994-01-11 2002-01-28 三菱電機株式会社 プログラマブルコントローラおよびそのプログラム容量変更方法
US5832304A (en) * 1995-03-15 1998-11-03 Unisys Corporation Memory queue with adjustable priority and conflict detection
US5854921A (en) * 1995-08-31 1998-12-29 Advanced Micro Devices, Inc. Stride-based data address prediction structure
JP3458578B2 (ja) 1996-01-25 2003-10-20 日産自動車株式会社 ラダーシーケンス回路のチェック方法
JPH09212394A (ja) * 1996-01-31 1997-08-15 Mitsubishi Electric Corp データ処理装置
TW470915B (en) * 1996-03-12 2002-01-01 Matsushita Electric Ind Co Ltd Optimization apparatus which removes transfer instructions by a global analysis of equivalence relations
KR980000737A (ko) 1996-06-03 1998-03-30 손욱 저항 용접의 접합 방법
US5615697A (en) 1996-06-10 1997-04-01 Fu Tai Umbrella Works, Ltd. Pocketable folding umbrella with foldably sandwiched ribs
JP3317156B2 (ja) 1996-09-18 2002-08-26 三菱電機株式会社 リモートplc装置を備えた数値制御装置
US5848256A (en) * 1996-09-30 1998-12-08 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for address disambiguation using address component identifiers
KR100222304B1 (ko) 1997-03-19 1999-10-01 홍상복 프로그래머블 로직 콘트롤러 로더의 디바이스 판별방법
US6507898B1 (en) * 1997-04-30 2003-01-14 Canon Kabushiki Kaisha Reconfigurable data cache controller
JP3439945B2 (ja) * 1997-05-26 2003-08-25 三菱電機株式会社 プログラマブルコントローラおよびシーケンスプログラム実行方法
JPH10340108A (ja) * 1997-06-06 1998-12-22 Mitsubishi Electric Corp プログラマブルロジックコントローラの周辺装置
US6154684A (en) * 1997-06-14 2000-11-28 Rockwell Technologies, Llc Template language for industrial controller programming
US6094713A (en) * 1997-09-30 2000-07-25 Intel Corporation Method and apparatus for detecting address range overlaps
US6263429B1 (en) * 1998-09-30 2001-07-17 Conexant Systems, Inc. Dynamic microcode for embedded processors
US6490635B1 (en) * 2000-04-28 2002-12-03 Western Digital Technologies, Inc. Conflict detection for queued command handling in disk drive controller
JP3733842B2 (ja) * 2000-07-12 2006-01-11 日本電気株式会社 ベクトルスキャタ命令制御回路及びベクトル型情報処理装置

Also Published As

Publication number Publication date
DE19983015B4 (de) 2006-02-23
US6948005B2 (en) 2005-09-20
KR100407635B1 (ko) 2003-12-01
US6810433B1 (en) 2004-10-26
WO2000043883A1 (fr) 2000-07-27
US20040199679A1 (en) 2004-10-07
US20050033873A1 (en) 2005-02-10
US6850993B2 (en) 2005-02-01
JP4001461B2 (ja) 2007-10-31
DE19983015T1 (de) 2001-04-26

Similar Documents

Publication Publication Date Title
EP1189123B1 (en) Automatic programming and simulation apparatus
US6751523B2 (en) NC machining simulation apparatus
US20190303517A1 (en) Simulation device
KR100407635B1 (ko) 프로그래머블 컨트롤러의 주변장치
US5068804A (en) Document input method and apparatus
US5595463A (en) Area machining method
JP4276656B2 (ja) Cadシステム並びにこれを実行するためのプログラム及びこのプログラムを記録した記録媒体
JP2003303213A (ja) 設計作業支援装置
JP3564721B2 (ja) Cad/cam装置
JP4032306B2 (ja) 設計作業支援装置
JP3037232B2 (ja) 回路図データ編集装置における回路図の表示方法
JP3788818B2 (ja) 表示図形編集システム
JP2009157751A (ja) ソフトウェア開発支援装置
JP4255737B2 (ja) プログラマブルコントローラの周辺装置
JP3345142B2 (ja) 罫線表示機能付き文書処理装置
JPH0744359A (ja) ケース・ツールにおけるメモドキュメント作成方法及びメモドキュメントの選択方法
JP2004234693A (ja) Cad/cam装置
JP2969423B2 (ja) Cadシステムにおけるグラフィックス表示装置とテキスト・ファイル表示装置との間のコミュニケーション・システム
JP2724241B2 (ja) ブロック図部品処理機能付きプログラム自動生成装置
JP2020144453A (ja) 画像編集装置、画像編集方法
WO2004038522A1 (ja) Cadシステム並びにこれを実行するためのプログラム及びこのプログラムを記録した記録媒体
KR200217787Y1 (ko) 도각작성기능을 갖춘 도면작성장치
JPS6057405A (ja) グラフイツク画面を用いたブロックサーチ装置
JPH0757108A (ja) 画像制御装置
JPH0498533A (ja) マクロブロック図処理機能付きプログラム自動生成装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121023

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20131022

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20141021

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20161020

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee