KR940000221B1 - 래더명령 처리장치 - Google Patents
래더명령 처리장치 Download PDFInfo
- Publication number
- KR940000221B1 KR940000221B1 KR1019910004711A KR910004711A KR940000221B1 KR 940000221 B1 KR940000221 B1 KR 940000221B1 KR 1019910004711 A KR1019910004711 A KR 1019910004711A KR 910004711 A KR910004711 A KR 910004711A KR 940000221 B1 KR940000221 B1 KR 940000221B1
- Authority
- KR
- South Korea
- Prior art keywords
- instruction
- ladder
- data bus
- stack
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
내용 없음.
Description
제1도는 래더 다이어그램의 일에를 나타낸 도.
제2도(a) 및 (b)는 래더명령어와 이를 처리하는 컴퓨터의 머신코드와의 대응관계를 나타낸 도.
제3도는 본 발명에 따른 하드웨어 구성도.
제4도는 제3도에 있어 래더명령 해독 연산처리부에 대한 상세도.
제5도는 본 발명의 컴퓨터 시스템이 사용되는 메모리 맵 구성도.
제6도는 래더명령어에 대한 어드레스 할당값을 표한 도면.
제7도는 비트 어드레싱 메모리 영역의 상세 구성도이다.
본 발명은 프로그램 제어되는 제어시스템에 관한 것으로 특히 래더 다이어그램에 대하여 범용의 컴퓨터 장치를 사용하여 데이타 전송 명령어만으로 래더 명령어 처리가 가능하도록 한 저렴하고 고속처리 가능한 래더명령 처리장치에 관한 것이다.
제어 시스템의 운영을 위해서 필요로 하는 제어논리 전기회로, 특히 프로그래밍 기법에 의해 프로그램된 순서에 따라 동작되는 시스템의 상기 제어논리 전기회로의 용이한 설계와 명료한 프로그래밍을 위해 설계자는 간이화된 심볼을 사용하여 설계할 수 있고 이에 맞추어 소정 명령어를 사용하여 프로그래밍하여 제어시스템을 동작시킨다.
이에 대한 일예는 제1도에 나타낸 바와 같이 래더 다이어그램 기법에 의해 이루어지는데 사용되는 기호는 입력과 출력에 대한 기호로서 도면에서 '0002'이외의 지시된 기호는 입력스위치에 대한 기호이며 '0002'는 출력에 대한 기호로서 예를들면 램프 또는 코일일 수 있다. 제1도는 전원(P)에 연결된 모선(ML)간에 입력스위치와 출력수단, 예를들면 램프가 연결된 것을 도식적으로 표현한 것인데 여기서 램프(0002)가 'ON'되기 위한 조건은 스위치 0003과 0011의 'ON'이거나 0000이 'ON'일 경우인데, 이 설계된 래더 다이어그램의 수행을 위한 프로그램은 제2도(b)에 나타낸 바와 같이 소정의 래더 명령어를 사용하여 달성된다.
즉 제1도에 준한 각 명령어에 있어 입력스위치 '0003'은 '모선시작'을, 0003과 0011은 AND의 관계를, 이 AND와 0000은 상호 OR관계를 그리고 출력 0002에는 OUT등으로 프로그램되므로 이를 표현한 체계화된 니마닉(mnemonic)이 제2도(b)에 표현되어 있다.
제1도의 일예를 든 래더 다이어그램에 준하여 상기한 내용을 더욱 상세히 설명하면, 먼저 STR 0003은 '모선 시작'에 대한 명령어로 스위치 0003의 상태를 예를들면 제어시스템의 프로그램 처리연산수단이 갖는단계이며, AND 0011은 '직렬접속'에 대한 명령어로 앞단계에서의 정보를 스위치 0003의 상태와 논리 AND 연산하는 단계이며, 마찬가지로 '0000'과는 OR하여 OUT명령에 의해 출력수단(0002)으로 그 결과를 출력하는 단계로 이루어져 실행한다.
이러한 래더 다이어그램 기법에 의한 제어시스템 운영에 있어서 통상의 래더 명령처리기는 앞서 설명한 스택처리와 명령어 해독부를 채택한 컴퓨터의 소프트웨어에 의해 일체 실현되도록 하고 있는데 통상의 제어시스템은 단순한 것이 아니기 때문에 소프트웨어의 부담이 크고 또 1개의 니마닉 명령어를 처리하더라도 이를 위한 채택된 컴퓨터가 갖는 명령어는 다수개의 명령어가 요구되기 때문에 이를 처리하는 시간에 있어서 전체를 보면 수행 속도가 저하되고, 또 한편으로는 래더 명령처리기를 하드웨어적으로 구성하고자 할 때 메모리에 저장시킨 래더 명령어의 인출을 위해서 버스 인터페이스 유닛의 필요성과 또한 이 명령어 해독에 따른 연산 장치부 즉 스택 그리고 논리 연산장치를 포함해야 하기 때문에 별도의 설계와 코스트의 상승으로 제어시스템의 운영에 불합리한 문제를 갖고 있다. 즉 처리속도가 고속이면서 더욱이 코스트가 저렴한 래더 명령 처리장치가 요구되는 것이다.
본 발명은 이러한 관점에서 제기된 문제점을 해결하고자 이루어진 것으로 컴퓨터의 메모리 공간의 일부에 대해 래더 명령처리를 위한 하드웨어 입/출력 모듈을 접속하여 프로그래밍 부담의 경감과 처리속도의 개선 및 코스트 절감된 개선된 래더 명령처리 장치를 제공하는 것이다.
본 발명의 목적에 따라 제공되는 래더 명령처리기는 제3도와 그 상세도인 제4도에 나타낸 바와 같이 구성된다.
본 발명의 시스템 구성은 제3도에 보인 바와 같이, 래더 명령어에 의해 프로그램 제어되는 제어시스템의 래더 명령어 처리수단은, 데이타 버스와 어드레스 버스로 상호 연결되는 중앙처리장치(1)와, ROM 및 RAM 구성의 기억장치(28)를 포함하고, 명령어에 의해 지정된 어드레스에 따라 상기 데이타 버스의 비트값을 선택 출력하는 데이타 버스 선택 출력 수단(5)과, 선택된 비트 및 지정 어드레스에 대응하여 명령어 해독과 연산을 수행하는 다수의 논리소자로 구성되는 사용자 래더 명령 해독 연상처리수단(6)과 연산결과를 저장 또는 출력하는 스택(7),(8)으로 상호 연결구성됨을 특징으로 한다.
본 발명에서 사용한 CPU는 이를테면 Z-80 계열의 8비트 프로세서로서 이에 동등한 레벨 또는 그 이상이어도 좋다.
그리고 기억장치에 있어 그 사용되는 메모리 공간의 할당은 제5도에 나타낸 바와 같다.
본 발명에 따른 메모리 맵의 구성은 컴퓨터 시스템의 기본적인 흐름을 제어하는 운영체제(OS)가 포함된 시스템 ROM 영역(51)이 0000h∼3FFFh에 걸쳐 할당되고 C000h부터는 유저를 위한 영역(52)으로서 이곳에 사용 프로그램이 저장된다. 컴퓨터 시스템 자체를 위한 ROM 영역과 유저 영역외의 4000h∼BFFFh까지는 본 발명의 회로동작에 관련하여 할당되는 영역(53)으로 제3도 및 제4도의 구성된 하드웨어에 직접 관여한다.
특히 하드웨어에 직접 관여하는 메모리 영역에 대해서는 이후 기술되는 내용에 따라 명백해질 것이다.
제2도(a)는 제5도에 도시한 시스템의 메모리 맵중 사용자 프로그램 영역인 번지 'C000H'부터 소정의 명령어 코드 및 오퍼랜드가 저장되어 있는 일예를 나타낸 것이다. 제2도(a)에 있어서 'LD'는 로드(load) 명령어에 대한 니마닉(mnemonic)으로서 LD A, (8000H)는 번지 '8000H'의 내용을 CPU내의 'A'레지스터로 데이타를 전송하기 위한 명령어를 나타내며 이에 대한 머신코드는 34H, 00H, 80H로서 사용자 프로그램 영역의 메모리 번지 'C000H'부터 차례대로 저장된다. 연이어 저장된 코드의 의미는 상기하는 바와 같이 해석될 수 있다.
상기와 같은 머신코드는 CPU와 기억장치등을 갖는 범용의 데이타 저장장치에서 문제없이 처리된다.
이러한 관점에거 제3도에 도시한 바와 같이 CPU(1)와 기억장치(28)를 갖는 데이타 처리장치에 본 발명에 따른 래더 명령 연산처리부(29)을 결합시키므로써 상기의 일련의 명령어 처리를 사용하여 하드웨어적으로 래더 명령어가 고속처리될 수 있다.
제2도(b)는 앞서 설명한 일예를 든 제1도에 준하여, 래더 명령어의 니마닉과 각 명령에 대응하는 어드레스 할당값을 표한 것이다. 여기서 제2도(a)와 (b)는 상호 대응관계에 있음을 유의한다.
각각의 래더 명령어를 사용하여 원하는 바 작업을 행하려고 할 때 이 명령어는 제3도의 회로로 부터 처리될 수 있는데 이에 대해 하기에 상세히 설명한다.
제2도(b)에서 레더 명령어인 'STR 0003'이 처리되기 위해서 대응하는 머신코드는 LD A, (8000H)와 LD (4808H), A 이다.
8000H번지부터는 제7도와 같이 데이타가 수록되어 있는데 상기 예에서 8000H번지는 채널 0에 대하여 각 비트위치에 대하여 입력스위치를 구분 지정하고 있다. 이 번지의 내용은 CPU의 A레지스터로 옮겨진 후에, LD(480BH), A 명령에 의해서 A의 값은 480BH번지로 전송된다.
그런데 제6도에서 보듯이 래더 명령어 'STR'에 대해서 480Xh(h는 16진수, X는 임의의 숫자)로 할당되어 있음을 볼 수 있는데 이 때 표에서 보듯이 'X'값은 8h 내지 Fh일 수 있다. 즉 상기의 480Bh에 관련하여 어드레스 A15∼A10중 A15∼A11는 래더 연산처리 회로의 선택번지이므로 이 번지가 어드레스 버스상에 있을때 제3도의 래더 명령처리부(29)가 유효함을 의미한다.
제6도에서 보듯이 어드레스 A10∼A7은 명령어 선택을 위한 신호군으로서 STR 명령어에 대해서 '0'의 값으로 할당되어 있고, 마찬가지로 A6,A5는 제어용 스택제어를 위한 값, A4,A3는 연산용 스택제어를 위한 값, A2∼A0은 데이타 비트 선택을 위한 것이다.
따라서, LD (480Bh), A에 의해 어드레스 버스상의 480Bh값에 따라 A15∼A11는 제3도의 래더 명령처리부(29)를 동작상태에 놓이게 한다. 즉 A15∼A11은 메모리 디코더(2)에 인가되어 CPU의 WR과의 논리 OR에 의해(도시없음) 이 메모리 디코더(2)는 EO신호를 출력하여 래더 명령해독 연산처리부(6)에 인가된다. 데이타 버스상의 값은 CPU의 A레지스터값으로서 이는 A2∼A0를 데이타 비트선택을 위한 제어신호로 입력받는 멀티플렉서(5)에 가해져 그 중 어느 비트값만이 Y단자를 통해 출력되어 래더 명령 해독처리부(6)에 인가된다.
다수의 신호를 받은 언급한 레더 명령 해독처리부(6)의 상세도는 제4도에 나타낸 바와 같다.
어드레스 버스의 A10∼A7는 명령선택신호로서 이 신호는 명령해독기인 디코더(10)로 입력되어 제6도의 각 명령어에 대한 A10∼A7의 서로 다른 값에 따라서 디코더는 각 명령어에 대한 대응하는 출력을 해당된 핀으로 부터 출력하여 연이은 AND 또는 OR게이트에 인가한다. STR에 대하여 제1의 AND게이트(11)에 인가되는 디코더의 출력신호는 동시에 내부 클럭 발생부(9)로 인가되고 있다.
이 때, 제3도에서는 2개의 스택이 연결되어 있는데 이 스택의 동작을 제어하는 신호는 어드레스로 부터 제공되고 있다. STR에 의해서 제어용 스택(8)에는 A6,A5가 각각 0, 0으로 NO(동작없음)와, 연산용 스택(7)에는 A4,A3가 각각 0,1으로 쉬프트 라이트(shift right)를 지령한다.
메모리 디코더(2)의 신호(EO)와 명령 선택을 위한 디코더(10)의 신호를 받는 내부 클럭 발생부(9)의 출력(CA)는 상기 스택(7),(8)의 클럭단자(CLK)에 공급되어 이 신호에 동기하여 래더 명령 해독 연산처리부(6)로 부터의 연산 결과값이 현재 쉬프트 라이트 동작되는 상기한 연산용 스택(7)에 인가되어 스택에 저장된다. 즉, AND게이트(22)와 OR게이트(24)는 스택에 대해 쉬프트 조작이 필요한 명령에 대해서 클럭을 발생시키기 위한 것이다.
상기한 연산결과 값은 레더 명령 해독 연산처리부(6)내의 D플립플롭(21)에 저장된 값이다. 이것은 또다른 클럭에 의해서 출력되는데 이 클럭은 메모리 디코더(2)의 출력(E0)과 명령선택신호(A7∼A10)중 어드레스 A0와의 AND 논리에 의해 제공된다.
그리고, 연산용 스택 출력(QA')은 래더명령 해독 연산처리부(6)에 입력(TS)되어 현재 수행된 STR명령에 의해 D플립플롭(21)에 저장되기 이전의 저장된 연산결과 값이다.
그리고 도면에는 제6도의 명령과는 달리 MCS 및 MCR 처리에 대한 표식이 없으나 이는 명령 해독 연산된 신호를 모두 OR 논리하는 OR게이트(19)와 D플립플롭(21)간의 연결된 AND게이트(20)에 의해서 처리된다. 이 AND게이트(20)는 또한 제어용 스택(8)의 출력을 받고 있다. 상기 두 명령어에 대해 부연설명을 하면 MCS 명령은 공급되는 전원을 조건부로 공급하도록 하기위한 명령어로 예를들어 1개의 스위치 상태에 대해 여러개의 스위치 회로가 직렬 접속된 형태로 구성될 때 회로설계의 용이성을 위해 도입된 명령어이며 MCR은 MCS 명령의 해제를 의미한다.
본 발명의 회로에서 연산결과를 저장하는 D플립플롭(21)의 출력은 스택에 공급됨과 아울러 3상태 버퍼(25)로 입력되고 있다. 메모리 디코더의 출력(E1)에 의해 선택 출력되는 상기 3상태 버퍼의 출력(S)은 제어대상의 전기회로에 공급되는 데이터의 일부를 구성한다(제3도 참조).
상기의 과정은 STR 0003명령에 이어 AND 0011, OR 0003에 있어서도 마찬가지로 적용된다.
어느 경우이든 여러 래더 명령의 실행은 이 처리를 위해 사용된 CPU의 다양한 명령어중 단지 바이트 전송 명령어 즉 LD 명령어만으로 완전히 이루어질 수 있고 속도면에서 고찰해 볼 때 예를들어, 8㎒의 'MD64180'과 같은 CPU를 채용하였을 경우라도 LD 명령만으로 래더 프로그램이 작동되므로 LD A, (㎜)는 12T의 싸이클, LD(㎜), A는 13T의 싸이클이 소요되어 결국 25T/8㎒≒3.125㎲ 이므로 명령어 처리상 31.25㎲의 시간만이 요구되어 고속처리가 가능한 것이다. 더우기 사용되는 부품수가 적고 범용이기 때문에 매우 저렴한 레벨에서 하드웨어 구성이 가능하여 래더 명령 처리 시스템에 본 발명은 만족스럽게 적용된다.
Claims (2)
- 레더 명령어에 의한 프로그램 제어되는 제어시스템의 래더 명령어 처리수단은, 데이타 버스와 어드레스 버스로 상호 연결되는 중앙처리장치(1)와, ROM 및 RAM 구성의 기억장치(28)를 포함하고, 명령어에 의해 지정된 어드레스에 따라 상기 데이타 버스의 비트값을 선택 출력하는 데이타 버스 선택 출력 수단(5)과, 선택된 비트 및 지정 어드레스에 대응하여 명령어 해독과 연산을 수행하는 다수의 논리소자로 구성되는 사용자 래더 명령 해독 연산처리수단(6)과, 연산결과를 저장 또는 출력하는 스택(7),(8)으로 상호 연결구성됨을 특징으로 하는 래더 명령 처리장치.
- 제1항에 있어서, 상기 래더 명령 해독 연산처리수단(6)은 제4도와 같이 명령선택신호(A7∼A10)를 받아 명령해독을 행하는 명령 해독 디코더(10)와, 각 명령어에 대응한 디코더 출력과 데이타 비트 선택된 신호(D1)와 더불어 래더 명령어에 대한 연산을 행하도록 다수의 AND 및 OR게이트로 구성되는 래더 명령 연산처리부(27)와, 이 처리부(27)의 결과를 스택에 저장 또는 데이타 이동을 행하도록 클럭 발생부(9)가 연결 구성됨을 특징으로 하는 래더 명령 처리장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910004711A KR940000221B1 (ko) | 1991-03-25 | 1991-03-25 | 래더명령 처리장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910004711A KR940000221B1 (ko) | 1991-03-25 | 1991-03-25 | 래더명령 처리장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR920018547A KR920018547A (ko) | 1992-10-22 |
KR940000221B1 true KR940000221B1 (ko) | 1994-01-12 |
Family
ID=19312499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910004711A KR940000221B1 (ko) | 1991-03-25 | 1991-03-25 | 래더명령 처리장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR940000221B1 (ko) |
-
1991
- 1991-03-25 KR KR1019910004711A patent/KR940000221B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR920018547A (ko) | 1992-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0169565B1 (en) | Microprocessor compatible with any software represented by different types of instruction formats | |
EP0019392A2 (en) | Instruction register sequence decoder for microprogrammed data processor and method | |
EP0238090A2 (en) | Microcomputer capable of accessing internal memory at a desired variable access time | |
US4037213A (en) | Data processor using a four section instruction format for control of multi-operation functions by a single instruction | |
JPS6361691B2 (ko) | ||
US4346437A (en) | Microcomputer using a double opcode instruction | |
EP0034180A4 (en) | SPECIAL ADDRESS GENERATION DEVICE. | |
KR970004473B1 (ko) | 마이크로 프로세서 | |
US5375218A (en) | DMA channel control apparatus capable of assigning independent DMA transfer control line to respective expansion slots | |
EP0229734A2 (en) | Microprogram control device | |
US4661925A (en) | Computer control memory apparatus providing variable microinstruction length | |
US4153942A (en) | Industrial control processor | |
KR940000221B1 (ko) | 래더명령 처리장치 | |
US4831572A (en) | Polynomial vector arithmetic operation control system | |
JPS6042966B2 (ja) | デ−タ処理システム | |
US4337510A (en) | Read control system for a control storage device | |
US4879678A (en) | Programmable sequence controller with operation codes partially supplying jump to addresses of machine language instruction | |
US20040024992A1 (en) | Decoding method for a multi-length-mode instruction set | |
EP0843253B1 (en) | A method for reducing the number of bits needed for the representation of constant values in a data processing device | |
JPH1091430A (ja) | 命令解読装置 | |
KR100329373B1 (ko) | 개선된바이트-스위칭연산기 | |
EP0232796B1 (en) | Pseudo-microprogramming in microprocessor with compressed control rom and with strip layout of busses, alu and registers | |
JP2002312005A (ja) | プログラマブルコントローラ | |
CA1270572A (en) | Microprogram control device | |
KR200142909Y1 (ko) | 입출력 인터페이스 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20091230 Year of fee payment: 17 |
|
LAPS | Lapse due to unpaid annual fee |