KR920006970B1 - 프로그래머블 콘트롤러의 연산처리장치 - Google Patents

프로그래머블 콘트롤러의 연산처리장치 Download PDF

Info

Publication number
KR920006970B1
KR920006970B1 KR1019890018487A KR890018487A KR920006970B1 KR 920006970 B1 KR920006970 B1 KR 920006970B1 KR 1019890018487 A KR1019890018487 A KR 1019890018487A KR 890018487 A KR890018487 A KR 890018487A KR 920006970 B1 KR920006970 B1 KR 920006970B1
Authority
KR
South Korea
Prior art keywords
data
output
circuit
cpu
address
Prior art date
Application number
KR1019890018487A
Other languages
English (en)
Other versions
KR910012906A (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 KR1019890018487A priority Critical patent/KR920006970B1/ko
Publication of KR910012906A publication Critical patent/KR910012906A/ko
Application granted granted Critical
Publication of KR920006970B1 publication Critical patent/KR920006970B1/ko

Links

Images

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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

내용 없음.

Description

프로그래머블 콘트롤러의 연산처리장치
제1도는 종래의 레더 다이어그램 개요도.
제2도는 본 발명에 따른 블럭도.
제3도는 본 발명에 따른 상기 순차제어회로(Sn)에서 발생하는 타이밍도.
제4도는 본 발명에 따른 실시예 레더 다이어그램도.
제5도는 본 발명에 따른 제2도의 버퍼(BUF1)의 구체회로도.
제6도는 본 발명에 따른 레더 다이어그램상의 한 논리블럭이 어드레스 메모리에 보관되는 포멧도.
제7도는 본 발명에 따른 어드레스 메모리의 사용예시도.
제8도는 본 발명에 따른 구성요소 처리도.
제9도는 본 발명에 따른 버퍼(BUF0)의 구체회로도.
제10도는 본 발명에 따른 제2도의 데이터 메모리(DM0-DM7)의 맵도.
제11도는 본 발명에 따른 제2도의 데이 타래치(DL0-DL3)의 출력상태도.
제12도는 본 발명에 따른 제2도의 2차원 논리연산회로(2DLSU)의 구체회로도.
제13도는 본 발명에 따른 제12도의 2차원 논리연산회로(2D0-2D3)의 한 부분을 구체적으로 도시하고 동작을 설명하는 예시도.
제14도는 본 발명에 따른 타이밍도.
본 발명은 프로그래머블 콘트롤러에 있어서, 레더다이어그램(Ladder Diagram)에 의한 논리연산 처리장치에 관한 것으로서, 특히 프로그래머블 콘트롤러(이하 "PLC"라 칭함)에서 레더 다이어그램에 의해 작성된 사용자 프로그램을 블럭단위로 2차원 연산처리하여 처리속도를 향상시킬 수 있는 프로그래머블 콘트롤러의 연산처리 장치에 관한 것이다.
PLC(Programmable Logic Controller)는 공장자동화에 사용되는 핵심기기중의 하나로서, 여러 가지 입력 신호를 받아들이어 사용자의 프로그램에 의해 처리하여 적절한 출력신호를 내보내는 것을 기본 동작으로 한다. 그리고 사용자 프로그램은 여러 가지 형태로 작성되어지는데, 그중 레더 다이어그램에 의한 것이 가장 보편적이고, 일반적인 형태이다. PLC에서 처리되는 레더 다이어그램에 의한 논리연산을 PLC분야 뿐만 아니라 입력된 신호의 논리연산을 통한 데이터 처리방식이 요구되는 모든 기기분야등에 이동되어 질 수 있다. PLC에서 사용되는 레더 다이어그램의 개요를 살펴보면, 레더 다이어그램은 PLC에서 사용자가 작성하여 사용하는 프로그램중 한가지 형태로서 기본적으로 AND, OR의 논리연산을 수행한다. 이들 예는 제1도와 같이 은 형태로 도시화 할 수 있다. 상기 레더 다이어그램을 불(Boolean)알고리즘을 사용하여 수식으로 표현하면 아래와 같다.
Y1=(X1+X2)X3[X4X5X6(X9+Y2)]X10
(Y : 출력신호, X : 입력신호)
위의 식에 의한 조건이 만족되었을 때, 출력신호 Y1이 온이되고, 그반대의 경우 Y1이 오프된다. 그리고, 위 레더 다이어그램을 불언어를 사용하여 표현하면 다음과 같다.
STR X1
OF X2
AND X3
STR X4
AND-NOT X5
AND X6
STR X7
AND X8
AND X9
OR-NOT Y2
AND-STR
AND X10
OUT Y1
(f) OR-STR, AND-STR( ), [ ]에 의한 블럭별 연산을 표현하기 위한 것이다.
현재 대부분의 PLC는 레더 다이어그램과 불 언어에 대한 프로그램이 가능하며, PLC가 실제 연산을 수행하는 것은 불 언어(Boolean Language)에 의한 프로그램을 기초로 하므로 레더 다이어그램에 의한 프로그램을 내부에서 불 언어 형태로 변환되어진다. 한편 출력 명령은 기본적인 출력 명령이외에도 데이터 전송에 관한 명령, 데이터 연산에 관한 명령, 프로그램 수행에 관한 명령등이 있다. PLC에서 레더 다이어그램에 의한 연산처리방법을 살펴보면, 위에서 언급한 것과 같이 PLC는 레더 다이어그램에 의해 프로그램이 작성되더라도 불 언어 형태의 프로그램으로 변환되어 논리연산이 이루어지는 것이 일반적이다. 이러한 연산 방법에는 크게 S/W 및 H/W에 의한 두가지 방법이 있다.
상기 S/W에 의한 방법은 불 언어형태의 프로그램수행시 각 스텝의 동작을 전적으로 실행 S/W에 의해 처리하는 것이다. 즉 각 스텝의 실행내용과 데이터를 S/W적으로 판단, 실행하여 결과를 처리하는 것이다.
이렇게 S/W에 의해 실행하는 방법은 시스템 개발에는 편리한 장점이 있지만, 실행시간이 길어지는 단점이 있다.
한편 S/W 및 H/W에 의한 방법은 프로그램수행시 스텝별로 처리하는 방법으로 상기 S/W방법과 동일하나. 각 스텝중 기본 스텝의 처리는 H/W에 의해 처리하고 나머지 응용 스텝처리만 S/W에 의해 처리하는 방법이다. 즉 기본 스텝을 처리하기 위한 특수한 H/W를 설계하여 동작시킴으로써 기본 스텝은 H/W로 처리하고, 응용 스텝은 각 스텝별 처리루틴이 S/W로 처리하는 것이다. 일반적으로 PLC 프로그램은 기본 스텝과 응용 스텝의 포함비율이 8 : 2정도로 기본 스텝이 대부분을 차지하므로 이와 같은 방법의 사용이 개발시에는 다소 어려움이 있지만, 실행시간을 현저하게 감소시킬 수 있는 것이 특징이다. 그러나 현재 대부분의 PLC는 상기 S/W 및 H/W에 의한 방법과 같이 S/W 및 H/W에 의해 프로그램을 실행하고 있으나 각 스텝별로 한 스텝씩 처리해 나가는 방법이므로 실행속도에 한계가 따르는 문제점이 있었다.
따라서 본 발명의 목적은 PLC에서 레더 다이어그램에 의해 작성된 사용자 프로그램을 블럭단위로 2차원 연산처리를 하여 기존의 명령어별 처리에 의해 수배의 처리속도를 향상시킬 수 있는 장치를 제공함에 있다.
이하 본 발명을 첨부된 도면을 참조하여 상세히 설명한다.
제2도는 본 발명에 따른 블럭도로서, 입력명령어에 따라 제어 프로그램을 실행하여 데이터 처리에 의해 제어신호 및 데이터를 출력하는 중앙처리장치(CPU)와, 상기 중앙처리장치(CPU)와 데이타 버스(11)와 연결되어 입출력을 결정하여 출력하는 결과처리회로(RPU)와, 상기 결과처리회로(RPU)의 출력을 받아 제어클럭 및 인에이블신호를 발생하는 순차제어회로(SU)와, 상기 순차제어회로(SU)의 출력신호에 의해 상기 중앙처리장치(CPU)에서 발생하는 어드레스신호를 디코딩하여 타이밍 클럭신호를 발생하는 타이밍 디코딩회로(TDU)와, 상기 순차제어회로(SU)의 출력신호에 의해 상기 중앙처리장치(CPU)의 어드레스신호를 논리화하여 제어신호를 발생하는 제어장치(CU), 상기 제어장치(CU)에서 발생하는 제어신호에 따라 중앙 처리장치(CPU)에서 발생하는 어드레스 버퍼링하는 버퍼(BUF2)와, 상기 제어장치(CU)에서 발생하는 인에이블 제어신호에 의해 상기 결과처리장치(CU)에서 발생하는 데이터를 데이터를 버퍼링하는 버퍼(BUF0, BUF1)와, 상기 타이밍의 코딩회로(TDU)에서 발생하는 클럭신호에 상기 중앙처리장치(CPU)에서 어드레스신호를 저장하는 어드레스메모리(AM0-AM7)와, 상기 제어장치(CU)에서 발생하는 인에이블신호에 의해 상기 어드레스 메모리(AM0-AM7)의 출력과 버퍼(BUF1)의 출력을 선택하는 선택회로(IS0-IS7)와, 상기 타이밍 디코딩회로(TDU)에서 발생하는 클럭신호에 따라 상기 선택회로(IS0-IS7)의 출력과 버퍼(BUF2)의 출력데이터를 저장하는 데이터 메모리(DM0-DM7)와, 상기 선택회로(IS0-IS7) 및 데이터 메모리(DM0-DM7), 버퍼(BUF0)의 출력데이터를 논리적으로 변환하는 논리변환부(LI)와, 상기 논리변환부(LI)의 출력을 순차 제어회로(SU)에서 발생하는 신호에 따라 래치하는 데이터 래치(DL0-DL3)와, 상기 데이터 래치(DL0-DL3)의 출력데이터를 받아 2차원으로 논리적으로 연산하여 상기 결과처리회로(RPU)로 출력하는 논리연산부(2-D LSU)로 구성된다.
제3도는 본 발명에 따른 상기 순차 제어회로(SU)에서 발생하는 타이밍도로써, (1)의 상태는 입력장치로부터 새로운 입력데이터를 받아들이고, (2) 상태는 프로그램을 실행하는 단계이며, (3)의 상태는 처리된 결과에 의해 데이터를 출력하는 단계이며, (4)의 상태는 주변장치로부터 요구사항처리, 자체진단등을 수행하는 단계이다.
제4도는 본 발명에 따른 실시예 레더 다이어그램도이다.
제5도는 본 발명에 따른 제2도의 버퍼(BUF1)의 구체회로도로써, 결과처리회로(TPU)의 출력데이터버스(D0-D13)가 버퍼회로(BU1-BUn)의 입력단에 연결되고 상기 버퍼회로(BU1-BUn)의 출력단이 어드레스 메모리(4M0-4M7)의 데이터 버스(D0-D13)에 연결되며, 제어회로(CU)에서 발생하는 제어신호가 버퍼회로(BUF1-BUF2)의의 인에이블단(E)에 인가되도록 구성된다.
제6도는 본 발명에 따른 레더 다이어그램상의 한 논리블럭이 어드레스 메모리에 보관되는 포맷도이고, 제7도는 본 발명에 다른 어드레스메모리의 사용예시도이다. 제8도는 본 발명에 다른 구성요소 처리도로서, 제8a도는 어드레스 메모리의 데이터 포맷도이고, 제8b도는 어드레스 메모리(AM0-AM7)와 데이터메모리(DM0-DM7)간의 구체적으로 구성한 회로도, 제8c도는 데이터 메모리(DM0-DM7)의 출력테이블 예시도이다.
제9도는 본 발명에 따른 버퍼(BUF0)의 구체회로도로서, 상기 데이터 메모리(DM0-DM7)의 출력단과 데이터버스를 입출력단을 가지며 인에이블단(E)이 제어회로(CU)의 출력단과 연결된다.
제10도는 본 발명에 따른 제2도의 데이터 메모리(DM0-DM7)의 맵도이다.
제11도는 본 발명에 따른 제2도의 데이터 래치(DL0-DL3)의 출력상태도.
제12도는 본 발명에 따른 제2도의 2차원 논리연산회로(2-DLSU)의 구체회로도로써, 제12도에서 각 2차원 논리연산회로(2D1-2Dn)의 디플립플롭의 클럭단(G)의 입력은 순차제어회로(SU)에서 공급되고, 앤드게이트 출력이 오아게이트(OR1)에서 논리합되어 결과처리회로(RPU)에 인가된다.
제13도는 본 발명에 따른 제12도의 2차원 논리연산처리(2D0-2Dn)의 한부분을 구체적으로 도시하고 동작을 설명한 예시도로서, 제13a도는 디플립플롭 출력상태도이고, 제13b도는 2차원 논리연산회로 구성예시도이다. 제13c도, 제13d도는 AND, OR논리를 실현하기 위한 2차원 논리연산회로 구성된다.
제14도는 본 발명에 따른 타이밍도로서, 제14a도는 시스템 클럭 타이밍도이고, 제14b도는 어드레스 메모리(AM0-AM7)의 데이터 파형되고, 제14c도는 데이터 메모리(DM0-DM7)의 데이터 파형이며, 제14d도는 데이터 래치(DL0)의 인에이블 파형이고, 제14e도는 어드레스/데이터 메모리(AM0-AM7)/(Dm0-DM7)의 제어 데이터 파형이며, 제14f도는 2차원 논리연산회로의 입력클럭 파형도이고, 제14g도는 2차원 논리연산회로의 출력 인에이블 파형도이다.
따라서 본 발명의 구체적 일실시예를 제1도-제4도를 참조하여 상세히 설명하면, PLC시스템에서 런(RUN)모드시 제3도와 같은 순서에 의해 실행된다. 중앙처리장치(CPU)에서 발생되는 어드레스가 어드레스 메모리(AM0-AM7)에 저장되는데, 이는 타이밍 디코딩회로(TDU)에서 발생하는 클럭신호에 따라 저장된다. 그리고 데이터 메모리(DM0-DM7)는 PLC시스템에서 정해진 입출력신호들의 온/오프(High/Low)데이터를 보관하며, 데이터 메모리(DM0)에서 (DM7)까지 데이터 내용은 동일하고, 신호의 입출력은 중앙처리장치(CPU)에 의해 해당 주기동작시(입력 업데이트, 출력업데이트)로 이루어진다.
그리고 어드레스 메모리(AM0-AM7)로서 어드레스 데이터 보관과 데이터 메모리(DM0-DM7)의 입출력 데이터의 보관을 2차원 논리연산시 이루어지지 않고, 프로그램의 실행시 제어장치(CU)에 의해 발생하는 인에이블신호에 의해 버퍼(BUF0-BUF3)를 인에이블하여 어드레스 및 데이터의 흐름을 제어한다. 한편 타이밍 디코딩회로(TDU)에서 발생하는 클럭신호에 의해 어드레스 및 데이터를 어드레스 메모리(AM0-AM7) 및 데이터 메모리(DM0-DM7)에 저장하고, 선택부(IS0-IS7)는 제어회로(CU)에서 발생하는 제어신호에 따라 어드레스메모리(AM0-AM7)의 출력데이터를 선택하여 데이터 메모리(DM0-DM7) 및 논리 변환부(LI)에 입력되도록 한다.
제4도의 래더 다이어그램을 참조하여 본 발명의 실시예를 구체적으로 기술하면 제4도 래더 다이어그램에는 X는 입력신호를 나타내며, Y는 출력신호로 나타낸다. 일반적으로 PLC는 일반 외부 입력, 출력신호외에도 내부 보조신호들은 논리구성상의 오퍼랜드로 사용하나, 여기서는 설명을 용이하게 하기 위해 PLC가 사용할 수 있는 오퍼랜드는 입력 X00-X19, 출력 Y00-Y19로 각각 20개, 10개로 제한한 것으로 한다. 사용자가 정지모드에서 프로그램(Ladder Diagram)의 입력을 완료한다. 중앙처리장치(CPU)는 제어회로(CU)의 명령을 전달하여 제어회로(CU) 선택회로(IS0-7)는 디스에이블, 버퍼(BUF1)은 인에이블시킴으로써 중앙처리장치(CPU)가 어드레스 메모리(AM0-AM7)을 억세스할 수 있도록 한다. 버퍼(BUF1)의 연결은 제5도와 같다. 중앙처리장치(CPU)가 어드레스 메모리(AM0-7)중 어느 것을 억세스할 것인지는 제어회로(CU)내 디코딩회로에서 결정되며, 이를 위해 어드레스 메모리(AM0-7)의 C신호중 칩선택 신호가 타이밍 디코딩회로(TDU)에 연결된다.
한편 중앙처리장치(CPU)는 어드레스 메모리(AM0-7)을 억세스하여 한 논리구성 블럭상의 엘레멘트(element)(입력, 출력신호)들의 데이터(ON/OFF)가 저장되어 있는 어드레스를 제6도와 같은 포맷에 의해 어드레스 메모리를 보관한다. 그리고 사용자가 작성하는 프로그램의 양은 어드레스 메모리의 양에 따라 결정된다. 위에 포맷에 의해 제2도의 래더 다이어그램의 예에 의해 보관되어질 어드레스 메모리의 내용은 제7도와 같다. 위에서 A(OE)는 논리 블럭도에서 사용되는 많은 엘레멘트를 표시하며, 이 경우 항상 일정한 어드레스를 보관시키고, 이 어드레스에는 데이터를 오프하여 보관시킴으로서 사용되지 않은 엘레멘트임을 표시하게 된다. 오프-데이터="0"(LOW) 또한, 논리요소중 보수(complement)로 되어 사용되는 것이 있는데, (예; X05, X07, X13)이 경우 어드레스 메모리(AM)에 보관되는 어드레스중 MSB(most siguificcmt bit)를 표시 비트로 사용하여, 연산처리를 하게되면 이 비트는 데이터 메모리(DM)을 어드레싱 하는데 사용하지 않고 제1도에서와 같이 데이터 메모리(DM)에서 출력된 데이터 비트와 익스클루시브 오아를 수행하게 하여 보수(complement)된 요소는 해당 데이터를 반전(Inventing)시키게 된다. 제2도에서 보면 어드레스 메모리(AM)의 어드레스는 13라인이므로 사용자는 최대 8048개의 논리 요소를 사용하여 프로그램을 작성할 수 있으며, 데이터는 14라인이므로 MSB를 제외한 13라인을 사용하여 입, 출력신호를 어드레싱하므로 최대 8048개의 입, 출력을 사용할 수 있다.
그리고 중앙처리장치(CPU)는 시스템이 런 모드인지를 확인한 후 런모드이면 입력 업데이트는 중앙처리장치(CPU)가 제어회로(CU)에 명령을 전달하여 제어회로(CU)가 IS0-7을 OISABLE, BUF0와 BUF2는 인에이블시킴으로서, 중앙처리장치(CPU)가 데이터 메모리(DM0-7)을 억세스할 수 있도록 한다. 버퍼(BUF2)의 연결은 제5도와 같으며, 버퍼(BUF0)의 연결은 제9도와 같다. 중앙처리장치(CPU)는 데이터 메모리(DM0-7)을 억세스하여 입력장치로부터 받아들인 데이터(0 or 1)를 데이터 메모리(DM0-7)에 보관시킨다. 즉, 데이터 메모리(DM0-7)은 같은 어드레스에는 똑같은 데이터가 들어있게 된다. 이 경우 데이터 메모리(DM0-7)의 C신호중 칩셀렉터신호는 같이 연결되어 있어 데이터 메모리(DM0-7)이 동시에 억세스된다. 데이터 메모리(DM0-7)은 1비트 데이터 메모리로서 메모리 맵은 제10도와 같다. 중앙처리장치(CPU)는 선택회로(IS0-7)은 1비트 데이터 메모리로서 메모리 맵은 제10도와 같다. 중앙처리장치(CPU)는 선택회로(IS0-7)을 인에이블 버퍼(BUF0, 1, 2)를 디스에이블시켜 어드레스메모리(AM)과 데이터 메모리(DM)의 데이터가 중앙처리장치(CPU)로 억세스되는 것이 아니고 2차 논리연산회로(2-D LSU)쪽으로 억세스되도록 한다. 실제 프로그램실행에 의한 연산처리를 제4도의 예를 사용하여 설명한다.
우선 중앙처리장치(CPU)는 어드레스 메모리(AM)상의 첫 번째 U라인 즉, A[E(X, 1)]이 보관되어 있는 어드레스를 발생시키고 어드레스 메모리(AM0-7)을 동시에 칩선택을 한다. 필요한 제어신호는 제어회로(CU)와 타이밍 디코딩회로(TDU)에서 발생된다. 어드레스 메모리(AM0-7)의 데이터 메모리(AM0-7)의 데이터 라인에 데이터가 출력된다. 즉, 제4도의 예에서 보면 A(X01), A(X02), A(X03), A(X04), A(X05), A(X06), A(X07)이 출력되어 MSB를 제외한 나머지 라인은 데이터 메모리(DM)의 어드레스 라인으로 입력되고, 타이밍 디코딩회로(TDU)에서 자동적으로 연속되어 발생된 제어신호에 의해 어드레싱된 해당 입출력신호가 데이터 메모리(DM0-7)의 데이터라인에 출력된다. 데이터 메모리(DM0-7)에서 출력된 데이터 어드레스 메모리(AM)의 MSB와 변환부(LI)에서 익스클루시브 오아된후 순선제어회로(SU)에서 발생된 신호에 의해 데이터 래치 회로(DL0)에 래치된다. 중앙처리장치(CPU)는 어드레스를 1증가시켜 A[E(X, 2)]가 보관되어 있는 어드레스가 되게 하고 위와 같은 방법으로 데이터 래치회로(DL1, DL2, DL3)에 해당 데이터를 래치시킨다. 제4도에 예에 의해 래치된 데이터의 상태는 제11도와 같다. 데이터 래치(DL3)에 데이터가 래치되는 순간 제어회로(CU)에서 발생된 신호에 의해 순차제어회로(SU)가 2-D LSU를 동작시킨다. 그리고 중앙처리장치(CPU)는 2-D LSD의 동작완료를 기다리게 된다. 2-D LSU의 동작은 제12도를 참조하여 설명한다. 순차제어회로(SU)은 2-D LSU를 동작시키기 위해 2-D LSU의 클럭입력단에 8, 7, 6, 5, 4, 3, 2, 1의 순서로 신호를 주고, 2-D LSU는 이 신호에 의해 로우(Low)단위로 데이터 래치(DL0-3)에 래치된 데이터의 연산처리를 수행한다. 2-D)LSU는 제12도와 같은 구조로 8×4의 논리블럭의 연산처리를 수행하며 첫 번째 로우는 클럭신호에 의해 래치된 데이터를 출력시키고, 나머지 로우는 클럭신호에 의해 래치된 데이터를 출력하여 연산을 수행한다. 여기서 사용된 디플립플롭의 동작은 제13a도와 같다.
2차원 논리연산회로(2-D LSU)내부의 연산회로의 동작은 제13b도와 같아서 B=Q(A1+A2+A3+A4)…(1)와 같이 출력되고 AND, OR동작은 제 13c도와 제13d도와 같아서 제13c도에서 AND의 동작은 *B2=Q2+A2=Q2, B1Q2, Q1, A1…(2) 그러므로 A1을 1로 가정하면 Q1 또는 Q2 즉, D1 또는 D2가 1이어야 함을 알 수 있다. 레더 다이어그램에 의한 논리 연산을 결과적으로 출력이 1(High)이 나오느냐는 것을 판단하는 것이므로 제13c도, 제13d도, AND, OR의 예에서 보았듯이 D가 0인 경우 그 장치는 논리연산결과가 1(High)이 되는데 아무런 작용을 못하게 된다. 즉, D가 0인 회로는 없는 것으로 생각하여도 무방하다.
제14도의 레더 다이어그램에 의한 어드레스 메모리(AM)에서 보면 OE(open delement)에 의한 데이터 메모리(DM)의 값은 항상 0이므로 해당 회로는 없는 것으로 볼 수 있다. 그러므로 2-D LSU의 구조는 제15도와 같이 생각할 수 있다.
상기 2차원 논리연산회로(2D-LSU)에 의한 논리 연산을 식으로 나타내면 다음식과 같다.
Figure kpo00001
제4도의 레더다이어그램에 의한 논리연산을 식으로 나타내면 다음과 같다.
Figure kpo00002
상기 (11), (12)에 의해 2차원 논리연산회로(2-D LSU)는 제4도의 레더 다이어그램과 같은 논리연산을 수행하는 것을 알 수 있다.
(D5=X05, D15-Y02, D13=X13, D16=X15, D17=X16, D7=X07)
위와 같이 2차원 논리연산회로(2-D LSU)에서의 논리연산이 이루어지면 그 연산결과는 순차제어회로(SU)에서의 9번째 출력신호에 의해 결과처리회로(RPU)에 래치되며 중앙처리장치(CPU) 그 연산결과를 가지고 출력명령을 실행한다.
중앙처리장치(CPU)는 출력명령의 실행이 완료되면, 다음 논리블럭의 실행을 위와 같은 순서에 의해 수행하게 된다. 지금까지의 실행에 관한 설명을 타이밍도로 나타내면 제14도와 같다. 중앙처리장치(CPU)는 출력명령 수행시 선택부(IS0-7)를 디스에이블버퍼(BUF0, 2)는 인에이블시킴으로써 데이터 메모리(DM)의 입출력신호 데이터를 억세스하게 된다. 출력데이터 업데이트는 중앙처리장치(CPU)가 선택부(IS0-7)를 디스레이블하고 버퍼(BUF0, BUF2)를 인에이블시키고, 데이터 메모리(DM)의 데이터를 리드하여 출력장치로 내보낸다. 모니터는 중앙처리장치(CPU)가 전체 PLC시스템의 이상유무를 판단하고, 주변장치로 부터의 요구를 처리한후 지금까지와 같은 순서로 주기를 반복수행하게 된다.
이상에서와 같이 본 장치는 PLC에서 주로 사용되는 프로그램형태인 레더 다이어그램을 2-D LSU 및 주변장치에 의해 중앙처리장치에 인터페이스되어 전체 수행주기중 일부 구간에서 처리하는 것이 주된 기능이며, 대부부분의 PLC에서 처럼 스텝별 처리가 아닌 논리블럭의 2차원적 처리를 특징으로 한다.
상술한 바와 같이 지금까지 대부분의 PLC들은 레더 다이어그램에 의한 논리연산 수행시 스텝별 처리를 하였기 때문에 프로그램 실행 타임을 향상시키는 데에는 한계가 있었으나 본 발명은 레더 다이어그램을 스텝별로 처리하지 않고 일정 구조의 논리블럭으로 구성하여 2차원적으로 동시에 처리하기 때문에 스텝별 처리에 비해 수배의 속도증가가 가능하고 또한, 논리블럭의 크기(요소의 갯수 X, Y)를 증가시키면서 속도는 쉽게 증가시킬 수 있는 장점이 있다. 이러한 처리속도의 향상에 따른 기능상 타제품에 대한 경쟁력을 확보할 수 있는 이점이 있다.

Claims (1)

  1. 프로그램어블 콘트롤러의 연산처리장치에 있어서, 입력명령어에 따라 제어 프로그램을 실행하여 데이터 처리에 의해 제어신호 및 데이터를 출력하는 중앙처리장치(CPU)와, 상기 중앙처리장치(CPU)와 데이터버스(11)와 연결되어 입출력되는 결정하여 출력하는 결과처리회로(RPU)와, 상기 결과처리회로(RPU)의 출력을 받아 제어클럭 및 인에이블신호를 발생하는 순차제어회로(SU)와, 상기 순차제어회로(SU)의 출력신호에 의해 상기 중앙처리장치(CPU)에서 발생하는 어드레스신호를 디코딩하여 타이밍 클럭신호를 발생하는 타이밍 디코딩회로(TDU)와, 상기 순차제어회로(SU)의 출력신호에 의해 상기 중앙처리장치(CPU)의 어드레스신호를 논리화하여 제어신호를 발생하는 제어장치(CU)와, 상기 제어장치(CU)에서 발생하는 제어신호에 따라 중앙처리장치(CPR)에서 발생하는 어드레스 버퍼링하는 버퍼(BUF2)와, 상기 제어장치(CU)에서 발생하는 인에이블 제어신호에 의해 상기 결과처리장치(CU)에서 발생하는 데이터를 버퍼링하는 버퍼(BUF0, BUF1)와, 상기 타이밍의 코딩회로(TDU)에서 발생하는 클럭신호에 상기 중앙처리장치(CPU)에서 어드레스신호를 저장하는 어드레스 메모리(AM0-AM7)와, 상기 제어장치(CU)에서 발생하는 인에이블신호에 의해 상기 어드레스 메모리(AM0-AM7)의 출력과 버퍼(BUF1)의 출력을 선택하는 선택회로(IS0-IS7)와, 상기 타이밍 디코딩회로(TDU)에서 발생하는 클럭신호에 따라 상기 선택회로(IS0-IS7)의 출력과 버퍼(BUF2)의 출력데이터를 저장하는 데이터 메모리(DM0-DM7)와, 상기 선택회로(IS0-IS7) 및 데이터메모리(DM0-DM7), 버퍼(BUF0)의 출력데이터를 논리적으로 변환하는 논리변환부(LI)와, 상기 논리변환부(LI)의 출력을 순차제어회로(SU)에서 발생하는 신호에 따라 래치하는 데이터 래치(DL0-DL3)와, 상기 데이터 래치(DL0-DL3)의 출력데이터를 받아 2차원으로 논리적으로 연산하여 상기 결과처리회로(RPU)로 출력하는 논리연산부(2-D LSU)로 구성됨을 특징으로 하는 프로그래머블 콘트롤러의 연산처리장치.
KR1019890018487A 1989-12-13 1989-12-13 프로그래머블 콘트롤러의 연산처리장치 KR920006970B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019890018487A KR920006970B1 (ko) 1989-12-13 1989-12-13 프로그래머블 콘트롤러의 연산처리장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019890018487A KR920006970B1 (ko) 1989-12-13 1989-12-13 프로그래머블 콘트롤러의 연산처리장치

Publications (2)

Publication Number Publication Date
KR910012906A KR910012906A (ko) 1991-08-08
KR920006970B1 true KR920006970B1 (ko) 1992-08-22

Family

ID=19292862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890018487A KR920006970B1 (ko) 1989-12-13 1989-12-13 프로그래머블 콘트롤러의 연산처리장치

Country Status (1)

Country Link
KR (1) KR920006970B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100324317B1 (ko) * 1999-04-01 2002-02-16 김영환 시리얼 프로그램 제어회로

Also Published As

Publication number Publication date
KR910012906A (ko) 1991-08-08

Similar Documents

Publication Publication Date Title
US4144562A (en) System and method for increasing microprocessor output data rate
EP0238090B1 (en) Microcomputer capable of accessing internal memory at a desired variable access time
JPH05108341A (ja) マイクロプロセツサ
US4153942A (en) Industrial control processor
KR920006970B1 (ko) 프로그래머블 콘트롤러의 연산처리장치
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JPH0830971B2 (ja) プログラマブルコントローラ
EP0265948A2 (en) Data processor capable of immediately calculating branch address in relative address branch
US5524221A (en) Next instruction pointer calculation system for a microcomputer
JPH01273132A (ja) マイクロプロセッサ
JPS5821300B2 (ja) デンシケイサンキ ノ メモリアドレスシテイホウシキ
KR100367054B1 (ko) 하드웨어에 기초한 순차 마스크롬 어댑터
KR890003236Y1 (ko) 데이터 변환값의 라이트 및 리이드 회로
US5768554A (en) Central processing unit
KR100304607B1 (ko) 프로그래머블로직콘트롤러용고속명령처리시스템
JP2864536B2 (ja) データ変換装置
JPS6111493B2 (ko)
JP2894854B2 (ja) 中央演算処理装置
JPH06230958A (ja) プロセッサ
JPH04365170A (ja) ディジタル信号処理用半導体集積回路装置
JPS6129940A (ja) 演算装置
JPH02205987A (ja) 演算処理システム
JPH0451304A (ja) 演算装置
JPH0426734B2 (ko)
JPS60189043A (ja) プロセツサ

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: 20080808

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee