KR20020027596A - 프로그래머블 컨트롤러 시스템 및 프로그래머블 컨트롤러시스템의 리세트 제어방법 - Google Patents

프로그래머블 컨트롤러 시스템 및 프로그래머블 컨트롤러시스템의 리세트 제어방법 Download PDF

Info

Publication number
KR20020027596A
KR20020027596A KR1020027002616A KR20027002616A KR20020027596A KR 20020027596 A KR20020027596 A KR 20020027596A KR 1020027002616 A KR1020027002616 A KR 1020027002616A KR 20027002616 A KR20027002616 A KR 20027002616A KR 20020027596 A KR20020027596 A KR 20020027596A
Authority
KR
South Korea
Prior art keywords
unit
cpu
reset
control
programmable controller
Prior art date
Application number
KR1020027002616A
Other languages
English (en)
Other versions
KR100436694B1 (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 KR20020027596A publication Critical patent/KR20020027596A/ko
Application granted granted Critical
Publication of KR100436694B1 publication Critical patent/KR100436694B1/ko

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/12Improving ICE efficiencies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Exhaust-Gas Circulating Devices (AREA)
  • Programmable Controllers (AREA)
  • Multi Processors (AREA)

Abstract

CPU유닛이 각 I/O유닛 마다에 제어 CPU지정정보를 지령하는 명령을 기록하고, 각 I/O유닛은 CPU유닛이 지령하는 명령을 디코드해서 제어 CPU지정정보인 것을 판단하고, 그 제어 CPU지정정보를 I/O유닛 내에 보존하고 CPU유닛이 리세트 제어를 지령하는 명령을 모든 I/O유닛에 대해 발행하고, 각 I/O유닛은 그 리세트 제어를 지령하는 명령을 디코드해서 제어원의 CPU유닛으로부터의 명령이라고 판단한 경우에는 그 리세트 제어지령에 따름으로 해서, CPU유닛이 지정하는 시스템상의 특정한 I/O유닛의 리세트를 제어한다.

Description

프로그래머블 컨트롤러 시스템 및 프로그래머블 컨트롤러 시스템의 리세트 제어방법{PROGRAMMABLE CONTROLLER SYSTEM AND METHOD FOR RESETTING PROGRAMMABLE CONTROLLER SYSTEM}
종래의 프로그래머블 컨트롤러 시스템에 대해 설명한다.
도 7은 종래의 프로그래머블 컨트롤러 시스템의 시스템구성을 표시하고 있다. 이 프로그래머블 컨트롤러 시스템은 시스템에 전원을 공급하는 전원유닛(500)과, 제어를 위한 연산처리를 실행하는 시스템의 중추가 되는 CPU유닛(510)과, CPU유닛(510)이 출력하는 지령에 따라 외부기기(600)에 온/오프정보를 출력하는 출력유닛(520)과, 전용회선에 의해 시스템(자국 610)간의 데이터통신을 하는 데이터링크유닛(530)과, 서보모터(620)와 접속되어 위치결정제어를 하는 위치결정유닛(540)을 소유하고, 이들 유닛은 시스템버스를 포함하는 마더보드(이하, 베이스유닛이라 함)(550)에 장착되어 버스접촉되어 있다.
또, 아래의 설명에서는 CPU유닛(510)에 의해 제어되는 출력유닛(520), 데이터링크유닛(530) 등을 통칭해서 I/O유닛이라 부른다.
CPU유닛(510)은 마이크로프로세서(MPU)(511) 이외에, 리세트회로(512)를 소유하고 있다. 리세트회로(512)는 전원계통에서 보내온 전원다운예고의 에러신호(전원리세트신호 : 이하, ∑REL신호라 한다)와 마이크로프로세서(511)에서 발생하는 연산에러 등에 의한 에러신호(이하, CPUERRL신호라고 한다)를 통합해서 프로그래머블 컨트롤러 시스템의 I/O유닛에 대한 리세트를 제어하는 리세트신호(이하, ∑MRE신호라 한다)를 출력한다.
리세트회로(512)에서 ∑REL신호와 CPUERRL신호가 모두 비액티브(H레벨)인 경우에는 다이오드(513),(514)에는 전류가 흐르지 않으므로 트랜지스터(515)의 베이스전위는 H레벨이 되고, 트랜지스터(515)의 이미터콜렉터간에 전류가 흘러, ∑REL신호는 L레벨(비액티브)이 된다.
예를 들면, 전원오프에 의해 전원다운을 검출한 전원유닛(500)이 ∑REL신호를 L레벨에서 출력하면 다이오드(513)의 순방향으로 전류가 흐르고, 트랜지스터(515)의 베이스전위가 L레벨이 되고, 트랜지스터(515)의 이미터콜렉터간에 전류가 흐르지 않게 되어, 이에 따라 ∑MRE신호가 H레벨(액티브)이 된다.
또, MPU(511) 내에서 연산에러가 발생하면, CPU유닛(510)은 I/O유닛을 초기상태로 리세트하기 위해 CPUERRL신호를 L레벨에서 출력한다. CPUERRL신호가 L레벨이 되면, 다이오드(514)의 순방향으로 전류가 흐르고, 트랜지스터(515)의 베이스전위가 L레벨이 되어 트랜지스터(515)의 이미터콜렉터간에 전류가 흐르지 않게 되어,∑MRE가 H레벨(액티브)로 된다.
CPU유닛(510) 내부의 MPU(511)에서 연산에러가 발생한 경우 등에 MPU(511)가 CPUERRL신호를 L레벨로 해서 I/O유닛을 초기상태로 하는 리세트 제어에 의해, 또는 전원 온/오프조작이 됨으로써 전원유닛(500)이 ∑REL신호를 L레벨로 해서 I/O유닛을 초기상태로 하는 리세트 제어에 의해, ∑MRE신호가 베이스유닛(550)을 통해서 시스템의 모든 유닛(출력유닛(520), 데이터링크유닛(530), 위치결정유닛(540))에 전달된다.
출력유닛(520)은 ∑MRE신호가 H레벨이 되면, 출력부(521)의 래치를 클리어해서 외부기기(600)를 오프시킨다. 데이터링크유닛(530)은 제어부(531) 및 전송 I/F부(532)의 RESET단자에 H레벨의 신호를 입력함으로써, 제어부(531) 및 전송 I/F부(532)를 초기상태로 리세트해서 네트워크를 절단한다.
위치결정유닛(540)은 제어부(541)의 RESET단자 및 출력부(542)의 CLR단자에 H레벨의 신호를 입력함으로써 제어부(541)를 초기상태로 리세트하는 동시에 출력부(542)의 래치를 클리어해서 서보모터(620)의 운전을 정지시킨다.
상술한 바와 같은 종래의 프로그래머블 컨트롤러 시스템에서는 리세트계통을 1계통 밖에는 갖지 않으므로, 시스템 전체로서 리세트하는지 아닌지의 제어밖에는 안되고, 각 유닛을 개별적으로 리세트 할 수가 없다.
또, 종래의 프로그래머블 컨트롤러 시스템에서 각 유닛은 개별적으로 리세트하려고 하는 경우에는, 리세트회로(512)와 같은 회로를 유닛의 대수분 만큼 CPU유닛(510) 내부에 만들고, ∑MRE신호에 상당하는 리세트신호를 유닛의 대수분 만큼CPU유닛(510) 내부 및 베이스유닛(550)에 설치할 필요가 있고, 접속되는 유닛의 대수가 유저에 의해 자유로이 설정되는 프로그래머블 컨트롤러 시스템에서는 그만큼의 회로, 제어신호를 설치하는 것은 현실적으로 불가능하다고 본다.
또, 종래에서의 프로그래머블 컨트롤러 시스템에서는 위치결정유닛(540)의 제어부(541)가 폭주한 경우, 위치결정유닛(540)의 제어부(541)를 초기화 하기 위해 CPU유닛(510)이 CPUERRL신호를 L레벨에서 출력함으로써, 리세트를 발행하면 데이터링크유닛(530)까지 리세트 되어버리고, 네트워크가 절단되어 버리는 등, 시스템의 운용이 비효율로 된다는 문제점이 있었다.
또, 종래의 프로그래머블 컨트롤러 시스템에서는 CPU유닛(510) 내부의 연산에러 등에서 시스템이 정지한 경우에 출력을 클리어하기 위해 리세트를 발행하면 데이터링크유닛(530)까지 리세트되어, 네트워크가 절단되어 버리는 등 시스템의 운용이 비효율적이 된다는 문제점이 있었다.
또, 종래의 프로그래머블 컨트롤러 시스템에서는 각 유닛을 개별적으로 리세트 할 수가 없으므로, 동일한 베이스유닛(550)을 사용한 프로그래머블 컨트롤러 시스템에 의해 CPU유닛(51)의 대수를 단수 또는 복수로 변경해서 시스템의 제어를 할 수가 없다는 문제점이 있었다.
따라서, 본 발명은 동일 베이스유닛을 사용한 프로그래머블 컨트롤러 시스템에서 단독 CPU유닛, 다수대의 CPU유닛에 의한 I/O유닛 개개의 리세트 제어 가능하게 하는 프로그래머블 컨트롤러 시스템을 제공하는 것을 목적으로 하고 있다.
(발명의 개시)
본 발명은 시스템 전체의 제어를 하는 단독 또는 다수대의 CPU유닛과, CPU유닛의 제어하에 동작하는 다수대의 I/O유닛을 구비하는 프로그래머블 컨트롤러 시스템의 리세트 제어방법에서, CPU유닛이 I/O유닛 마다에 제어 CPU지정정보를 지령하는 명령을 기록하고, 각 I/O유닛은 CPU유닛이 지령하는 명령을 디코드해서 제어 CPU지정정보인 것을 판단하고, 그 제어 CPU지정정보를 I/O유닛 내에 보관하고, CPU유닛이 리세트 제어를 지령하는 명령을 모든 I/O유닛에 대해 발행하고, 각 I/O유닛은 그 리세트 제어를 지령하는 명령을 디코드해서 제어원의 CPU유닛으로부터의 명령이라고 판단한 경우에는 그 리세트 제어지령에 따름으로 해서, CPU유닛이 지정하는 시스템상의 특정의 I/O유닛의 리세트를 제어하는 것이다. 따라서, CPU유닛이 지정하는 시스템상의 특정한 I/O유닛만을 리세트 할 수가 있다.
또, 본 발명은 CPU유닛이 각 I/O유닛에 대해 리세트를 발행하는 명령으로서, I/O유닛의 제어부를 리세트 제어하는 명령과, I/O유닛의 출력부를 리세트 제어하는 명령의 2종류를 구비하고 있다. 따라서, I/O유닛의 제어부와 출력부를 개별적으로 리세트 할 수가 있다.
또, 본 발명은 시스템 전체의 제어를 실시하는 단독 또는 다수대의 CPU유닛과, CPU유닛의 제어하에 동작하는 다수대의 I/O유닛을 구비하는 프로그래머블 컨트롤러 시스템의 리세트 제어방법에서, CPU유닛이 시스템 전체에 발행하는 리세트신호로 해서, I/O유닛의 제어부를 리세트 제어하는 신호와, I/O유닛의 출력부를 리세트 제어하는 신호의 2계통을 구비하고, 그 2개의 신호의 분별사용에 의해 I/O유닛의 리세트를 제어부와 출력부에서 개별적으로 실시한다.
따라서, 시스템 전체의 I/O유닛의 리세트 제어를 I/O유닛의 제어부의 리세트와, 출력부의 리세트로 나누어 실시할 수가 있다.
또, 본 발명은 시스템 전체의 제어를 하는 단독 또는 다수대의 CPU유닛과, CPU유닛의 제어하에 동작하는 다수대의 I/O유닛을 구비한 프로그래머블 컨트롤러 시스템에서 CPU유닛이 각 I/O유닛 마다에 제어 CPU지정정보를 지령하는 명령을 기록하고, 각 I/O유닛은 CPU유닛이 지령하는 명령을 디코드해서 제어 CPU지정정보인 것을 판단하고, 그 제어 CPU지정정보를 I/O유닛 내에 보존하고, CPU유닛이 리세트 제어를 지령하는 명령을 모든 I/O유닛에 대해 발행하고, 각 I/O유닛은 그 리세트 제어를 지령하는 명령을 디코드해서 제조원의 CPU유닛으로부터의 명령이라고 판단한 경우에는 그 리세트 제어지령에 따름으로 해서, CPU유닛이 지정하는 시스템상의 특정한 I/O유닛의 리세트를 제어한다. 따라서, CPU유닛이 지정하는 시스템상의 특정한 I/O유닛만을 리세트 할 수가 있다.
또, 본 발명은 CPU유닛이 각 I/O유닛에 대해 리세트를 발행하는 명령으로 해서, I/O유닛의 제어부를 리세트 제어하는 명령과, I/O유닛의 출력부를 리세트 제어하는 명령의 2종류를 구비하고 있다. 따라서, I/O유닛의 제어부와 출력부를 개별적으로 리세트 할 수가 있다.
또, 본 발명은 I/O유닛이 제어 CPU지정정보를 래치하는 레지스터와, CPU유닛이 지정하는 시스템상의 특정한 I/O유닛만을 리세트하기 위한 정보를 래치하는 레지스터를 가지고 있다. 따라서, 레지스터의 내용을 참조해서 CPU유닛이 지정하는시스템상의 특정한 I/O유닛만을 리세트 할 수가 있다.
또, 본 발명은 여러대의 CPU유닛이 각각 다른 I/O유닛의 제어를 하는 분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템이다. 따라서, 분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서, CPU유닛이 지정하는 시스템상의 특정한 I/O유닛만을 리세트 할 수가 있다.
또, 본 발명은 현재 가동하고 있는 듀티 CPU유닛이 에러에 의해 정지한 경우에 정지한 CPU유닛 대신이 되어, 가동하는 대기 CPU유닛을 포함하는 중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템이다. 따라서, 중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서, CPU유닛이 지정하는 시스템상의 특정한 I/O유닛만을 리세트 할 수가 있다.
또, 본 발명은 시스템 전체의 제어를 하는 단독 또는 다수대의 CPU유닛과, CPU유닛 제어하에 동작하는 다수의 I/O유닛을 구비한 프로그래머블 컨트롤러 시스템에서 CPU유닛은 시스템 전체에 발행하는 리세트신호로서, I/O유닛의 제어부를 리세트 제어하는 신호를 출력하는 수단과, I/O유닛의 출력부를 리세트 제어하는 신호를 출력하는 수단을 소유하고, 그 두개의 신호의 분별사용에 의해 I/O유닛의 리세트를 제어부와 출력부로 개별적으로 실시한다. 따라서, 시스템 전체의 I/O유닛의 리세트 제어를 I/O유닛의 제어부의 리세트와, 출력부의 리세트로 나누어 실시할 수가 있다.
또, 본 발명은 다수의 CPU유닛이 각각 다른 I/O유닛의 제어를 하는 분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템이고, 다수의 CPU유닛의 하나가리세트 제어를 일원 관리한다. 따라서, 분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서 시스템 전체의 I/O유닛의 리세트 제어를 I/O유닛의 제어부의 리세트와, 출력부의 리세트로 나누어 실시할 수가 있다.
또, 본 발명은 현재 가동하고 있는 듀티 CPU유닛이 에러에 의해 정지한 경우에, 정지한 CPU유닛 대신이 되어 가동하는 대기 CPU유닛을 포함하는 중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템이다. 따라서, 중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서, 시스템 전체의 I/O유닛의 리세트 제어를 I/O유닛의 제어부의 리세트와 출력부의 리세트로 나누어 실시할 수가 있다.
본 발명은 프로그래머블 컨트롤러 시스템 및 프로그래머블 컨트롤러 시스템의 리세트 제어방법에 관한 것이다.
도 1은 본 발명의 그룹I/O리세트 및 그룹유닛리세트를 하는 프로그래머블 컨트롤러 시스템을 표시하는 시스템구성도.
도 2는 명령 INST-W의 상세내용을 표시하는 설명도.
도 3은 본 발명에서의 시스템 리세트를 실시하는 프로그래머블 컨트롤러 시스템을 표시하는 시스템구성도.
도 4는 본 발명에서의 프로그래머블 컨트롤러 시스템을 분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에 적용한 실시의 형태를 표시하는 시스템구성도.
도 5는 본 발명에서의 프로그래머블 컨트롤러 시스템을 중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에 적용한 실시의 형태를 표시하는 시스템구성도.
도 6은 중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서의 CPU유닛의 고장검출순서를 표시하는 설명도.
도 7은 종래에서의 프로그래머블 컨트롤러 시스템을 표시하는 시스템구성도.
(발명을 실시하기 위한 최량의 형태)
본 발명을 보다 상세하게 상술하기 위해 첨부한 도면에 따라 이를 설명한다. 우선, 본 발명에 의한 프로그래머블 컨트롤러 시스템에서의 4종류의 리세트의 개요에 대해 설명한다.
CPU유닛은 I/O유닛의 동작상태확인용의 포트를 정기적으로 감시하고, I/O유닛에 이상이 발생한 것을 검출하면 검출한 에러상태에 따라,
(1) 자 유닛이 관리하는 I/O유닛의 출력부만을 리세트하면 되는 경우에는 그룹I/O리세트를 발행하고,
(2) 자 유닛이 관리하는 I/O유닛의 제어부를 리세트 할 필요가 있는 경우에는 그룹유닛리세트를 발행하고,
(3) 중요한 에러때문에 시스템 전체의 출력부를 리세트 할 필요가 있는 경우에는 시스템 I/O리세트를 발행하고,
(4) 시스템 전체의 제어부를 리세트 할 필요가 있을 때는 시스템 유닛리세트를 발행한다.
도 1은 본 발명의 실시의 형태 1에서의 그룹I/O리세트 및 그룹유닛리세트를실시하는 다수대의 CPU유닛을 포함하는 프로그래머블 컨트롤러 시스템을 표시하고 있다.
이 프로그래머블 컨트롤러 시스템은 시스템에 전원을 공급하는 전원유닛(10)과, 제어를 위한 연산처리를 실행하는 시스템의 중추가 되는 CPU유닛(20A) 및 (20B)와, 서보모터(도시생략)가 접속되어서 위치결정제어를 하는 위치결정유닛(30)과, 전용회선에 의해 도시되어 있지 않은 다른 시스템간의 데이터통신을 하는 데이터링크유닛(50)을 소유하고, 이들 유닛은 시스템버스(61)를 포함하는 베이스유닛(60)에 의해 상호 접속되어 있다.
CPU유닛(20A),(20B)은 MPU(21)와, MPU(21)로부터 기록된 데이터를 베이스유닛(60)의 시스템버스(61)상에 출력하는 명령생성부(22)를 포함하고 있고, 라이트시에는 시스템버스(61)상에 커멘드페이즈 CMD, 어드레스페이즈 ADR, 데이터페이즈 DATA(상세는 후술한다)의 3개의 페이즈로 된 일련의 데이터에 의한 라이트명령 INST-W를 시스템버스(61)상에 발행한다.
하나의 I/O유닛인 위치결정유닛(30)은 시스템버스(61)를 통해서 CPU유닛(20A) 또는 (20B)가 발행된 명령을 해독하는 커멘드디코더부(31)와, 위치결정제어를 하는 제어부(23)와, 서보모터를 구동하는 신호를 출력하는 출력부(33)와, CPU유닛과의 데이터의 수수를 하기 위한 버퍼메모리(34)와, 커멘드디코더부(31)에서 해독한 명령의 실행결과를 래치하는 레지스터(35),(36),(37),(38),(39)를 포함하고 있다.
여기서는, 레지스터(35)는 관리 CPU지정정보를, 레지스터(36)은 그룹I/O리세트정보를, 레지스터(37)은 그룹I/O리세트 마스크정보를, 레지스터(38)은 그룹유닛리세트정보를, 레지스터(39)는 그룹유닛리세트 마스크정보를 각각 래치한다. 레지스터(35),(36),(37)의 출력측은 논리회로(40)에 의해 출력부(33)의 CLR단자에 접속되고, 레지스터(35),(38),(39)의 출력측은 논리회로(41)에 의해 제어부(32)의 RESET단자에 접속되고, 레지스터(35 ~ 39)의 설정에 의해 제어부(32)나 출력부(33)의 리세트 제어를 한다.
예를 들면, 레지스터(35)의 CPU 0비트와, 레지스터(38)의 RSTH 0비트와, 레지스터(39)의 RMK O비트를 각각 온 시키면, 논리회로(41)로부터 제어부(32)의 RESET단자에 L레벨의 신호가 입력되고, 제어부932)가 RESET단자에 L레벨의 신호가 입력되고, 제어부(32)가 초기상태에 리세트된다.
프로그래머블 컨트롤러 시스템에서는 CPU유닛(20A) 또는 (20B)가 I/O유닛에 대해 시스템(61)을 통해서 명령 INST-W를 발행함으로써, I/O유닛에 대해 데이터의 기록을 한다.
명령 INST-W의 상세내용에 대해 도 2를 사용해서 설명한다. 명령 INST-W는 커멘드페이즈 CMD와, 어드레스페이즈 ADR과, 데이터페이즈 DATA의 3개의 페이즈로 된다.
커멘드페이즈 CMD에는 명령의 대상이 시스템 모두의 유닛 중, 특정한 I/O유닛인가를 나타내는 수비트로 된 명령범위지정정보와, 특정한 I/O유닛에 대한 명령인 경우에 베이스유닛의 어느 슬롯에 장착되어 있는 I/O유닛에 대한 명령인가를 표시하는 수비트로 된 슬롯지정정보와, 버퍼메모리, 입출력레지스터 등 I/O유닛 내의액세스에리어를 나타내는 수비트로 된 에리어지정정보가 포함되어 있다.
어드레스페이즈 ADR에는 I/O유닛의 커멘드페이즈 CMD에서 지정된 액세스에리어의 어드레스가 기록되고, 데이터페이즈 DATA는 라이트시에는 I/O유닛에 라이트하는 데이터로, 리드시는 I/O유닛으로부터 판독하는 데이터로 구성된다.
다음에, 명령발행의 상세순서에 대해 설명한다. CPU유닛(20A)이 I/O유닛(위치결정유닛)(30)의 버퍼메모리(34)의 어드레스 A에 대해 데이터 B를 라이트하는 경우에는, CPU유닛(20A) 내부의 MPU(21)는 명령생성부(22)에 대해, I/O유닛(30)에 대해 버퍼메모리(34)의 어드레스 A에 데이터 B를 라이트한다는 지령 INST-W를 발한다.
명령생성부(22)는 커멘드페이즈 CMD를 시스템버스(61)상에 출력하고, 일정 간격을 두고 어드레스페이즈 ADR을 시스템버스(61)상에 출력하고, 또 일정간격을 두고 데이터페이즈 DATA-W를 시스템버스(61)상에 출력한다.
CPU유닛(20A)이 I/O유닛(30)의 버퍼메모리(34)의 어드레스 C의 내용을 리드하는 경우에는, CPU유닛(21A)내부의 MPU(21)는 명령생성부(22)에 대해, I/O유닛(30)에 대해, 버퍼메모리에리어의 어드레스 C의 내용을 리드한다는 지령 INST-R을 발한다.
명령생성부(22)는 커멘드페이즈 CMD를 시스템버스(61)상에 출력하고, 일정 간격을 두고 어드레스페이즈 ADR을 시스템버스(61)상에 출력한다. 커멘드페이즈 CMD와, 어드레스페이즈 ADR을 수취한 I/O유닛(30)은 데이터페이즈 DATA를 출력하고, CPU유닛(20A)은 그 데이터페이즈 DATA를 리드한다.
다음에, CPU유닛으로부터의 명령을 수취한 I/O유닛의 동작에 대해 설명한다.
I/O유닛은 각각 시스템버스(61)를 통해서 입력된 명령의 커멘드페이즈 CMD를 커멘드디코더부(31)에서 디코더하고, 커멘드페이즈 CMD의 명령범위지정정보, 슬롯지정정보에 자 유닛에 대한 명령인 것을 표시하는 정보가 포함되어 있는 경우에는 계속해서 입력되는 어드레스페이즈 ADR에서 지정되는 어드레스에 데이터페이즈 DATA에서 지정되는 데이터를 기록한다.
다음에, CPU유닛(20A)이 I/O유닛에 대해 그룹유닛리세트를 발행하는 경우에 대해 설명한다. 그룹유닛리세트와는 CPU유닛이 지정하는 특정한 I/O유닛의 제어부를 리세트해서 I/O유닛을 초기상태로 하는 것이다.
CPU유닛(20A)이 I/O유닛에 대해 그룹유닛리세트를 발행하는 경우, 아래의 두개의 명령을 조합해서 실행한다.
하나는 I/O유닛(30)(또는 40)에 대해 CPU유닛(20A)가 I/O유닛(30)(또는 40)을 관리하는 CPU유닛이라는 정보를 전원 온 후의 초기설정시에, I/O유닛(30)(또는 40)내부의 관리 CPU지정정보용의 레지스터(35)에 기록하는 명령이다.
본 명령을 실행함으로써, 레지스터(35)의 CPU 0비트가 H레벨이 된다. 또 CPU유닛(20B)이 같은 명령을 발행한 경우에는 레지스터(35)의 CPU 1비트가 H레벨이 된다.
또 하나는, CPU유닛(20A)이 관리하는 모든 I/O유닛에 대해, CPU유닛(20A)의 그룹유닛리세트를 발행한다는 정보를 I/O유닛 내부의 그룹유닛리세트 정보용의 레지스터(38)에 기록하는 명령이다.
본 명령을 실행함으로써 레지스터(38)의 RSTH 0비트가 H레벨이 된다. 또 CPU유닛(20B)이 같은 명령을 발행한 경우에는 레지스터(38)의 RSTH 1비트가 H레벨이 된다.
그룹유닛리세트 마스크정보를 래치하는 레지스터(39)는 초기치(디폴트치)를 H레벨에 설정되어 있고, 이때문에 상기 2개의 명령이 함께 실행되면 제어부(32)의 RESET단자의 입력이 L레벨이 되고, I/O유닛 (30)은 제어부(32)를 초기상태로 리세트한다.
또, CPU유닛(20A)이 관리하는 모든 I/O유닛에 대해 그룹유닛리세트를 해제한다는 명령을 시스템버스(61)상에 출력하면 예를 들어, I/O유닛(30)의 커멘드디코더부(31)가 커멘드페이즈 CMD를 디코더함으로써, 레지스터(38)의 그룹유닛리세트 정보가 클리어되어 RSTH 0비트가 L레벨이 되고, 제어부(32)의 RESET단자의 입력 H레벨이 되므로 그룹유닛리세트가 해제된다.
여기서, CPU유닛(20A)이 I/O유닛(30) 또는 (40)에 대해, 시스템버스(61)를 통해서 CPU유닛(20A)으로부터의 그룹유닛리세트 명령을 마스크하는 레지스터(39)를 세트하는 명령을 발행함으로써, 그룹유닛리세트를 각 I/O유닛 마다에 마스크하는 것이 가능하다.
이로써, CPU유닛(20A)은 자기가 관리하는 I/O유닛 전부의 제어부에 대해 일제히 리세트를 걸거나, 자기가 관리하는 I/O유닛 중, 에러를 발생한 특정한 하나의 제어부만을 리세트할 수가 있고 제어부가 폭주한 유닛에만 리세트 제어하는 것이 가능해지는 등, 시스템운용의 효율을 높일 수가 있다.
다음, CPU유닛(20A)이 I/O유닛(30),(40)에 대해 그룹I/O리세트를 발행하는 경우에 대해 설명한다. 그룹I/O리세트라는 것은 CPU유닛이 지정하는 특정한 I/O유닛의 출력부만을 리세트하는 것이다.
그룹I/O리세트의 발행 및 해제는 그룹유닛리세트의 경우와 같이, 2개의 명령을 조합해서 실행한다.
하나는, CPU유닛(20A)이 I/O유닛(30),(40)을 관리하는 CPU유닛이라는 정보를 I/O유닛(30)(또는 40)내부의 관리 CPU지정정보용의 레지스터(35)에 기록하는 명령이다.
본 명령을 실행함으로써 레지스터(35)의 CPU 0비트가 H레벨이 된다. 또 CPU유닛(20B)이 같은 명령을 발행한 경우에는 레지스터(35)의 CPU 1비트가 H레벨이 된다.
또 하나는, CPU유닛(20A)이 관리하는 모든 I/O유닛에 대해, CPU유닛(20A)이 그룹I/O리세트를 발행한다는 정보를 전원 온 후의 초기설정시에 I/O유닛 내부의 그룹I/O리세트 정보용 레지스터(36)에 기록하는 명령이다.
본 명령을 실행함으로써, 레지스터(36)의 IORH 0비트가 H레벨이 된다. 또 CPU유닛(20B)이 같은 명령을 발행한 경우, 그룹I/O리세트정보(47)의 IORH 1비트가 H레벨이 된다.
그룹I/O리세트 마스크정보를 래치하는 레지스터(37)는, 초기치(디폴트치)를 H레벨에 설정되어 있고, 이때문에 상기 2개의 명령이 함께 실행되면 I/O유닛(30)은 출력부(33)를 리세트해서 출력을 오프한다.
또, CPU유닛(20A)이 관리하는 모든 I/O유닛에 대해 그룹I/O리세트를 해제한다는 명령을 시스템버스(61)상에 출력하면, I/O유닛(30)의 커멘드디코더부(31)가 커멘드페이즈 CMD를 디코더함으로써, 레지스터(36)의 그룹I/O리세트정보가 클리어되고, IORH 0비트가 L레벨이 되고, 출력부(33)의 CLR단자의 입력이 H레벨이 되므로 그룹I/O리세트가 해제된다.
여기서, CPU유닛(20A)이 I/O유닛(30) 또는 (40)에 대해 시스템버스(61)를 통해서 CPU유닛(20A)으로부터의 그룹I/O리세트 명령을 마스크하는 레지스터(37)를 리세트하는 명령을 발행함으로써, 그룹I/O리세트를 각 I/O유닛 마다에 마스크하는 것이 가능하다.
이로써, CPU유닛(20A)은 자기가 관리하는 I/O유닛 모두의 출력부를 일제히 클리어하거나 자기가 관리하는 I/O유닛 중 에러를 발생한 특정의 하나의 출력부만 리세트할 수가 있고 시스템운용의 효율을 높일 수가 있다.
또, 도 1에 표시되어 있는 실시의 형태에서는 각 레지스터 35 ~ 39를 4비트의 레지스터로 설명하였으나, 각 레지스터의 비트수를 n비트로 함으로써, 시스템운용의 효율을 높이기 위해 필요하다면, 임의의 n대의 CPU유닛에 의한 제어를 하는 것이 가능하다.
실시의 형태 1에서는, CPU유닛이 시스템버스상에 명령을 출력해서 그룹유닛리세트, 그룹I/O리세트를 발행 또는 해제함으로써, CPU유닛이 지정하는 특정의 I/O유닛에 대해 제어부와 출력부를 구별해서 리세트 제어 할 수가 있으므로, 발생한 에러의 종류에 의해 시스템의 최저한의 범위를 리세트 제어 할 수가 있고, 시스템운용의 효율을 높일 수가 있다.
도 3은 본 발명의 실시의 형태 2에서의 시스템 리세트를 하는 프로그래머블 컨트롤러 시스템을 표시하고 있다. 또, 시스템 리세트라는 것은 CPU유닛이 시스템전부의 CPU유닛, I/O유닛에 대해 발행해서, 이들의 제어부를 리세트하거나 출력부를 클리어해서 외부기기를 오프하는 리세트이다.
이 프로그래머블 컨트롤러 시스템은 시스템에 전원을 공급하는 전원유닛(70)과, 제어를 위한 연산처리를 실행하는 시스템의 중추가 되는 CPU유닛(80)과, CPU (80)이 출력하는 지령에 따라, 외부기기(600)에 온/오프정보를 출력하는 출력유닛 (90)과, 전용회선에 시스템(자국 610)간의 데이터통신을 하는 데이터링크유닛(100)과, 서보모터(620)와 접속되어서 위치결정유닛(110)을 소유하고, 이들 유닛은 시스템버스를 포함하는 마더보드(이하, 베이스유닛이라 함)(120)에 장착되고, 버스접속되어 있다.
출력유닛(90)은 외부기기(600)에 대한 출력부(91)를, 위치결정유닛(110)은 위치결정용 제어부(111)와 서보모터(620)에 대한 출력부(112)를 갖고 있다. 또, 데이터링크유닛(100)은 제어부(101)와, 전송I/F부(102)를 가지고 있다.
CPU유닛(80)은 마이크로프로세서(MPU)(81)이외에 리세트회로(82)를 가지고 있다. 리세트회로(82)는 전원계통에서 보내오는 전원다운예고의 에러신호(∑REL신호)와, MPU(81)가 시스템의 전체의 I/O유닛에 대해 발행하는 유닛리세트신호를 통합해서 시스템 전체의 I/O유닛의 제어부와 통신I/F부 등의 출력 이외의 기능의 리세트 제어를 하는 리세트 제어신호(이하, 시스템유닛 리세트신호라고 한다)를 출력한다.
또, 리세트(82)는 ∑REL신호와, MPU(81)가 시스템의 전체의 I/O유닛에 대해 발행하는 I/O리세트신호와, MPU(81)의 동작을 감시하는 타이머회로(WDT회로)(83)로부터의 출력신호를 통합해서 시스템 전체의 I/O유닛의 출력부의 리세트 제어를 하는 리세트 제어신호(이하, 시스템 I/O리세트신호라 함)를 출력하다.
리세트회로(82)에서 ∑REL신호, 유닛리세트신호가 비액티브(H레벨)인 경우에는 다이오드(84),(85)에는 전류가 흐르지 않음으로, 트랜지스터(86)의 베이스전위는 H레벨이 되고, 트랜지스터(86)의 이미터콜렉터간에 전류가 흐르고, 시스템유닛 리세트신호가 L레벨(비액티브)이 된다.
예를 들면, 전원 오프에 의해 ∑REL신호가 L레벨이 되면, 다이오드(84)의 순방향으로 전류가 흐르고 트랜지스터(86)의 베이스전위가 L레벨이 되고, 트랜지스터 (86)의 이미터콜렉터 간에 전류가 흐르지 않게 되고, 이에 따라 시스템유닛 리세트신호는 H레벨(액티브)이 된다.
또 예를 들면, MPU(81)내에서 연산에러가 발생한 경우에, CPU유닛(80)이 I/O유닛의 제어부를 초기상태로 리세트하기 위해 유닛리세트신호를 L레벨에서 출력하면, 다이오드(85)의 순방향으로 전류가 흐르고, 트랜지스터(86)의 베이스전위가 L레벨이 되고, 트랜지스터(86)의 이미터콜렉터간에 전류가 흐르지 않게 되고, 이에 따라 시스템유닛 리세트신호가 H레벨(액티브)이 된다.
리세트회로(82)는 시스템 I/O리세트신호에 대해서도 다이오드(87),(88) 트랜지스터(89)에 의한 같은 리세트신호를 구비하고 있다. 단, 시스템 I/O리세트신호는 논리적회로(82a)에 의해 리세트회로(82)의 출력과 WDT회로(83)의 출력(WDT회로(83)의 초기치는 L레벨이다)과의 논리적이다.
WDT회로(83)는 MPU(81)의 동작을 감시해서 일정시간에 걸쳐 MPU(81)로부터의 응답이 없는 경우에는 MPU(81)가 정지했다고 보고 출력을 H레벨로 한다. 따라서, MPU(81)가 중도에러에 의해 정지한 경우에는 시스템I/O리세트가 발행되고, 외부에 의해 출력이 오프된다.
다음에, 실시의 형태 2의 동작에 대해 설명한다. CPU유닛(80)이 구비하고 있는 리세트스위치(도시생략)를 조작함으로써, MPU(81)가 유닛리세트신호를 액티브(L레벨)로 함으로써, 시스템 전체의 I/O유닛에 대해 시스템유닛리세트를 발행한 경우에는 시스템을 구성하는 전체의 I/O유닛의 제어부(데이터링크유닛(100)의 제어부(101), 위치결정유닛(110)의 제어부(111))및 출력부 이외의 기능(데이터링크유닛(100)의 통신 I/F부(102))이 초기상태에 리세트된다.
CPU유닛(80)내부의 MPU(81)에서 연산에러가 발생한 경우에, CPU유닛(80)이 I/O리세트신호를 액티브(L레벨)로 함으로써, 시스템 전체의 I/O유닛에 대해 시스템 I/O리세트를 발행한 경우에는 시스템 전체의 I/O유닛의 출력부(출력유닛(90)의 출력부(91), 위치결정유닛(110)의 출력부(112))만이 리세트되고, 외부기기(600)의 출력이 오프되고, 서보모터(620)의 운전이 정지된다. 또, 데이터링크유닛(100)의 제어부(101)의 인터럽트단자 IT에 인터럽트가 들어감으로써, 데이터링크유닛(100)을 CPU유닛(80)이 시스템I/O리세트를 발행한 것을 인식하고 네트워크상에 그 정보를 전송한다.
상기 2개의 시스템 리세트를 구비함으로써, CPU유닛(80)의 내부에 에러에 의해 시스템이 정지한 경우에도 데이터링크유닛(100)에는 리세트를 걸지않고 출력유닛(90)이나 위치결정유닛(110)의 출력부(91),(112)만을 리세트하는 것이 가능해지고, 시스템을 효율좋게 운용 할 수가 있다.
도 4는 본 발명의 실시의 형태 3에서의 프로그래머블 컨트롤러 시스템을 분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에 적용한 실시의 형태를 표기하고 있다.
분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템이라는 것은 다수의 CPU유닛이 각각 다른 I/O유닛을 제어함으로써, 한대의 CPU유닛의 부하를 분산해서, 대규모이고 고속의 시스템제어를 실현할 수가 있는 프로그래머블 컨트롤러 시스템이다.
이 프로그래머블 컨트롤러 시스템은 전원유닛(120)과, CPU유닛(130),(140), (150)과 (본래, 임의의 대수의 CPU유닛을 접속한 시스템을 구축가능하나, 여기서는 한예로서 CPU유닛을 3대 접속한 도면을 표시), CPU유닛(130)이 관리하는 I/O유닛 (160),(170)과 CPU유닛(140)이 관리하는 I/O유닛(180)과, CPU유닛(150)이 관리하는 I/O유닛(190)을 소유하고, 이들 유닛은 시스템버스(201)를 포함하는 베이스유닛 (200)에 장착되어 있다.
CPU유닛(130),(140),(150)은 실시의 형태 1(도 1)의 CPU유닛과 같은 명령생성부와, 실시의 형태 2(도 3)의 CPU유닛과 같은 리세트회로를 구비하고 있고 또, I/O유닛(160),(170),(180),(190)은 실시의 형태 1(도 1)의 I/O유닛과 같은 커멘드디코더부나, 관리 CPU지정정보 등을 래치하는 레지스터 등을 구비하고 있는 동시에, 실시의 형태 2(도 3)의 I/O유닛과 같이, 시스템 리세트신호를 입력하도록 되어 있다.
베이스유닛(200)은 논리적회로(202),(203)를 포함하고 있고, CPU유닛(130), (140),(150)의 각각의 시스템유닛 리세트신호는 논리적회로(202)에 의한 논리적에 의해 각 I/O유닛(160),(170),(180),(190)에 부여되고 또, CPU유닛(130),(140), (150)의 각각의 시스템 I/O리세트신호는 논리적회로(203)에 의한 논리적에 의해 각 I/O유닛(160),(170),(180),(190)에 부여된다.
다음에, 분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서의 시스템유닛리세트, 시스템I/O리세트에 대해 설명한다.
분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서는 전원투입시, 모든 CPU유닛(130),(140),(150)에 시스템유닛리세트 및 시스템I/O리세트가 걸리고, 이니셜처리시에 CPU유닛(130)이 시스템유닛리세트 및 시스템I/O리세트를 해제하고, CPU유닛(130)의 시스템유닛 리세트신호와 시스템 I/O리세트신호가 L레벨이 된다. 이에 대해 CPU유닛(140), CPU(150)은 시스템유닛리세트, 시스템I/O리세트를 해제하지 않고, 이들 CPU유닛(140),(150)의 시스템유닛 리세트신호와 시스템 I/O리세트신호는 H레벨을 유지한다.
이는, CPU유닛(130)이 시스템 전체를 일원 관리하기 때문이다.
즉, 이 상태에서 CPU유닛(130)이 출력하는 시스템유닛 리세트신호를 액티브(H레벨)로 함으로써, 논리적회로(202)의 출력신호(시스템유닛 리세트신호)가H레벨이 되고, 시스템 전체의 CPU유닛과 I/O유닛이 제어부 및 출려부 이외의 기능이 초기상태로 리세트된다.
또, CPU유닛(130)이 출력하는 시스템 I/O리세트신호를 액티브(H레벨)로 함으로써, 논리적회로(203)의 출력신호(시스템 I/O리세트신호)가 H레벨이 되고, 시스템 전체의 CPU유닛과 I/O유닛의 출력부가 리세트된다.
다음에, 분산제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서의 그룹리세트에 대해 설명한다. CPU유닛(130)이 실시의 형태 1의 경우와 같이, 그룹유닛리세트를 발행하면, CPU유닛(130)이 지정한 특정 I/O유닛(160),(170)의 제어부 및 출력부 이외의 기능(데이터링크유닛의 전송I/F부 등)이 리세트된다. 마찬가지로 CPU유닛(140) 또는 CPU유닛(150)이 그룹유닛리세트를 발행하면 CPU유닛(140)이 지정한 I/O유닛(180) 또는 CPU유닛(150)이 지정한 I/O유닛(190)의 제어부 및 출력부 이외의 기능이 리세트된다.
또, CPU유닛(30)이 실시의 형태 1의 경우와 같이, 그룹I/O리세트를 발행하면 CPU유닛(130)이 지정한 특정의 I/O유닛(160),(170)의 출력부가 리세트된다.
마찬가지로, CPU유닛(140) 또는 CPU유닛(150)이 그룹I/O리세트를 발행하면 CPU유닛(140)이 지정한 I/O유닛(180) 또는 CPU유닛(150)이 지정한 I/O유닛(190)의 출력부가 리세트된다.
단독 CPU유닛에 의해 다수의 모든 I/O유닛을 제어하는 경우에 비해 이 실시의 형태와 같이, 분산제어형 멀티 CPU방식에서 제어하는 경우에는 CPU유닛 한대당의 부하가 분산되고, 고속의 시스템을 구축할 수 있다. 또, 단독 CPU유닛에 의한시스템에 비해 대규모의 시스템을 구축할 수가 있다.
도 5는 본 발명의 실시의 형태 4에서의 프로그래머블 컨트롤러 시스템을 중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에 적용한 실시의 형태를 표시하고 있다.
중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템이라는 것은 현재 가동하고 있는 여러대의 CPU유닛(이하, 듀티 CPU유닛이라 함)의 하나가 중도에러에 의해 정지된 경우에, 정지한 CPU유닛 대신으로 가동하는 CPU유닛(이하, 대기 CPU유닛이라 함)을 구비함으로써, 시스템의 2중화를 도모한 안전성이 높은 프로그래머블 컨트롤러 시스템이다.
이 프로그래머블 컴트롤러시스템은 전원유닛(210)과 2대의 듀티 CPU유닛 (220),(230)과, 한대의 대기 CPU유닛(240)과 다수의 I/O유닛(250),(260),(270), (280)을 소유하고, 이들 유닛은 시스템버스(291)를 포함하는 베이스유닛(290)에 장착되어 있다. 듀티 CPU유닛(220)은 I/O유닛(250)과, (260)을 관리하고, 듀티 CPU유닛 (230)은 I/O유닛(270)과, (280)을 관리하고, 대기 CPU유닛(240)은 듀티 CPU유닛(230)이 정지한 경우에 그대신으로 가동한다.
여기서, 사용자는 각 CPU유닛이 듀티 CPU인가, 대기계 CPU인가, 또 대기계 CPU유닛인 경우에, 어느 CPU유닛 대신인가를 프로그래밍 장치에 의해 각 CPU유닛 내부의 시스템정보에 설정할 수가 있다.
이 실시의 형태에서도 CPU유닛(220),(230),(240)은 실시의 형태 1(도 1)의 CPU유닛과 같은 명령생성부와, 실시의 형태 2(도 3)의 CPU유닛과 같은 리세트회로를 구비하고 있고, 또 I/O유닛(250),(260),(270),(280)은 실시의 형태 1(도 1)의 I/O유닛과 같은 커멘드디코더부나 관리 CPU지정정보 등을 래치하는 레지스터 등을 구비하고 있는 동시에, 실시의 형태 2(도 3)의 I/O유닛과 같이 시스템 리세트신호를 입력하도록 되어 있다.
베이스유닛(290)은 논리적회로(292),(293)을 포함하고 있고 듀티 CPU유닛 (220),(230), 대기 CPU유닛(240)의 각각의 시스템유닛 리세트신호는 논리적회로 (292)에 의한 논리적에 의해 각 I/O유닛(250),(260),(270),(280)에 부여되고, 또 듀티 CPU유닛(220),(230), 대기 CPU유닛(240)의 각각의 시스템 I/O리세트신호는 논리적회로(293)에 의한 논리적에 의해, 각 I/O유닛(250),(260),(270),(280)에 부여된다.
다음, 중복제어형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템에서 CPU유닛의 고장 등을 어떻게 검출하는가에 대해 도 6을 사용해서 설명한다.
우선, 듀티 CPU유닛(230)은 자 유닛이 정상으로 동작하고 있는 것을 대기 CPU유닛(240)을 알리기 위해 대기 CPU유닛(240)의 특정한 어드레스 A에 "1"을 라이트한다(도 6의 ①). 대기 CPU유닛(240)은 어드레스 A를 리드해서 "1"이 판독할 수 있는 것으로부터 듀티 CPU유닛(230)이 정상적으로 동작하고 있는 것을 확인한다(도 6의 ②).
그 후, 대기 CPU유닛(240)은 듀티 CPU유닛(230)에 대해 자 유닛이 정상으로 동작하고 있는 것을 듀티PCU유닛(230)에 알리기 위해, 듀티 CPU유닛(230)의 특정한 어드레스 B에 "1"을 라이트한다(도 6의 ③). 듀티 CPU유닛(230)은 어드레스 B를리드해서 "1"이 판독됨으로써, 대기 CPU유닛(240)이 정상으로 동작하고 있는 것을 확인한다(도 6의 ④).
그 후, 듀티 CPU유닛(230)은 자 유닛이 정상적으로 동작하고 있는 것을 대기 CPU유닛(240)에 알리기 위해 대기 CPU유닛(240)의 특정한 어드레스 A에 전번 라이트한 값과 다른 값 "0"을 라이트한다(도 6의 ⑤). 대기 CPU유닛(240)은 어드레스 A를 리드해서 전번 리드한 값과 다른값 "0"이 판독됨으로써, 듀티 CPU유닛(230)이 정상적으로 동작하고 있는 것을 확인한다(도 6의 ⑥).
그 후, 대기 CPU유닛(240)은 자 유닛이 정상적으로 동작하고 있는 것을 듀티COU유닛(230)에 알리기 위해, 듀티 CPU유닛(230)의 특정한 어드레스 B에 전번과 다른값 "0"을 라이트한다(도 6의 ⑦). 듀티 CPU(230)은 어드레스 B를 리드해서 전번 리드한 값과 다른값 "0"이 판독됨으로써, 대기 CPU유닛(240)이 정상으로 동작하고 있는 것을 확인한다(도 6의 ⑧). 이후, ①에서 ⑧을 반복해서 서로 다른 CPU유닛이 정상으로 동작하고 있는 것을 확인한다(이하, 이 동작을 생존확인하라 한다).
시스템 가동 중에 중도에러에 의해 듀티 CPU유닛(230)이 정지한 경우에는, 듀티 CPU유닛(230)은 대기 CPU유닛(240)의 어드레스 A에 라이트 할 수가 없게 된다. 또, 에러의 내용이 듀티 CPU유닛(230)내부의 입출력포트에 저장된다.
대기 CPU유닛(240)은 어드레스 A의 값이 변화하지 않으면 듀티 CPU유닛(230)내부의 입출력포트를 리드해서 듀티 CPU유닛(230)의 에러를 확인하고, 듀티 CPU유닛 (230)이 정지한 것을 인식하고, 듀티 CPU유닛(230) 대신에 I/O유닛(230),(270),의 제어를 개시한다.
또, 듀티 CPU유닛(230) 내부의 MPU가 정지하므로, WDT회로에 의해 듀티 CPU유닛(230)의 시스템 I/O리세트신호의 출력은 H레벨이 된다. 모든 CPU유닛이 정지한 경우, 시스템 I/O리세트신호가 H레벨이 되므로 시스템 전체의 출력부가 리세트상태가 되고, 모든 CPU유닛이 정지한 경우에도 시스템은 폭주하는 일이 없다.
상술한 바와 같은 중복형 멀티 CPU방식의 프로그래머블 컨트롤러 시스템을 실현함으로써, 어느 CPU유닛이 정지한 경우에도 정상적으로 시스템의 제어를 계속할 수가 있는 2중화 시스템을 제공할 수가 있다.
시퀀스제어를 하는 각종 공작기계, 산업기계의 프로그래머블 컨트롤러로서 이용할 수 있다.

Claims (4)

  1. 시스템 전체의 제어를 하는 단독 또는 여러대의 CPU유닛과, CPU유닛의 제어하에 동작하는 여러대의 I/O유닛을 구비하는 프로그래머블 컨트롤러 시스템의 리세트 제어방법에서, CPU유닛이 각 I/O유닛 마다에 제어 CPU지정정보를 지령하는 명령을 기록하고, 각 I/O유닛은 CPU유닛이 지령하는 명령을 디코드해서 제어 CPU지령정보인 것을 판단하고, 그 제어 CPU지정정보를 I/O유닛 내에 보존하고, CPU유닛이 리세트 제어를 지령하는 명령을 모든 I/O유닛에 대해 발행하고, 각 I/O유닛은 그 리세트 제어를 지령하는 명령을 디코드해서 제어원의 CPU유닛으로부터의 명령이라고 판단한 경우에는, 그 리세트 제어지령에 따름으로써, CPU유닛이 지정하는 시스템상의 특정한 I/O유닛의 리세트를 제어하는 프로그래머블 컨트롤러 시스템의 리세트 제어방법으로서, 상기 CPU유닛이 각 I/O유닛에 대해 리세트를 발행하는 명령으로 해서, I/O유닛의 제어부를 리세트 제어하는 명령과, I/O유닛의 출력부를 리세트 제어하는 명령의 2종류를 구비하고 있는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템의 리세트 제어방법.
  2. 시스템 전체의 제어를 하는 단독 또는 여러대의 CPU유닛과, CPU유닛의 제어하에 동작하는 여러대의 I/O유닛을 구비하는 프로그래머블 컨트롤러 시스템의 리세트 제어방법에서, CPU유닛이 시스템 전체에 발행하는 리세트 신호로 해서 I/O유닛의 제어부를 리세트 제어하는 신호와, I/O유닛의 출력부를 리세트 제어하는 신호의 2계통을 구비하고, 그 두개의 신호의 구분 사용에 의해 I/O유닛의 리세트를 제어부와 출력부로 개별적으로 실시하는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템의 리세트 제어방법.
  3. 시스템 전체의 제어를 하는 단독 또는 여러대의 CPU유닛과, CPU유닛의 제어하에 동작하는 여러대의 I/O유닛을 구비하는 프로그래머블 컨트롤러 시스템에서, CPU유닛이 각 I/O유닛 마다에 제어 CPU지정정보를 지령하는 명령을 기록하고, 각 I/O유닛은 CPU유닛이 지령하는 명령을 디코드해서 제어 CPU지정정보인 것을 판단하고, 그 제어 CPU지정정보를 I/O유닛 내에 보존하고, CPU유닛이 리세트 제어를 지령하는 명령을 모든 I/O유닛에 대해 발행하고, 각 I/O유닛은 그 리세트 제어를 지령하는 명령을 디코드해서 제어원의 CPU유닛으로부터의 명령어라고 판단한 경우에는 그 리세트 제어지령에 따름으로써, CPU유닛이 지정하는 시스템상의 특정의 I/O유닛의 리세트를 제어하는 프로그래머블 컨트롤러 시스템으로서, 상기 CPU유닛은 각 I/O유닛에 대해 리세트를 발행하는 명령으로서 I/O유닛의 출력부를 리세트 제어하는 명령의 2종류를 구비하고 있는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
  4. 시스템 전체의 제어를 하는 단독 또는 여러대의 CPU유닛과, CPU유닛의 제어하에 동작하는 여러대의 I/O유닛을 구비한 프로그래머블 컨트롤러 시스템에서, CPU유닛은, 시스템 전체에 발행하는 리세트 신호로 해서 I/O유닛의 제어부를 리세트 제어하는 신호를 출력하는 수단과, I/O유닛의 출력부를 리세트 제어하는 신호를 출력하는 수단을 소유하고, 그 2개의 신호의 구분사용에 의해 I/O유닛의 리세트 제어부와 출력부로 개별적으로 실시하는 것을 특징으로 하는 프로그래머블 컨트롤러 시스템.
KR10-2002-7002616A 1980-07-18 1999-08-30 프로그래머블 컨트롤러 시스템 및 프로그래머블 컨트롤러시스템의 리세트 제어방법 KR100436694B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9904680A JPS5724443A (en) 1980-07-18 1980-07-18 Method to control volume of secondary air and exhaust gas

Publications (2)

Publication Number Publication Date
KR20020027596A true KR20020027596A (ko) 2002-04-13
KR100436694B1 KR100436694B1 (ko) 2004-06-22

Family

ID=14236574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-7002616A KR100436694B1 (ko) 1980-07-18 1999-08-30 프로그래머블 컨트롤러 시스템 및 프로그래머블 컨트롤러시스템의 리세트 제어방법

Country Status (2)

Country Link
JP (1) JPS5724443A (ko)
KR (1) KR100436694B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5322921A (en) * 1976-08-14 1978-03-02 Nissan Motor Co Ltd Exhaust recirculation controlling apparatus

Also Published As

Publication number Publication date
JPS5724443A (en) 1982-02-09
KR100436694B1 (ko) 2004-06-22
JPS6227265B2 (ko) 1987-06-13

Similar Documents

Publication Publication Date Title
US4747041A (en) Automatic power control system which automatically activates and deactivates power to selected peripheral devices based upon system requirement
JPS5816201B2 (ja) 工作機械制御システム
US4819205A (en) Memory system having memory elements independently defined as being on-line or off-line
JP4230147B2 (ja) プログラマブルコントローラシステムおよびプログラマブルコントローラシステムのリセット制御方法
US4631661A (en) Fail-safe data processing system
US5237687A (en) Microprogram load unit having alternative backup memory sources
US4884195A (en) Multiprocessor system for loading microprograms into a RAM control store of a bus controller
KR100436694B1 (ko) 프로그래머블 컨트롤러 시스템 및 프로그래머블 컨트롤러시스템의 리세트 제어방법
US4387442A (en) Controlled machine inhibition when control module is absent
EP0283230A2 (en) A register circuit
JPS638493B2 (ko)
KR100978268B1 (ko) 분산 제어 시스템의 고속 이중화 데이터 복사 보드
KR100194979B1 (ko) 이중화 프로세서 시스템의 동작모드 결정방법
JPS5941214B2 (ja) 状態監視方式
JPS61213932A (ja) 分散形2重系計算機システムおよびその制御方法
JPS5931743B2 (ja) 二重化システム
JP2706027B2 (ja) プログラマブルコントローラ
JPH0774962B2 (ja) 産業用ロボット
JPH11272490A (ja) 診断制御システム
SU1068944A1 (ru) Устройство диспетчеризации вычислительной системы
JP2000020498A (ja) マイクロコンピュータおよびその復帰方法
JPH02220159A (ja) アダプタ制御方式
JPH02116933A (ja) 発停機器制御方式
JPH0795281B2 (ja) 制御系切り替え方式
JPH0414374B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130524

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150518

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee