KR101726743B1 - 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법 - Google Patents

제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법 Download PDF

Info

Publication number
KR101726743B1
KR101726743B1 KR1020157011274A KR20157011274A KR101726743B1 KR 101726743 B1 KR101726743 B1 KR 101726743B1 KR 1020157011274 A KR1020157011274 A KR 1020157011274A KR 20157011274 A KR20157011274 A KR 20157011274A KR 101726743 B1 KR101726743 B1 KR 101726743B1
Authority
KR
South Korea
Prior art keywords
programmable controller
delay time
transmission delay
slave
master
Prior art date
Application number
KR1020157011274A
Other languages
English (en)
Other versions
KR20150060972A (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 KR20150060972A publication Critical patent/KR20150060972A/ko
Application granted granted Critical
Publication of KR101726743B1 publication Critical patent/KR101726743B1/ko

Links

Images

Classifications

    • 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
    • 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/052Linking several PLC's
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1215Master slave system

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

피제어 기기(130)와, 프로그래머블 컨트롤러(120)를 조합한 제어 유닛을 복수 개 사용하여 제어하는 제어 방법에서는, 프로그래머블 컨트롤러끼리가 통신을 확립하고, 코먼 메모리를 사용하여 데이터를 공유하고 있다. 또한, 마스터 프로그래머블 컨트롤러는, 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 수신하면, 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각과 수신 완료 프레임을 수신했을 때의 시각과의 차분으로부터 전송 지연 시간을 계산하고, 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 슬레이브 프로그래머블 컨트롤러에 송신하고, 슬레이브 프로그래머블 컨트롤러는, 전송 지연 시간 통지 프레임을 수신하면, 전송 지연 시간 통지 프레임에 포함되는 전송 지연 시간을 취득하고, 전송 지연 시간에 기초하여, 슬레이브 프로그래머블 컨트롤러를 마스터 프로그래머블 컨트롤러에 동기시킨다.

Description

제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법{CONTROL SYSTEM, MASTER PROGRAMMABLE CONTROLLER, SLAVE PROGRAMMABLE CONTROLLER, AND CONTROL METHOD}
본 발명은, 각각 피(被)제어 기기(機器)를 제어하는 복수 대의 프로그래머블 컨트롤러가 서로 통신 가능하게 접속된 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법에 관한 것이다.
대규모 제어 시스템에서는, 시스템의 구축이나 유지보수의 용이성의 관점에서 컨트롤러의 계층(階層) 구조가 취해지고, 계층 간은 네트워크에 의해 접속된다. 예를 들면, 제어 시스템에서는, 1대의 관리 장치에 대하여 복수 대의 프로그래머블 컨트롤러가 네트워크를 통하여 접속되고, 각각의 프로그래머블 컨트롤러에 1대 또는 복수 대의 피제어 기기가 접속된다. 그리고, 프로그래머블 컨트롤러는, 상위의 관리 장치로부터 제어 지령을 받아, 그 제어 지령을 해석하고, 하위의 피제어 기기를 제어한다.
이와 같은 제어 시스템에서는, 프로그래머블 컨트롤러가 관리 장치로부터 제어 지령을 받으면, 후에는, 프로그래머블 컨트롤러와 피제어 기기와의 클로즈한 범위에서 제어 처리가 진행된다. 그리고, 프로그래머블 컨트롤러는, 그 제어 결과만을 관리 장치에 송신한다. 따라서, 관리 장치에서는, 프로그래머블 컨트롤러 내부에서의 각각의 타이밍에서 제어 결과를 수집하게 된다.
또한, 동일한 관리 장치 하에 있는 프로그래머블 컨트롤러끼리에서 통신을 확립하고, 제어 결과를 송수신할 수도 있다. 예를 들면, 프로그래머블 컨트롤러 사이에서 제어 데이터를 송수신하는 스케줄링을 행하고, 그 스케줄링에 따라 프로그래머블 컨트롤러 사이에 설치된 스위치를 전환하는 기술이 알려져 있다(예를 들면, 특허 문헌 1).
일본 공개특허 제2012―108696호 공보
전술한 기술을 이용함으로써, 관리 장치뿐아니라, 프로그래머블 컨트롤러끼리도 정보를 교환할 수 있다. 그러나, 제어 시스템에서의 복수 대의 프로그래머블 컨트롤러는, 관리 장치의 제어 지령에 따라, 각각 독립된 타이밍에서 동작하므로, 프로그래머블 컨트롤러와 피제어 기기와의 사이는 동기(同期)를 취할 수 있지만, 프로그래머블 컨트롤러 사이에서는 동기를 취할 수 없는 상태로 된다.
예를 들면, 관리 장치가 복수 대의 프로그래머블 컨트롤러로부터 정보를 수집하는 경우, 정보가 생성되는 타이밍이 프로그래머블 컨트롤러마다 상이하므로, 정보의 전후 관계가 명확하지 않아, 엄밀한 제어가 곤란했다.
또한, 복수 대의 프로그래머블 컨트롤러끼리에서는, 다른 프로그래머블 컨트롤러의 정보와 자체의 정보 중 어느 것이 먼저 생성되었는지, 또한 생성 타이밍이 어느 정도 상이한 것인지가 명확하지 않아, 다른 프로그래머블 컨트롤러의 정보를 손쉽게 이용할 수 없었다.
또한, 피제어 기기의 배치 변경에 따라, 피제어 기기를 다른 프로그래머블 컨트롤러에 이식(移植)하면, 액세스처의 어드레스나 제어 지령의 내용 등을 변경하지 않으면 안되었다. 또한, 피제어 기기에 관한 정보가 배치 변경 전과 동일한 타이밍에서 생성된다고는 한정할 수 없기 때문에, 어느 프로그래머블 컨트롤러에 접속되어 있고, 어느 정도의 지연이 생길 것인지를 의식하여 설계해야 했다. 또한, 그 설계 변경에 의해 문제점이 생기지 않는 것을 재차 확인할 필요가 있었다.
따라서, 실질적으로 기능이 같은 제어 시스템이라도, 최종 사용자에서의 피제어 기기의 배치나 운용 상의 요망에 따라서는, 구축한 어플리케이션을 범용적으로 이용할 수 없어, 피제어 기기의 이식에 대한 각각의 대응을 피할 수 없게 되어 있었다.
그래서, 본 발명은, 이와 같은 문제점을 해결하기 위해, 이식성을 높이고, 제어 정밀도나 안정성의 향상을 도모할 수 있는 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법을 제공하는 것을 목적으로 하고 있다.
상기 문제점을 해결하기 위해, 피제어 기기와, 프로그램에 기초하여 피제어 기기를 제어하는 프로그래머블 컨트롤러를 조합한 제어 유닛을 복수 구비한 본 발명의 제어 시스템에서는, 프로그래머블 컨트롤러는, 다른 프로그래머블 컨트롤러 및 피제어 기기와 통신을 확립하는 통신부와, 통신부를 통하여 다른 프로그래머블 컨트롤러와 데이터를 공유하기 위한 코먼 메모리(common memory)를 각각 구비하고, 프로그래머블 컨트롤러에는, 마스터로서 기능하는 마스터 프로그래머블 컨트롤러와, 슬레이브로서 기능하는 슬레이브 프로그래머블 컨트롤러가 존재하고, 마스터 프로그래머블 컨트롤러는, 또한 마스터 프로그래머블 컨트롤러와 슬레이브 프로그래머블 컨트롤러와의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을, 슬레이브 프로그래머블 컨트롤러에 송신하고, 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 수신하면, 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각과 수신 완료 프레임을 수신했을 때의 시각과의 차분으로부터 전송 지연 시간을 계산하고, 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 슬레이브 프로그래머블 컨트롤러에 송신하는 지연 시간 계측부를 구비하고, 슬레이브 프로그래머블 컨트롤러는, 또한 전송 지연 시간 리퀘스트 프레임을 수신하면, 수신 완료 프레임을 마스터 프로그래머블 컨트롤러에 송신하고, 전송 지연 시간 통지 프레임을 수신하면, 전송 지연 시간 통지 프레임에 포함되는 전송 지연 시간을 취득하는 지연 시간 수신부와, 전송 지연 시간에 기초하여, 슬레이브 프로그래머블 컨트롤러를 마스터 프로그래머블 컨트롤러에 동기시키는 동기 보정부를 구비한 것을 특징으로 한다.
또한, 상기 문제점을 해결하기 위해, 프로그램에 기초하여 피제어 기기를 제어하고, 마스터로서 기능하는 본 발명의 마스터 프로그래머블 컨트롤러는, 슬레이브로서 기능하는 슬레이브 프로그래머블 컨트롤러 및 피제어 기기와 통신을 확립하는 통신부와, 통신부를 통하여 슬레이브 프로그래머블 컨트롤러와 데이터를 공유하기 위한 코먼 메모리와, 마스터 프로그래머블 컨트롤러와 슬레이브 프로그래머블 컨트롤러와의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을, 슬레이브 프로그래머블 컨트롤러에 송신하고, 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 수신하면, 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각과 수신 완료 프레임을 수신했을 때의 시각과의 차분으로부터 전송 지연 시간을 계산하고, 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 슬레이브 프로그래머블 컨트롤러에 송신하는 지연 시간 계측부를 구비한 것을 특징으로 한다.
또한, 상기 문제점을 해결하기 위해, 프로그램에 기초하여 피제어 기기를 제어하고, 슬레이브로서 기능하는 본 발명의 슬레이브 프로그래머블 컨트롤러는, 마스터로서 기능하는 마스터 프로그래머블 컨트롤러를 포함하는 다른 프로그래머블 컨트롤러 및 피제어 기기와 통신을 확립하는 통신부와, 통신부를 통하여 다른 프로그래머블 컨트롤러와 데이터를 공유하기 위한 코먼 메모리와, 마스터 프로그래머블 컨트롤러와 슬레이브 프로그래머블 컨트롤러와의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을 수신하면, 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 마스터 프로그래머블 컨트롤러에 송신하고, 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 수신하면, 전송 지연 시간 통지 프레임에 포함되는 전송 지연 시간을 취득하는 지연 시간 수신부와, 전송 지연 시간에 기초하여, 슬레이브 프로그래머블 컨트롤러를 마스터 프로그래머블 컨트롤러에 동기시키는 동기 보정부를 구비한 것을 특징으로 한다.
또한, 상기 문제점을 해결하기 위해, 피제어 기기와, 프로그램에 기초하여 피제어 기기를 제어하는 프로그래머블 컨트롤러를 조합한 제어 유닛을 복수 사용하여 제어하는 본 발명의 제어 방법에서는, 프로그래머블 컨트롤러는, 다른 프로그래머블 컨트롤러 및 피제어 기기와 통신을 확립하고, 통신부를 통하여 다른 프로그래머블 컨트롤러와 코먼 메모리를 사용하여 데이터를 공유하고, 프로그래머블 컨트롤러 중, 마스터로서 기능하는 마스터 프로그래머블 컨트롤러는, 마스터 프로그래머블 컨트롤러와, 슬레이브로서 기능하는 슬레이브 프로그래머블 컨트롤러와의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을, 슬레이브 프로그래머블 컨트롤러에 송신하고, 슬레이브 프로그래머블 컨트롤러는, 전송 지연 시간 리퀘스트 프레임을 수신하면, 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 마스터 프로그래머블 컨트롤러에 송신하고, 마스터 프로그래머블 컨트롤러는, 수신 완료 프레임을 수신하면, 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각과 수신 완료 프레임을 수신했을 때의 시각과의 차분으로부터 전송 지연 시간을 계산하고, 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 슬레이브 프로그래머블 컨트롤러에 송신하고, 슬레이브 프로그래머블 컨트롤러는, 전송 지연 시간 통지 프레임을 수신하면, 전송 지연 시간 통지 프레임에 포함되는 전송 지연 시간을 취득하고, 전송 지연 시간에 기초하여, 슬레이브 프로그래머블 컨트롤러를 마스터 프로그래머블 컨트롤러에 동기시키는 것을 특징으로 한다.
본 발명에 의하면, 제어 시스템의 이식성을 높이고, 제어 정밀도나 안정성의 향상을 도모하는 것이 가능해진다.
도 1은 제어 시스템을 구성하는 각각의 장치의 개략적인 관계를 나타낸 설명도이다.
도 2는 제어 시스템의 개략적인 구성을 나타낸 설명도이다.
도 3은 CPU 모듈의 하드웨어 구성의 일례를 나타낸 도면이다.
도 4는 CPU 모듈의 각각의 기능부를 설명하기 위한 기능 블록도이다.
도 5는 동기 보정 처리예를 설명하기 위한 타임 차트도이다.
도 6은 동기 보정 처리의 개략적인 시퀀스의 예를 나타낸 도면이다.
도 7은 CPU 모듈에서의 데이터의 송수신을 설명하기 위한 타임 차트도이다.
도 8은 피제어 기기의 배치 변경에 대하여 설명하기 위한 설명도이다.
도 9는 코먼 메모리 내의 메모리 맵을 나타낸 설명도이다.
도 10은 코먼 메모리의 응용예를 나타낸 설명도이다.
이하에 첨부 도면을 참조하면서, 본 발명의 바람직한 실시형태에 대하여 상세하게 설명한다. 이러한 실시형태에 나타내는 치수, 재료, 그 외에 구체적인 수치 등은, 발명의 이해를 용이하게 하기 위한 예시에 지나지 않고, 특별히 단정하는 경우을 제외하고, 본 발명을 한정하는 것은 아니다. 그리고, 본 명세서 및 도면에 있어서, 실질적으로 동일한 기능, 구성을 가지는 요소에 대해서는, 동일한 부호를 부여함으로써 중복 설명을 생략하고, 또한 본 발명에 직접 관계가 없는 요소(要素)는 도시를 생략한다.
대규모 플랜트 등에 적용되는 제어 시스템에서는, 그 시스템 전체의 처리의 복잡함이나 물리적 배치의 관계에 따라, 복수의 제어 유닛(환경 설정이라고도 함)에 의한 제어 어플리케이션의 분할 제어가 행해진다. 여기서, 제어 유닛은, 주로, 프로그래머블 컨트롤러, 및 프로그래머블 컨트롤러에 제어되는 피제어 기기와의 조합을 나타낸다. 제어 시스템에서는, 이와 같은 제어 유닛이 복수 준비되고, 상기 제어 시스템 전체의 제어를 담당하는 관리 장치에 접속된다. 이하, 제어 시스템을 구성하는 각각의 장치를 설명한다.
[제어 시스템(100)]
도 1은, 제어 시스템(100)을 구성하는 각각의 장치의 개략적인 관계를 나타낸 설명도이며, 도 2는, 제어 시스템(100)의 개략적인 구성을 나타낸 설명도이다. 제어 시스템(100)은, 관리 장치(110)와, 복수 대의 프로그래머블 컨트롤러(120)와, 복수의 피제어 기기(130)를 포함하여 구성된다. 또한, 관리 장치(110)와 복수 대의 프로그래머블 컨트롤러(120)는, 컨트롤러 레벨의 네트워크로서, 예를 들면, 기가(G) 베이스 등의 Ethernet(등록상표)에 의한 네트워크 배선(140)에 의해 서로 접속된다. 또한, 복수 대의 프로그래머블 컨트롤러(120)와 복수의 피제어 기기(130)는, 각각, 디바이스 레벨의 네트워크로서, 예를 들면, 전용의 접속 배선(142)을 통해 통신 가능하게 접속되어 있다.
관리 장치(110)는, 제어 시스템(100) 전체가 어플리케이션에 정해진 단계의 흐름에 따라 동작하도록, 복수 대의 프로그래머블 컨트롤러(120)를 일괄하여 제어한다. 예를 들면, 관리 장치(110)는, 각각의 프로그래머블 컨트롤러(120)로부터 스테이터스 정보나 제어 결과를 수집하거나, 그 수집한 내용에 따라, 각각의 프로그래머블 컨트롤러(120)에 각종 제어 지령을 출력하거나 한다.
프로그래머블 컨트롤러(120)는, PLC(Progra㎜able Logic Controller)라고도 하고, 도 2에 나타낸 바와 같이, CPU 모듈(122), 통신 모듈(124), 입출력(I/O) 모듈(126), 전원 모듈(128) 등의 복수 개의 모듈을 포함하여 구성된다.
여기서, CPU 모듈(122)은, 어플리케이션을 실현하기 위해, 각각의 제어 유닛용으로 분할된 실행 프로그램을 관리 장치(110)로부터 다운로드하고, 그 실행 프로그램을 수행하거나, 제어 유닛의 동작 상황을 도시하지 않은 모니터에 표시하거나 한다. 이 때, 관리 장치(110)로부터 수신한 제어 지령, 입출력 모듈(126)을 통해 입력된 피제어 기기(130)의 센서 검출 결과, 및 다른 프로그래머블 컨트롤러(120)가 가지는 정보 등에 기초하여 피제어 기기(130)를 제어한다. 또한, CPU 모듈(122)은, 자체의 상태를 나타내는 스테이터스 정보, 센서의 검출 결과, 제어 결과 등의 데이터를 관리 장치(110)에 송신한다.
통신 모듈(124)은, 컨트롤러 레벨의 네트워크로서의, 예를 들면, 기가(G) 베이스 등의 Ethernet(등록상표)를 통하여, 관리 장치(110), 다른 프로그래머블 컨트롤러(120), 및 다른 모듈에 접속되고, 각각과 통신을 확립할 수 있다. 단, 각 모듈 사이는, 베이스 보드에 설치된 버스에 의해 데이터를 교환하는 것으로 해도 된다. 본 실시형태에 있어서, 통신 모듈(124)은, CPU 모듈(122)과 일체로 형성되어 있다.
입출력 모듈(126)은, 피제어 기기(130)에 대하여 입출력의 관리를 행한다. 예를 들면, 피제어 기기(130)가 센서이면, 센서 검출 결과를 수집하고, 전동기이면, 디스크리트(discrete)로 표현되는 제어 지령을 송신하는 동시에, 그 제어 결과를 수집한다. 전원 모듈(128)은, CPU 모듈(122), 통신 모듈(124), 입출력 모듈(126) 등의 각 모듈에 전력을 공급한다.
도 1로 돌아와, 피제어 기기(130)는, FA(Factory Automation)에서의 다양한 상태를 검지하는 센서, 그 센서의 검지 결과에 따라 동작하는 전동기, 인코더 등의 전기 기기로 구성된다.
이와 같은 제어 시스템(100)은, 다양한 제어 대상에 적용할 수 있다. 예를 들면, 생산 실행 시스템(MES: Manufacturing Execution System)에 제어 시스템(100)을 적용한 경우, 피제어 기기(130)로서의, 센터 실러 유닛(Center Sealer Unit)이나 필름 유닛(Film Unit), 압연(壓延) 유닛 등의 생산 기기에 프로그래머블 컨트롤러(120)를 접속한다.
예를 들면, 프로그래머블 컨트롤러(120)는, 입출력 모듈(126) 등으로부터 생산 기기의 동작 상태를 판독하고, 모터 드라이버 등을 통해 생산 기기 내의 전동기를 회전 제어한다. 관리 장치(110)는, 각 프로그래머블 컨트롤러(120) 단위의 정보의 수집 및 제어 지령의 송신을 실행한다. 이와 같이 하여, 제어 시스템(100) 전체로서, 공정 관리, 품질 관리, 제조량 관리 등의 생산 지원 관리를 총합적으로 행하는 것이 가능해진다. 이하, 프로그래머블 컨트롤러(120)의 CPU 모듈(122)에 대하여 특히 상세하게 설명한다.
[CPU 모듈(122)]
도 3은, CPU 모듈(122)의 하드웨어 구성의 일례를 나타낸 도면이다. 도 3에 나타낸 CPU 모듈(122)은, 입력부(150)와, 출력부(152)와, 통신부(154)와, 로직 회로(156)와, 기준 신호 생성부(158)와, CPU(160)와, ROM(162)과, RAM(164)과, 코먼 메모리(166)를 포함하여 구성된다. 이 중, 입력부(150)와, 출력부(152)와, 로직 회로(156)와, CPU(160)와, ROM(162)과, RAM(164)과, 코먼 메모리(166)는, 공통 버스(168)에 의해 데이터 이동이 가능하도록 접속되어 있다.
입력부(150)는, 키보드나, 마우스, 터치 패널 등의 포인팅 디바이스, 음성 입력 디바이스 등으로 구성되며, 예를 들면, 사용자에 의한 프로그램의 실행 등, 각종 조작을 접수한다.
출력부(152)는, 액정 디스플레이, 유기 EL(Electro Luminescence) 디스플레이 등으로 구성되며, 본 실시형태에 있어서의 처리를 행하는 CPU 모듈(122)을 조작하는 데 필요한 각종 윈도우, 데이터, 제어 프로그램의 진행 상황이나 제어 결과 등을 표시한다.
통신부(154)는, 전술한 통신 모듈(124)로서 기능하고, Ethernet(등록상표)를 통해 관리 장치(110), 다른 프로그래머블 컨트롤러(120), 입출력 모듈(126)과의 통신을 확립한다. 본 실시형태에 있어서 통신부(154)는 CPU(160)에 내장되어 있다.
로직 회로(156)는, CPLD(Complex Progra㎜able Logic Device)나 FPGA(Field―Progra㎜able Gate Array) 등의 논리 회로를 재기입 가능한 집적 회로로 구성되며, CPU(160)를 보조하는 다양한 논리 회로가 내장된다.
기준 신호 생성부(158)는, 하드웨어적인 카운터로 구성되며, 계수를 행하고, 미리 설정된 기준값에 계수값이 도달함으로써 CPU(160)에 대하여 기준 신호를 생성한다. 이러한 계수값은, 기준값에 기초하여 주기적으로 카운트되고 있다. 여기서, 기준값은, 각 CPU 모듈(122) 각각에 미리 설정되어 있고, 관리 장치(110)나 입력부(150)로부터 변경할 수 있다. 또한, 여기서는, 기준 신호 생성부(158)를 CPU(160)와 별체로 나타내고 있지만, CPU(160)에 내장된 타이머 카운터를 사용하여, 기준 신호 생성부(158)를 실현해도 된다. 여기서, 「내장된」이란, 예를 들면, 기준 신호 생성부(158)에 대하여, CPU(160)에서 사용되는 각각의 기능부만을 액세스할 수 있는 것을 의미한다.
CPU(160)는, OS(Operating System) 등의 기본 프로그램 및 실행 프로그램에 기초하여, 각종 연산이나 데이터의 입출력 등, CPU 모듈(122) 전체의 처리를 제어한다. 또한, CPU(160)는, ROM(162)에 저장된 실행 프로그램을 수행하고, 공작물(workpiece) 영역으로서의 RAM(164)을 이용함으로써, 지연 시간 계측부(180), 동기화 프레임 송신부(182), 지연 시간 수신부(184), 동기 보정부(186), 어플리케이션 실행부(188), 데이터 갱신부(190), 데이터 송신부(192)라는 기능부로서 기능한다. 또한, CPU(160)는, 통신부(154)를 내장(內藏)하고, 중간 개입 처리에 기초하여 관리 장치(110), 다른 프로그래머블 컨트롤러(120), 및 입출력 모듈(126)과 통신을 행한다.
ROM(162)은, 전술한 기본 프로그램이나 실행 프로그램을 저장한다. 또한, 보조 기억 장치로서, 하드디스크 등의 스토리지 수단을 가지고 있어도 된다. RAM(164)은, 기본 프로그램이나 실행 프로그램의 일부나, 실행 프로그램을 수행함으로써 생기는 데이터(예를 들면, 스테이터스 정보, 센서의 검출 결과, 제어 결과 등)를 일시적으로 저장한다. 코먼 메모리(166)는, 다른 CPU 모듈(122)과 정보를 공유하기 위한 기억 영역이며, RAM(164)의 일부로서 형성되어 있어도 된다.
[CPU 모듈(122)의 각각의 기능부]
도 4는, CPU 모듈(122)의 각각의 기능부를 설명하기 위한 기능 블록도이다. 전술한 바와 같이 CPU(160)는, 지연 시간 계측부(180), 동기화 프레임 송신부(182), 지연 시간 수신부(184), 동기 보정부(186), 어플리케이션 실행부(188), 데이터 갱신부(190), 데이터 송신부(192)로서도 기능한다. 또한, 이들 각각의 기능부는, 프로그래머블 컨트롤러(120)가 마스터로서 동작하거나(마스터 프로그래머블 컨트롤러), 또는 슬레이브로 서 동작하거나(슬레이브 프로그래머블 컨트롤러)에 따라 기능하는 경우와, 기능하지 않을 경우가 있다. 여기서는, 마스터 프로그래머블 컨트롤러에서의 CPU 모듈(122)을 마스터 CPU 모듈(122a)로 하고, 슬레이브 프로그래머블 컨트롤러에서의 CPU 모듈(122)을 슬레이브 CPU 모듈(122b)로 한다. 또한, 도 4 중, 마스터인지 슬레이브인지에 의해 기능하지 않는 기능부에 대해서는 파선(破線)으로 나타내고 있다.
그리고, 본 실시형태는, 상기한 구성에 한정되지 않고, 1개의 CPU 모듈(122)이 마스터 CPU 모듈(122a)로도 슬레이브 CPU 모듈(122b)로도 될 수 있도록 동일한 구성을 가지고 있다.
지연 시간 계측부(180)는, CPU 모듈(122)이 마스터 CPU 모듈(122a)로서 기능하는 경우에, 마스터 CPU 모듈(122a)과 슬레이브 CPU 모듈(122b)과의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을, 임의의 슬레이브 CPU 모듈(122b)에 송신한다. 이 전송 지연 시간 리퀘스트 프레임은, 후술하는 동기화 프레임과 포맷이 실질적으로 같고, 동기화 프레임 내의 소정 부분(예를 들면, 커맨드부)의 데이터가 상이한 프레임이다. 이러한 전송 지연 시간 리퀘스트 프레임은, 마스터 CPU 모듈(122a) 내의 기준 신호 생성부(158)에 의해 생성된 기준 신호에 동기하여 송신된다.
또한, 지연 시간 계측부(180)는, 전송 지연 시간 리퀘스트 프레임을 송신한 후, 임의의 슬레이브 CPU 모듈(122b)로부터 수신 완료 프레임을 수신하면, 수신 완료 프레임을 수신했을 때의 시각을 취득한다. 그리고, 지연 시간 계측부(180)는, 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각과 수신 완료 프레임을 수신했을 때의 시각과의 차분으로부터, 마스터 CPU 모듈(122a)과 임의의 슬레이브 CPU 모듈(122b) 사이의 왕복 전송 지연 시간을 계산한다. 그리고, 지연 시간 계측부(180)는, 계산한 왕복 전송 지연 시간을 2로 제산하고, 그 결과인 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 다음의 기준 신호에 동기시켜 임의의 슬레이브 CPU 모듈(122b)에 송신한다. 이와 같이 하여, 임의의 슬레이브 CPU 모듈(122b)에, 네트워크 배선(140)에 의한 전송 지연 시간을 통지할 수 있다.
동기화 프레임 송신부(182)는, CPU 모듈(122)이 마스터 CPU 모듈(122a)로서 기능하는 경우에, 기준 신호에 동기하여, 미리 준비된 동기화 프레임을 복수 개의 슬레이브 CPU 모듈(122b)에 송신한다. 이러한 동기화 프레임은, 슬레이브 CPU 모듈(122b)의 기준 신호 생성부(158)의 계수값을 마스터 CPU 모듈(122a)의 기준 신호 생성부(158)의 계수값에 맞추기 위한 신호이다.
지연 시간 수신부(184)는, CPU 모듈(122)이 슬레이브 CPU 모듈(122b)로서 기능하는 경우에, 마스터 CPU 모듈(122a)로부터 전송 지연 시간 리퀘스트 프레임을 수신하고, 그 전송 지연 시간 리퀘스트 프레임에 따라, 수신 완료 프레임을 마스터 CPU 모듈(122a)에 송신한다. 또한, 지연 시간 수신부(184)는, 마스터 CPU 모듈(122a)로부터 전송 지연 시간 통지 프레임을 수신하면, 그 프레임에 포함되는 전송 지연 시간을 RAM(164) 등으로 퇴피한다. 이와 같이 하여, 슬레이브 CPU 모듈(122b)은, 마스터 CPU 모듈(122a)과 슬레이브 CPU 모듈(122b) 사이의 전송 지연 시간을 얻을 수 있다.
동기 보정부(186)는, CPU 모듈(122)이 슬레이브 CPU 모듈(122b)로서 기능하는 경우에, 슬레이브 CPU 모듈(122b) 내의 기준 신호 생성부(158)에 의해 생성된 기준 신호를 전송 지연 시간만큼 진행한다. 구체적으로, 동기 보정부(186)는, 마스터 CPU 모듈(122a)로부터 동기화 프레임을 수신하면, 기준 신호 생성부(158)로부터 계수값을 취득하고, 전송 지연 시간에 상당하는 값[기준 신호 생성부(158)의 시간 환산값]과 취득한 계수값과의 차분인 보정량을 산출하고, 기준값으로부터 보정량을 감산하여 보정 기준값을 도출하고, 그 보정 기준값을 새로운 기준값으로 하여 일시적으로 기준 신호 생성부(158)에 설정한다. 따라서, 보정 기준값은, 기준값―[전송 지연 시간에 상당하는 값―기준 신호 생성부(158)의 계수값]으로 표현된다.
그리고, 보정 기준값을 설정하고, 기준 신호 생성부(158)에 있어서, 그 보정 기준값에서의 계수가 완료되면, 동기 보정부(186)는, 신속하게, 원래의 기준값을, 기준 신호 생성부(158)에 설정한다. 이와 같이 하여, 일시적으로 기준값을 전송 지연 시간만큼만 진행할 수 있다. 여기서는, 전송 지연 시간동안의 보정을 한번에 실행하는 예를 들고 있지만, 이러한 경우에 한정되지 않고, 복수 회로 나누어 실행해도 된다. 그리고, 본 실시형태에 있어서, 동기 보정부(186)가, 마스터 CPU 모듈(122a)로부터 전송 지연 시간을 얻는 일 없이 동기화 프레임을 수신한 경우라도, 전송 지연 시간을 제로(0)로 하여 상기한 보정 처리를 행하면 된다.
이와 같이 하여, 본 실시형태에서는, 마스터 CPU 모듈(122a)의 기준 신호 생성부(158)와 슬레이브 CPU 모듈(122b)의 기준 신호 생성부(158)를 고정밀도로 동기시키는 것이 가능하다. 그리고, 이와 같은 동기 보정 처리는, 연속하여 행해도 되고, 소정 시간마다 간헐적으로 행해도 된다.
어플리케이션 실행부(188)는, 마스터 CPU 모듈(122a) 및 슬레이브 CPU 모듈(122b) 중 어느 것에 있어서도, 기준 신호 생성부(158)에서 생성된 기준 신호에 따라(기준 신호를 중간 개입 신호로서 받아), 실행 프로그램을 실행하고, 입출력 모듈(126)을 통해 피제어 기기(130)를 제어한다. 따라서, 상기 실행 프로그램은, 기준 신호에 따라 주기적으로 실행되게 된다.
데이터 갱신부(190)는, 마스터 CPU 모듈(122a) 및 슬레이브 CPU 모듈(122b) 중 어느 것에 있어서도, 데이터(예를 들면, 스테이터스 정보, 센서의 검출 결과, 제어 결과 등)가 생성되면, 생성된 데이터로, 자체의 CPU 모듈(122) 내의 코먼 메모리(166)의 내용을 갱신한다. 또한, 데이터 갱신부(190)는, 다른 CPU 모듈(122)에 그 데이터를 전송한다. 또한, 데이터 갱신부(190)는, 다른 CPU 모듈(122)로부터 데이터가 전송되면, 이러한 데이터에 기초하여 자체의 CPU 모듈(122) 내의 코먼 메모리(166)의 내용을 갱신한다. 이와 같이 하여, 다른 CPU 모듈(122)과 데이터를 공유화할 수 있다. 또한, 데이터 갱신부(190)가 데이터를 다른 CPU 모듈(122)에 송신하는 송신 타이밍은, 기준 신호 생성부(158)에 기초하여 CPU 모듈(122)마다 미리 정해져 있다. 이러한 송신 타이밍에 대해서는, 후에 상세하게 설명한다.
데이터 송신부(192)는, 마스터 CPU 모듈(122a) 및 슬레이브 CPU 모듈(122b) 중 어느 것에 있어서도, 어플리케이션 실행부(188)가 실행 프로그램을 수행함으로써 생성된 데이터 중, 관리 장치(110)에 수집 요구되고 있는 데이터를, 관리 장치(110)에 송신한다. 이러한 송신 타이밍은, 데이터 갱신부(190)의 송신 타이밍을 따른다. 본 실시형태에서는, CPU 모듈(122)끼리가 동기하고 있으므로, 관리 장치(110)에, 생성 타이밍이 같은 데이터가 수집된다.
이하, 제어 시스템(100)의 구체적인 제어 방법에 대하여, 동기 보정 처리와 데이터의 공유화 처리로 나누어 설명한다.
[동기 보정 처리]
도 5는, 동기 보정 처리예를 설명하기 위한 타임 차트도이다. 여기서는, 만일, 슬레이브 CPU 모듈(122b)의 기준 신호가, 마스터 CPU 모듈(122a)의 기준 신호로부터 10μsec 지연되고 있는 것으로 한다. 그리고, 기준값(처리 주기)은, 1000μsec로 하지만, 이에 한정되지 않고, 예를 들면, 관리 장치(110)에 따라 적절히 설정을 변경할 수 있다. 또한, 도면 중, 간략을 위해 μsec를 μs로 표현한다.
도 5에서는, 마스터 CPU 모듈(122a)의 기준 신호 생성부(158)가 계수를 행하고 있다. 그 계수값이 도 5의 (1) 시점에서 기준값에 도달하면, 마스터 CPU 모듈(122a) 내에 있어서 기준 신호를 출력한다. 그리고, 어플리케이션 실행부(188)는, 상기 기준 신호에 따라 실행 프로그램을 수행한다. 도 5 중, 해칭으로 나타낸 삼각형의 영역은, 계수값의 추이(推移)를 나타내고, 시간의 경과에 따라 계수값이 증가하고, 계수 목표(예를 들면, 기준값)에 도달하면 리셋된다.
또한, 마스터 CPU 모듈(122a)과 병행하여, 슬레이브 CPU 모듈(122b)의 기준 신호 생성부(158)도 계수를 행하고 있다. 그 계수값이 도 5의 (2) 시점에서 기준값에 도달하면 기준 신호를 출력한다. 그리고, 어플리케이션 실행부(188)는, 상기 기준 신호에 따라 실행 프로그램을 수행한다. 이와 같이, 마스터 CPU 모듈(122a) 및 슬레이브 CPU 모듈(122b)에서는, 각각, 독립된 기준 신호에 따라 소정의 처리가 수행되고 있다.
또한, 마스터 CPU 모듈(122a)에 있어서 동기 보정 처리가 개시되면, 마스터 CPU 모듈(122a)의 지연 시간 계측부(180)는, 전송 지연 시간을 산출하기 위해 전송 지연 시간 리퀘스트 프레임을 송신한다[도 5의 (3)]. 슬레이브 CPU 모듈(122b)의 지연 시간 수신부(184)는, 마스터 CPU 모듈(122a)로부터 전송 지연 시간 리퀘스트 프레임을 수신하면, 그 전송 지연 시간 리퀘스트 프레임에 따라 수신 완료 프레임을 마스터 CPU 모듈(122a)에 송신한다[도 5의 (4)].
이어서, 마스터 CPU 모듈(122a)의 지연 시간 계측부(180)는, 수신 완료 프레임을 수신하면, 마스터 CPU 모듈(122a)과 슬레이브 CPU 모듈(122b) 사이의 왕복 전송 지연 시간을 계산한다. 그리고, 지연 시간 계측부(180)는, 계산한 왕복 전송 지연 시간(400μsec)을 2로 제산한 전송 지연 시간(200μsec)을 포함하는 전송 지연 시간 통지 프레임을 슬레이브 CPU 모듈(122b)에 송신한다[도 5의 (5)]. 슬레이브 CPU 모듈(122b)의 지연 시간 수신부(184)는, 전송 지연 시간 통지 프레임을 수신하면, 그 프레임에 포함되는 왕복 전송 지연 시간(상당값)을 RAM(164) 등으로 퇴피시킨다[도 5의 (6)].
동기 보정 처리가 개시된 후, 마스터 CPU 모듈(122a)의 동기화 프레임 송신부(182)는, 동기화 프레임을 중간 개입 신호로서 슬레이브 CPU 모듈(122b)에 송신한다[도 5의 (7)]. 그리고, 슬레이브 CPU 모듈(122b)은, 네트워크 배선(140)의 편도의 전송 지연 시간(200μs)을 거쳐 도 5의 (8)의 시점에서 동기화 프레임을 수신하면, 동기 보정부(186)는, 기준 신호 생성부(158)로부터 계수값(190μsec에 상당)을 취득한다[도 5의 (9)]. 그리고, 동기 보정부(186)는, 전송 지연 시간(200μsec)과 기준값(1000μsec)을 사용하여, 기준값―[전송 지연 시간에 상당하는 값―기준 신호 생성부(158)의 계수값]= 1000―(200―190)으로부터 보정 기준값 990μsec를 얻는다. 그리고, 동기 보정부(186)는, 그 보정 기준값을 새로운 기준값으로 하여 일시적으로 기준 신호 생성부(158)에 설정한다[도 5의 (10)].
그 후, 기준 신호 생성부(158)는, 도 5의 (11)의 시점에서 계수값이 일시적 보정 기준값 990μs에 도달하였으므로, 리스타트하고 있다. 이와 같이 하여, 슬레이브 CPU 모듈(122b)의 기준 신호가, 마스터 CPU 모듈(122a)의 기준 신호와 동기한다.
도 6은, 동기 보정 처리의 개략적인 시퀀스의 예를 나타낸 도면이다. 도 6의 예에서는, 설명의 편의 상, 마스터 CPU 모듈(122a)과 슬레이브 CPU 모듈(122b)을 사용한 동기에 대하여 설명하지만, 본 실시형태에 있어서는 이에 한정되지 않고, 1개의 마스터 CPU 모듈(122a)에 대하여 복수 개의 슬레이브 CPU 모듈(122b)을 동기시키는 것이 가능하다.
도 6의 동기 보정 처리에 있어서, 먼저, 마스터 CPU 모듈(122a)의 기준 신호 생성부(158)는 기준 신호를 생성하고(S11), 슬레이브 CPU 모듈(122b)의 기준 신호 생성부(158)는, 마스터 CPU 모듈(122a)과 독립적으로 기준 신호를 생성한다(S12). 또한, 이 처리는, 주기적으로 행해진다.
마스터 CPU 모듈(122a)의 동기 보정 처리가 개시되면, 마스터 CPU 모듈(122a)의 지연 시간 계측부(180)는, 전송 지연 시간을 산출하기 위해 전송 지연 시간 리퀘스트 프레임을 슬레이브 CPU 모듈(122b)에 송신한다(S13). 슬레이브 CPU 모듈(122b)의 지연 시간 수신부(184)는, 전송 지연 시간 리퀘스트 프레임을 수신하면, 마스터 CPU 모듈(122a)에 수신 완료 프레임을 송신한다(S14).
마스터 CPU 모듈(122a)의 지연 시간 계측부(180)는, 수신 완료 프레임을 수신하면, 예를 들면, 전송 지연 시간을 산출하고(S15), 산출한 전송 지연 시간 등을 포함하는 전송 지연 시간 통지 프레임을 생성한다(S16). 그리고, 지연 시간 계측부(180)는, 생성한 전송 지연 시간 통지 프레임을, 네트워크 배선(140)을 통하여 슬레이브 CPU 모듈(122b)에 송신한다(S17). 슬레이브 CPU 모듈(122b)의 지연 시간 수신부(184)는, 전송 지연 시간 통지 프레임을 수신하면, 그 전송 지연 시간 통지 프레임에 포함되는 전송 지연 시간(환산값)을 RAM(164) 등으로 퇴피시킨다(S18).
그리고, 마스터 CPU 모듈(122a)의 동기화 프레임 송신부(182)는, 기준 신호에 동기시켜, 동기화 프레임을 중간 개입 신호로서 슬레이브 CPU 모듈(122b)에 송신한다(S19).
슬레이브 CPU 모듈(122b)이 동기화 프레임을 수신하면, 동기 보정부(186)는, 기준 신호 생성부(158)로부터 계수값을 취득한다(S20). 그리고, 동기 보정부(186)는, 전송 지연 시간과 기준값을 사용하여, 기준값―[전송 지연 시간에 상당하는 값―기준 신호 생성부(158)의 계수값]을 계산하여 보정 기준값을 얻는다(S21). 그리고, 그 보정 기준값을 새로운 기준값으로 하여 일시적으로 기준 신호 생성부(158)에 설정한다(S22). 또한, 보정 기준값을 설정하고, 그 보정 기준값에서의 계수가 완료되면, 동기 보정부(186)는, 신속하게, 원래의 기준값을 기준 신호 생성부(158)에 설정한다(S23).
이와 같은 동기 보정 처리를, 제어 시스템(100)에 포함되는 모든 슬레이브 CPU 모듈(122b)에 대하여 실행한다. 이와 같이 하여, 슬레이브 CPU 모듈(122b)의 기준 신호는, 마스터 CPU 모듈(122a)의 기준 신호에 동기한다. 즉, 각 CPU 모듈(122) 상에서 동작하는 실행 프로그램(어플리케이션)을 동기시키는 것이 가능하다.
[데이터의 공유화 처리]
전술한 구성에 의해, 제어 시스템(100)에 포함되는 모든 CPU 모듈(122)이 동기하게 된다. 또한, 전술한 바와 같이, CPU 모듈(122)끼리는 대역이 넓은 기가(G) 베이스 등의 Ethernet(등록상표)에 의해 접속되어 있으므로, 정보의 교환에 시간을 필요로 하지 않는다. 여기서는, 이와 같이 CPU 모듈(122)이 동기되어 있는 것을 전제로, 광대역의 네트워크를 통하여, 복수의 CPU 모듈(122) 사이에서 데이터의 공유화를 도모한다.
도 7은, CPU 모듈(122)에서의 데이터의 송수신을 설명하기 위한 타임 차트도이다. 도 7에 있어서는, 복수의 CPU 모듈(122)로서 3개의 CPU 모듈(도 7 중, CPU 모듈 A, B, C)을 예로 든다. 여기서는, 이미 동기 보정 처리가 완료되고, 3개의 CPU 모듈 A, B, C는 동기하고 있다. 단, CPU 모듈의 수가 3개에 한정되지 않는 것은 물론이다.
예를 들면, CPU 모듈 A에 주목하면, 어플리케이션 실행부(188)는, 기준 신호에 동기하여 주기적으로 동작한다. 구체적으로, 기준 신호 생성부(158)가 기준 신호를 생성한 타이밍, 즉 기준 신호 생성부(158)의 계수값이 0으로 리셋된 타이밍에서, 실행 프로그램을 수행 개시하고, 피제어 기기(130)의 데이터(센서의 검출 결과, 제어 결과 등)를 래치(유지)시킨다. 단, 여기서는, 계수값이 0일 때 실행 프로그램을 개시하고 있지만, 실행 프로그램에 앞선 관리 기능 처리의 오버헤드를 고려하여, 소정 시간 후에 처리를 기동시켜도 된다.
그리고, 어플리케이션 실행부(188)는, 래치한 데이터를, 입출력 모듈(126)을 통하여 입력하고, 실행 프로그램에 기초하여 소정의 연산을 행한다. 그리고, 그 연산한 제어 결과를 부가한 데이터(스테이터스 정보, 센서의 검출 결과, 제어 결과 등)에 의해, CPU 모듈 A 내의 코먼 메모리(166)를 갱신한다. 소정의 연산이 종료하면, 다음의 기준 신호까지, 프로그래머블 컨트롤러(120)의 이상(異常) 감시나 시스템 제어 처리 등이 실행된다.
또한, 데이터 갱신부(190)는, 다음의 기준 신호가 생기면, 기준 신호 생성부(158)의 계수값을 참조하여, 상기 CPU 모듈 A에 대하여 미리 할당된 송신 타이밍을 측정한다(여기서는 0). 그리고, 송신 타이밍이 도래하면, 데이터 갱신부(190)는, 코먼 메모리(166)에 기억된 데이터를, 다른 CPU 모듈 B, C에 송신하고, CPU 모듈 B, C에서의 코먼 메모리(166)를 갱신시킨다.
CPU 모듈 A, B, C에서는, 각각 상이한 송신 타이밍이 할당된다. 여기서는, 데이터를 송신 완료하는 데 충분한 시간을 두고, CPU 모듈 A로부터 CPU 모듈 B, CPU 모듈 C로, CPU 모듈 B로부터 CPU 모듈 A, C로, CPU 모듈 C로부터 CPU 모듈 A, B로의 순서로 데이터가 송신된다. 그리고, 1개의 CPU 모듈로부터 데이터가 송신되면, 다른 CPU 모듈은 그 데이터를 수신하는 동시에, 각각의 코먼 메모리(166)에 그 데이터를 반영한다.
여기서는, 각 CPU 모듈 A, B, C에서 데이터가 생성될 때마다, 데이터 갱신부(190)가 다른 CPU 모듈에 반영시키는 예를 들고 있지만, 제어 시스템(100) 내에서 코먼 메모리(166)를 동기시켜, 자체의 코먼 메모리(166)의 데이터를 갱신만 하면, 자동적으로 다른 CPU 모듈의 데이터도 갱신되는 구성을 채용해도 된다.
본 실시형태에서는, 데이터 갱신부(190)가, 각 CPU 모듈 A, B, C에서의 기준 신호 생성부(158)의 계수값을 참조하여, 각 CPU 모듈 A, B, C에 할당된 송신 타이밍으로 데이터를 송신하고 있지만, 기준 신호 생성부(158)에 한정되지 않고, 기준 신호에 따라 계수를 개시하는 별도의 카운터를 사용할 수도 있다.
그런데, 본 실시형태에 있어서의 코먼 메모리(166)를 사용한 코먼 메모리 방식에서는, 각 CPU 모듈 A, B, C 각각으로부터 송신되는 데이터를 모든 CPU 모듈 A, B, C에서 수신하고, 다른 CPU 모듈로부터 수신한 데이터를 자체의 CPU 모듈에 전개한다. 이와 같이 하여, 각 CPU 모듈 A, B, C 내에 있어서, 동일한 메모리 맵을 사용하여 실행 프로그램을 실행하는 것이 가능해진다.
따라서, 이와 같은 코먼 메모리 방식을 채용하고, 또 다른 CPU 모듈의 데이터도, 디바이스 레벨의 네트워크에 의해 동기된 상태로 공유화함으로써, 피제어 기기(130)를 어느 CPU 모듈에도 용이하게 이식할 수 있다.
예를 들면, 피제어 기기(130)의 배치 변경에 의해, 자기가 속한 CPU 모듈이 변경되었다고 해도, 변경 후의 CPU 모듈에 있어서 코먼 메모리(166)의 동일한 메모리 어드레스에 데이터를 반영함으로써, 변경 전과 동등한 환경을 형성할 수 있다. 이하, 데이터 갱신부(190)의 코먼 메모리(166)에 대한 액세스에 대하여 상세하게 설명한다.
도 8은, 피제어 기기(130)의 배치 변경에 대하여 설명하기 위한 설명도이다. 도 8에 있어서는, 복수의 CPU 모듈(122)로서 3개의 CPU 모듈(도 8 중, CPU 모듈 A, CPU 모듈 B, CPU 모듈 C)를 예로 들고 있다.
예를 들면, CPU 모듈 B에 주목하면, 도 8의 (a)에 나타낸 바와 같이, CPU 모듈 B에는, 센서에 상당하는 피제어 기기(D, E)와, 전동기에 상당하는 피제어 기기(F)가 접속되어 있다. 여기서, 전동기에 상당하는 피제어 기기(F)에는, 센서에 상당하는 피제어 기기(D, E)의 검출 결과 INd, INe에 기초하여 제어 지령 OUTf가 보내지는 것으로 한다.
도 8의 (a)의 예에서는, 피제어 기기(D, E, F)가 동일한 제어 유닛에 포함되고, 모두, 동일한 CPU 모듈 B에 속해 있으므로, 그 제어 유닛 내에서 제어 지령 OUTf를 생성하면 된다. 즉, CPU 모듈 B 내에 있어서, 어플리케이션 실행부(188)가, 입출력 모듈(126)을 통하여 피제어 기기(D, E)로부터 센서의 검출 결과 INd, INe를 취득하고, 그 검출 결과로부터 제어 지령 OUTf를 생성하고, 생성된 제어 지령 OUTf를 피제어 기기(F)에 출력하면 된다.
여기서, 피제어 기기(D, E)의 배치 변경이 생겨, 도 8의 (b)와 같이, 피제어 기기(F)는 그대로, 피제어 기기(D)가 CPU 모듈 A에 속하고, 피제어 기기(E)가 CPU 모듈 C에 속하게 된 것으로 한다. 본 실시형태에서는, 이러한 경우라도, 코먼 메모리(166)에 의해 데이터를 공유화함으로써, CPU 모듈 B는, 피제어 기기(D, E)의 데이터를 지금 그대로의 타이밍에서 용이하게 참조할 수 있다.
도 9는, 코먼 메모리(166) 내의 메모리 맵을 나타낸 설명도이다. 여기서는, CPU 모듈 A, B, C에 각각 코먼 메모리(166a, 166b, 166c)가 배치되어 있다. 도 8의 (b)에 나타낸 바와 같이, 피제어 기기(D)가 CPU 모듈 A에 속하고, 피제어 기기(F)가 CPU 모듈 B에 속하고, 피제어 기기(E)가 CPU 모듈 C에 속하는 경우를 상정한다.
본 실시형태에서는, 코먼 메모리(166)를 사용하고 있으므로, 도 9에 나타낸 바와 같이, CPU 모듈 A에 있어서 피제어 기기(D)로부터 취득한 센서의 검출 결과 INd가, 자체의 CPU 모듈 A의 코먼 메모리(166a)에 기억되는 동시에, 다른 CPU 모듈 B, C의 코먼 메모리(166b, 166c)에도 기억된다. 여기서는, 자체의 데이터를 실선으로, 복제된 데이터를 파선으로 나타내고 있다. 또한, 동기한 상태에서, CPU 모듈 C에 있어서 피제어 기기(E)로부터 취득한 센서의 검출 결과 INe가, 자체의 CPU 모듈 C의 코먼 메모리(166c)에 기억되는 동시에, 다른 CPU 모듈 A, B의 코먼 메모리(166a, 166b)에도 기억된다.
CPU 모듈 B의 어플리케이션 실행부(188)는, CPU 모듈 B의 코먼 메모리(166b)로부터 피제어 기기(D, E)의 센서 검출 결과 INd, INe를 판독하고, 소정의 연산을 행하여, 피제어 기기(F)의 제어 지령 OUTf를 생성한다. 그리고, 어플리케이션 실행부(188)는, 입출력 모듈(126)을 통하여, 자체의 CPU 모듈 B에 속하는 피제어 기기(F)에 제어 지령 OUTf를 출력한다.
여기서는, 도 8의 (a) 및 도 8의 (b)와 같이 피제어 기기(D, E)의 배치가 변경된 경우라도, CPU 모듈 B에서의 센서 검출 결과 INd, INe의 판독처를 코먼 메모리(166b)로 변경하는 것만으로, 구축한 어플리케이션의 불필요한 개수를 회피하는 것이 가능해진다.
도 10은, 코먼 메모리(166)의 응용예를 나타낸 설명도이다. 여기서는, 도 9와 마찬가지로, CPU 모듈 A, B, C에 각각 코먼 메모리(166a, 166b, 166c)가 배치되어 있다. 그리고, 피제어 기기(D)가 CPU 모듈 A에 속하고, 피제어 기기(F)는 CPU 모듈 B에 속하고, 피제어 기기(E)가 CPU 모듈 C에 속하고 있다.
도 10에 나타낸 코먼 메모리(166)에서는, CPU 모듈 A에 있어서 피제어 기기(D)로부터 취득한 센서의 검출 결과 INd, 및 CPU 모듈 C에 있어서 피제어 기기(E)로부터 취득한 센서의 검출 결과 INe에 더하여, CPU 모듈 B에 있어서 피제어 기기(F)에 출력하는 제어 지령 OUTf도 기억되어 있다. 따라서, CPU 모듈 B의 어플리케이션 실행부(188)는, CPU 모듈 B의 코먼 메모리(166b)로부터 제어 지령 OUTf를 판독하고, 그대로, 입출력 모듈(126)을 통하여, 자기의 CPU 모듈 B에 속하는 피제어 기기(F)에 제어 지령 OUTf를 출력하면 된다.
또한, 이러한 응용예에서는, CPU 모듈 B의 코먼 메모리(166b)로부터 피제어 기기(D, E)의 센서 검출 결과 INd, INe를 판독하고, 소정의 연산을 행하여, 피제어 기기(F)의 제어 지령 OUTf를 생성하는 처리를, 어느 장치에서 행해도 된다. 즉, CPU 모듈 A, B, C, 또 다른 CPU 모듈, 또는 관리 장치(110) 중 어느 하나에 의해 실행만 하면 되므로, 처리 부하를 분산시키는 것이 가능해진다. 도 10에서는, CPU 모듈 A가 실행하는 예를 들고 있다.
이와 같이 하여 실장(實裝)된 어플리케이션은, 그 입출력으로서 코먼 메모리(166)의 변수만을 취급하므로, 입출력 모듈(126)의 실장 위치가 어느 프로그래머블 컨트롤러(120)의 부하로 되었다고 해도 어플리케이션 그 자체는 수정할 필요가 없다.
또한, 데이터 송신부(192)는, 어플리케이션 실행부(188)가 실행 프로그램을 수행함으로써 생성된 데이터 중, 관리 장치(110)에 수집 요구되고 있는 데이터를, 도 7에 나타낸 데이터의 송신 타이밍에서 관리 장치(110)에 송신한다. 본 실시형태에서는, CPU 모듈(122)끼리가 동기하고 있으므로, 관리 장치(110)에, 생성 타이밍이 같은 데이터가 수집된다.
따라서, 정보가 생성되는 타이밍이 프로그래머블 컨트롤러(120)마다 상이한 것이 없기 때문에, 정보의 전후 관계가 명확하게 되어, 엄밀한 제어가 가능해진다.
이상, 설명한 프로그래머블 컨트롤러(120)에 의하면, CPU 모듈(122)끼리가 동기되어 광대역의 네트워크를 통하여, 복수의 CPU 모듈(122) 사이에서 데이터의 공유화가 도모된다. 따라서, 제어 유닛 사이에서 어플리케이션이나 피제어 기기(130)의 정보를 동기할 수 있어, 피제어 기기(130) 등의 이식성을 높여, 제어 시스템(100) 전체의 제어 정밀도나 안정성의 향상을 도모하는 것이 가능해진다.
상기 제어 시스템(100)을 채용함으로써, 예를 들면, 압연 시스템 등의 철강 플랜트나 종이 밸브 제조 플랜트 등, 복수의 전동기를 동시에 고속 제어하도록 한 시스템에서는, 더욱 높은 정밀도로 전동기를 동기할 수 있고, 나아가서는 제품 품질이나 수율이 향상된다.
또한, 상기 어플리케이션을 설계하는 데 있어서도, 프로그래머블 컨트롤러(120)의 위치나, 피제어 기기(130)의 배치를 고려할 필요가 없어지므로, 이식성 및 범용성이 높은 실행 프로그램을 작성하는 것이 가능해진다.
또한, 컴퓨터를, 제어 시스템(100), 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러로서 기능하게 하는 프로그램이나 상기 프로그램을 기록한, 컴퓨터로 판독 가능한 플렉시블 디스크, 광자기 디스크, ROM, CD, DVD, BD 등의 기억 매체도 제공된다. 여기서, 프로그램은, 임의의 언어나 기술(記述) 방법에 의해 기술된 데이터 처리 수단을 말한다.
이상, 첨부 도면을 참조하면서 본 발명의 바람직한 실시형태에 대하여 설명하였으나, 본 발명은 이러한 실시형태에 한정되지 않는 것은 물론이다. 당업자이면, 특허 청구의 범위에 기재된 범주에 있어서, 각종 변경예 또는 수정예에 이를 수 있는 것은 명백하고, 이들에 대해서도 당연하게 본 발명의 기술적 범위에 속하는 것으로 이해할 수 있을 것이다.
그리고, 본 명세서의 제어 방법의 각각의 단계는, 반드시 플로우차트로서 기재된 순서에 따라 시계열로 처리할 필요는 없고, 병렬적 또는 서브 루틴에 의한 처리를 포함해도 된다.
[산업 상의 이용 가능성]
본 발명은, 각각 피제어 기기를 제어하는 복수 대의 프로그래머블 컨트롤러가 서로 통신 가능하게 접속된 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법에 이용할 수 있다.
100…제어 시스템
110…관리 장치
120…프로그래머블 컨트롤러
122…CPU 모듈
122a…마스터 CPU 모듈
122b…슬레이브 CPU 모듈
130…피제어 기기
154…통신부
158…기준 신호 생성부
160…CPU
166…코먼 메모리
180…지연 시간 계측부
182…동기화 프레임 송신부
184…지연 시간 수신부
186…동기 보정부
188…어플리케이션 실행부
190…데이터 갱신부
192…데이터 송신부

Claims (17)

  1. 피(被)제어 기기(機器)와, 프로그램에 기초하여 상기 피제어 기기를 제어하는 프로그래머블 컨트롤러를 조합한 제어 유닛을 복수 포함하는 제어 시스템으로서,
    상기 프로그래머블 컨트롤러는,
    다른 프로그래머블 컨트롤러 및 상기 피제어 기기와 통신을 확립하는 통신부; 및
    상기 통신부를 통하여 다른 프로그래머블 컨트롤러와 데이터를 공유하기 위한 코먼 메모리;를 각각 구비하고,
    상기 프로그래머블 컨트롤러에는, 마스터로서 기능하는 마스터 프로그래머블 컨트롤러; 및 슬레이브로서 기능하는 슬레이브 프로그래머블 컨트롤러;가 존재하고,
    상기 마스터 프로그래머블 컨트롤러는,
    상기 마스터 프로그래머블 컨트롤러와 상기 슬레이브 프로그래머블 컨트롤러와의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을, 상기 슬레이브 프로그래머블 컨트롤러에 송신하고, 상기 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 수신하면, 상기 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각과 상기 수신 완료 프레임을 수신했을 때의 시각과의 차분으로부터 상기 전송 지연 시간을 계산하고, 상기 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 상기 슬레이브 프로그래머블 컨트롤러에 송신하는 지연 시간 계측부를 더 구비하고,
    상기 슬레이브 프로그래머블 컨트롤러는,
    상기 전송 지연 시간 리퀘스트 프레임을 수신하면, 상기 수신 완료 프레임을 상기 마스터 프로그래머블 컨트롤러에 송신하고, 상기 전송 지연 시간 통지 프레임을 수신하면, 상기 전송 지연 시간 통지 프레임에 포함되는 상기 전송 지연 시간을 취득하는 지연 시간 수신부; 및
    상기 전송 지연 시간에 기초하여, 상기 슬레이브 프로그래머블 컨트롤러를 상기 마스터 프로그래머블 컨트롤러에 동기(同期)시키는 동기 보정부;를 더 구비하며,
    상기 프로그래머블 컨트롤러는,
    미리 설정된 기준값에 계수값이 도달함으로써 기준 신호를 생성하는 기준 신호 생성부; 및
    상기 기준 신호에 따라 실행 프로그램을 실행하는 어플리케이션 실행부;를 더 구비하고,
    상기 동기 보정부는, 상기 기준 신호 생성부의 기준 신호의 생성 타이밍을 상기 전송 지연 시간만큼만 조정함으로써 상기 슬레이브 프로그래머블 컨트롤러를 상기 마스터 프로그래머블 컨트롤러에 동기시키는,
    제어 시스템.
  2. 제1항에 있어서,
    상기 프로그래머블 컨트롤러는,
    상기 프로그래머블 컨트롤러 내에서 생성된 데이터로 자체의 프로그래머블 컨트롤러의 코먼 메모리를 갱신하고, 또한 다른 프로그래머블 컨트롤러의 코먼 메모리를 갱신하는 데이터 갱신부를 더 구비하는, 제어 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 프로그래머블 컨트롤러를 제어하는 관리 장치를 더 포함하고,
    상기 프로그래머블 컨트롤러는,
    상기 데이터를 상기 관리 장치에 송신하는 데이터 송신부를 더 구비하는, 제어 시스템.
  4. 제1항 또는 제2항에 있어서,
    상기 데이터는, 상기 피제어 기기에서의 검출 결과 또는 제어 결과이며, 상기 코먼 메모리를 통해 다른 프로그래머블 컨트롤러가 참조 가능한, 제어 시스템.
  5. 제1항에 있어서,
    상기 마스터 프로그래머블 컨트롤러는, 상기 슬레이브 프로그래머블 컨트롤러에 동기화 프레임을 송신하는 동기화 프레임 송신부를 더 구비하고,
    상기 동기 보정부는,
    상기 동기화 프레임을 수신했을 때의 상기 기준 신호 생성부의 계수값을 취득하고, 상기 전송 지연 시간과 상기 계수값과의 차분인 보정량을 산출하고, 상기 기준값으로부터 상기 보정량을 감산하여 보정 기준값을 도출하고, 상기 보정 기준값을 새로운 기준값으로 하여 일시적으로 상기 기준 신호 생성부에 설정하는, 제어 시스템.
  6. 제1항에 있어서,
    상기 기준값은, 상기 프로그래머블 컨트롤러를 제어하는 관리 장치로부터 설정할 수 있는, 제어 시스템.
  7. 제1항에 있어서,
    상기 슬레이브 프로그래머블 컨트롤러는, 상기 슬레이브 프로그래머블 컨트롤러에서의 연산을 실행하는 CPU를 구비하고,
    상기 기준 신호 생성부는, 상기 CPU만이 액세스할 수 있는 카운터인, 제어 시스템.
  8. 프로그램에 기초하여 피제어 기기를 제어하고, 마스터로서 기능하는 마스터 프로그래머블 컨트롤러로서,
    슬레이브로서 기능하고 또한 동기 보정부를 포함하는 슬레이브 프로그래머블 컨트롤러 및 상기 피제어 기기와 통신을 확립하는 통신부;
    상기 통신부를 통하여 상기 슬레이브 프로그래머블 컨트롤러와 데이터를 공유하기 위한 코먼 메모리;
    상기 마스터 프로그래머블 컨트롤러와 상기 슬레이브 프로그래머블 컨트롤러와의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을, 상기 슬레이브 프로그래머블 컨트롤러에 송신하고, 상기 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 수신하면, 상기 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각과 상기 수신 완료 프레임을 수신했을 때의 시각과의 차분으로부터 전송 지연 시간을 계산하고, 상기 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 상기 슬레이브 프로그래머블 컨트롤러에 송신하는 지연 시간 계측부;
    미리 설정된 기준값에 계수값이 도달함으로써 기준 신호를 생성하는 기준 신호 생성부; 및
    상기 기준 신호에 따라 실행 프로그램을 실행하는 어플리케이션 실행부;
    를 포함하고,
    상기 동기 보정부는, 상기 기준 신호 생성부의 기준 신호의 생성 타이밍을 상기 전송 지연 시간만큼만 조정함으로써 상기 슬레이브 프로그래머블 컨트롤러를 상기 마스터 프로그래머블 컨트롤러에 동기시키는,
    마스터 프로그래머블 컨트롤러.
  9. 프로그램에 기초하여 피제어 기기를 제어하고, 슬레이브로서 기능하는 슬레이브 프로그래머블 컨트롤러로서,
    마스터로서 기능하는 마스터 프로그래머블 컨트롤러를 포함하는 다른 프로그래머블 컨트롤러 및 상기 피제어 기기와 통신을 확립하는 통신부;
    상기 통신부를 통하여 다른 프로그래머블 컨트롤러와 데이터를 공유하기 위한 코먼 메모리;
    상기 마스터 프로그래머블 컨트롤러와 상기 슬레이브 프로그래머블 컨트롤러와의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을 수신하면, 상기 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 상기 마스터 프로그래머블 컨트롤러에 송신하고, 상기 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 수신하면, 전송 지연 시간 통지 프레임에 포함되는 상기 전송 지연 시간을 취득하는 지연 시간 수신부;
    기 전송 지연 시간에 기초하여, 상기 슬레이브 프로그래머블 컨트롤러를 상기 마스터 프로그래머블 컨트롤러에 동기시키는 동기 보정부;
    미리 설정된 기준값에 계수값이 도달함으로써 기준 신호를 생성하는 기준 신호 생성부; 및
    상기 기준 신호에 따라 실행 프로그램을 실행하는 어플리케이션 실행부;
    를 포함하고,
    상기 동기 보정부는, 상기 기준 신호 생성부의 기준 신호의 생성 타이밍을 상기 전송 지연 시간만큼만 조정함으로써 상기 슬레이브 프로그래머블 컨트롤러를 상기 마스터 프로그래머블 컨트롤러에 동기시키는,
    슬레이브 프로그래머블 컨트롤러.
  10. 피제어 기기와, 프로그램에 기초하여 상기 피제어 기기를 제어하는 프로그래머블 컨트롤러를 조합한 제어 유닛을 복수 사용하여 제어하는 제어 방법으로서,
    상기 프로그래머블 컨트롤러는,
    다른 프로그래머블 컨트롤러 및 상기 피제어 기기와 통신을 확립하고,
    다른 프로그래머블 컨트롤러와 코먼 메모리를 사용하여 데이터를 공유하고,
    상기 프로그래머블 컨트롤러 중, 마스터로서 기능하는 마스터 프로그래머블 컨트롤러는,
    상기 마스터 프로그래머블 컨트롤러와, 슬레이브로서 기능하는 슬레이브 프로그래머블 컨트롤러와의 전송 지연 시간을 계측하기 위한 전송 지연 시간 리퀘스트 프레임을, 상기 슬레이브 프로그래머블 컨트롤러에 송신하고,
    상기 슬레이브 프로그래머블 컨트롤러는,
    상기 전송 지연 시간 리퀘스트 프레임을 수신하면, 상기 전송 지연 시간 리퀘스트 프레임에 대한 응답인 수신 완료 프레임을 상기 마스터 프로그래머블 컨트롤러에 송신하고,
    상기 마스터 프로그래머블 컨트롤러는,
    상기 수신 완료 프레임을 수신하면, 상기 전송 지연 시간 리퀘스트 프레임을 송신했을 때의 시각과 상기 수신 완료 프레임을 수신했을 때의 시각과의 차분으로부터 전송 지연 시간을 계산하고, 상기 전송 지연 시간을 포함하는 전송 지연 시간 통지 프레임을 상기 슬레이브 프로그래머블 컨트롤러에 송신하고,
    상기 슬레이브 프로그래머블 컨트롤러는,
    상기 전송 지연 시간 통지 프레임을 수신하면, 상기 전송 지연 시간 통지 프레임에 포함되는 상기 전송 지연 시간을 취득하고,
    상기 전송 지연 시간에 기초하여, 상기 슬레이브 프로그래머블 컨트롤러를 상기 마스터 프로그래머블 컨트롤러에 동기시키고,
    상기 프로그래머블 컨트롤러는,
    미리 설정된 기준값에 계수값이 도달함으로써 기준 신호를 생성하고,
    상기 기준 신호에 따라 실행 프로그램을 실행하고,
    상기 기준 신호의 생성 타이밍을 상기 전송 지연 시간만큼만 조정함으로써 상기 슬레이브 프로그래머블 컨트롤러를 상기 마스터 프로그래머블 컨트롤러에 동기시키는,
    제어 방법.
  11. 제10항에 있어서,
    상기 프로그래머블 컨트롤러는,
    상기 프로그래머블 컨트롤러 내에서 생성된 데이터로 자체의 프로그래머블 컨트롤러의 코먼 메모리를 갱신하고, 또한 다른 프로그래머블 컨트롤러의 코먼 메모리를 갱신하는, 제어 방법.
  12. 제10항 또는 제11항에 있어서,
    상기 프로그래머블 컨트롤러는,
    상기 프로그래머블 컨트롤러를 제어하는 관리 장치에 데이터를 송신하는, 제어 방법.
  13. 제10항 또는 제11항에 있어서,
    상기 데이터는, 상기 피제어 기기에서의 검출 결과 또는 제어 결과이며, 상기 코먼 메모리를 통해 다른 프로그래머블 컨트롤러가 참조 가능한, 제어 방법.
  14. 제10항에 있어서,
    상기 마스터 프로그래머블 컨트롤러는, 상기 슬레이브 프로그래머블 컨트롤러에 동기화 프레임을 송신하고,
    상기 슬레이브 프로그래머블 컨트롤러에서는,
    상기 동기화 프레임을 수신했을 때의 상기 프로그래머블 컨트롤러에서의 상기 계수값을 취득하고, 상기 전송 지연 시간과 상기 계수값과의 차분인 보정량을 산출하고, 상기 기준값으로부터 상기 보정량을 감산하여 보정 기준값을 도출하고, 상기 보정 기준값을 새로운 기준값으로 하는, 제어 방법.
  15. 제10항에 있어서,
    상기 기준값은, 상기 프로그래머블 컨트롤러를 제어하는 관리 장치로부터 설정할 수 있는, 제어 방법.
  16. 삭제
  17. 삭제
KR1020157011274A 2013-01-08 2013-01-08 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법 KR101726743B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/050121 WO2014108999A1 (ja) 2013-01-08 2013-01-08 制御システム、マスタープログラマブルコントローラ、スレーブプログラマブルコントローラ、および、制御方法

Publications (2)

Publication Number Publication Date
KR20150060972A KR20150060972A (ko) 2015-06-03
KR101726743B1 true KR101726743B1 (ko) 2017-04-13

Family

ID=51166676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157011274A KR101726743B1 (ko) 2013-01-08 2013-01-08 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법

Country Status (4)

Country Link
JP (1) JP5935903B2 (ko)
KR (1) KR101726743B1 (ko)
CN (1) CN104854523B (ko)
WO (1) WO2014108999A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6535459B2 (ja) * 2014-12-08 2019-06-26 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
WO2017079920A1 (zh) * 2015-11-11 2017-05-18 华为技术有限公司 同步的方法与设备
KR102510900B1 (ko) * 2016-02-04 2023-03-15 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법
JP7009751B2 (ja) * 2017-03-15 2022-01-26 オムロン株式会社 計測システム、制御装置、計測方法
JP6828624B2 (ja) * 2017-07-07 2021-02-10 オムロン株式会社 制御システム、および、制御方法
JP6984199B2 (ja) * 2017-07-07 2021-12-17 オムロン株式会社 制御システム、および、制御方法
EP3832287B1 (en) * 2018-07-31 2023-10-04 Shimadzu Corporation Material testing machine
CN112424717B (zh) * 2018-08-30 2024-04-16 株式会社安川电机 工业设备的数据采集系统以及马达控制装置
JP7003951B2 (ja) * 2019-03-14 2022-01-21 オムロン株式会社 制御システム
JP7439474B2 (ja) * 2019-11-25 2024-02-28 富士電機株式会社 プログラマブルコントローラシステムおよびモジュール
WO2022259379A1 (ja) * 2021-06-08 2022-12-15 三菱電機株式会社 プログラマブルロジックコントローラ、動画像管理装置、動画像管理システム、動画像管理方法及びプログラム
CN113630203B (zh) * 2021-07-22 2023-10-27 广州致远电子股份有限公司 一种多设备触发同步方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2898387B2 (ja) * 1990-09-27 1999-05-31 ファナック株式会社 同期信号発生装置
JP2001075932A (ja) * 1999-09-08 2001-03-23 Canon Inc ライン制御装置、ライン制御方法及びラインシステム
JP2010147806A (ja) * 2008-12-18 2010-07-01 Fujitsu Ltd 遅延測定方法および通信装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02179221A (ja) * 1988-12-28 1990-07-12 Meidensha Corp ループ状ディジタル保護継電装置のサンプリング同期システム
JP4337543B2 (ja) * 2003-12-22 2009-09-30 三菱電機株式会社 通信状態監視装置
JP2007226492A (ja) * 2006-02-23 2007-09-06 Yaskawa Electric Corp モーションコントロールシステム
JP5141972B2 (ja) * 2007-12-07 2013-02-13 オムロン株式会社 産業用コントローラ
CN100595707C (zh) * 2008-08-29 2010-03-24 华中科技大学 一种数控机床双轴同步控制装置
JP5411835B2 (ja) 2010-11-17 2014-02-12 株式会社日立製作所 プログラマブルコントローラ、および、通信制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2898387B2 (ja) * 1990-09-27 1999-05-31 ファナック株式会社 同期信号発生装置
JP2001075932A (ja) * 1999-09-08 2001-03-23 Canon Inc ライン制御装置、ライン制御方法及びラインシステム
JP2010147806A (ja) * 2008-12-18 2010-07-01 Fujitsu Ltd 遅延測定方法および通信装置

Also Published As

Publication number Publication date
WO2014108999A1 (ja) 2014-07-17
CN104854523B (zh) 2017-07-04
JP5935903B2 (ja) 2016-06-15
JPWO2014108999A1 (ja) 2017-01-19
CN104854523A (zh) 2015-08-19
KR20150060972A (ko) 2015-06-03

Similar Documents

Publication Publication Date Title
KR101726743B1 (ko) 제어 시스템, 마스터 프로그래머블 컨트롤러, 슬레이브 프로그래머블 컨트롤러 및 제어 방법
US10908579B2 (en) Controller, control program, and control system
US20220413474A1 (en) Control system
US11977362B2 (en) Control device and distributed control system
EP3751364B1 (en) Process control device having modern architecture and legacy compatibility
CN110506241B (zh) 用于在工业过程控制和自动化系统中使用最小公倍数来同步消息的系统和方法
EP2365651A2 (en) System and method for providing time synchronization
WO2021002059A1 (ja) 制御システム、設定装置およびコンピュータプログラム
CN105680972A (zh) 机器人集群协同任务网络同步控制方法
KR20150084917A (ko) 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법
KR101492910B1 (ko) 이더캣 기반의 분산 시계 동기화를 위한 방법 및 시스템
WO2020085077A1 (ja) 制御装置および制御プログラム
JP2011258125A (ja) プロセスデータ収集装置
CN114761889A (zh) 控制系统
EP3472797A1 (en) Method and apparatus for automation of personalized maintenance tasks with built-in simulation and data synchronization support in energy distribution industry or other industry
CN108693840B (zh) 控制装置、存储介质、控制系统及控制方法
CN112564938B (zh) 基于EtherCAT协议的设备控制器可重构系统及实施方法
CN114600416B (zh) 控制系统、控制系统的通信控制方法以及控制装置
CN210377133U (zh) 基于can总线的主从可配置plc控制器
EP3696626B1 (en) Communication system, communication method, and program
US10708117B2 (en) Network system, control method, and control device
JP2015056766A (ja) クラウド制御システム、及びその制御プログラムの実行方法
US11940783B2 (en) Computing system for analyzing factory and method of using the computing system to manage factory
JP2017062758A (ja) 制御システムおよび制御方法
CN112711217A (zh) 基于can总线的主从可配置plc控制器

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant