KR100407619B1 - 프로그램 머블 컨트롤러의 주변장치 - Google Patents

프로그램 머블 컨트롤러의 주변장치 Download PDF

Info

Publication number
KR100407619B1
KR100407619B1 KR10-2001-7000790A KR20017000790A KR100407619B1 KR 100407619 B1 KR100407619 B1 KR 100407619B1 KR 20017000790 A KR20017000790 A KR 20017000790A KR 100407619 B1 KR100407619 B1 KR 100407619B1
Authority
KR
South Korea
Prior art keywords
monitor
shared memory
monitor data
side shared
flag
Prior art date
Application number
KR10-2001-7000790A
Other languages
English (en)
Other versions
KR20010106407A (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 KR20010106407A publication Critical patent/KR20010106407A/ko
Application granted granted Critical
Publication of KR100407619B1 publication Critical patent/KR100407619B1/ko

Links

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
    • G05B19/058Safety, monitoring
    • 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/11Plc I-O input output
    • G05B2219/1196Intelligent, smart I-O can function independently, monitoring limit values
    • 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/14Plc safety
    • G05B2219/14006Safety, monitoring in general

Landscapes

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

Abstract

모니터링 애플리케이션 실행부(11)측과 모니터 요구명령 발행수단(13) 사이에 모니터링 요구에 의해 모니터 하는 디바이스의 리스트를 기록하는 요구명령 발행측 공유 메모리(14)를 설치하고, 모니터링 애플리케이션 실행부(11)측과, 모니터 데이터 취득수단(16)사이에 모니터 데이터 취득수단(15)이 취득한 모니터 데이터를 기록하고, 모니터 데이터 취득후 공유 메모리(16)를 설치하고, 모니터 요구명령 발행수단(13) 및 메모리 데이터 취득수단(15)측과 모니터링 애플리케이션 실행부(11)측를 서로 비동기로 동작 시키는 것을 가능하게하고, 또 데이터의 흐름을 한 방향으로 하고 공유 메모리에 관한 베타제어가 필요 최저한에서 끝내도록 한다.

Description

프로그래머블 컨트롤러의 주변장치{PERIPHERAL DEVICE OF PROGRAMMABLE CONTROLLER}
시리얼 통신 등에 의해 프로그래머블 컨트롤러의 디바이스치를 취득하고, 디바이스를 모니터링 하는 프로그래머블 컨트롤러의 주변장치가 알려져 있다.
종래로부터 알려져 있는 모니터용의 주변장치의 일반적인 구성을 도 7을 참조해서 설명한다. 이 주변장치는 전체를 부호 100에 의해 표시되어 있고, 통신케이블(120)에 의해 모니터 대상의 프로그래머블 컨트롤러(50)와 쌍방향으로 통신가능하게 접속되어 있다.
주변장치(100)는 프로그래머블 컨트롤러(50)의 디바이스를 모니터하기 위한 모니터링 애플리케이션 실행부(101)와, 애플리케이션 인터페이스부(102)와, 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하는 모니터 요구명령 발행수단(103)과, 프로그래머블 컨트롤러(50)로부터 모니터 데이터를 취득하는 모니터 취득수단(104)과, 프로그래머블 컨트롤러(50)와의 통신수단(105)으로 구성되어 있다.
상술한 바와 같이 구성된 종래의 주변장치(100)에서는 모니터링 애플리케이션 실행부(101)가 애플리케이션 인터페이스부(102)에 대해 모니터하는 디바이스의 리스트를 보낸다.
모니터 요구명령 발행수단(103)은 애플리케이션 인터페이스부(102)가 받은 디바이스의 리스트에 따라 통신수단(105)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행한다.
프로그래머블 컨트롤러(50)는 받은 요구명령에 따라 인도된 모니터 디바이스 리스트에 있는 디바이스의 값을 통신수단(105)을 통해서 모니터 데이터 취득수단(104)에 되돌린다.
모니터 취득수단(104)은 받은 디바이스의 값을 애플리케이션 인터페이스부 (102)를 통해서 모니터링 애플리케이션 실행부(101)으로 되돌린다.
상술한 바와 같이 종래의 주변장치(100)에서는 모니터링 애플리케이션 실행부(101)에서 모니터하는 디바이스 리스트가 나올 때마다 프로그래머블 컨트롤러(50)에 대한 디바이스의 모니터 요구명령의 발행에서 프로그래머블 컨트롤러(50)로 부터의 모니터 대상의 디바이스치의 취득까지의 일련의 처리가 가스 케이트식으로 반드시 실시되므로 모니터 요구 마다에 실제로 프로그래머블 컨트롤러(50)에서 모니터하는 디바이스의 값을 취득할 때까지 대기해야 하며, 모니터링의 응답성, 효율이 나쁘다는 문제점이 있었다.
따라서, 본 발명은 효율적으로 응답성 좋게 프로그래머블 컨트롤러의 디바이스를 모니터링하는 주변장치를 제공하는 것을 목적으로 하고 있다.
(발명의 개시)
본 발명은 프로그래머블 컨트롤러의 디바이스에 의해 제어되는 디바이스의 값을 모니터하는 주변장치에서, 모니터하는 디바이스의 리스트를 생성하는 모니터링 애플리케이션 실행부와, 디바이스의 리스트를 저장하는 모니터 요구명령 발행측 공유 메모리와, 상기 모니터 요구명령 발행측 공유 메모리에 저장된 디바이스 리스트의 내용에 따른 모니터 요구명령을 발행하는 모니터 요구명령 발행수단과, 모니터 요구명령을 프로그래머블 컨트롤러에 송신하고, 프로그래머블 컨트롤러로부터 모니터 요구명령에 따른 모니터 데이터를 수신하는 통신수단과, 통신수단을 통하여 모니터 데이터를 취득하는 모니터 취득수단과, 상기 모니터 데이터 취득수단에 의해 취득한 모니터 데이터를 저장하는 모니터 데이터 취득측 공유 메모리를 갖고, 모니터 요구명령 발행수단은 모니터 요구명령 발행측 공유 메모리를 소정의 주기를 감시하고, 디바이스의 리스트가 갱신된 때에 이 리스트의 내용에 따른 모니터 요구명령을 생성하며, 모니터 데이터 취득수단은 모티어 데이터와 함께 이 모니터 데이터의 갱신상태를 표시하는 값을 모니터 데이터 취득측 공유 메모리에 기록하고, 모니터링 애플리케이션 실행부는 모니터 데이터 취득측 공유 메모리를 소정의 주기로 감시하며, 갱신상태를 표시하는 값에 따라 모니터 데이터 취득측 공유 메모리로부터 모니터 데이터를 취득하는 프로그래머블 컨트롤러의 주변장치를 제공할 수 있다.
따라서, 모니터 요구명령 발행수단과 모니터 데이터 취득수단이 모니터링 애플리케이션 실행부에 대해 모니터 요구명령 발행측과 모니터 데이터 취득측의 공유메모리에 의해 분할되고, 모니터 요구명령 발행수단 및 모니터 데이터 취득수단측과 모니터링 애플리케이션 실행부측을 서로 비동기로 동작하는 것이 가능해지며, 또 데이터의 흐름이 한방향으로 되고, 공유 메모리에 관한 배타제어가 필요 최저한으로 끝날 수 있게 된다.
또, 본 발명은 상기 모니터 요구명령 발행측 공유 메모리는 디바이스 리스트의 갱신상태를 표시하는 제 1의 개서 플래그를 저장하는 개서 플래그부를 갖고, 모니터 요구명령 발행수단은 상기 제 1의 개서 플래그가 제 1의 상태를 표시하고 있는 경우에 디바이스의 리스트의 내용에 따른 모니터 요구명령을 새롭게 발행하는 동시에 개서 플래그를 제 2의 상태로 갱신하고 다음에 개서 플래그가 제 1의 상태를 표시할 때까지 지난번의 디바이스 리스트에 내용에 따른 모니터 요구명령을 계속 발행하고, 모니터 데이터 취득측 공유 메모리는 디바이스의 리스트의 갱신상태를 표시하는 초기화 플래그를 처장하는 초기화 플래그부와, 모니터 데이터의 갱신상태를 표시하는 값이 되는 제 2의 개서 플래그를 저장하는 개서 플래그부를 갖고, 초기화 플래그는 디바이스의 리스트가 갱신된 때에 제 2의 상태를 표시하고, 모니터 데이터가 갱신된 때 제 1의 상태를 표시하며, 제 2의 개서 플래그는 모니터 데이터가 갱신된 때에 제 1의 상태를 표시하고, 모니터 데이터가 모니터링 애플리케이션 실행부에 의해 취득된 경우에 제 2의 상태를 표시하며, 모니터링 애플리케이션 실행부는 초기 플래그와 제 2의 개서 플래그가 함께 제 1의 상태를 표시하는 경우에 모니터 데이터 취득측 공유 메모리로부터 모니터 데이터를 취득하는 프로그래머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 디바이스 리스트의 개서, 모니터 데이터(디바이스치)의 개서, 디바이스 리스트 변경후의 모니터 데이터의 개서에 관하여 각각 개별적으로 플래그 제어가 되고, 모니터 요구명령 발행수단 및 모니터 데이터 취득수단측과, 모니터링 애플리케이션 실행부측과의 사이의 데이터의 수수를 필요 최저한으로 멈추어서 소요의 모니터링을 실시할 수가 있다.
또, 본 발명은 상기 모니터 데이터 취득측 공유 메모리는 디바이스 리스트중의 각 디바이스 마다의 값의 상태를 표시하는 디바이스치 변화 플래그를 저장하는 변화 플래그 테이블부를 갖고, 디바이스치 변화 플래그는 이 디바이스의 값이 변화한 때에 제 1의 상태를 표시하며, 이 디바이스의 값이 모니터링 애플리케이션 실행 부에 의해 판독된 때에 제 2의 상태를 표시하고, 모니터 데이터 취득수단은 모니터 데이터중 디바이스의 값이 변화된 디바이스의 값을 갱신하는 동시에 이 디바이스의 값에 대응하는 디바이스치 변화 플래그를 제 1의 상태로 변경하고, 모니터링 애플리케이션 실행부는 제 1의 상태를 표시하는 디바이스치 변화 플래그에 대응하는 디바이스의 값을 모니터 데이터 취득측 공유 메모리로부터 취득하는 프로그래머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 각 디바이스 마다에 디바이스치 변화의 플래그 제어가 실시되고 디바이스치가 변화한 모니터 데이터가 디바이스 단위로 모니터링 애플리케이션 실행부에 인도되며, 모니터링 애플리케이션 실행측과, 모니터 데이터 취득수단과의 이에서 주고받는 디바이스치를 필요 최저한으로 할 수가 있다.
또, 본 발명은 모니터링의 요구원으로서 모니터링 애플리케이션 실행부가 다수개 설치되어 있고, 상기 모니터 요구명령 발행측 공유 메모리와 상기 모니터 데이터 취득측 공유 메모리가 각 모니터링 애플리케이션 실행부에 대응해서 다수개 설치되며, 상기 모니터 요구명령 발행수단은 요구원의 요구 디바이스 리스트와 대상이 되는 프로그래머블 컨트롤러에 의해 동일한 디바이스를 통합하고, 디바이스 리스트를 최적화 하는 프로그래머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 모니터 요구명령 발생수단에서 디바이스 리스트의 최적화가 되고 모니터링 애플리케이션 실행부에서의 처리를 증가 시키지 않는것이 가능해 지고, 또 프로그래 머블 컨트롤러의 송신 데이터 및 통신회수를 삭감하는 것이 가능해 진다.
또, 본 발명은 모니터 요구명령을 발행한 후 모니터 데이터를 취득할 때까지의 경과시간을 타이머 감시수단을 갖고, 미리 정해진 모니터링 주기시간과, 상기 타이머 감시수단에 의해 계측된 경과시간을 비교하며 모니터링 주기시간 보다 상기 경과시간의 짧은 경우에는 지정 주기가 될 때까지 모니터 처리를 정지하고, 모니터링 주기시간 보다 상기 경과시간이 긴 경우에는 모니터 처리의 우선도를 내리는 프로그래머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 모니터링 주기시간 보다 경과시간이 짧은 경우에는 지정주기가 될때까지 모니터 처리를 정지하고, 모니터링 주기시간 보다 경과시간이 긴 경우에는 모니터 처리의 우선도를 내리는 것이 실시된다.
또, 본 발명은 모니터링 주기시간 보다 상기 경과시간이 긴 경우에는 모니터링 주기시간을 길게 하는 모니터링 주기시간 보정을 하는 프로그래머블 컨트롤러의 주변장치를 제공할 수가 있다.
따라서, 모니터링 주기시간 보다 경과시간이 긴 경우에는 모니터링 주기시간을 길게하는 모니터링 주기시간 보정이 실시된다.
본 발명은 프로그래머블 컨트롤러의 주변장치에 관한 것이며, 특히 통신에 의해 프로그래머블 컨트롤러의 디바이스를 모니터링 하는 프로그래머블 컨트롤러의 주변장치에 관한 것이다.
도 1은 본 발명에 의한 프로그래머블 컨트롤러의 주변장치의 실시의 형태 1을 표시하는 블록도,
도 2는 본 발명에 의한 프로그래머블 컨트롤러의 주변장치의 실시의 형태 2을 표시하는 블록도,
도 3은 본 발명에 의한 변화 플래그 테이블의 내부구성을 표시하는 설명도,
도 4는 본 발명에 의한 프로그래머블 컨트롤러의 주변장치의 실시의 형태 3을 표시하는 블록도,
도 5는 본 발명의 최적화 디바이스 리스트를 표시하는 설명도,
도 6은 본 발명에 의한 프로그래머블 컨트롤러의 주변장치의 실시의 형태 4를 표시하는 블록도,
도 7은 종래에서의 프로그래머블 컨트롤러의 주변장치가 표시하는 블록도,
(발명을 실시하기 위한 최량의 형태)
본 발명을 보다 상세하게 설명하기 위해 첨부된 도면에 따라 이를 설명한다.
또, 아래에 설명하는 본 발명의 실시의 형태에서 상술한 종래예와 같은 구성의 부분은 상술한 종래예에 붙인 부호와 같은 부호를 붙여서 설명한다.
도 1은 본 발명에 의한 프로그래머블 컨트롤러의 주변장치의 실시의 형태 1을 표시하고 있다. 주변장치는 전체를 부호 10에 의해 표시하고 있으며, RS233C 등의 시리얼 통신용의 통신 케이블(110)에 의해 모니터 대상의 프로그래머블 컨트롤러(50)와 쌍방향으로 통신가능하게 접속되어 있다.
주변장치(10)는 프로그래머블 컨트롤러(50)의 디바이스를 모니터하기 위한 모니터링 애플리케이션 실행부(11)와, 애플리케이션 인터페이스부(12)와, 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하는 모니터 요구명령 발행수단(13)과, 애플리케이션 인터페이스부(12)와 모니터 요구명령 발행수단(13) 사이에 설치된 모니터 요구명령 발행측 공유 메모리(이하, 리궤스트측 공유 메모리라고 할때가 있다)(14)와, 프로그래머블 컨트롤러(50)로부터 모니터 데이터를 취득하는 모니터 데이터 취득수단(15)과, 애플리케이션 인터페이스부(12)와, 모니터 데이터 취득수단(15)과의 사이에 설치된 모니터 데이터 취득측 공유 메모리(이하, 모니터 데이터측 공유 메모리라고 할 때가 있다)(16)와, 프로그래머블 컨트롤러(50)의 통신수단(17)으로 구성되어 있다.
리궤스트측 공유메모리(14)는 애플리케이션 인터페이스부(12)와, 모니터 요구명령 발행수단(13) 사이에서 모니터 하는 디바이스 리스트의 주고 받기를 하는 것으로 내부구성으로 모니터링 주기를 정의하는 모니터 주기부(14a)와, 디바이스 리스트의 개서를 표시하는 개서 플래그 Frr를 저장하는 개서 플래그부(14b)와, 디바이스 개수부(14c)와, 모니터 하는 디바이스의 리스트를 기록하는 디바이스 리스트부(14d)를 가지고 있다.
모니터 데이터측 공유 메모리(16)는 애플리케이션 인터페이스부(12)와, 모니터 데이터 취득수단(15)과의 사이에서 모니터한 디바이스의 값을 주고받기를 하는 것으로, 디바이스 리스트 변경후의 모니터 데이터를 기록한 것을 표시하는 초기화 플래그 Fdi를 저장하는 초기화 플래그(16a)와, 모니터 데이터의 개서를 표시하는 개서 플래그 Fdr를 저장하는 개서 플래그부(16b)와, 디바이스 개수부(16c)와, 모니터 데이터 취득수단(15)이 취득한 모니터 데이터(디바이스치)를 기록하는 디바이스치부(16d)를 가지고 있다.
초기화 플래그 Fdi는 디바이스 리스트 변경시에 떨어지고 디바이스 리스트 변경후에 모니터 데이터가 모니터 데이터측 공유메모리에 기록됨으로서 서게 된다.
또, 각 플래그에 대해 플래그가 선다는 것은 플래그 비트가 "1" 이것을(온) 플래그가 떨어지면 플래그 비트가 "0"인 것(오프)을 의미한다
모니터 요구명령 발행수단(13)은 리궤스트측 공유 메모리(14)에 디바이스 리스트가 기록됨으로써, 그 디바이스 리스트에 내용에 따른 모니터 요구명령을 발행하는 것이고, 리궤스트측 공유 메모리(14)의 개서 플래그 Frr가 세워지면, 신규의 디바이스 리스트에 내용에 따른 모니터 요구명령을 발행해서 개서 플래그 Frr를 떨어뜨리며, 다음에 리궤스트측 공유 메모리(14)의 개서 플래그 Frr가 설 때까지 리궤스트측 공유 메모리(14)에 정의되어 있는 모니터링 주기를 가지고 지난번의 디바이스 리스트 내용에 따른 모니터 요구명령을 발행해 간다.
통신수단(17)은 소정의 통신프로토콜을 가지고 통신케이블(110)을 통해서 프로그래머블 컨트롤러(50)와 쌍방으로 데이터 통신하는 것이며, 모니터 요구명령 발행수단(13)이 발행하는 모니터 요구명령을 프로그래머블 컨트롤러(50)에 송신하고, 프로그래머블 컨트롤러(50)로부터 요구명령에 따른 모니터 데이터(디바이스치)를 수신한다.
모니터 데이터 취득수단(15)은 프로그래머블 컨트롤러(50)로부터 수신한 모니터 데이터를 취득한다.
모니터링 애플리케이션 실행부(11)는 초기화 플래그 Fdi와 개서 플래그 Fdr가 모두 서있을 때는 애플리케이션 인터페이스부(12)를 통해서 모니터 데이터측 공유 메모리(16)로부터 모니터 데이터를 부여하고, 초기화 플래그 Fdi가 떨어져 있을때는 개서 플래그 Fdr가 서 있어도 모니터 데이터측 공유 메모리(16)로부터 모니터 데이터를 부여하지 않는다.
다음에 실시의 형태 1의 동작에 대해 설명한다.
모니터링 애플리케이션 실행부(11)가 애플리케이션 인터페이스부(12)에 대해서 모니터 하는 n개의 디바이스의 리스트를 건너주고, 모니터링을 요구하면 애플리케이션 인터페이스부(12)는 모니터링 애플리케이션 실행부(11)로부터 받은 n개의 디바이스의 디바이스 리스트와 디바이스 리스트의 디바이스 개수(n개)를 리궤스트측 공유 메모리(14)의 디바이스 개수부(14c)와 디바이스 리스트부(14d)에 기록하고, 개서 플래그부(14b)의 개서 플래그 Frr를 세워서 리궤스트측 공유 메모리(14)에 데이터를 기록한 것을 명시한다.
모니터 요구명령 발행수단(13)은 리궤스트측 공유 메모리(14)의 개서 플래그 Frr의 상태를 감시하고, 개서 플래그 Frr가 서 있으면 리궤스트측 공유 메모리(14)의 디바이스 개수부(14c), 디바이스 리스트부(14d)로부터 디바이스 개수 n, 디바이스 리스트를 판독하고, 그 내용에 따라 통신수단(17)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하며, 리궤스트측 공유 메모리(14)의 개서 플래그 Frr를 떨어뜨린다.
프로그래머블 컨트롤러(50)에 대해 모니터 요구명령이 발생되면, 프로그래머블 컨트롤러(50)에서는 수취한 모니터 요구명령에 따라 보내진 디바이스 리스트에 있는 디바이스의 값을 통신수단(17)을 통해서 모니터 데이터 취득수단(15)으로 되돌리는 것이 실행된다.
모니터 데이터 취득수단(15)은 받은 디바이스의 값을 모니터 데이터측 공유메모리(16)의 디바이스치부(16d)에 기록하고, 모니터 데이터측 공유메모리(16)의 개서 플래그 Fdr을 세워서 모니터 데이터측 공유메모리(16)에 데이터를 기록한 것을 명시한다.
또, 처음 받은 디바이스의 값을 모니터 데이터측 공유메모리(16)에 기록한 경우에는 모니터 데이터측 공유메모리(16)의 초기화 플래그 Fdi도 세운다.
애플리케이션 인터페이스부(12)는 모니터 데이터측 공유 메모리(16)의 초기화 플래그 Fdi가 서 있으면, 모니터 데이터측 공유 메모리(16)에서 디바이스의 값을 판독하고, 모니터링 애플리케이션 실행부(11)에 그 값을 반송하며, 모니터 데이터측 공유 메모리(16)의 개서 플래그 Fdr을 떨어뜨린다.
이후, 애플리케이션 인터페이스부(12)는 모니터링 애플리케이션 실행부(11)에서 모니터링 요구가 있으면, 그때마다 지난번 리궤스트측 공유 메모리(14)에 기록한 디바이스 리스트의 내용과, 이번 모니터링 애플리케이션 실행부(11)에서 받은 디바이스 리스트의 내용을 비교하고, 디바이스 리스트의 내용이 같은 경우에는 즉, 모니터 해야 할 디바이스에 변경이 없는 경우에는 모니터 데이터 공유 메모리(16)로부터 디바이스의 값을 판독하며, 모니터링 애플리케이션 실행부(11)에 그 값을 되돌리고, 모니터 데이터측 공유 메모리(16)의 개서 플래그 Fdr를 떨어뜨린다.
이에 대해 디바이스 리스트의 내용이 다른 경우에는 애플리케이션 인터페이스부(12)는 모니터링 애플리케이션 실행부(11)에서 받은 디바이스 리스트를 리궤스트측 공유메모리(14)에 기록하고, 개서 플래그 Frr을 세우며, 리궤스트측 공유메모리(14)에 데이터를 기록한 것을 명시한다.
그리고, 모니터 데이터측 공유 메모리(16)의 초기화 플래그 Fdi를 떨어뜨리고, 모니터 데이터 취득수단(15)에 의해 모니터 데이터측 공유 메모리(16)의 초기화 플래그 Fdi가 세워질 때까지 모니터링 애플리케이션 실행부(11)에 디바이스의 값을 되돌려주지 않도록 한다.
모니터 요구명령 발행수단(13)은 리궤스트측 공유 메모리(14)에 정의된 모니터링 주기에 따라 애플리케이션 인터페이스부(12)와는 비동기로 리궤스트측 공유 메모리(14)의 개서 플래그 Frr가 설 때까지 지난번의 디바이스 리스트에 따라 통신수단(17)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 반복해서 발행을 계속한다.
이 상태하에서는 모니터 데이터 취득수단(15)은 모니터 요구명령 발행수단(13)에 의해 발행된 모니터 요구명령에 따라 프로그래머블 컨트롤러(50)로부터 반송되는 디바이스의 값을 취득하고, 그 값을 모니터 데이터측 공유 메모리(16)에 기록하며, 개서 플래그 Fdr를 세워서 데이터를 기록한 것을 명시한다.
디바이스 리스트의 내용의 변경에 의해 리궤스트측 공유 메모리(14)의 개서 프래그 Frr가 서게 되면, 모니터 요구명령 발행수단(13)은 리궤스트측 공유 메모리(14)의 디바이스 리스트를 판독하고, 그 비다이스 리스트에 따라 통신수단(17)을 통해서 프로그래머블 컨트롤러(50)에 대해 새로운 모니터 요구명령을 발행하며, 리궤스트측 공유 메모리(14)의 개서 플래그 Frr를 떨어뜨린다.
이때에는 모니터 요구명령 취득수단(14)은 모니터 요구명령 발행수단(13)에 의해 발행된 모니터 요구명령에 따라 프로그래머블 컨트롤러(50)에서 반송되는 디바이스의 값을 취득하고, 그 값을 모니터 데이터측 공유 메모리(16)에 기록하며, 모니터 데이터측 공유 메모리(16)의 개서 플래그 Fdr를 세워서 데이터를 기록한 것을 명시하는 동시에 모니터 데이터측 공유 메모리(16)의 초기화 플래그 Fdi를 세운다.
상술한 바와 같이 모니터링 애플리케이션 실행부(11) 및 애플리케이션 인터페이스부(12)에 대해 모니터 요구명령 발행수단(13)과 모니터 데이터 취득수단(15)을 리궤스트측 공유 메모리(14), 모니터 데이터측 공유 메모리(16)에 의해 분할하였으므로 모니터링 애플리케이션 실행부(11)측과 모니터 요구명령 발행수단(13) 및 모니터 데이터 취득수단(15)측으로 서로 비동기로 동작하는 것이 가능해지고, 또 필요 최저한의 데이터의 주고받기로 모니터링이 가능해지며, 실제의 프로그래머블 컨트롤러(50)와 주변장치(10)와의 통신시간에 의하지 않고, 모니터링 애플리케이션에서의 응답성을 향상시키는 효과가 얻어진다.
또, 전송하는 데이터에 따라서 리궤스트측 공유 메모리(14)와 모니터 데이터측 공유 메모리(16)로 분할함으로써, 데이터의 흐름이 한방향이 되므로 공유 메모리에 관한 배타제어가 필요 최저한에서 끝나게 되고, 모니터링 처리시간의 단축과 메모리액세스에 관한 신뢰성을 향상시키는 효과가 얻어진다.
도 2는 본 발명에 의해 프로그래머블 컨트롤러의 주변장치의 실시의 형태 2를 표시하고 있다. 주변장치는 전체를 부호 20으로 표시되어 있고, RS232C 등의 시리얼 통신용의 통신케이블(110)에 의해 모니터링 대상의 프로그래머블 컨트롤러(50)와 쌍방향으로 통신가능하게 접속되어 있다.
주변장치(20)는 프로그래머블 컨트롤러(50)의 디바이스를 모니터하기 위한 모니터링 애플리케이션 실행부(21)와, 애플리케이션 인터페이스부(22)와, 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하는 모니터 요구명령 발행수단(23)과, 애플리케이션 인터페이스부(22)와 모니터 요구명령 발행수단(23)과의 사이에 설치된 모니터 요구명령 발행측 공유 메모리(이하, 리궤스트측 공유 메모리라고 할 때가 있다)(24)와, 프로그래머블 컨트롤러(50)로부터 모니터 데이터를 취득하는 모니터 데이터 측득수단(25)과, 애플리케이션 인터페이스부(22)와 모니터 데이터 취득수단(25)과의 사이에 설치된 모니터 데이터 취득측 공유 메모리(이하, 모니터 데이터측 공유 메모리라고 할 때가 있다)(26)와, 프로그래머블 컨트롤러(50)와의 통신수단(27)에 의해 구성되어 있다.
리궤스트측 공유 메모리(24)는 애플리케이션 인터페이스부(22)와 모니터 요구명령 발행수단(23)과의 사이에서 모니터 하는 디바이스의 리스트의 주고 받기를 하는 것으로, 내부 구성으로서 실시의 형태 1의 것과 같이 모니터 주기부(24a)와, 디바이스 리스트의 개서를 표시하는 개서 플래그 Frr를 저장하는 개서 플래그부(24b)와, 디바이스 개수부(24c)와, 디바이스 리스트부(24d)를 가지고 있다.
모니터 데이터측 공유메모리(26)는 애플리케이션 인터페이스부(22)와, 모니터 데이터 취득수단(25)과의 사이에서 모니터한 디바이스의 값의 주고 받기를 하는 것으로 디바이스 리스트의 변경에 따른 모니터 데이터의 초기화를 표시하는 초기화 플래그 Fdi를 저장하는 초기화 플래그부(26a)와, 모니터 데이터의 개서를 표시하는 개서 플래그 Fdr를 저장하는 개서 플래그부(26b)와, 변화 플래그 테이블을 저장하는 변환 플래그 테이블부(26e)와, 디바이스 개수부(26c)와, 디바이스치부(26d)를 가지고 있다.
변환 플래그 테이블부(26e)의 변환 플래그 테이블은 도 3에 표시되어 있는바와 같이 디바이스 리스트의 n개분의 각 디바이스 마다에 개별적으로 디바이스치 변화를 표시하는 디바이스치 변환 플래그 Fc1 ~ Fcn를 저장하고 있다.
디바이스치 변환 플래그 Fc1 ~ Fcn는 디바이스치의 변화에 의해 세우고 디바이스치의 판독에 의해 떨어진다.
모니터 데이터측 취득수단(25)은 디바이스치가 변화한 디바이스의 디바이스치만 모니터 데이터측 공유메모리(26)의 해당 데이터를 갱신해서 디바이스치 변화플래그를 세운다.
또 실시의 형태 2가 실시의 형태 1과 실질적으로 다른것은 애플리케이션 인터페이스부(22)와, 모니터 데이터 취득수단(25)과, 모니터 데이터측 공유메모리 (26)뿐이고, 기타의 구성은 실시의 형태 1과 실질적으로 같다.
다음에 실시의 형태 2의 동작에 대해 설명한다.
모니터링 애플리케이션 실행부(21)가 애플리케이션 인터페이스부(22)에 대해서 모니터 하는 디바이스의 리스트를 건네주고 모니터링 요구를 하면 애플리케이션 인터페이스부(22)는 받은 디바이스 리스트를 리궤스트측 공유메모리(24)에 기록하고 개서 플래그 Frr를 세워서 데이터를 기록한 것을 명시한다.
모니터 요구명령 발행수단(23)은 리궤스트측 공유 메모리(24)의 개서 플래그 Frr가 서 있으면, 리궤스트측 공유 메모리(24)의 디바이스 리스트를 판독하고, 그 디바이스 리스트의 내용에 따라 통신수단(27)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하며, 리궤스트측 공유 메모리(24)의 개서 플래그 Frr를 떨어뜨린다.
프로그래머블 컨트롤러(50)에 대해 모니터 요구명령이 발행되면, 프로그래머블 컨트롤러(50)에서는 받은 모니터 요구명령에 따라 인도된 디바이스 리스트에 있는 디바이스의 값을 통신수단(27)을 통해서 모니터 데이터 취득수단(25)으로 되돌리는 것이 실시된다.
모니터 데이터 취득수단(25)은 받은 디바이스의 값을 모니터 데이터측 공유메모리(26)의 디바이스치부(26d)에 기록하고, 모니터 데이저측 공유 메모리(26)의 개서 플래그 Fdr를 세워서 모니터 데이터측 공유 메모리(26)에 데이터를 기록한 것을 명시한다.
또, 처음 받은 디바이스의 값을 모니터 데이터측 공유 메모리(26)에 기록했을 때는 모니터 데이터측 공유 메모리(26)의 초기화 플래그 Fdi도 세운다. 여기까지의 동작은 실시의 형태 1의 것과 같다.
애플리케이션 인터페이스부(22)는 모니터 데이터측 공유 메모리(26)의 초기화 플래그 Fdi가 서 있으면, 모니터 데이터측 공유 메모리(26)에서 모든 디바이스치를 판독하고, 모니터링 애플리케이션 실행부(21)에 그 값을 되돌리며, 모니터 데이터측 공유 메모리(26)의 개서 플래그 Fdr를 떨어뜨린다.
이 이후, 모니터 데이터 취득수단(25)은 프로그래머블 컨트롤러(50)에서 되돌려지는 디바이스의 값을 취득할 때 최신의 디바이스치와, 지난번 취득한 디바이스치를 비교하고, 디바이스치가 다를 때만 모니터 데이터측 공유 메모리(26)에 변화한 디바이스의 값만을 반영하며, 변화 플래그 테이블부(26e)의 변화 플래그 테이블치를 반영한 디바이스에 해당하는 디바이스치 변화 플래그 Fc를 세운다.
애플리케이션 인터페이스부(22)는 모니터측 공유 메모리(26)의 초기화 플래그 Fdi가 서있는 동안 모니터 데이터측 공유 메모리(26)의 변화 플래그 테이블을 참조하고, 변화 플래그 테이블중 디바이스치 변화 플래그 Fc가 서있는 디바이스의 값만을 취득해서 모니터링 애플리케이션 실행부(21)에 인도하며, 디바이스치를 취득한 디바이스에 해당하는 디바이스치 변화플래그 Fc를 떨어뜨린다.
실시의 형태 2에서는 모니터 데이터측 공유 메모리(26)에 모니터 대상의 각 디바이스 마다에 개별로 디바이스치 변화로 표시하는 디바이스치 변화 플래그 Fc1 ~ Fcn가 저장되고, 애플리케이션 인터페이스부(22)는 디바이스치 변화 플래그 Fc가 서있는 디바이스의 값만을 취득하므로, 모니터링 애플리케이션 실행부(21) 및 애플리케이션 인터페이스부(22)와 모니터 데이터 취득수단(25)과의 사이에서 주고 받기를 하는 디바이스치를 필요 최저한의 판독이 가능해지고, 모니터링의 처리시간의 단축과 모니터링 애플리케이션에서의 응답성을 향상시키는 효과가 얻어진다.
도 4는 본 발명에 의한 프로그래머블 컨트롤러의 주변장치의 실시의 형태 3을 표시하고 있다. 주변장치는 전체를 부호 30에 의해 표시되어 있고, RS232C 등의 시리얼 통신용의 통신케이블(110)에 의해 모니터 대상의 프로그래머블 컨트롤러(50)와 쌍방향으로 통신가능하게 접속되어 있다.
주변장치(30)는 프로그래머블 컨트롤러(50)의 디바이스를 모니터 하기 위한 다수의 모니터링 애플리케이션 실행부(31A 및 31B)와, 애플리케이션 인터페이스부(32)와, 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하는 모니터 요구명령 발행수단(33)과, 애플리케이션 인터페이스부(32)와 모니터 요구명령 발행수단(33)과의 사이에 각 모니터링 애플리케이션 실행부 마다에 설치된 모니터 요구명령 발행측 공유 메모리(이하, 리궤스트측 공유 메모리라고 할 때가 있다)(34A 및 34B)와, 프로그래머블 컨트롤러(50)에서 모니터 데이터를 취득하는 모니터 데이터 취득수단(35)과, 애플리케이션 인터페이스부(32)와 모니터 데이터 취득수단(35)과의 사이에 각 모니터링 에플리케이션 실행부 마다에 설치된 모니터 데이터 취득측 공유 메모리(이하, 모니터 데이터측 공유 메모리라고 할 때가 있다)(36A 및 36B)와, 프로그래머블 컨트롤러(50)와의 통신수단(37)에 의해 구성되어 있다.
리궤스트측 공유 메모리(34A),(34B)는 각각 애플리케이션 인터페이스부(32)와 모니터 요구명령 발행수단(33)과의 사이에서 모니터하는 디바이스의 리스트의 주고 받기를 하는 것으로, 내부구성으로서 모니터 주기부(34a)와, 디바이스 리스트의 개서를 표시하는 개서 플래그 Frr을 저장하는 개서 플래그부(34b)와, 디바이스 개수부(34c)와, 디바이스 리스트부(34d)를 갖고 있다.
모니터 데이터측 공유 메모리(36A),(36B)는 각각 애플리케이션 인터페이스부(32)와 모니터 데이터 취득수단(35)과의 사이에서 모니터한 디바이스의 값의 주고 받기를 하는 것으로, 디바이스 리스트 변경후의 모니터 데이터를 기록한 것을 표시하는 초기화 플래그 Fdi를 저장하는 초기화 플래그부(36a)와, 모니터 데이터의 개서를 표시하는 개서 플래그 Fdr를 저장하는 개서 플래그부(36b)와, 디바이스 개수부(36c)와, 디바이스치부(36d)를 갖고 있다.
여기서, 리궤스트측 공유 메모리(34A)와 모니터 데이터측 공유 메모리(36A)는 모니터링 애플리케이션 실행부(31A)용의 것이고, 리궤스트측 공유 메모리(34B)와 모니터 데이터측 공유 메모리(36B)는 모니터링 애플리케이션 실행부(31B)용의 것이다.
모니터 요구명령 발행수단(33)은 요구원의 요구 디바이스 리스트와 대상이 되는 프로그래머블 컨트롤러(50)에 의해 동일 디바이스를 통합하고, 디바이스 리스트를 최적화 하는 기능을 갖고 있다.
다음에 실시의 형태 3의 동작에 대해 설명한다.
모니터링 애플리케이션 실행부(31A)는 애플리케이션 인터페이스부(32)에 대해 모니터 하는 디바이스의 리스트를 건네주고 모니터링 요구로 한다. 애플리케이션 인터페이스부(32)는 받은 디바이스 리스트를 리궤스트측 공유메모리(34A)에 기록하고, 리궤스트측 공유메모리(34A)의 개서 플래그 Frr를 세워서 데이터를 기록한것을 명시한다.
마찬가지로 모니터링 애플리케이션 실행부(31B)는 애플리케이션 인터페이스부(32)에 대해 모니터 하는 디바이스의 리스트를 건네주고 모니터링 요구로 한다.
애플리케이션 인터페이스부(32)는 받은 디바이스 리스트를 리궤스트측 공유메모리(34B)에 기록하고, 리궤스트측 공유메모리(34B)의 개서 플래그 Frr를 세워서 데이터를 기록한 것을 명시한다.
모니터 요구명령 발행수단(33)은 리궤스트측 공유메모리(34A)의 개서 플래그 Frr가 서 있으면 리궤스트측 공유메모리(34A)의 디바이스 리스트를 판독하고, 또 리궤스트측 공유메모리(34B)의 개서 플래그 Frr가 서 있으면 리궤스트측 공유메모리(34B)의 디바이스 리스트를 판독한다.
그리고, 우선 리궤스트측 공유메모리(34A)로 부터 판독한 디바이스 리스트에 따라 최적화된 디바이스 리스트를 생성한다.
최적화한 디바이스 리스트에서는 도 5에 표시되어 있는바와 같이 모니터링 하는 디바이스 마다에 요구원의 공유메모리 번호와, 디바이스의 리스트의 몇번째인가 라는 오프셋 정보를 세트하고 디바이스 명을 등록한다.
이때의 요구원수는 1을 세트한다.
다음에 리궤스트측 공유 메모리(34B)에서 판독한 디바이스 리스트와 먼저 등록한 최적화 디바이스 리스트를 비교해 동일 디바이스가 존재한 경우에는 최적화 디바이스 리스트의 해당 디바이스명의 항에 요구원의 공유 메모리 번호와 디바이스의 리스트의 몇 번째인가라는 오프셋 정보를 추가하고, 요구원수를 +1로 한다.
동일 디바이스가 존재하지 않는 경우에는 그 디바이스에 대해 요구원의 고유 메모리 번호와 디바이스의 리스트의 몇 번째인가라는 오프셋 정보를 세트하고, 디바이스명을 등록한다.
이때의 요구원수는 1을 세트한다
이후, 모니터 요구명령 발행수단(33)은 생성한 최적화 디바이스 리스트에 따라 통신수단(37)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하고, 리궤스트측 공유 메모리(34A)와 리궤스트측 공유 메모리(34B)의 각각의 개서 플래그 Frr를 떨어뜨린다.
프로그래머블 컨트롤러(50)는 받은 모니터 요구명령에 따라 인도된 최적화 디바이스에 있는 디바이스의 통신수단(37)을 통해서 모니터 데이터 취득수단(35)으로 되돌린다.
모니터 데이터 취득수단(35)은 받은 디바이스의 값을 모니터 요구명령 발행수단(33)이 생성한 최적화 디바이스 리스트에 미리 요구원의 모니터 데이터측 공유 메모리(36A)와 모니터 데이터측 공유 메모리(36B)로 나누어서 기록하고, 함께 개서 플래그 Fdr를 세워서 데이터를 기록한 것을 명시한다.
또, 처음 받은 디바이스의 값을 모니터 데이터측 공유 메모리(36A),(36B)에 기록했을 때는 모니터 데이터측 공유 메모리(36A),(36B)의 각각의 초기화 플래그 Fdr를 세운다.
애플리케이션 인터페이스부(32)는 모니터 데이터측 공유 메모리(36A)의 초기화 플래그 Fdi가 서 있으면, 모니터 데이터측 공유 메모리(36A)로부터 디바이스의 값을 판독하고, 모니터링 애플리케이션 실행부(31A)에 그 값을 되돌리고, 모니터 데이터측 공유 메모리(36A)의 개서 플래그 Fdr를 떨어뜨린다.
마찬가지로, 애플리케이션 인터페이스부(32)는 모니터 데이터측 공유 메모리(36B)의 초기화 플래그 Fdr가 서 있으면, 모니터 데이터측 공유 메모리(31B)로부터 디바이스의 값을 판독하고, 모니터링 애플리케이션 실행부(31B)에 그 값을 되돌리고, 모니터 데이터측 공유 메모리(36B)의 개서 플래그 Fdr를 떨어뜨린다.
이 이후, 애플리케이션 인터페이스부(32)는 모니터링 애플리케이션 실행부(31A)에서 모니터링 요구가 있었는 경우에는 지난번 리궤스트측 공유 메모리(34A)에 기록한 디바이스 리스트의 내용과, 이번 모니터링 애플리케이션 실행부(31A)로 부터 받은 디바이스 리스트의 내용을 비교하고, 디바이스 리스트의 내용이 동일하면, 모니터 데이터측 공유 메모리(36A)에서 디바이스의 값을 판독하며, 모니터링 애플리케이션 실행부(31A)에 그 값을 되돌리고, 모니터 데이터측 공유 메모리(36A)의 개서 플래그 Fdr를 떨어뜨린다.
마찬가지로, 애플리케이션 인터페이스부(32)는 모니터링 애플리케이션 실행부(31B)에서 모니터링 요구가 있었을 때는 지난번 리궤스트측 공유 메모리(34B)에 기록한 디바이스 리스트의 내용과, 이번 모니터링 애플리케이션 실행부(31B)에서 받은 디바이스의 리스트를 비교하고, 디바이스 리스트의 내용이 동일하면, 모니터 데이터측 공유 메모리(36B)에서 디바이스의 값을 판독하고, 모니터링 애플리케이션 실행부(31B)에 그 값을 되돌리며, 모니터 데이터측 공유 메모리(36B)의 개서 플래그 Fdr를 떨어뜨린다.
이에 대해 디바이스 리스트의 내용이 다른 경우에는 애플리케이션 인터페이스부(32)는 모니터링 애플리케이션 실행부(31A)로부터 받은 디바이스 리스트를 리궤스트측 공유 메모리(34A)에 기록하고, 리궤스트측 공유 메모리(34A)의 개서 플래그 Frr를 세워서 데이터를 기록한 것을 명시한다.
그리고, 모니터 데이터측 공유 메모리(36A)의 초기화 플래그 Fdi를 떨어뜨리고, 모니터 데이터 취득수단(35)에 의해 모니터 데이터측 공유 메모리(36A)의 초기화 플래그 Fdi가 세워질 때까지 모니터링 애플리케이션 실행부(31A)에 디바이스의 값을 되돌리지 않도록 한다.
마찬가지로, 모니터링 애플리케이션 실행부(31B)에서 받은 디바이스 리스트를 리궤스트측 공유 메모리(34B)에 기록하고, 리궤스트측 공유 메모리(34B)의 개서 플래그 Frr를 세워서 데이터를 기록한 것을 명시한다.
그리고, 모니터 데이터측 공유 메모리(36B)의 초기화 플래그 Fdi를 떨어뜨리고, 모니터 데이터 취득수단(35)에 의해 모니터 데이터측 공유 메모리(36B)의 초기화 플래그 Fdi가 세워질 때까지 모니터링 애플리케이션 실행부(31B)에 디바이스의 값을 되돌리지 않도록 한다.
모니터 요구명령 발행수단(33)은 리궤스트측 공유 메모리(34A)에 정의되어 있는 모니터링 주기에 따라 애플리케이션 인터페이스부(32)와는 비동기로 리궤스트측 공유 메모리(34A) 또는 리궤스트측 공유 메모리(34B)의 개서 플래그 Frr가 설 때까지 지난번의 최적화 디바이스 리스트에 따라 통신수단(37)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 반복해서 계속 발행한다.
이 상태하에서는 모니터 데이터 취득수단(35)은 모니터 요구명령 발행수단(33)에 의해 발행된 모니터 요구명령에 따라 프로그래머블 컨트롤러(50)로부터 되돌려지는 디바이스의 값을 취득하고, 그 값을 모니터 데이터측 공유 메모리(36A 또는 36B)에 기록하고, 개서 플래그 Fdr를 세워서 데이터를 기록한 것을 명시한다.
디바이스 리스트의 내용변경에 의해 리궤스트측 공유 메모리(34A)의 개서 플래그 Frr가 서게 되면, 리궤스트측 공유 메모리(34A)의 디바이스 리스트를 판독하고, 지난번 생성한 최적화 디바이스 리스트를 재생성하며, 그 최적화 디바이스 리스트에 따라 통신수단(37)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하고, 리궤스트측 공유 메모리(34A)의 개서 플래그 Frr를 떨어뜨린다.
이때에는 모니터 데이터 취득수단(35)은 모니터 요구명령 발행수단(33)에 의해 발행된 모니터 요구명령에 따라 프로그래머블 컨트롤러(50)에서 반려되는 디바이스의 값을 취득하고, 그 값을 모니터 데이터측 공유 메모리(36A)에 기록하며, 모니터 데이터측 공유 메모리(36A)의 개서 플래그 Fdr를 세워서 데이터를 기록한 것을 명시하고, 모니터 데이터측 공유 메모리(36A)의 초기화 플래그 Fdr를 세운다.
마찬가지로, 리궤스트측 공유 메모리(34B)의 개서 플래그 Frr가 서게 되면, 리궤스트측 공유 메모리(34B)의 디바이스 리스트를 판독하고, 지난번 생성한 최적화 디바이스 리스트를 재생성하며, 그 최적화 디바이스 리스트에 따라 통신수단(37)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하고, 리궤스트측 공유 메모리(34B)의 개서 플래그 Frr를 떨어뜨린다.
이때에는 모니터 데이터 취득수단(35)은 모니터 요구명령 수단(33)에 의해 발행된 모니터 요구명령에 따라 프로그래머블 컨트롤러(50)로부터 반려되는 디바이스의 값을 취득하고, 그 값을 모니터 데이터측 공유 메모리(36B)에 기록하며, 모니터 데이터측 공유 메모리(36B)의 개서 플래그 Fdr를 세워서 데이터를 기록한 것을 명시하고, 모니터 데이터측 공유 메모리(36B)의 초기화 플래그 Fdi를 세운다.
상술한 바와 같이 실시의 형태 3에서는 리궤스트측과 모니터 데이터측의 각각의 공유 메모리를 요구 모니터링 애플리케이션의 개수분을 사용하고, 모니터 요구명령 발행수단(33)에서 디바이스의 리스트의 최적화를 실행함으로써, 애플리케이션 인터페이스부(32)측에서의 처리를 증가시키지 않는 것이 가능해지고, 모니터링 애플리케이션의 개수가 증가했을 때도 모니터링의 처리시간의 단축과 모니터링 애플리케이션에서의 응답성을 향상시키는 효과가 얻어진다.
또, 모니터 요구명령 발행수단(33)에서 모니터 요구 리스트를 최적화 함으로써, 프로그래머블 컨트롤러(50)로의 송신 데이터 및 통신회수를 삭감하는 것이 가능해지고, 통신 처리시간의 향상과 프로그래머블 컨트롤러의 처리부하를 경감시키는 효과도 얻어진다.
도 6은 본 발명에 의한 프로그래머블 컨트롤러의 주변장치의 실시의 형태 4를 표시하고 있다. 또 도 6에서, 도 1에 대응하는 부분은 도 1에 붙인 부호와 같은 부호를 붙혀서 그 설명은 생략한다.
이 실시의 형태의 주변장치는 전체를 부호 40에 의해 표시하고 있으며, RS232C 등의 시리얼 통신용의 통신케이블(110)에 의해 모니터 대상의 프로그래머블 컨트롤러(50)와 쌍방향으로 통신가능하게 접속되어 있다
주변장치(40)는 실시의 형태 1과 같이 모니터링 애플리케이션 실행부(11)와, 애플리케이션 인터페이스부(12)와, 모니터 요구명령 발행수단(13)과, 리궤스트측 공유 메모리(14)와, 모니터 데이터 취득수단(15)과, 모니터 데이터측 공유 메모리(16)와, 통신수단(17)을 갖고, 또 내부클록 카운터에 의해 모니터 요구명령 발행수단(13)과 모니터 데이터 취득수단(15)의 가동시간을 계측하는 타이머 감시수단(18)을 갖고 있다.
타이머 감시수단(18)은 모니터 요구명령 발행수단(13)이 모니터 요구명령을 발행하고부터 모니터 데이터 취득수단(15)이 모니터 데이터를 취득할 때까지의 경과시간(모니터 데이터 취득 소요시간)을 계측한다.
타이머 감시수단(18)은 미리 정해진 모니터링 주기시간과 모니터 데이터 취득 소요시간을 비교하고, 모니터링 주기시간 보다도 모니터 데이터 취득 소요시간이 짧은 경우에는 지정 주기가 될 때까지 모니터 처리를 정지하고, 이에 대해 모니터링 주기시간 보다 모니터 데이터 취득소요 시간이 긴 경우에는 모니터 처리의 우선도를 내리고, 모니터링 주기시간을 길게 하는 모니터링 주기시간 보정을 한다.
다음에 실시의 형태 4의 동작에 대해 설명한다.
모니터링 애플리케이션 실행부(11)가 애플리케이션 인터페이스부(12)에 대해 모니터하는 디바이스의 리스트를 건네고, 모니터링 요구하면 애플리케이션 인터페이스부(12)는 모니터링 애플리켄이션 실행부(11)에서 받은 디바이스 리스트를 리궤스트측 공유 메모리(14)에 기록하고, 개서 플래그부(14b)의 개서 플래그 Frr를 세워서 리궤스트측 공유 메모리(14)에 데이터를 기록한 것을 명시한다.
모니터 요구명령 발행수단(13)은 리궤스트측 공유 메모리(14)의 개서 플래그 Frr가 서 있으면, 리궤스트측 공유 메모리(14)의 디바이스 리스트를 판독하고, 그 내용에 따라 통신수단(17)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 발행하고, 리궤스트측 공유 메모리(14)의 개서 플래그 Frr를 떨어뜨린다.
이때 동시에 타이머 감시수단(18)에 모니터 요구명령을 발행한 것을 통지한다. 이것에 인해 타이머 감시수단(18)이 모니터 데이터 취득 소요시간의 계측을 개시한다.
프로그래머블 컨트롤러(50)에 대해 모니터 요구명령이 발행되면, 프로그래머블 컨트롤러(50)에서는 받은 모니터 요구명령에 따라 건네진 모니터하는 디바이스의 리스트에 있는 디바이스의 값을 통신수단(17)을 통해서 모니터 데이터 취득수단(15)에 반려하는 것이 실시된다.
모니터 데이터 취득수단(15)은 받은 디바이스의 값을 모니터 데이터측 공유 메모리(16)에 기록하고, 모니터 데이터측 공유 메모리(16)의 개서 플래그 Fdr를 세우며, 모니터 데이터측 공유 메모리(16)에 데이터를 기록한 것을 명시한다.
또, 처음 받은 디바이스의 값을 모니터 데이터측 공유 메모리(16)에 기록한 경우에는 모니터측 공유 메모리(16)의 초기화 플래그 Fdi도 세운다.
이때 동시에 타이머 감시수단(18)에 모니터 데이터를 취득한 것을 통지한다.
이로 인해 타이머 감시수단(18)은 모니터 요구명령 발행수단(13)에서 통지를 받은 시점에서 모니터 데이터 취득수단(15)에서 통지를 받은 시점까지의 시간을 계측하고, 어느 정도의 시간이 경과 하였는지 즉 모니터 데이터 취득 소요시간을 산출한다.
애플리케이션 인터페이스부(12)는 모니터 데이터측 공유 메모리(16)의 초기화 플래그 Fdr가 서 있으면, 모니터 데이터측 공유 메모리(16)로부터 디바이스의 값을 판독하고, 모니터링 애플리케이션 실행부(11)에 그 값을 되돌리며, 모니터 데이터측 공유 메모리(16)의 개서 플래그 Fdr를 떨어뜨린다.
이 이후, 애플리케이션 인터페이스부(12)는 모니터링 애플리케이션 실행부(11)로부터 모니터링 요구가 있으면, 그때마다 지난번 리궤스트측 공유 메모리(14)에 기록한 디바이스 리스트의 내용과 이번 모니터링 애플리케이션 실행부(11)에서 받은 디바이스 리스트의 내용을 비교해서 디바이스 리스트의 내용이 같은 경우에는 모니터 데이터 공유 메모리(16)로부터 디바이스치를 판독하고, 모니터링 애플리케이션 실행부(11)에 그 값을 되돌리며, 모니터 데이터측 공유 메모리(16)의 개서 플래그 Fdr를 떨어뜨린다.
이에 대해 디바이스 리스트의 내용이 다른 경우에는 애플리케이션 인터페이스부(12)는 모니터링 애플리케이션 실행부(11)에서 받은 디바이스 리스트를 리궤스트측 공유 메모리(14)에 기록하고, 개서 플래그 Frr를 세워서 리궤스트측 공유 메모리(14)에 데이터를 기록한 것을 명시한다.
그리고, 모니터 데이터 취득수단(16)의 초기화 플래그 Fdi를 떨어뜨리고, 모니터 데이터 취득수단(15)에 의해 모니터 데이터측 공유 메모리(16)의 초기화 플래그 Fdi가 세워질 때까지 모니터링 애플리케이션 실행부(11)에 디바이스의 값을 반려하지 않도록 한다.
모니터 요구명령 발행수단(13)은 리궤스트측 공유 메모리(14)에 정의된 모니터링 주기에 따라 애플리케이션 인터페이스부(12)와는 비동기로, 리궤스트측 공유 메모리(14)의 개서 플래그 Frr가 설 때까지 지난번의 디바이스 리스트에 따라 통신수단(17)을 통해서 프로그래머블 컨트롤러(50)에 대해 모니터 요구명령을 반복해서 발행을 계속한다.
이 상태하에서는 모니터 데이터 취득수단(15)은 모니터 요구명령 발행수단(13)에 의해 발행된 모니터 요구명령에 따라 프로그래머블 컨트롤러(50)에서 반려되는 디바이스의 값을 취득하고, 그 값을 모니터 데이터측 공유 메모리(16)에 기록하며, 개서 플래그 Fdr를 세워서 데이터를 기록한 것을 명시한다.
디바이스 리스트의 내용의 변경에 의해 리궤스트측 공유 메모리(14)의 개서 플래그 Frr가 서게 되면, 모니터 요구명령 발행수단(13)은 리궤스트측 공유 메모리(14)의 디바이스 리스트를 판독하고, 그 디바이스 리스트에 따라 통신수단(17)을 통해서 프로그래머블 컨트롤러(50)에 대해 새로운 모니터 요구명령을 발행하며, 리궤스트측 공유 메모리(14)의 개서 플래그 Frr를 떨어뜨린다.
이때에는 모니터 데이터 취득수단(14)은 모니터 요구명령 발행수단(14)에 의해 발행된 모니터 요구명령에 따라 프로그래머블 컨트롤러(50)로부터 반려되는 디바이스의 값을 취득하고, 그 값을 모니터 데이터측 공유 메모리(16)에 기록하며, 모니터 데이터측 공유 메모리(16)의 개서 플래그 Fdr를 세워서 데이터를 기록한 것을 명시하는 동시에 모니터 데이터측 공유 메모리(16)의 초기화 플래그 Fdi를 세운다.
이때, 타이머 감시수단(18)에 의해 산출된 모니터 요구명령을 발행해서 모니터 데이터를 취득할 때까지의 경과시간이 리궤스트측 공유 메모리(14)에 정의되어 있는 모니터링 주기시간 보다 짧은 경우에는 그 차분의 시간이 경과할 때까지 모니터 요구명령 발행수단(13)이 모니터 요구명령을 발행하는 것을 정지하고, 그만큼 다른 애플리케이션이 동작될 수 있도록 프로세서의 점유율을 해방한다.
이것과는 역으로 타이머 감시수단(18)에 의해 산출된 모니터 요구명령을 발행한 후 모니터 데이터를 취득할때까지의 경과 시간이 리궤스트측 공유 메모리(14)에 정의되어 있는 모니터링 주기 시간보다 긴 경우에는 모니터 요구명령 발행수단 (13)에서 즉시 모니터 요구명령을 발행 하도록 한다.
동시에 다른 애플리케이션이 동작할 수 있도록 하기 위해 프로세서의 점유 우선도를 내리고, 함께 리궤스트측 공유 메모리(14)에 정의되어 있는 모니터링 주기시간을 약간 짧게 하도록 미세 조정한다.
따라서, 이 실시의 형태에서는 타이머 감시수단(18)에 의해 모니터 요구명령 발행수단(13)과 모니터 데이터 취득수단(15)에서의 처리시간을 계측하고, 이와 모니터링 주기시간과 비교하는 것이 가능해지고, 쓸데없이 모니터 요구명령 발행수단(13)과 모니터 데이터 취득수단(15)의 처리가 우선되는 것이 회피되며, 다른 애플리케이션의 동작을 저해하지 않는다는 효과가 얻어진다.
이상과 같이 본 발명에 관한 프로그래머블 컨트롤러의 주변장치는 각종 산업기계나 공작기계로 시퀀스제어를 위해 사용되고 있는 프로그래머블 컨트롤러의 디바이스를 모니터하는 주변장치로서 유용하다

Claims (3)

  1. 프로그래머블 컨트롤러의 디바이스에 의해 제어되는 디바이스의 값을 모니터하는 주변장치에 있어서,
    모니터하는 디바이스의 리스트를 생성하는 모니터링 애플리케이션 실행부와, 상기 디바이스의 리스트를 저장하는 모니터 요구명령 발행측 공유 메모리와,
    상기 모니터 요구명령 발행측 공유 메모리에 저장된 디바이스 리스트의 내용에 따른 모니터 요구명령을 발행하는 모니터 요구명령 발행수단과,
    상기 모니터 요구명령을 상기 프로그래머블 컨트롤러에 송신하고, 상기 프로그래머블 컨트롤러로부터 상기 모니터 요구명령에 따른 모니터 데이터를 수신하는 통신수단과,
    상기 통신수단을 통하여 상기 모니터 데이터를 취득하는 모니터 데이터 취득 수단과,
    상기 모니터 데이터 취득수단에 의해 취득한 모니터 데이터를 저장하는 모니터 데이터 취득측 공유 메모리를 갖고,
    상기 모니터 요구명령 발행수단은 상기 모니터 요구명령 발행측 공유 메모리를 소정의 주기를 감시하고, 상기 디바이스의 리스트가 갱신된 때에 이 리스트의 내용에 따른 상기 모니터 요구명령을 생성하며,
    상기 모니터 데이터 취득수단은 상기 모니터 데이터와 함께 이 모니터 데이터의 갱신상태를 표시하는 값을 상기 모니터 데이터 취득측 공유 메모리에 기록하고,
    상기 모니터링 애플리케이션 실행부는 상기 모니터 데이터 취득측 공유 메모리를 소정의 주기로 감시하며, 상기 갱신상태를 표시하는 값에 따라 상기 모니터 데이터 취득측 공유 메모리로부터 상기 모니터 데이터를 취득하는 것을 특징으로 하는 프로그래머블 컨트롤러의 주변장치.
  2. 제 1 항에 있어서, 상기 모니터 요구명령 발행측 공유 메모리는 상기 디바이스 리스트의 갱신상태를 표시하는 제 1의 개서 플래그를 저장하는 개서 플래그부를 갖고, 상기 모니터 요구명령 발행수단은 상기 제 1의 개서 플래그가 제 1의 상태를 표시하고 있는 경우에 상기 디바이스의 리스트의 내용에 따른 모니터 요구명령을 새롭게 발행하는 동시에 상기 개서 플래그를 제 2의 상태로 갱신하고, 다음에 상기 개서 플래그가 제 1의 상태를 표시할 때까지 지난번의 디바이스 리스트에 내용에 따른 모니터 요구명령을 계속 발행하고, 상기 모니터 데이터 취득측 공유 메모리는 상기 디바이스의 리스트의 갱신상태를 표시하는 초기화 플래그를 저장하는 초기화 플래그부와, 상기 모니터 데이터의 갱신상태를 표시하는 값이 되는 제 2의 개서 플래그를 저장하는 개서 플래그부를 갖고, 상기 초기화 플래그는 상기 디바이스의 리스트가 갱신된 때에 제 2의 상태를 표시하고, 상기 모니터 데이터가 갱신된 때 제 1의 상태를 표시하며, 상기 제 2의 개서 플래그는 상기 모니터 데이터가 갱신된 때에 제 1의 상태를 표시하고, 상기 모니터 데이터가 상기 모니터링 애플리케이션 실행부에 의해 취득된 경우에 제 2의 상태를 표시하며, 상기 모니터링 애플리케이션 실행부는 상기 초기 플래그와 상기 제 2의 개서 플래그가 함께 제 1의 상태를 표시하는 경우에 상기 모니터 데이터 취득측 공유 메모리로부터 상기 모니터 데이터를 취득하는 것을 특징으로 하는 프로그래머블 컨트롤러의 주변장치.
  3. 제 1 항에 있어서, 상기 모니터 데이터 취득측 공유 메모리는 디바이스 리스트중의 디바이스 마다의 값의 상태를 표시하는 디바이스치 변화 플래그를 저장하는 변화 플래그 테이블부를 갖고, 상기 디바이스치 변화 플래그는 이 디바이스의 값이 변화한 때에 제 1의 상태를 표시하며, 이 디바이스의 값이 상기 모니터링 애플리케이션 실행부에 의해 판독된 때에 제 2의 상태를 표시하고, 상기 모니터 데이터 취득수단은 상기 모니터 데이터중 상기 디바이스의 값이 변화된 디바이스의 값만 갱신하는 동시에 이 디바이스의 값에 대응하는 디바이스치 변화 플래그를 제 1의 상태로 변경하고, 상기 모니터링 애플리케이션 실행부는 제 1의 상태를 표시하는 디바이스치 변화 플래그에 대응하는 디바이스의 값을 상기 모니터 데이터 취득측 공유 메모리로부터 취득하는 것을 특징으로 하는 프로그래머블 컨트롤러의 주변장치.
KR10-2001-7000790A 1999-05-25 1999-05-25 프로그램 머블 컨트롤러의 주변장치 KR100407619B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/002737 WO2000072099A1 (fr) 1999-05-25 1999-05-25 Dispositif peripherique de controleur programmable

Publications (2)

Publication Number Publication Date
KR20010106407A KR20010106407A (ko) 2001-11-29
KR100407619B1 true KR100407619B1 (ko) 2003-11-28

Family

ID=14235783

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7000790A KR100407619B1 (ko) 1999-05-25 1999-05-25 프로그램 머블 컨트롤러의 주변장치

Country Status (5)

Country Link
US (1) US6810437B1 (ko)
JP (1) JP4152079B2 (ko)
KR (1) KR100407619B1 (ko)
DE (1) DE19983252T1 (ko)
WO (1) WO2000072099A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW530202B (en) * 2001-12-31 2003-05-01 Icp Electronics Inc Computer peripheral equipment monitor and computer system equipped with the monitor
US20070256082A1 (en) * 2006-05-01 2007-11-01 International Business Machines Corporation Monitoring and controlling applications executing in a computing node
US8959263B2 (en) 2013-01-08 2015-02-17 Apple Inc. Maintaining I/O priority and I/O sorting
US9772959B2 (en) 2014-05-30 2017-09-26 Apple Inc. I/O scheduling
CN104601655B (zh) * 2014-12-05 2018-02-13 上海斐讯数据通信技术有限公司 智能插座的控制方法及装置
US9917920B2 (en) 2015-02-24 2018-03-13 Xor Data Exchange, Inc System and method of reciprocal data sharing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2559687B2 (ja) 1984-04-12 1996-12-04 東芝機械株式会社 シ−ケンスコントロ−ラのモニタ装置
JPH0421966A (ja) 1990-05-15 1992-01-24 Sansui Electric Co Ltd ディスクプレーヤのディスクチャック
JPH04160407A (ja) 1990-10-23 1992-06-03 Yaskawa Electric Corp プログラマブル・コントローラ
JPH06175844A (ja) 1992-12-03 1994-06-24 Mitsubishi Electric Corp ソフトウェアの開発方法
JP3225757B2 (ja) * 1994-10-24 2001-11-05 三菱電機株式会社 プログラマブルコントローラ
JP3259575B2 (ja) 1995-03-29 2002-02-25 三菱電機株式会社 モニタ装置及びそのモニタ装置を用いた流れ作業装置
JP3305942B2 (ja) 1996-02-20 2002-07-24 株式会社東芝 プロセス制御システム

Also Published As

Publication number Publication date
JP4152079B2 (ja) 2008-09-17
US6810437B1 (en) 2004-10-26
WO2000072099A1 (fr) 2000-11-30
DE19983252T1 (de) 2001-09-13
KR20010106407A (ko) 2001-11-29

Similar Documents

Publication Publication Date Title
US7275236B1 (en) Method for programming a multiple device control system using object sharing
JP2016110458A (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
KR970002652A (ko) 캐시 메모리의 내용을 플러시하는 장치 및 방법
CN101861568B (zh) 用于交换数据的方法和系统
KR100407619B1 (ko) 프로그램 머블 컨트롤러의 주변장치
US7168075B1 (en) Automation device and updating method
CN113544601B (zh) 控制系统、设定装置以及记录介质
US6516367B1 (en) Method and system for detecting bus device configuration changes
JP5549455B2 (ja) プログラマブルコントローラシステムおよびそのプログラム更新方法
JP2005259079A (ja) ツール
US8327081B2 (en) Information processing device and method for controlling the same
JP4920567B2 (ja) 設備機器ネットワークシステムおよびデータアクセス制御方法
JP6954191B2 (ja) 制御システム、開発支援装置、および開発支援プログラム
JP6856048B2 (ja) 制御システムおよび制御方法
CN111819502B (zh) 数据管理系统、数据管理方法以及存储有数据管理程序的存储装置
KR960003652B1 (ko) 버스 감시기를 이용한 불가분 싸이클 지원방법
JP3688804B2 (ja) プログラマブルコントローラ用リモートシステム
JP4320622B2 (ja) ノード
JP7413183B2 (ja) コントロールシステム
JP5951123B2 (ja) 制御装置
JP6735938B1 (ja) データ処理装置、データ処理システム、データ退避方法およびプログラム
JPH0736370A (ja) データ授受システムおよびその方法
KR100295683B1 (ko) 인터아이씨의 제너럴콜 어크날리지장치및 방법
JPH11161336A (ja) エンコーダ
JP2023151742A (ja) 制御システム、制御装置および制御プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121023

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20131022

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee