KR0146050B1 - 프로그램 가능 논리 제어기 - Google Patents
프로그램 가능 논리 제어기Info
- Publication number
- KR0146050B1 KR0146050B1 KR1019890702314A KR890702314A KR0146050B1 KR 0146050 B1 KR0146050 B1 KR 0146050B1 KR 1019890702314 A KR1019890702314 A KR 1019890702314A KR 890702314 A KR890702314 A KR 890702314A KR 0146050 B1 KR0146050 B1 KR 0146050B1
- Authority
- KR
- South Korea
- Prior art keywords
- program counter
- instruction
- address
- processor
- instructions
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
- G05B19/052—Linking several PLC's
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 어떤 시스템의 구성 요소인 모듈간에 주고 받는 여러 클럭들의 동작 및 단속을 제어하는 신호를 발생하는 장치에 관한 것으로서 해당 시스템의 특성에 맞도록 프로그램하여 구동 제어 신호를 적절히 발생하도록 하기에 적합한 클럭 송수신 구동 제어 신호 발생 장치에 관한 것으로, 종래 확장 모듈은 모듈간의 데이타, 클럭 그리고 신호들의 단순 경로 제공 역할빡에 할 수 없었고 고장 가능성이 있는 모듈 점검시 해당 모듈을 일일이 점검해야 하므로 중요한 클럭이나 동기 신호에 대한 신속정확한 점검이 어려웠고 유지 보수를 위하여 별도의 확장 모듈을 장착함으로써 각 데이타, 클럭 등 해당 신호의 라인 손실이 발생되므로 정확한 추적이 어려우며, 각 클럭들의 신호 보상이 이루어지지 않았으나, 본 발명에서는 확장 모듈(16)이 각 모듈에 분산되어 있는 클럭 신호들을 집합시켜서 일괄적으로 점검하므로써 주요 구성 신호인 제반 클럭들에 대한 라인 손실도 완전히 보상됨으로써 각 모듈의 점검이 신속정확하므로 상기 결점을 개선시킬 수 있는 것이다.
Description
[발명의 명칭]
프로그램가능 논리 제어기
[도면의 간단한 설명]
제1도는 공작 기계를 제어하는 본원 발명의 프로그램가능 논리 제어기의 블럭도이다.
제2도는 프로그램 카운터 및 서로 다른 동작 상태를 식별하는 제어 논리의 회로 접속을 나타내는 블럭도이다.
[발명의 상세한 설명]
[기술분야]
본원 발명은 일반적으로 공작 기계(machine tools)를 제어하는 프로그램가능 논리 제어기에 관한 것으로, 특히 제어 프로세서, 및 자체 프로그램 카운터를 가진 관련 주사 프로세서를 가진 프로그램가능 논리 제어기에 관한 것이다.
[발명의 배경]
펀치 프레스, 나사 머쉰(screw machines), 및 자동 용접기들과 같은 공작 기계를 제어하는데 프로그램가능 논리 제어기들 또는 PLCs를 사용하는 것이 널리 공지되어 있다. 상기 PLCs는 공작 기계의 상태를 감지하고, 아울러 이 공장 기계를 동작시키기 위해 밸브들 및 스위치들의 개폐를 제어하는 출력들을 제공하도록 한 세트의 순차적인 명령하에서 동작하는 마이크로프로세서들을 포함한다.
앞서, 이들 PLCs중 몇몇은 상태 및 제어 정보의 처리를 증가시키도록 제어프로세서 및 주사 프로세서 장치를 사용해 왔다. 위와 같은 한 PLC에 있어서, 상기 제어 프로세서는 주사 프로세서에 대해 임의의 명령들을 할당했고, 상기 주사 프로세서가 종결될 때, 상기 제어 프로세서는 상기 주사 프로세서에 다른 루틴을 할당했다. 그 때문에, 상기 주사 프로세서는 결코 분리된 판독가능 프로그램 카운터를 필요로 하지 않았는데, 그 이유는 그것이 당해 주사 프로세서가 단지 인-라인(in-line) 루틴들만을 실행했기 때문에 결코 서브 루틴들을 실행하기 위해 프로그램 카운터의 내용을 세이브할 필요가 없기 때문이다.
사용자의 컴파일된(compiled) 메모리로부터 직접 페치(fetch)된 서브 루틴들로 상기 PLC를 동작시켜, 이 PLC의 동작을 촉진시키고, 주사 프로세서에서 발생하는 서로 다른 에러 상태를 식별하므로써, 자체 에러가 순간적인지 아니면 지속적인 여부를 상기 제어 프로세서가 결정할 수 있고 그에 따라 동작할 수 있게 하는 것이 바람직하다.
[발명의 요약]
본원 발명은 주사 프로세서 및 제어 프로세서 양자 모두에 대해 프로그램 카운터의 내용을 판독할 기능을 부여해준다. 상기 프로그램 카운터를 판독하는 주사 프로세서의 기능은 주사 프로세서로 하여금 제어 프로세서로부터의 지시없이 그 자신이 서브 루틴들을 실행시키는 것을 용이하게 해준다.
본원 발명은 또한 컴파일된 사용자 메모리내의 패리티 에러, 이미지 메모리내의 패리티 에러 또는 제어 프로세서로 부터 주사 프로세서로의 부정확한 명령을 식별하는 제어 논리를 제공한다.
이것은 데이타가 입력으로서 주사 프로세서내에 결합되기 전에 정확하게 됨을 보장해 준다.
[양호한 실시예의 설명]
제1도는 본원 발명에 따른 프로세서 시스템(11)의 블럭도를 도시한 것이다. 상기 프로세서 시스템(11)은 실행 메모리(17), 중간 사용자 메모리(14), 컴파일된 사용자 메모리(15), 통신 인터페이스(18), 버스 인터페이스(20), 및 키스위치(21)를 포함한다. 전술한 부품 블럭들은 이하에서 기술된다. 상기 프로세서 시스템(11)은 또한 주사 프로세서(22) 및 매스(math) 공동-프로세서(27)를 포함한다. 상기 매스 공동-프로세서(27)는 제어 프로세서(12)로부터의 제어에 응답하여 요구된 수치 연산 기능을 실행한다.
공지된 적당한 설계로 제조된 제어 프로세서(12)는 모든 프로세서 시스템(11)의 동작들을 조정한다. 이것은 통신 인터페이스 포트, 및 시스템 버스를 통한 모든 통신을 실행시킨다. 제어 프로세서(12)는 또한 컴파일된 사용자 메모리로 래더(ladder) 프로그램을 컴파일하며, 또한 주사 프로세서, 시스템 버스, 및 상기 프로그램가능 제어기 시스템의 나머지 부분으로부터의 모든 인터럽트 및 에러 상태를 처리한다. 이 모드에서 , 상기 주사 프로세서(22)는 입력 및 레지스터의 현재 상태에 의거한 출력 상태들 및 레지스터 값들의 계산을 실행하며, 연산들 이 연산들이 실행되는 시퀀스가 컴파일된 사용자 메모리내의 프로그램에 의해 제어된다. 상기 제어 프로세서는 상기 이미지 메모리로부터 접근된 상태들 및 레지스터 값들에 접근한다.
상기 중간 사용자 메모리(14) 및 컴파일된 사용자 메모리(15)는 주사(scanning) 및 프로그램 조작의 최대 효율을 위해 서로 다른 두개의 메모리부를 구비한다. 상기 중간 사용자 메모리(14)는 분리된 RAM이며, 주사 프로세서에 대한 실행가능한 명령어 역할을 하도록 최적화된 코드의 컴파일된 버젼(version)을 포함한다.
동작중, 상기 중간 사용자 메모리(14)로부터의 프로그램이 컴파일되어, 상기 컴파일된 사용자 메모리(15)로 다운 로드된다. 컴파일된 사용자 메모리(15)는 바테리 백(battery backed)되고, 패리티 보호되는 정적 CMOS 소자로 실현된다.
상기 컴파일된 사용자 메모리는 32K 까지의 워드에 대한 64-비트 컴파일된 사용자 프로그램 저장용량을 제공한다. 각각의 워드는 주사 프로세서의 명령어 및 제어 코드와, 데이타 또는 프로그램 제어용의 두 개의 16-비트 오퍼런드로 이루어진다.
상기 컴파일된 사용자 메모리는 사용자 프로그램을 로딩 및 편집하기 위하여 제어 프로세서에 의해 불규칙하게 접근가능하다. 상기 주사 프로세서는 연속적인 명령어의 실행 메모리로서 컴파일된 사용자 메모리에 바로 접근한다. 상기 주사 프로세서에 의한 접근은 두개의 16-비트 오퍼런드가 중간 데이터로서 코딩될 때 상기 두 개의 오퍼런트상에서의 연산들만을 판독하도록 제한된다. 분기들 또는 서브 루틴들은 명령어 또는 주사 프로세서 계산에 관련된 오퍼런드마다 프로그램 카운터를 변경을 요구한다.
중요하게도, 상기 주사 프로세서는 컴파일된 사용자 메모리를 포인팅하는 자체 프로그램 카운터를 제어한다. 이러한 기능은 사용자가 타이머들 및 카운터들등에 대한 자신의 프로그램에서 인-라인 코드의 반복된 섹션보다는 서브루틴들을 이용하게 한다.
타이머로서 위와 같은 기능에 대해 동일한 서브 루틴을 과도하게 이용함으로써, 이런 코드를 홀딩하는데 필요한 메모리량이 크게 감소된다.
제2도는 각종 동작 명령문을 식별하는 제어 논리 및 주사 프로세서(22)의 프로그램 카운터에 대한 통신문을 표시한 블럭도이다. 중요하게도, 표시된 바와 같이, 프로그램 카운터(40)는 컴파일된 사용자 메모리(15) 및 ALU(42)와 직접 통신한다.
컴파일된 사용자 메모리(15)내의 각종 명령 레지스터는 제2도에 표시되어, 논리 제어부(41)를 통해 프로그램 카운터(40)를 제어한다. 메모리(15)의 분기 오퍼런드 레지스터는 프로그램 카운터(40)에 직접 연결된다.
주사 프로세서에 의해 실행되는 실행 프로그램은 아래와 같이 표시된다.
실행 프로그램
(컴파일된 사용자 메모리로 컴파일되고 다운 로드됨)
어드레스 명령어 명령어
0000 1 Instr.
2 Instr.
3 GOSUB A
4 Instr.
5 GOSUB B
6 GOSUB B
7 GOSUB A
8 Instr.
9 GOSUB A
NNNN 10 GO TO #1
명령어 1 내지 10은 연속 루프내에서 실행된다. 서브 루틴 A 및 B에 대한 전체 프로그래밍 명령어를 포함하는 대신, 요구될 경우, 이 코드는 단 한번 기록되어, 변경 가능한 프로그램 카운터에 의해 접근된다.
서브루틴 A 서브루틴 B
Instr. 1 Instr. 1
Instr. 2 Instr. 2
Instr. 3 Instr. 3
etc. etc.
Return Return
이런 동작에 대한 시퀀스는 아래와 같다:(실행될 다음 명령어의 어드레스를 포함하는) 프로그램 카운터는 실행 루프의 순차적인 명령이 실행됨에 따라 증가된다. 서브 루틴이 인카운터될시에, 프로그램 카운터에 대한 다음 인-라인 순차 어드레스의 값은 스택(stack)으로 지칭되는 일시적인 레지스터내에 저장된다. 상기 프로그램 카운터의 어드레스는 그후 서브 루틴의 어드레스로 변화된다. 상기 프로그램 카운터는 그후 서브 루틴에서 명령어를 실행하도록 순차적으로 증가된다. 상기 서브 루틴 복귀 명령어가 인카운터될시에, 스택에 기록된 최종 어드레스 위치는 프로그램 카운터내에 기록된다. 이것은 그후 최종 실행 명령어에 이어지는 실행 루프의 명령어로 프로그램 카운터를 포인트한다. 상기 최종 실행 명령어는 프로그램 카운터를 최종 실행된 서브 루틴으로 지정하는 명령어이다. 따라서, 상기 프로그램 카운터는 최종 go to 서브 루틴 명령어에 바로 이어 실행 명령어를 계속적으로 실행시킨다.
프로그램 카운터를 제어하는 능력은 또한 지능 I/O 에 의해 발생될 수도 있는 타이밍되거나 사건 구동된 인터럽트를 사용한다. 이것은, 상기 인터럽트가, 인터럽트 코드가 복귀 종료기(terminater)와 함께 서브 루틴으로서 기록된다는 면에서 서브루틴과 동일한 방식으로 처리될 것이기 때문이다. 전술된 서브 루틴과 인터럽트 사이의 중요한 차이는 상기 인터럽트 루틴이 프로그램 카운터를 서브 루틴의 제1 명령으로 지시하는 명령어보다는 발생되는 하드웨어 인터럽트에 의해 호출된다는 것이다.
인터럽트
Instr. 1
Instr. 2
Instr. 3
etc.
정지 명령
상기 주사 프로세서는 제어 프로세서로부터의 명령에 따라 사용자 프로그램을 실행시킨다. 상기 주사 프로세서의 동작은 제어 프로세서로부터 수신된 정지 명령, 정지 명령어의 실행, 또는 컴파일된 사용자 메모리 또는 이미지 메모리에서 검출된 패리티 에러에 의해 정지된다.
이런 주사 프로세서는 입력 및 레지스터의 현재 상태에 의거한 출력 상태 및 레지스터 값을 계산한다. 이런 동작 및 그들이 실행되는 시퀀스는 컴파일된 사용자 메모리내에 포함된 프로그램에 의해 제어된다. 상기 I/O 상태 및 레지스터 값은 이미지 메모리로부터 접근된다.
프로세서 시스템(11)은 모든 I/O 및 레지스터의 상태를 홀딩하기 위해 이미지 메모리를 사용한다. 상기 이미지 메모리의 내용은 외부 I/O로 전달되고, 주사가 끝날때마다 현재 I/O 상태가 이미지 메모리로 전달된다. 내부 레지스터는 버스상에서 전달되지 않는다.
I/O를 갱신하는데 필요한 시간은 레지스터 분열의 정도와 시스템에 할당된 I/O 레지스터 수의 함수이다. 레지스터 분열은 동일한 레지스터내에 입출력이 있을시에 발생한다. 상기 I/O는 4개의 그룹내에 재배치될 수 있으며, 레지스터는 서로 다른 4개의 I/O 그룹까지 포함할 수 있다. I/O 갱신 동안에, 임의의 강제적인 동작이 사실상 발생할 것이다.
래더 프로그램은 이미지 메모리(16)가 설정된 후에 해결된다. 상기 프로그램은 통상적으로 렁 수 1로 시작하여 올림 렁 순서로 주사된다.
이미지 메모리(16)는 사용자 레지스터 및 제어 레지스터에 대한 16 비트 데이타 및 상태 필드를 제공하는 바테리-백형(battery-backed) RAM으로 구성된다. 상기 이미지 메모리(16)는 내부 및 외부 I/O와 레지스터 양자 모두를 포함한다. 주사하는 사이에, 상기 제어 프로세서(12)는 이미지 메모리(16)내의 현재값을 적당한 외부 장치로 전송한다. 그것은 또한, 다음 주사 준비로 외부 I/O 및 레지스터에 따라 이미지 메모리(16)를 갱신한다. 패리티 보호는 메모리의 모든 바이트에 대해 이루어진다.
이미지 메모리(16) 테이블은 완전히 주사 프로세서(22) 및 제어 프로세서(12)에 의해 접근 가능하다.
상기 제어 프로세서에는 매스 공동 프로세서(27)에 인터페이스할 회로가 공급된다. 이 매스 공동 프로세서(27)는 제어 프로세서(12)의 제어하에 수치 연산 기능을 실행하고, 이와 같이 시간이 소모되는 작업으로부터 제어 프로세서를 자유롭게 해준다.
제어 프로세서가 래더 프로그램을 주사하지는 않지만, 매스 공동 프로세서(27)를 제어하기 때문에, 주사 프로세서(22)는 포인트 동작을 부동시키도록 제어 프로세서(12)를 저지시켜야 한다. 각각의 전용 매스 공동프로세서(22)는 수치연산 동작을 보다 능률적으로 실행시킬 수 있다.
키로 동작되는 선택 스위치(21)는 제어 프로세서(12)로 하여금 4개의 동작 모드, 즉 RUN, RUN PROGRAM, DISABLE 또는 HALT중의 어느 하나로 고정되게 한다. RUN 모드에서, 제어 프로세서(12)는 정상적으로 주사하지만 프로그램할 수 없는 반면에, RUN PROGRAM 모드에서, 제어 프로세서(12)는 정상적으로 주사하고, 프로그래머가 래더 프로그램을 변경시킬 수 있게 해준다. HALT 모드에서, 상기 제어 프로세서(12)는 프로그램에 따라 동작하지 않으며, DISABLED OUTPUT 모드에서, 제어 프로세서(12)는 래더 다이어그램 프로그램에 따라 동작하지만, 모든 외부 출력은 오프 상태로 유지된다.
상기 주사 프로세서(22)의 하드웨어는 주사 프로세서가 주사할시에 발생하는 에러 상태를 구별할 수 있다.
특히, 상기 주사 프로세서는 지정 에러 코드를 제어 프로세서에 보고하여, 3개의 카테고리 또는 에러 형태를 구별한다. 예를들면, 패리티 에러가 컴파일된 사용자 메모리(15) 및 이미지 메모리(16)에서 구별될 수 있다. 또한, 충돌 에러, 즉 주사 프로세서가 작동할시에 제어 프로세서로부터 비합법적인 명령을 수신하는 표시가 구별될 수 있다.
제1도 시스템(11) 동작의 간단한 일례는 아래와 같다.
최종 카톤(carton)이 보틀(bottle)로 채워진 후에 적당한 적재 위치내에 소정의 빈 카톤을 위치시키는 동작을 제어하도록 상기 시스템(11)이 보틀 플랜드(bottling plant)에서 사용됨으로써 상기 빈 카톤이 보틀로 채워질 수 있다고 가정하자.
빈 카톤은 무게(weight) 입력 신호에 응답하여 채워진다. 무게 신호에 응답하여, 출력은, 공구의 부품이 적재 공구에서 떨어진 꽉찬 카톤을 푸시하게 하고, 공구의 제2 부품이 보틀을 수신하도록 빈 카톤을 적재 위치내로 푸시하게 한다. 상기 키 스위치(21)는 RUN 모드로 세트된다.
클리어 상태나 파워-업시에, 사용자 프로그램은 중간 사용자 메모리(14)의 CMOS RAM 영역내로 적재된다. 이때, 상기 제어 프로세서(12)는 이 컴파일된 프로그램을 컴파일된 사용자 메모리(15)로 전달한다.
꽉찬 카톤이 감지된 위치내에 있다고 가정하자. 이 정보는 버스 인터페이스(20)를 통해 제어 프로세서(12)에 의해 수신되어, 이미지 메모리(16)로 전달된다. 이미지 메모리(16)내에 포함된 모든 입력 및 출력은 패리티 검사 된다.
비트는 프로세서(12)에 의해 이미지 메모리(16)내에 세트되어, 카톤 풀(full) 상태를 표시한다.
상기 주사 프로세서(22)가 컴파일된 사용자 메모리(19)내의 실행 프로그램을 실행시키고, 실행 프로그램내의 명령어와 관련하여 이미지 메모리(16)으로부터 입력 정보를 비교함에 따라, 카톤 풀 상태가 발생하게 한다. 주사 프로세서(22)는 카톤이 채워지는 것과, 두가지 일, 즉 카톤을 안전한 곳으로 이동시키고, 텅빈 카톤을 적재 위치로 이동시키는 일을 수행할 출력을 필요로 하는 사건이 발생함을 안다.
주사 프로세서(22)는 이미지 메모리(16)내에 대응 출력을 세트시킨다. 제어 프로세서(12)는 이미지 메모리(16)내의 출력 비트를 판독하여, 버스 인터페이스(20)를 통해 신호를 출력 장치로 보낸다. 상기 출력 장치는 동시에 적재 위치의 충전 카톤을 이동시키고, 빈 카톤을 적재 위치로 푸시한다.
센서 입력 장치는 적재 위치내에 빈 카톤 작은 무게의 카톤)이 있음을 검출한다. 이런 정보는 버스 및 버스 인터페이스(20)를 통해 제어 프로세서(12)로 전송된다. 상기 제어 프로세서(12)는 그후 이미지 메모리(16)내의 대응 입력 비트를 클리어한다. 이것은 단지 한 공구의 한 부분적 동작만이지만, 주사 프로세서를 통한 데이타가 명백해진다.
몇몇 제어 기능이 입력 스케일링과 같이 매스 증강된다. 고속 발생 상황에서, 요구된 수리적 계산은 주사 프로세서(27)의 필요한 주사 주기보다 시간이 더 길게 걸린다.
이 경우에, 주사율을 증가시켜, 수리적 계산을 행하도록 취해진 시간만큼 하향된 주사율을 느리게 하지 않도록 병렬 수리 연산 프로세서(27)에 대한 수리 계산을 오프-로딩하는 것이 바람직하다. 다시말해, 상기 수리 계산은 상기 시스템(11)의 주사율을 감소시키지 않도록 매스 공동 프로세서(27)에 의해 제공된다.
본 발명이 양호한 실시예를 참조로 기술되었지만, 본 발명의 정신 및 범주로부터 벗어남이 없이 본 분야의 숙련자에게는 많은 변형이 가능함을 알 수 있다.
Claims (5)
- 프로그램가능 논리 제어기에 있어서, 실행 가능한 명령어들을 포함하는 사용자 메모리와; 입력들, 출력들, 및 레지스터 값들의 상태를 수신 및 저장하는 이미지 메모리와; 상기 사용자 메모리 및 이미지 메모리에 연결되어 있고, 상기 이미지 메모리의 출력 상태들 및 레지스터 값들을 계산하기 위해 상기 사용자 메모리내에 저장된 명령들을 실행하는 주사 프로세서로서, 실행될 상기 다음 명령의 어드레스를 나타내는 상기 프로그램 카운터와, 명령들중 한 명령에 응답하여 상기 프로그램 카운터로부터 스택으로 실행될 다음 명령의 상기 어드레스를 이동시키고 상기 프로그램 카운터에 실행될 상기 명령들중 상기 다른 한 명령의 어드레스를 삽입하므로써, 상기 주사 프로세서로 하여금 상기 다른 명령을 실행하게 하는 스택 및 수단, 및 상기 명령들중 다른 한 명령의 완성시 상기 스택으로부터 상기 프로그램 카운터로 상기 이동된 어드레스를 이동시키는 수단을 포함하는 주사 프로세서; 및 상기 사용자 메모리에 연결되어 있고, 본 시스템에 대한 관리 통신 및 감독 기능들을 제공하는 제어 프로세서로서, 상기 프로그램 카운터로부터 상기 스택으로 실행될 상기 다음 명령의 상기 어드레스를 이동시키며 상기 프로그램 카운터에 실행될 상기 명령들중 다른 한 명령의 어드레스를 삽입하므로써 상기 주사 프로세서로 하여금 상기 다른 명령을 실행하게 하는 수단, 및 상기 명령들중 상기 다른 명령의 완성시 상기 스택으로부터 상기 프로그램 카운터로 상기 이동된 어드레서를 이동시키는 수단을 포함하는 제어 프로세서를 구비하는 것을 특징으로 하는 프로그램가능 논리 제어기.
- 제1항에 있어서, 상기 주사 프로세서가 실행 명령어에 대해 상기 컴파일된 사용자 메모리를 직접 접근시키는 것을 특징으로 하는 프로그램가능 논리 제어기.
- 제1항에 있어서, 상기 실행가능한 명령어들이 래더(ladder) 프로그램을 포함하는 것을 특징으로 하는 프로그램가능 논리 제어기.
- 제1항에 있어서, 상기 명령들중 상기 다른 한 명령이 서브루틴의 제1 명령을 포함하고, 상기 이동된 어드레스가 상기 서브루틴의 완성시 상기 스택으로부터 상기 프로그램 카운터로 이동되는 것을 특징으로 하는 프로그램가능 논리 제어기.
- 프로그램가능 논리 제어기에 있어서, 서브루틴을 실행하기 위한 서브루틴 명령을 포함하는 루틴, 및 서브루틴을 가진 래더 프로그램을 가진 실행 가능한 명령들을 포함하는 사용자 메모리와; 입력들, 출력들, 및 레지스터 값들의 상태를 수신 및 저장하는 이미지 메모리와; 상기 사용자 메모리와 상기 이미지 메모리에 연결되어 상기 이미지 메모리의 상기 출력 상태들 및 레지스터 값들을 계산하기 위해 상기 루틴들 및 상기 서브루틴들의 순차 단계들을 실행하는 주사 프로세서로서, 실행될 상기 다음 단계의 상기 명령의 어드레스를 나타내는 프로그램 카운터와, 상기 서브루틴 명령에 응답하여 상기 프로그램 카운터내에 포함된 상기 명령의 상기 어드레스를 상기 스택으로 이동시키고 상기 프로그램 카운터에 상기 서브루틴의 상기 제1 명령의 어드레스를 삽입시키므로써 상기 주사 프로세서로 하여금 상기 서브루틴을 실행하게 하는 수단, 및 상기 서브루틴의 완성시 상기 스택으로부터 상기 프로그램 카운터로 상기 이동된 어드레스를 이동시키는 수단을 포함하는 주사 프로세서; 및 상기 사용자 메모리에 연결되어 본 시스템에 대한 관리 통신 및 감독 기능들을 제공하며, 상기 프로그램 카운터에 저장된 상기 어드레스를 상기 스택으로 이동시키며 실행될 상기 명령들중 다른 한 명령의 어드레스를 상기 프로그램 카운터에 삽입시키므로써 상기 주사 프로세서로 하여금 상기 다른 명령을 실행하게 하는 수단, 및 상기 명령들중 상기 다른 명령의 완성시 상기 스택으로부터 상기 프로그램 카운터로 상기 이동된 어드레스를 이동시키는 수단을 포함하는 제어 프로세서를 구비하는 것을 특징으로 하는 프로그램가능 논리 제어기.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/179,969 US4912623A (en) | 1988-04-11 | 1988-04-11 | Multiple processor communications system |
US179,969 | 1988-04-11 | ||
PCT/US1988/001515 WO1988008664A1 (en) | 1987-05-07 | 1988-05-06 | Flooring for poultry pen |
Publications (2)
Publication Number | Publication Date |
---|---|
KR900700965A KR900700965A (ko) | 1990-08-17 |
KR0146050B1 true KR0146050B1 (ko) | 1998-09-15 |
Family
ID=22658746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890702314A KR0146050B1 (ko) | 1988-04-11 | 1989-04-11 | 프로그램 가능 논리 제어기 |
Country Status (9)
Country | Link |
---|---|
US (1) | US4912623A (ko) |
EP (1) | EP0400091A4 (ko) |
JP (1) | JPH03500701A (ko) |
KR (1) | KR0146050B1 (ko) |
AU (1) | AU626854B2 (ko) |
BR (1) | BR8906811A (ko) |
CA (1) | CA1337876C (ko) |
MX (1) | MX172627B (ko) |
WO (1) | WO1989009968A1 (ko) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5251302A (en) * | 1988-04-11 | 1993-10-05 | Square D Company | Network interface board having memory mapped mailbox registers including alarm registers for storing prioritized alarm messages from programmable logic controllers |
JPH03288906A (ja) * | 1990-04-05 | 1991-12-19 | Fanuc Ltd | Pcの命令実行方式 |
US5225974A (en) * | 1990-10-30 | 1993-07-06 | Allen-Bradley Company, Inc. | Programmable controller processor with an intelligent functional module interface |
AU681604B2 (en) * | 1992-10-19 | 1997-09-04 | Siemens Industrial Automation, Inc | High speed programmable logic controller |
US5706627A (en) * | 1994-02-02 | 1998-01-13 | Tetra Laval Holdings & Finance, S.A. | Control system for a packaging machine |
US5724786A (en) * | 1994-09-28 | 1998-03-10 | Tetra Laval Holdings & Finance S.A. | Control system having error correcting apparatus |
KR100395743B1 (ko) * | 1995-10-27 | 2003-11-28 | 삼성중공업 주식회사 | 분산제어시스템과하이브레인프로그래머블로직컨트롤러의인터페이스방법 |
US7146408B1 (en) | 1996-05-30 | 2006-12-05 | Schneider Automation Inc. | Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller |
US6282454B1 (en) | 1997-09-10 | 2001-08-28 | Schneider Automation Inc. | Web interface to a programmable controller |
US6732191B1 (en) | 1997-09-10 | 2004-05-04 | Schneider Automation Inc. | Web interface to an input/output device |
US20020091784A1 (en) * | 1997-09-10 | 2002-07-11 | Baker Richard A. | Web interface to a device and an electrical network control system |
US7035898B1 (en) | 1997-09-10 | 2006-04-25 | Schneider Automation Inc. | System for programming a factory automation device using a web browser |
US20020152289A1 (en) * | 1997-09-10 | 2002-10-17 | Schneider Automation Inc. | System and method for accessing devices in a factory automation network |
US7058693B1 (en) | 1997-09-10 | 2006-06-06 | Schneider Automation Inc. | System for programming a programmable logic controller using a web browser |
US7162510B2 (en) * | 1998-03-16 | 2007-01-09 | Schneider Automation Inc. | Communication system for a control system over Ethernet and IP networks |
US6434157B1 (en) | 1998-10-06 | 2002-08-13 | Schneider Automation, Inc. | MODBUS plus ethernet bridge |
US6233626B1 (en) | 1998-10-06 | 2001-05-15 | Schneider Automation Inc. | System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer |
US6853867B1 (en) | 1998-12-30 | 2005-02-08 | Schneider Automation Inc. | Interface to a programmable logic controller |
US6327511B1 (en) | 1998-12-30 | 2001-12-04 | Schneider Automation, Inc. | Input/output (I/O) scanner for a control system with peer determination |
US6845401B1 (en) | 1998-12-30 | 2005-01-18 | Schneider Automation Inc. | Embedded file system for a programmable logic controller |
US7519737B2 (en) * | 2000-07-07 | 2009-04-14 | Schneider Automation Inc. | Input/output (I/O) scanner for a control system with peer determination |
US7181487B1 (en) | 2000-07-07 | 2007-02-20 | Schneider Automation Inc. | Method and system for transmitting and activating an application requesting human intervention in an automation network |
US7032029B1 (en) | 2000-07-07 | 2006-04-18 | Schneider Automation Inc. | Method and apparatus for an active standby control system on a network |
US20020167967A1 (en) * | 2000-09-06 | 2002-11-14 | Schneider Electric | Method for managing bandwidth on an ethernet network |
US7028204B2 (en) * | 2000-09-06 | 2006-04-11 | Schneider Automation Inc. | Method and apparatus for ethernet prioritized device clock synchronization |
US7023795B1 (en) | 2000-11-07 | 2006-04-04 | Schneider Automation Inc. | Method and apparatus for an active standby control system on a network |
US10173008B2 (en) | 2002-01-29 | 2019-01-08 | Baxter International Inc. | System and method for communicating with a dialysis machine through a network |
US20030204419A1 (en) * | 2002-04-30 | 2003-10-30 | Wilkes Gordon J. | Automated messaging center system and method for use with a healthcare system |
US8775196B2 (en) * | 2002-01-29 | 2014-07-08 | Baxter International Inc. | System and method for notification and escalation of medical data |
US20030140928A1 (en) * | 2002-01-29 | 2003-07-31 | Tuan Bui | Medical treatment verification system and method |
US8234128B2 (en) | 2002-04-30 | 2012-07-31 | Baxter International, Inc. | System and method for verifying medical device operational parameters |
US20030225596A1 (en) * | 2002-05-31 | 2003-12-04 | Richardson Bill R. | Biometric security for access to a storage device for a healthcare facility |
US20040210664A1 (en) * | 2003-04-17 | 2004-10-21 | Schneider Automation Inc. | System and method for transmitting data |
US7395527B2 (en) | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7415705B2 (en) | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
US7895382B2 (en) | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US10089443B2 (en) | 2012-05-15 | 2018-10-02 | Baxter International Inc. | Home medical device systems and methods for therapy prescription and tracking, servicing and inventory |
US8057679B2 (en) | 2008-07-09 | 2011-11-15 | Baxter International Inc. | Dialysis system having trending and alert generation |
US8554579B2 (en) | 2008-10-13 | 2013-10-08 | Fht, Inc. | Management, reporting and benchmarking of medication preparation |
CN102540953A (zh) * | 2010-12-24 | 2012-07-04 | 深圳市合信自动化技术有限公司 | 可编程逻辑控制器的数据处理方法及可编程逻辑控制器 |
CN102540954B (zh) * | 2010-12-24 | 2015-03-11 | 深圳市合信自动化技术有限公司 | 一种可编程逻辑控制器及其控制方法 |
CN102929214A (zh) * | 2011-08-11 | 2013-02-13 | 西门子公司 | 一种嵌入式多处理单元并行处理系统及其运行方法 |
WO2014035478A1 (en) | 2012-08-31 | 2014-03-06 | Baxter Corporation Englewood | Medication requisition fulfillment system and method |
JP2015536181A (ja) | 2012-10-26 | 2015-12-21 | バクスター・コーポレーション・イングルウッドBaxter Corporation Englewood | 医学的用量調製システムのためのワーク・ステーションの改善 |
KR102078768B1 (ko) | 2012-10-26 | 2020-02-19 | 백스터 코포레이션 잉글우드 | 의료 투여분 조제 시스템을 위한 개선된 이미지 취득 |
CA2953392A1 (en) | 2014-06-30 | 2016-01-07 | Baxter Corporation Englewood | Managed medical information exchange |
US11575673B2 (en) | 2014-09-30 | 2023-02-07 | Baxter Corporation Englewood | Central user management in a distributed healthcare information management system |
US11107574B2 (en) | 2014-09-30 | 2021-08-31 | Baxter Corporation Englewood | Management of medication preparation with formulary management |
AU2015358483A1 (en) | 2014-12-05 | 2017-06-15 | Baxter Corporation Englewood | Dose preparation data analytics |
CA2978455A1 (en) | 2015-03-03 | 2016-09-09 | Baxter Corporation Englewood | Pharmacy workflow management with integrated alerts |
EP3314488B1 (en) | 2015-06-25 | 2024-03-13 | Gambro Lundia AB | Medical device system and method having a distributed database |
KR102476516B1 (ko) | 2016-12-21 | 2022-12-09 | 감브로 룬디아 아베 | 외부 도메인을 지원하는 안전한 클러스터 도메인을 구비한 정보 기술 인프라를 포함하는 의료 장치 시스템 |
CN112513887B (zh) * | 2018-08-03 | 2024-10-18 | 西门子股份公司 | 神经逻辑控制器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS514381B1 (ko) * | 1969-11-24 | 1976-02-10 | ||
US4165534A (en) * | 1977-04-25 | 1979-08-21 | Allen-Bradley Company | Digital control system with Boolean processor |
US4118789A (en) * | 1977-06-06 | 1978-10-03 | Allen-Bradley Company | Program protection module for programmable controller |
US4200915A (en) * | 1978-04-05 | 1980-04-29 | Allen-Bradley Company | Program loader for programmable controller |
US4215397A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Automatic end-of-scan control system for a programmable process controller with expandable memory |
DE3241357A1 (de) * | 1982-11-09 | 1984-05-10 | Siemens AG, 1000 Berlin und 8000 München | Vorrichtung zur mikrobefehls-bereitstellung fuer mindestens zwei unabhaengig arbeitende funktionseinheiten in einem integrierten, mikroprogrammierten elektronischen baustein und verfahren zu ihrem betrieb |
CA1230949A (en) * | 1984-06-29 | 1987-12-29 | Nicholas Tsiakas | Signal multiplexing circuit |
US4716541A (en) * | 1984-08-02 | 1987-12-29 | Quatse Jesse T | Boolean processor for a progammable controller |
-
1988
- 1988-04-11 US US07/179,969 patent/US4912623A/en not_active Expired - Lifetime
-
1989
- 1989-04-10 CA CA000596161A patent/CA1337876C/en not_active Expired - Fee Related
- 1989-04-11 AU AU34103/89A patent/AU626854B2/en not_active Ceased
- 1989-04-11 MX MX015620A patent/MX172627B/es unknown
- 1989-04-11 KR KR1019890702314A patent/KR0146050B1/ko not_active IP Right Cessation
- 1989-04-11 WO PCT/US1989/001515 patent/WO1989009968A1/en not_active Application Discontinuation
- 1989-04-11 BR BR898906811A patent/BR8906811A/pt unknown
- 1989-04-11 EP EP19890904419 patent/EP0400091A4/en not_active Withdrawn
- 1989-04-11 JP JP1504392A patent/JPH03500701A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
MX172627B (es) | 1994-01-04 |
AU626854B2 (en) | 1992-08-13 |
BR8906811A (pt) | 1990-11-13 |
WO1989009968A1 (en) | 1989-10-19 |
JPH03500701A (ja) | 1991-02-14 |
CA1337876C (en) | 1996-01-02 |
KR900700965A (ko) | 1990-08-17 |
EP0400091A4 (en) | 1993-03-03 |
US4912623A (en) | 1990-03-27 |
EP0400091A1 (en) | 1990-12-05 |
AU3410389A (en) | 1989-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0146050B1 (ko) | 프로그램 가능 논리 제어기 | |
EP0368144B1 (en) | Digital computing system with low power mode | |
US5619409A (en) | Program analysis circuitry for multi-tasking industrial controller | |
US5636124A (en) | Multitasking industrial controller | |
US4972365A (en) | Executing downloaded user programs in a programmable controller | |
US4486830A (en) | Programmable control apparatus and method | |
US5844795A (en) | Diagnostic aid for industrial controller using multi-tasking architecture | |
KR970011211B1 (ko) | 데이타 처리 장치 | |
CA1103362A (en) | Program protection module for programmable controller | |
US4742443A (en) | Programmable controller with function chart interpreter | |
CA1131365A (en) | Programmable controller with data archive | |
US4118792A (en) | Malfunction detection system for a microprocessor based programmable controller | |
US5812133A (en) | Industrial controller with display of rung execution | |
CA1144655A (en) | Mini-programmable controller | |
US5042002A (en) | Programmable controller with a directed sequencer | |
EP0034017A2 (en) | Programmable sequence controller | |
US4045782A (en) | Microprogrammed processor system having external memory | |
US5043644A (en) | Machining program correcting method | |
US4167781A (en) | Microprocessor system having a single central processing unit shared by a plurality of subsystems each having a memory | |
WO1993019409A1 (en) | Programmable controller with fast i/o scan | |
CA1323703C (en) | Programmable logic controller including a function block processor and a bit processor | |
EP0263187B1 (en) | Method of processing nc apparatus | |
JPS63268002A (ja) | プログラマブルコントロ−ラ | |
EP0445288A1 (en) | Operation processing unit | |
SU1525678A1 (ru) | Микропроцессорна система дл программного управлени технологическим оборудованием |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20030410 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |