KR950009687B1 - 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치 - Google Patents

프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치 Download PDF

Info

Publication number
KR950009687B1
KR950009687B1 KR1019920011576A KR920011576A KR950009687B1 KR 950009687 B1 KR950009687 B1 KR 950009687B1 KR 1019920011576 A KR1019920011576 A KR 1019920011576A KR 920011576 A KR920011576 A KR 920011576A KR 950009687 B1 KR950009687 B1 KR 950009687B1
Authority
KR
South Korea
Prior art keywords
data
unit
central processing
address
processing unit
Prior art date
Application number
KR1019920011576A
Other languages
English (en)
Other versions
KR940000980A (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 삼성항공산업주식회사
Priority to KR1019920011576A priority Critical patent/KR950009687B1/ko
Priority to CN93107851A priority patent/CN1054442C/zh
Publication of KR940000980A publication Critical patent/KR940000980A/ko
Application granted granted Critical
Publication of KR950009687B1 publication Critical patent/KR950009687B1/ko
Priority to US08/781,521 priority patent/US5809319A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines

Abstract

내용 없음.

Description

프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치
제1도는 이 발명의 실시예에 따른 프로그램어블 로직 콘트롤러용 고속 래더 명령 처리장치의 블럭도이고,
제2a도, b도는 이 발명의 실시예에 따른 프로그램어블 로직 콘트롤러용 고속 래더 명령 처리장치의 예제 프로그램이고,
제3도는 (a)~(t)는 이 발명이 실시예에 따른 프로그램어블 로직 콘트롤러용 고속 래더 명령 처리장치의 동작 타이밍이다.
이 발명은 프로그램어블 로직 콘트롤러(Programmable Logic Controller : 이하 PLC라 약칭)의 래더명령(Ladder Instruction)을 처리하기 위한 것으로, 특히 프로그램(program)을 이용하여 래더명령을 처리하는 대신 하드웨어(hardware)를 래더명령 처리장치를 구현하여 고속으로 래더 명령이 처리될 수 있도록 한 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치에 관한 것이다.
종래에 PLC의 래더명령을 실행하는 과정을 중앙처리장치(Central Processor Uint)에 의하여 내장된 프로그램을 이용하여 소프트웨어적으로 각 명령을 처리하였다. 그러므로 하나의 명령을 처리하기 위한 처리시간이 수 μs이상이 소요되므로 전체적으로 시스템의 처리속도에 많은 영향을 끼치게 되었다. 그리고 특수한 보조회로를 이용할 경우에는 중앙처리장치를 경유하여 단일 버스(bus)를 사용하게 되므로 하나의 명령을 수행하기 위하여는 여러개의 버스 사이클이 소요되므로 중앙처리장치에 할당되는 시간만큼의 추가 처리시간이 소요되어 역시 하나의 명령을 처리하는데 많은 처리시간이 소요되었다.
그러므로 이 발명의 목적은 상기한 종래의 문제점을 해결하기 위한 것으로 소프트웨어의 동작 순서에 따라 또는 하드웨어적으로 구현할 경우에 단일 버스를 이용하여 래더명령을 처리하는 대신에 다수개의 데이타 버스와 어드레스 버스를 이용하여 한 사이클(cycle) 동안에 명령의 판독/실행동작을 동시에 실행할 수 있도록 하여 명령 처리시간을 줄이기 위한 것이다.
상기한 목적을 달성하기 위한 이 발명의 구성은 전체적인 동작을 제어하는 중앙처리장치와, 중앙처리장치의 어드레스 버스(address bus)와 연결되어 있어 중앙처리장치에서 입력되는 신호를 디코드(decode)하여 각 해당하는 곳으로 출력하는 어드레스 디코더(address decoder)와, 클럭단자와 입력단자로 인가되는 신호에 따라 프로그램(program)이 저장되어 있는 번지수를 순차적으로 카운트하는 프로그램 카운터(program counter)와, 중앙처리장치와 프로그램 카운터에 연결되어 제어신호에 따라 해당되는 하나의 입력선만을 선택하여 입력신호를 출력하는 제1멀티플렉서(multiplexer)와, 제1멀티플렉서의 어드레스 버스와 연결되어 있고 원하는 동작을 실행하기 위하여 사용자에 의하여 작성된 프로그램이 저장되어 있는 사용자 메모리(memory)와, 사용자 메모리(50)에 연결되어 있는 데이타 버스(data bus)를 이용하여 중앙처리장치가 사용자 메모리에 데이타를 저장하거나 판독할 때 그리고 프로그램 카운터의 초기값을 설정할 때 사용되는 제1양방향 버퍼(buffer)와, 사용자 메모리에 저장되어 있는 동작 실행명령이 데이타 버스를 통하여 지정된 순서에 따라 저장되는 실행명령 저장부와, 중앙처리장치와 실행명령 저장부의 명령버스(instruction bus)와 연결되어 제어신호에 따라 해당되는 하나의 입력만을 선택하여 출력하는 제2멀티플렉서와 제2멀티플렉서의 어드레스 버스와 연결되어 있고 각 번지에 사용되는 데이타가 저장되어 있는 데이타 저장부와, 중앙처리장치와 연결되어 중앙처리장치가 데이타 저장부에 데이타를 판독/기록할 수 있도록 하는 제2양방향 버퍼와, 프로그램의 수행/정지 동작을 제어하기 위한 플래그(flag)부와, 플래그부의 상태를 중앙처리장치가 감지할 수 있도록 하는 버퍼부와, 플래그부의 상태에 따라 동작이 수행되고 정지되도록 각 제어단자로 해당되는 적당한 신호를 출력하는 동작상태 제어부와, 명령버스를 통하여 입력되는 신호를 판독하고 입력되는 데이타를 이용하여 동작 수행을 위한 연산동작을 실행하는 명령해독/연산장치로 이루어져 있다.
이하, 첨부한 도면을 참조로 하여, 이 발명의 실시예를 상세히 설명한다. 제1도는 이 발명의 실시예에 따른 프로그램어블 로직 콘트롤러의 고속 래더명령 처리장치의 블록도이고, 제2도는 이 발명의 실시예에 따른 콘트롤러의 고속 래더명령 처리장치의 예제프로그램이고, 제3도는 이 발명의 실시예에 따른 콘트롤러의 고속 래더명령 처리장치의 동작 타이밍도이다.
먼저, 제1도를 참고로 하여 이 발명의 실시예에 따른 구성을 살펴보면 다음과 같다.
전체적인 동작을 제어하는 중앙처리장치(10)와, 중앙처리장치(10)와 연결되어 있는 어드레스 디코더(20)와, 클럭단자(C1)와 입력단자(-L1)로 인가되는 신호에 따라 프로그램이 저장되어 있는 번지수를 순차적으로 카운트하는 프로그램 카운터(30)와, 중앙처리장치(10)와 프로그램 카운터(30)에 연결되어 하나의 입력선만을 선택하여 입력신호를 출력하는 제1멀티플렉서(40)와, 제1멀티플렉서(40)와 연결되어 있고 원하는 동작을 실행하기 위하여 사용자에 의하여 작성된 프로그램이 저장되어 있는 사용자 메모리(50)와, 중앙처리장치(10)가 사용자 메모리(50)에 데이타를 저장하거나 판독할 때 그리고 프로그램 카운터(30)의 초기값을 설정할 때 사용되는 제1양방향 버퍼(60)와, 사용자 메모리(50)에 저장되어 있는 동작 실행명령이 지정된 순서에 따라 저장되는 실행명령 저장부(70)과, 중앙처리장치(10)와 실행명령 저장부(70)에 연결되어 하나의 입력만을 선택하여 출력하는 제2멀티플렉서(80)와, 제2멀티플렉서(80)와 연결되어 있고 각 번지에 사용되는 데이타가 저장되어 있는 데이타 저장부(90)와, 중앙처리장치(10)와 연결되어 중앙처리장치(10)가 데이타 저장부(90)에 데이타를 판독/기록할 수 있도록 하는 제2양방향 버퍼(100)와, 프로그램의 수행/정지 동작을 제어하기 위한 플래그부(110)와, 플래그부(110)의 상태를 중앙처리장치(10)가 감지할 수 있도록 하는 버퍼부(120)와, 플래그부(110)의 상태에 따라 동작의 수행과 정지동작에 알맞은 적절한 신호를 각 제어단자로 출력하여 동작의 제어하는 동작상태 제어부(130)와, 입력단자로 입력되는신호를 판독하여 동작 수행을 위한 연산동작을 실행하는 명령해독/연산장치(140)와, 중앙처리장치(10)가 어드레스 버스를 통하여 필요한 데이타를 기록하고 판독할 수 있는 제1 및 제2메모리부(150, 160)로 이루어져 있다.
상기와 같이 이루어져 있는 이 발명의 동작은 다음과 같다.
먼저 중앙처리장치(10)가 동작하면 제1양방향 버퍼(60)를 이용하여 프로그램 카운터(30)의 입력단자(D)로 “L”의 값을 입력하여 프로그램 카운터(30)의 신호를 “0”으로 초기화시키고, 제1, 제2양방향 버퍼(60,100)의 인에이블(enable)단자(-E)로 입력되는 제어단자(-G1,-G2)의 값이 “H”가 되면 제1, 제2멀티플렉서(40,80)의 입력단자는 프로그램 카운터(30)와 실행명령 저장부(70)의 출력단자와 연결된다.
그러므로 프로그램 카운터(30)에 클럭(C1)이 인가됨에 따라 어드레스 번지수가 하나씩 증가하여 제1멀티플렉서(40)를 거쳐 제2어드레스 버스를 통하여 사용자 메모리(50)에 저장되어 있는 실행명령의 번지수를 차례로 지정하게 된다.
그러므로 해당하는 어드레스에 저장되어 있는 데이타(즉, 실행명령)가 제2데이타 버스를 통하여 출력되어 실행명령 저장부(70)로 저장된다.
실행명령 저장부(70)에 저장되어 있는 소정의 비트로 이루어져 있는 명령코드와 비트번호는 명령해독/연산장치(140)로 입력하고 소정의 비트로 이루어져 있는 워드 어드레스(ward address)는 제2방향 버퍼(100)의 제어신호(-G2)에 따라 실행명령 저장부(70)와 연결되어 있으므로 제2멀티플렉서(80)로 입력된다.
제2멀티플렉서(80)에 저장된 워드 어드레스는 제3어드레스 버스를 통하여 데이타가 저장되어 있는 데이타 저장부(90)로 입력되어 해당하는 어드레스의 데이타가 제3데이타 버스를 거쳐 명령해독/연산장치(140)의 데이타 단자(D)로 입력되고, 제2양방향 버퍼(100)를 통하여 중앙처리장치(10)로 해당하는 데이카를 기록하거나 판독할 수 있도록 한다.
명령해독/연산장치(140)는 실행명령 저장부(70)에서 명령입력단자(I)로 입력되는 명령코드 비트번호 및 데이타 단자(D)로 입력되는 데이타 저장부(90)의 데이타를 이용하여 해독된 실행명령을 실행하게 된다. 실행명령중에 연산결과는 출력하는 “OUT”명령이 판독되면 명령해독/연산장치(140)의 출력단자(OUT)를 통하여 동작상태 제어부(130)로 신호를 입력하므로 동작상태 제어부(130)에서 출력명령에 알맞는 적절한 동작 제어신호를 출력할 수 있도록 한다.
동작실행 제어부(130)는 플래그부(110)의 상태를 항상 확인하여 래더 명령의 행도중 프로그램을 끝내기 위하여 “END”명령이 명령해독/연상장치(140)로 입력되면 플래그부(110)의 클리어단자(C)와 연결되어 있는 명령해독/연산장치(140)의 END단자(END)로 고레벨인 “H”를 출력하여 플래그부(110)를 클리어시켜 출력단자(Q)로 저레벨인 “L”의 값이 출력되도록 한다. 그리고 어드레스 디코더(20)의 인에이블신호(-E3)에 의하여 플래그부(110)의 출력상태를 감지하고 있던 중앙처리장치(10)는 동작상태제어부(130)가 클리어된 플래그부(110)의 상태를 감지하여 프로그램을 종료하기 위한 제어신호를 출력하게 된다.
상기와 같이 동작하는 이 발명의 실시예에 따른 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치의 동작을 제2도와 제3도에 의한 예제 프로그램의 동작을 통하여 좀더 상세하게 설명한다.
처음에 사용자에 의하여 제2a도, b도와 같이 설정된 래더명령의 프로그램과 데이타가 사용자 메모리(50)와 데이타 저장부(90)에 저장된다.
먼저 사용자 메모리(50)에 저장되어 있는 래더명령을 실행하기 위하여 프로그램 카운터부(30)의 초기값을 설정해야 한다. 중앙처리장치(10)가 프로그램 카운터부(30)의 초기값을 설정하기 위하여 어드레스 디코더(20)를 통하여 제3도의 (e)처럼 래치 출력단자(-L1)로 저레벨인 “L”를 출력한다.
래치출력단자(-L1)로 “L”가 출력되면 프로그램 카운터부(30)의 래치입력단자(-L)로 입력되어 프로그램 카운터(30)의 상태를 래치상태로 만들어 놓고 제1, 제2양방향 버퍼(60,100)의 제어신호(-G1,-G2)를 제3도의 (e)처럼 “L”를 출력하여 제1, 제2양방향 버퍼(60,100)을 인에이블시켜 제3도의 (b)처럼 중앙처리장치(10)의 어드레스 단자(D)와 연결되어 있는 제1데이타버스에 실어 “0000”의 값을 제1양방향 버퍼(60)를 통하여 프로그램 카운터(30)의 입력단자로 인가되는 프로그램 카운터(30)의 초기값을 “0”으로 설정하게 된다.
프로그램 카운터(30)의 초기값 설정단계가 완료되면 중앙처리장치(10)가 어드레스 디코더(20)를 통하여 래치출력단자(-L1)와 제어단자(-G1,-G2)로 제3도의 (e)처럼 고레벨인 “H”를 출력하여 프로그램 카운터(30)의 래치입력단자(-L)로 인가한다.
그러므로 래치입력단자(-L)와 연결되어 있던 플래그부(110)의 클럭단자(CK)에 클럭신호가 인가되므로 입력단자(D)로 인가되는 고레벨인 “H”신호가 출력단자(Q)를 통하여 동작상태 제어부(130)의 시작단계(START)로 인가되므로 제3도의 (f)처럼 초기값 설정단계가 끝난 후 “H”신호를 출력하게 되므로 동작상태 제어부(130)는 시작단자(START)의 신호에 따라 프로그램을 처리하기 위하여 적절한 제어신호를 각 제어단자를 통하여 출력하게 된다.
즉 제3도의 (g)처럼 인에이블 단자(-E6, -E7)로 저레벨인 “L”를 출력하여 사용자 메모리(50)와 데이타 저장부(90)를 인에이블시키고 제3도의 (j)~(l)과 (s)처럼 클럭신호(C1,C2,C3)를 출력하고 저장된 데이타를 판독하기 위하여 적절한 판독신호(-RD2,-RD3)를 출력한다.
플러그부(110)의 상태는 어드레스 디코더(2)의 인에이블신호(-E3)를 버퍼부(120)의 인에이블 단자로 출력하여 버퍼부(120)의 출력신호를 제1데이타 버스를 통하여 중앙처리장치(10)가 감지할 수 있도록 한다. 그러므로 래더명령을 실행하고 있는지 아니면 명령이 종료되었는지를 중앙처리장치(10)가 판단하게 된다.
그리고 중앙처리장치(10)의 제1데이타버스와 연결되어 동작하던 제1, 제2양방향 버퍼(60,100)를 디스인에이블(disenable)시키므로 제1, 제2양방향 버퍼(60,100)를 차단시키고 중앙처리장치(10)의 제1어드레스 버스와 연결되어 있던 제1, 제2멀티플렉서(40,80)를 프로그램 카운터(30)와 실행명령 저장부(70)와 연결되어 프로그램 카운터(30)와 실행명령 저장부(70)에서 입력되는 신호를 선택하여 출력하도록 한다. 그러므로 동작상태 제어부(130)의 제어신호에 따라 사용자 메모리(50)에 저장되어 있던 래더명령을 실행할 수 있게 된다.
그러므로 프로그램 카운터(30)의 초기치 값인 “0”인 제1멀티플렉서(40)의 제2어드레스 버스에 제3도의 (h)처럼 어드레스값이 실려 사용자 메모리(50)의 어드레스 단자(A)로 입력되면 사용자 메모리(50)에 저장되어 있는 제2a도의 프로그램 중에서 “0”번지에 해당하는 “STR 0000”의 명령코드인 “0000”이 제3도의 (i)처럼 사용자 메모리(50)의 제2데이타 버스에 실려 클럭단자(C2)에 클럭이 제3도의 (j)처럼 입력될 때마다 실행명령 저장부(70)로 입력된다. 그리고 프로그램 카운터(30)의 클럭신호(C1)가 제3도의 (j)처럼 인가될 때마다 역시 카운터 값이 증가되어 다음에 실행된 실행명령이 어드레스를 지정하게 된다.
실행명령 저장부(70)에 저장된 “STR 0000”의 실행명령 코드인 “0000”“은 제3도의 (m)처럼 명령버스(Instruction bus)에 실리게 되고 명령버스에 실려있는 실행명령 코드 중에서 워드어드레스(Word address)인 “00”은 제2멀티플렉서(80)로 인가된 후 제3어드레스 버스에 제3도의 (q)처럼 “00“의 값이 실려 데이타 저장부(90)의 어드레스를 지정하게 된다.
그리고 실행명령 코드중에서 명령비트와 비트번호인 “00”은 제3도의 (p)처럼 명령입력단자(I)에 실려 명령해독/연산장치(140)로 입력된다.
제3어드레스 버스를 통하여 데이타 저장부(90)의 “00”번지가 지정되면 제2b도)에 도시된 것처럼 데이타 저장부(90)의 “00”번지에 저장되어 있던 “0001“의 데이타가 제3도의 (i)처럼 제3데이타 버스에 실려 명령해독/연산장치(140)로 입력된다.
실행명령 코드와 지정된 번지의 데이타가 입력단자로 입력되면 명령해독/연산장치(140)는 실행명령을 해독하고 입력되는 데이타를 이용하여 제3도의 (l)처럼 클럭단자(C3)로 클럭신호가 인가될 때마다 해독된 명령을 실행하게 된다.
제3도의 (j)와 같이 클럭단자(C1,C2)로 클럭이 인가됨에 따라 실행명령이 저장되어 있는 어드레스의 지정번지가 순차적으로 증가하기 때문에 제3도의 (h)와 (i)처럼 제2어드레스 버스와 제2데이타 버스에 실리는 값도 증가되는 어드레스에 해당하는 정보가 실리게 된다. 그러므로 제3도의 (r)처럼 제3데이타 버스에 출력되는 정보도 제3도의 (j)처럼 클럭신호(C2)에 따라 순차적으로 증가된 번지수에 해당되는 데이타이다.
그러므로 두개의 클럭단자(C1,C2)에 같은 클럭신호가 동시에 입력되기 때문에 전상태에서 판독된 데이타의 연산동작과 새로운 데이타의 판독동작은 동시에 같은 클럭신호에 의하여 동작되어 진다. 그러므로 하나의 클럭신호가 클럭단자(C1,C2)가 인가됨에 따라 실행명령의 연산동작과 데이타의 판독동작이 동시에 이루어지게 된다. 그러므로 데이타의 판독동작과 연산동작이 동시에 실행되기 때문에 전체적으로 시스템의 처리속도가 매우 빠르게 진행될 수 있다.
그러나 클럭신호(C1)에 따라 제2어드레스 버스에 실리는 어드레스값이 “002”이 될때 제2b도에 도시된 것처럼 제2데이타 버스에는 “0002”의 어드레스값에 해당되는 명령이 출력(OUT)명령이므로 출력명령(OUT)의 변환코드인 “6010”이 실리게 된다. 그리고 클럭신호(C1)의 다시 토글(toggle)되면 제2어드레스 버스에 실리는 어드레스값이 제3도의 (h)처럼 증가된 번지값인 “0003”시 실리게 되나 제3도의 (i)처럼 제2데이타 버스에는 소정의 시간(t)동안 지연된 후 번지수 “0003”에 명령변환 코드(1002)가 실리게 된다.
사용자 메모리(50)에서 판독되어 제2데이타 버스에 실린 “OUT 0016”에 해당되는 실행명령 변환코드는 소정의 시간(t)동안에는 출력동작(OUT)을 실행할 수 있도록 클럭단자(C2)의 신호에 의하여 제3도의 (m)처럼 명령버스에 “6010”의 값이 실리게 되어 워드 어드레스인 “01”는 제2멀티플렉서(80)를 통하여 데이타 저장부(90)의 해당하는 번지를 지정하게 되고 명령비트(6)와 비트번호(0)는 명령해독/연산장치(140)의 명령 입력단자(I)로 입력된다.
명령비트와 비트번호가 명령해독/연산장치(140)로 입력된 후 실행명령이 출력명령(OUT)으로 해독되면 명령해독/연산장치(140)이 출력단자(OUT)로 제3도의 (n)처럼 출력동작이 완료될 때까지 일정시간 고레벨인 “H”를 동작상태 제어부(130)로 출력하여 출력동작에 알맞은 제어신호를 출력할 수 있도록 한다.
출력단자(OUT)로 “H”가 입력되면 동작상태제어부(130)는 출력동작을 실행할 수 있도록 다음에 실행될 실행명령이 저장되어 있는 어드레스를 판독할 수 없도록 하기 위하여 제3도의 (j)처럼 클럭단자(C1,C2)와 제2판독단자(-RD2)의 신호를 소정의 시간동안(t) “H”를 유지시켜 사용자 메모리(50)에서 정해진 시간동안 판독동작이 실행될 수 없도록 한다.
그리고 제3어드레스 버스를 통하여 데이타 저장부(90)의 번지(01)를 지정하게 되면 제2b도에 도시되어 있는 것처럼 데이타 “5432H”가 제3도의 (r)처럼 제3데이타 버스에 실려 명령해독/연산장치(140)로 인가된다.
그러므로 명령 연산/해독장치(140)는 잔단계에서 판독한 비트번호의 내용을 연산결과로 치환하고 동작상태 제어부(130)에서 제3기록단자(-WR3)로 일정한 시간동안 “L”를 출력하여 데이타 저장부(90)에 데이타를 저장할 수 있도록 한다. 그러므로 제3기록단자(-WR3)가 “L”를 지속하는 동안 제3데이타 버스를 경유하여 연산결과(5433)가 데이타 저장부(90)에 재저장되게 되고 다시 사용자 메모리(50)에 저장되어 실행명령을 처리할 수 있도록 제2판독신호(-RD2)와 클럭신호(C1,C2)를 제3도의 (j)처럼 출력하여 다음 명령을 판독할 수 있도록 한다.
그리고 데이타 저장부(90)에 데이타가 다시 저장되면 명령해독/연산장치(140)의 출력단자(OUT)로 다시 저레벨인 “L”를 출력하여 출력동작이 완료되었음을 동작상태 제어부(130)로 알리게 되어 동작상태 제어부(130)가 다시 데이타 저장부(90)에 저장되어 있는 데이타를 판독할 수 있도록 제3도의 (s), (t)처럼 판독신호(-RD3)와 기록신호(-WR3)를 제어하게 된다.
그러므로 상기한 것처럼 사용자 메모리(50)에 저장되어 있는 실행명령을 판독하여 명령해독/연산장치(140)에서 해당하는 동작을 계속적으로 수행한 후 래더 프로그램을 마치기 위한 “END”명령의 명령변환 코드인 “F000”이 실행명령 저장부(70)로 저장된 후 명령해독/연산장치(140)에서 “END”명령을 해독하면 명령해독/연산장치(140)의 END단자(END)로 고레벨인 “H”를 제3도의 (o)처럼 출력하여 래더 프로그램 수행동안 항상 “H”를 출력하고 있던 플래그부(110)의 클리어단자(C)를 클리어시킨다.
그러므로 플래그부(110)의 출력단자(Q)로 “L”를 출력하여 항상 플래그부(110)의 출력상태를 감지하고 있던 동작상태 제어부(130)가 플래그부(110)의 “L”신호를 입력받아 END명령이 입력된 것으로 판단하여 프로그램을 마치기 위한 END동작을 실행할 수 있도록 여러 제어단자로 해당하는 신호를 출력하여 중앙처리장치(10)가 플래그부(110)의 상태를 인식하여 프로그램의 종료후에 해당하는 동작을 실행할 수 있도록 한다.
상기와 같이 예제 프로그램을 다수개의 데이타 버스와 어드레스 버스를 갖고 있는 래더명령 처리장치의 동작을 살펴보았다. 상기에서 볼수 있듯이 이 발명의 동작은 명령을 실행하기 위한 실행명령 변환코드의 판독과 판독된 명령을 실행할 수 있는 실행동작이 한 사이클의 동작으로 동시에 이루어질 수 있기 때문에 판독동작과 명령실행동작에 필요한 별도의 시간을 현저히 줄일 수 있다.
그러므로 이 발명의 효과는 하나의 데이타 버스와 어드레스 버스를 이용하여 순차적으로 명령을 판독하고 판독된 명령을 실행하던 동작을 다수개의 어드레스 버스와 데이타 버스를 이용하여 명령을 판독하고 전에 판독된 명령의 실행동작을 동시에 수행하므로 하나의 명령을 판독하여 실행하는 속도를 매우 단축시킬 수 있으며 고속처리를 위한 별도의 부품을 이용하지 않고 종래에 사용되고 있던 구조를 개선하여 실형될 수 있으므로 제작원가의 상승문제를 해결할 수 있다. 그러므로 타사제품과의 경쟁율을 한층 높일 수 있다.

Claims (2)

  1. 전체적인 동작을 제어하는 중앙처리장치와 ; 중앙처리장치의 어드레스 버스와 연결되어 있어 중앙처리장치에서 입력되는 신호를 디코드하여 각 해당하는 곳으로 출력하는 어드레스 디코더와 ; 클럭단자와 입력단자로 인가되는 신호에 따라 프로그램이 저장되어 있는 번지수를 순차적으로 카운트하는 프로그램 카운터와 ; 중앙처리장치와 프로그램 카운터에 연결되어 제어신호에 따라 해당되는 하나의 입력선만을 선택하여 입력신호를 출력하는 제1멀티플렉서와 ; 제1멀티플렉서의 어드레스 버스와 연결되어 있고 원하는 동작을 실행하기 위하여 사용자에 의하여 작성된 프로그램이 저장되어 있는 사용자 메모리와 ; 사용자 메모리에 연결되어 있는 데이타 버스를 이용하여 중앙처리장치가 사용자 메모리에 데이타를 저장하거나 판독할 때 그리고 프로그램 카운터의 초기값을 설정할 때 사용되는 제1양방향 버퍼와 ; 사용자 메모리에 저장되어 있는 동작 실행명령이 데이타 버스를 통하여 지정된 순서에 따라 저장되는 실행명령 저장부와 ; 중앙처리장치와 실행명령 저장부와 명령버스와 연결되어 제어신호에 따라 해당되는 하나의 입력만을 선택하여 출력하는 제2멀티플렉서와 ; 제2멀티플렉서의 어드레스 버스와 연결되어 있고 각 번지에 사용되는 데이타가 저장되어 있는 데이타 저장부와 ; 중앙처리장치와 연결되어 중앙처리장치가 데이타 저장부에 데이타를 판독/기록할 수 있도록 하는 제2양방향 버퍼와 ; 프로그램의 수행/정지 동작을 제어하기 위한 플래그부와 ; 플래그부의 상태를 중앙처리장치가 감지할 수 있도록 하는 버퍼부와 ; 플래그부의 상태에 따라 동작이 수행되고 정지되도록 각 제어단자로 해당되는 적당한 신호를 출력하는 동작상태 제어부와 ; 명령버스를 통하여 입력되는 신호를 판독하고 입력되는 데이타를 이용하여 동작 수행을 위한 연산동작을 실행하는 명령해독/연산장치로 이루어져 있는 것을 특징으로 한 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치.
  2. 제1항에 있어서, 다수개의 데이타 버스와 다수개의 어드레스 버스를 이용하여 명령변환 코드와 데이타를 전송하여 실행 명령을 판독/처리하는 것을 특징으로 하는 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치.
KR1019920011576A 1992-06-30 1992-06-30 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치 KR950009687B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019920011576A KR950009687B1 (ko) 1992-06-30 1992-06-30 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치
CN93107851A CN1054442C (zh) 1992-06-30 1993-06-30 用于可编程逻辑控制器的高速梯形指令处理系统
US08/781,521 US5809319A (en) 1992-06-30 1997-01-09 High speed ladder instruction process system for a programmable logic controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920011576A KR950009687B1 (ko) 1992-06-30 1992-06-30 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치

Publications (2)

Publication Number Publication Date
KR940000980A KR940000980A (ko) 1994-01-10
KR950009687B1 true KR950009687B1 (ko) 1995-08-26

Family

ID=19335598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920011576A KR950009687B1 (ko) 1992-06-30 1992-06-30 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치

Country Status (3)

Country Link
US (1) US5809319A (ko)
KR (1) KR950009687B1 (ko)
CN (1) CN1054442C (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0795153A4 (en) 1994-12-02 2001-11-14 Intel Corp MICROPROCESSOR WITH COMPASS OPERATION OF COMPOSITE OPERANDS
WO1998018078A1 (fr) * 1996-10-24 1998-04-30 Mitsubishi Denki Kabushiki Kaisha Micro-ordinateur dont la memoire et le processeur se trouvent sur une meme puce
US6421817B1 (en) * 1997-05-29 2002-07-16 Xilinx, Inc. System and method of computation in a programmable logic device using virtual instructions
TW200428171A (en) * 2003-06-13 2004-12-16 Delta Electronics Inc Method for controlling single step of the program in programmable logic controller
JP5473817B2 (ja) * 2010-07-23 2014-04-16 三菱電機株式会社 プログラマブルコントローラおよびバス変換器
US20120271968A1 (en) * 2011-04-21 2012-10-25 Microchip Technology Incorporated Logic device for combining various interrupt sources into a single interrupt source and various signal sources to control drive strength
US9450585B2 (en) 2011-04-20 2016-09-20 Microchip Technology Incorporated Selecting four signals from sixteen inputs
CN105843157B (zh) * 2016-03-30 2018-10-12 上海云统信息科技有限公司 具有远程数据追踪捕捉功能的plc系统及其工作方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3982230A (en) * 1974-01-07 1976-09-21 Texas Instruments Incorporated Programmable logic controller with flag storage
US4122519A (en) * 1976-12-14 1978-10-24 Allen-Bradley Company Data handling module for programmable controller
US4417304A (en) * 1979-07-30 1983-11-22 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4742443A (en) * 1985-03-28 1988-05-03 Allen-Bradley Company Programmable controller with function chart interpreter
US5125088A (en) * 1986-09-08 1992-06-23 Compaq Computer Corporation Computer system speed control at continuous processor speed
US4958304A (en) * 1987-03-02 1990-09-18 Apple Computer, Inc. Computer with interface for fast and slow memory circuits
US4972365A (en) * 1987-05-01 1990-11-20 Allen-Bradley Company, Inc. Executing downloaded user programs in a programmable controller
JPH0810428B2 (ja) * 1988-12-26 1996-01-31 三菱電機株式会社 データ処理装置
US5319783A (en) * 1989-03-31 1994-06-07 Allen-Bradley Company Inc. Programmable controller with an operator messaging function
JP2710994B2 (ja) * 1989-08-29 1998-02-10 三菱電機株式会社 データ処理装置
US5225974A (en) * 1990-10-30 1993-07-06 Allen-Bradley Company, Inc. Programmable controller processor with an intelligent functional module interface
US5390350A (en) * 1991-04-22 1995-02-14 Western Digital Corporation Integrated circuit chip core logic system controller with power saving features for a microcomputer system

Also Published As

Publication number Publication date
CN1054442C (zh) 2000-07-12
CN1080740A (zh) 1994-01-12
US5809319A (en) 1998-09-15
KR940000980A (ko) 1994-01-10

Similar Documents

Publication Publication Date Title
KR950009687B1 (ko) 프로그램어블 로직 콘트롤러용 고속 래더명령 처리장치
JP3710262B2 (ja) コプロセッサを使用するための電子回路及び方法
US4047245A (en) Indirect memory addressing
US3480917A (en) Arrangement for transferring between program sequences in a data processor
WO1988004449A1 (en) Arrangement for controlling memory operations in a pipeline processor
US4831572A (en) Polynomial vector arithmetic operation control system
KR0153537B1 (ko) 메모리 번지 데이타를 선행 선택하는 신호처리 구조
JPH0830971B2 (ja) プログラマブルコントローラ
JP2784001B2 (ja) プログラマブルコントローラの命令処理回路
JPH0475137A (ja) データ処理装置
KR940009427B1 (ko) 어드레스공간 변경방법 및 장치
US5448524A (en) Semiconductor memory device
JP2569693B2 (ja) マイクロコンピュータ
JPS6242301B2 (ko)
JP2504974B2 (ja) シ−ケンサの高速演算処理方式
JP3182796B2 (ja) 中央演算処理装置
JPH04370832A (ja) プロセッサ回路
JPS62145430A (ja) デ−タ処理装置
JP2819753B2 (ja) パイプライン・マイクロプロセッサ
JPH0128416B2 (ko)
KR950003884B1 (ko) 퍼스컴 버스 인터페이스 회로
JPH0836499A (ja) マイクロコンピュータ
JPS6156820B2 (ko)
JPS6116085B2 (ko)
JPS6321276B2 (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: 20080825

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee