KR20200113958A - 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법 - Google Patents

멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법 Download PDF

Info

Publication number
KR20200113958A
KR20200113958A KR1020190034940A KR20190034940A KR20200113958A KR 20200113958 A KR20200113958 A KR 20200113958A KR 1020190034940 A KR1020190034940 A KR 1020190034940A KR 20190034940 A KR20190034940 A KR 20190034940A KR 20200113958 A KR20200113958 A KR 20200113958A
Authority
KR
South Korea
Prior art keywords
module
cpu
data
modules
transmitting
Prior art date
Application number
KR1020190034940A
Other languages
English (en)
Other versions
KR102251494B1 (ko
Inventor
김석연
Original Assignee
엘에스일렉트릭(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스일렉트릭(주) filed Critical 엘에스일렉트릭(주)
Priority to KR1020190034940A priority Critical patent/KR102251494B1/ko
Priority to PCT/KR2019/010874 priority patent/WO2020197006A1/ko
Publication of KR20200113958A publication Critical patent/KR20200113958A/ko
Application granted granted Critical
Publication of KR102251494B1 publication Critical patent/KR102251494B1/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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4144Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using multiplexing for control system
    • 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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4147Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using a programmable interface controller [PIC]
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems

Landscapes

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

Abstract

본 발명은 요청/응답의 방식이 아닌 새로운 직렬통신 방식으로 여러 증설 모듈을 관리하는 PLC(Programmable logic controller)의 효과적인 증설 모듈 인터페이스 방법에 관한 것이다. 본 발명에 따른 멀티 드롭 직렬통신 방식을 이용한 PLC 증설 모듈 인터페이스 방법은 (A) CPU에서 모든 모듈에 전송할 출력 데이터를 1개의 주기통신 프레임에 삽입하여 각 모듈로 전송하는 단계; (B) 각 모듈에서 수신된 주기통신 프레임에 삽입된 출력 데이터 중 자신이 필요한 데이터를 발췌하여 읽는 단계; (C) PLC 시스템에 장착된 증설 모듈들 중 맨 끝에 장착된 제n 모듈에서 바로 앞 단에 장착된 제n-1 모듈로 제1 입력 데이터를 포함하는 주기통신 프레임을 전송하는 단계; (D) PLC 시스템에 장착된 증설모듈 중 맨 뒤 단에 장착된 모듈로부터 상기 CPU에서 전송된 주기통신 프레임에 자신의 입력 데이터를 추가하여 앞 단에 장착된 모듈로 전송하는 단계; 및 (E) PLC 시스템에 장착된 증설모듈 중 가장 앞 단에 장착된 모듈에서 상기 PLC 시스템에 장착된 모든 증설 모듈의 입력 데이터를 취합하여 하나의 주기통신 프레임으로 CPU에 전송하는 단계를 포함할 수 있다.

Description

멀티 드롭 직렬통신 방식을 이용한 PLC 증설 모듈 인터페이스 방법{A PLC extension module interface method using Multi Drop serial communication}
본 발명은 직렬통신 방식으로 여러 증설 모듈을 관리하는 PLC(Programmable logic controller)의 효과적인 증설 모듈 인터페이스 방법에 관한 것이다.
PLC(Programmable logic controller)는 증설 모듈과 통신을 함에 있어 주기적으로 최신의 데이터를 주고받는 주기 통신과 파라미터 설정 등 특별한 이슈가 있는 경우에만 수행하는 비 주기 통신으로 나뉜다.
통신 직렬 통신방식을 사용하는 PLC 시스템에서는 모든 요청 프레임에 대해 각각의 응답 프레임을 수신하기 위해 대기를 해야 한다. 즉, 1개의 증설 모듈과 통신을 하기 위해 소요되는 시간이 1ms라면 10개의 증설 모듈과 통신하는 데에는 10ms가 필요하다. 증설 모듈 통신 시간은 시스템의 주기와 연관이 있으며, 시스템 주기는 응답시간과 관계가 있으므로 증설 모듈 통신시간을 줄여야 할 필요가 있다.
그러나, 기존의 요청 및 응답의 방식은 증설 모듈과 통신을 하면 응답을 기다리는 시간으로 인해 지연이 발생하는 문제점이 있다.
도 1은 종래의 증설 모듈 통신 방식의 통신 연결방식을 도식화한 도면이다.
도 1를 참조하여 설명하면, CPU(10)는 PLC의 핵심 요소이며 사용자가 구성한 프로그램을 처리한다. CPU(10)는 장착된 증설 모듈(20a)(20b)(20c)에 필요한 데이터를 송/수신한다. 이때, 모듈(20a)(20b)(20c)은 CPU(10)에 여러 대 장착이 가능하며, 통상 CPU(10)의 송신단자(TxD #0)에서 송신한 데이터는 멀티 드롭(Multi drop) 방식으로 모든 모듈(20a)(20b)(20c)의 수신단자(RxD #0)를 통해서 수신이 가능하다.
그리고 모든 모듈(20a)(20b)(20c)의 송신단자(TxD #0)는 각 모듈(20a)(20b)(20c)에서 제어하는 스위치(S1)(S2)(S3)에 의해 연결된다. 해당 모듈(20a)(20b)(20c)의 송신단자(TxD #0)에서 CPU(10)의 수신단자(TxD #0)에 연결된송신 라인을 점유하고자 할 때에는 스위치(S1)(S2)(S3)를 온(On)시키고, 해당 모듈(20a)(20b)(20c)의 송신단자(TxD #0)를 통해 송신 라인에 데이터를 송신한다.
모듈(20a)(20b)(20c) 측에서 송신 라인을 점유하는 시간은 상호 배타적이어야 한다. 이를 위해 CPU(10)와 모듈(20a)(20b)(20c) 간의 통신 시에 CPU(10)에서는 어느 모듈(20a)(20b)(20c)에 보내는 프레임인지 정보를 송신하여야 한다. 그리고 모듈(20a)(20b)(20c)에서는 자신에게 요청된 프레임이 아닌 경우에는 송신 라인의 스위치(S1)(S2)(S3)를 오프(Off)하고 있어야 한다.
송신 라인 점유의 상호 배타적 관계를 유지하기 위해, CPU(10)와 모듈(20a)(20b)(20c) 간의 통신은 요청/응답의 방식이 되어야 한다. 그리고 CPU(10)에서는 매번 모듈(20a)(20b)(20c)의 응답 프레임이 수신될 때까지 대기를 해야 한다. 왜냐하면 CPU(10)에서 여러 대의 모듈(20a)(20b)(20c)에 요청 프레임을 전송하면, 송신 라인은 요청 받은 여러 대의 모듈(20a)(20b)(20c)에 의해 서로 점유를 하기 위해 송신 라인의 스위치(S1)(S2)(S3)를 온(On)시킬 것이고, 이때 송신 라인은 충돌되어 프레임을 CPU(10)로 송신할 수 없게 되기 때문이다.
도 2는 종래의 증설 모듈 통신방식의 통신 시퀀스를 나타낸 흐름도이다.
도 2를 참조하여 설명하면, CPU(10)는 각 모듈(20a)(20b)(20c)에 요청 프레임을 보내고 요청 프레임을 받은 모듈(20a)(20b)(20c)은 CPU(10)의 요청에 대한 회신을 한다.
이때, 만일 n개의 모듈(20a)(20b)(20c)이 장착된 시스템인 경우는 CPU(10)에서 n회의 요청/대기/수신이 필요하다. 그러나 각 모듈(20a)(20b)(20c)은 자신에게 보내어진 출력 데이터를 바로 출력에 반영(ex. 디지털 출력 접점)하므로 각 모듈(20a)(20b)(20c)의 출력값이 반영되는 데에는 큰 시차가 존재하게 된다.
이처럼, 각 모듈의 송신 라인을 점유하는 시간을 상호 배타적으로 운영하기 위해 CPU에서는 각 모듈로부터 수신할 데이터를 모두 수신할 때까지 대기를 해야 하므로, 지연이 발생하게 된다. 이러한 지연시간은 증설 모듈의 개수와 비례하여 늘어나며 통상 수십 대의 모듈을 관리하는 PLC 시스템에서는 제어 주기에 직접적인 영향을 끼지는 부분이다.
또한, 파라미터 설정 등 비 주기 통신 시에도 모듈로부터 프레임을 수신할 때까지 CPU는 다른 모듈에 프레임을 전송할 수 없다. 예를 들어, 도 1에서 CPU(10)는 제1 모듈(20a)에 요청 프레임을 전송하고, 제1 모듈(20a)로부터 응답을 받기 전에 제2 모듈(20b)에 요청 프레임을 전송한다면, 송신 라인은 제1 모듈(20a)과 제2 모듈(20b)에 의해 동시에 점유가 시도될 수 있어 정상적인 통신이 이루어질 수 없게 된다.
이처럼, PLC 시스템에서 다수의 모듈을 운영함에 있어, 기존의 요청 및 응답방식을 이용한 증설 모듈과의 통신은 모듈의 개수에 비례적으로 CPU(10)에서 응답을 기다리는 처리시간이 늘어나게 되는 한계가 발생하는 문제점이 있다.
본 발명의 목적은 요청/응답의 방식이 아닌 새로운 직렬통신 방식으로 여러 증설 모듈을 관리하는 PLC(Programmable logic controller)의 효과적인 증설 모듈 인터페이스 방법을 제공하는 것이다.
또한 본 발명의 목적은 증설 모듈 통신 시간을 획기적으로 줄임으로써 PLC 시스템의 주기를 줄여 최종적으로 PLC 시스템의 응답시간을 빠르게 하는 PLC 증설 모듈 인터페이스 방법을 제공하는 것이다.
또한 본 발명의 목적은 PLC 시스템에서 각 모듈의 송신단자에서 CPU의 수신단자에 연결된 송신 라인을 점유하는데 있어 모듈 별로 상호 배타성을 유지하기 위해 CPU에서 매 프레임 전송 시 요청한 모듈로부터 응답을 기다려야 하는 한계를 극복하기 위해 각 모듈의 송신 라인이 독점 가능한 증설 모듈 인터페이스 방법을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명에 따른 멀티 드롭 직렬통신 방식을 이용한 PLC 증설 모듈 인터페이스 방법은 (A) CPU에서 모든 모듈에 전송할 출력 데이터를 1개의 주기통신 프레임에 삽입하여 각 모듈로 전송하는 단계; (B) 각 모듈에서 수신된 주기통신 프레임에 삽입된 출력 데이터 중 자신이 필요한 데이터를 발췌하여 읽는 단계; (C) PLC 시스템에 장착된 증설 모듈들 중 맨 끝에 장착된 제n 모듈에서 바로 앞 단에 장착된 제n-1 모듈로 제1 입력 데이터를 포함하는 주기통신 프레임을 전송하는 단계; (D) PLC 시스템에 장착된 증설모듈 중 맨 뒤 단에 장착된 모듈로부터 상기 CPU에서 전송된 상기 주기통신 프레임에 자신의 입력 데이터를 추가하여 앞 단에 장착된 모듈로 전송하는 단계; 및 (E) PLC 시스템에 장착된 증설모듈 중 가장 앞 단에 장착된 모듈에서 상기 PLC 시스템에 장착된 모든 증설 모듈의 입력 데이터를 취합하여 하나의 주기통신 프레임으로 CPU에 전송하는 단계를 포함할 수 있다.
이때, 상기 CPU에 전송되는 주기통신 프레임은 상기 CPU 처리 주기의 1/2 이하의 주기로 전송할 수 있다.
이때, 상기 모듈은 송신 라인으로 연결되는 적어도 2개 이상의 모듈로 구성되고, 2개의 직렬통신 채널을 보유하며, 상기 직렬통신 채널 중 제1 채널(Ch#0)은 송신단자 및 수신단자 모두 사용하고, 다른 제2 채널(Ch#1)은 수신단자만 사용할 수 있다.
이때, 상기 제1 채널(Ch#0)의 수신단자는 상기 CPU의 송신단자(TxD #0)와 직접 연결되며, 멀티 드롭(Multi drop) 방식으로 상기 CPU에서 전송하는 프레임을 모든 모듈에 전달하고, 상기 제1 채널(Ch#0)의 송신단자 바로 앞 모듈의 제2 채널(Ch#1) 수신단자(RxD #1)와 1대1로 연결되며, 상기 CPU에 연결된 제1 모듈의 제1 채널(Ch#0) 송신단자(TXD #0)는 CPU의 수신단자(RxD #0)에 연결될 수 있다.
이때, 비 주기 통신(Mailbox) 데이터가 발생하면, 상기 CPU에서 적어도 하나 이상의 제2 모듈과 비 주기 통신을 하기 위한 비 주기 통신 데이터를 주기통신 프레임에 추가하여 전송하는 단계; 상기 제2 모듈에서 수신된 주기통신 프레임에 삽입된 비 주기 통신 데이터를 발췌하여 상기 비 주기 통신 데이터에 대한 처리를 완료하는 단계; 상기 비 주기 통신 데이터에 대한 처리 완료 이후 다음에 전송되는 상기 입력 데이터의 주기통신 프레임에 비 주기 통신 데이터 요청에 대한 응답을 전송하는 단계; 및 상기 CPU에서 모든 증설 모듈의 입력 데이터를 취합한 하나의 주기통신 프레임을 수신하고, 수신된 주기통신 프레임에 포함된 적어도 하나 이상의 상기 제2 모듈에서 전달된 비 주기 통신 데이터의 응답을 수신하여 요청한 제2 모듈에 대한 비 주기 통신을 완료하는 단계를 포함할 수 있다.
본 발명에 따는 멀티 드롭 직렬통신 방식을 이용한 PLC 증설 모듈 인터페이스 방법은 직렬 통신 방식으로 여러 모듈을 제어하는 PLC 시스템에서 각 모듈의 송신단자에서 CPU의 수신단자에 연결된 송신(Tx) 라인을 공통으로 사용함에 있어서 발생하는 송신 라인 점유 및 해제에 따르는 CPU의 대기시간을 줄일 수 있다. 이를 통해, CPU는 각 모듈과 통신을 위한 지연(delay)을 획기적을 줄일 수 있으며, 전체 시스템의 주기를 줄이는 효과를 토대로 궁극적으로 응답시간을 단축할 수 있다.
또한, 기존의 요청 및 응답 구조에서는 각 모듈의 출력이 반영되는 데 비교적 큰 시차가 존재한다. 하지만, 본 발명에 따른 멀티 드롭 직렬통신 방식을 이용한 PLC 증설 모듈 인터페이스 방법은 각 모듈이 출력 데이터를 반영하는 데에는 CPU로부터 송신된 프레임이 각 모듈에 도착하는 시차만 존재하므로 각 모듈의 출력이 거의 동시에 이루어질 수 있다. 이로써 보다 정밀한 제어가 가능하여 기존 PLC 대비 보다 정밀한 제어를 요구하는 분야까지 적용가능 영역을 확대할 수 있다.
상술한 효과와 더불어 본 발명의 구체적인 효과는 이하 발명을 실시하기 위한 구체적인 사항을 설명하면서 함께 기술한다.
도 1은 종래의 증설 모듈 통신 방식의 통신 연결방식을 도식화한 도면이다.
도 2는 종래의 증설 모듈 통신방식의 통신 시퀀스를 나타낸 흐름도이다.
도 3은 본 발명의 실시예에 따른 증설 모듈 통신 방식의 통신 연결방식을 도식화한 도면이다.
도 4 내지 도 6은 본 발명의 실시예에 따른 증설 모듈 통신방식의 통신 시퀀스를 나타낸 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
이하에서 어떤 구성요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 상기 구성요소들은 서로 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성요소 사이에 다른 구성요소가 "개재"되거나, 각 구성요소가 다른 구성요소를 통해 "연결", "결합" 또는 "접속"될 수도 있는 것으로 이해되어야 할 것이다.
이하에서는, 본 발명의 몇몇 실시예에 따른 멀티 드롭 직렬통신 방식을 이용한 PLC 증설 모듈 인터페이스 방법을 설명하도록 한다.
도 3은 본 발명의 실시예에 따른 증설 모듈 통신 방식의 통신 연결방식을 도식화한 도면이다.
도 3을 참조하여 설명하면, CPU(100)는 PLC의 핵심 요소이며 사용자가 구성한 프로그램을 처리한다. CPU(100)는 PLC 시스템에 장착된 증설 모듈(200a)(200b)(200c)에 필요한 데이터를 송/수신한다.
그리고 모듈(200a)(200b)(200c)은 CPU(100)에 여러 대 장착이 가능하며, 2개의 직렬통신 채널을 보유하고 있다. 이 중 1개의 제1 채널(Ch#0)은 송신단자(Tx)/수신단자(Rx)) 모두 사용하고, 남은 1개의 제2 채널(Ch#1)은 수신단자(Rx)만 사용한다.
모든 모듈(200a)(200b)(200c)의 제1 채널(Ch#0)의 수신단자(Rx)는 CPU(100)의 송신단자(TxD #0)와 직접 연결이 되어 있으며, 멀티 드롭(Multi drop) 방식으로 CPU(100)에서 전송하는 주기통신 프레임을 모든 모듈(200a)(200b)(200c)에서 수신할 수 있다.
그리고 모든 모듈(200a)(200b)(200c)의 제1 채널(Ch#0)의 송신단자(TxD #0)는 바로 앞 모듈의 제2 채널(Ch#1) 수신단자(RxD #1)와 1대1로 연결되어 있다. CPU(100)에 바로 연결된 제1 모듈(200a)의 제1 채널(Ch#0) 송신단자(TxD #0)는 CPU(100)의 수신단자(RxD #0)에 연결된다.
이 회로 구성에서 모든 모듈(200a)(200b)(200c)의 제1 채널(Ch#0)의 송신단자(TxD #0)에서 바로 앞 모듈의 제2 채널(Ch#1)의 수신단자(RxD #1)에 연결된 송신 라인(300)을 점유하기 위한 스위치는 존재하지 않으므로, 송신 라인(300)을 점유하기 위한 스위치 버퍼 등은 필요하지 않다.
이러한 구성을 통해, 각 모듈(200a)(200b)(200c)은 별도의 송신 라인(300) 점유를 위한 시퀀스가 필요 없으므로 원하는 시기에 송신 라인(300)으로 데이터를 송신할 수 있다. 그리고 모듈(200a)(200b)(200c)의 송신 라인(300)은 궁극적으로 CPU(100)에 연결되도록 구성하여 CPU(100)에서는 모든 모듈(200a)(200b)(200c)의 송신 라인(300)에서 전송된 데이터를 수집할 수 있도록 한다.
도 4 내지 도 6은 본 발명의 실시예에 따른 증설 모듈 통신방식의 통신 시퀀스를 나타낸 흐름도이다. 도 4는 본 발명의 실시예에 따른 시스템의 CPU에서 각 모듈로 전송하는 주기 통신의 시퀀스를 나타낸 흐름도이고, 도 5는 본 발명의 실시예에 따른 시스템의 각 모듈에서 CPU로 전송하는 주기 통신의 시퀀스를 나타낸 흐름도이다. 또한, 도 6은 본 발명의 실시예에 따른 시스템의 비주기 통신에 대한 동작 시퀀스를 나타낸 흐름도이다. 이때, 주기적으로 최신의 데이터를 주고받는 주기 통신과, 파라미터 설정 등 특별한 이슈가 있는 경우에만 수행하는 비 주기 통신으로 나눈다.
먼저, 도 4를 참조하여 CPU(100)에서 각 모듈(200a)(200b)(200c)로 전송하는 주기 통신의 시퀀스를 설명하면 다음과 같다.
CPU(100)는 CPU(100)의 송신단자(TxD #0)을 통해 모든 모듈(200a)(200b)(200c)의 제1 채널(Ch#0) 수신단자(Rx)에 전송할 출력 데이터(OUT_1+OUT_2+…+OUT_n)를 전송한다. 이때 CPU(100)는 1개의 주기통신 프레임에 모든 모듈(200a)(200b)(200c)에 전송할 출력 데이터를 삽입한다.
각 모듈(200a)(200b)(200c)은 수신한 주기통신 프레임에서 자신이 필요한 부분만 발췌하여 읽어온다. 예를 들어, CPU(100)에서 각 모듈(200a)(200b)(200c)의 출력 데이터(OUT_1+OUT_2+…+OUT_n)를 송신하는 경우라면, 각 모듈(200a)(200b)(200c) 별로 출력 데이터(OUT_1+OUT_2+…+OUT_n)가 반영되는 시차는 주기통신 프레임이 전송되는 시차만 존재하게 되며 이는 극히 짧은 시간 이내로 한정된다.
다음으로, 도 5를 참조하여 각 모듈(200a)(200b)(200c)에서 CPU(100)로 전송하는 주기통신의 시퀀스를 설명하면 다음과 같다.
먼저, PLC 시스템에 장착된 증설 모듈들(200a)(200b)(200c) 중 맨 끝에 장착된 제n 모듈(200c)은 CPU(100)로 제1 입력 데이터(IN_n) 송신을 시작한다. 이때, 제1 입력 데이터(IN_n)는 바로 CPU(100)로 전달되지 않고 제n 모듈(200c)의 바로 앞 단에 장착된 제n-1 모듈로 전달된다. 즉, 제1 입력 데이터(IN_n)는 제n 모듈(200c)의 제1 채널 송신단자(TxD #0)를 통해 바로 앞 모듈인 제n-1 모듈(미도시)의 제2 채널 수신단자(RxD #1)로 전달된다.
그리고 제n-1 모듈은 제n 모듈(200c)로부터 전송받은 주기통신 프레임에 자신의 제2 입력 데이터를 추가하여 다시 앞 단에 장착된 제n-2 모듈로 전달한다. 예로서, 제n-1 모듈은 CPU(100)로 송신하기 위한 제2 입력 데이터를 뒤 단에 장착된 제n 모듈(200c)에서 전달된 제1 입력 데이터(IN_n)를 포함하는 주기통신 프레임에 취합한다. 그리고 제n-1 모듈은 제1 입력 데이터 및 제2 입력 데이터가 취합된 주기통신 프레임을 바로 앞 단에 장착된 제n-2 모듈로 전달한다.
그리로 CPU(100)와 연결된 제1 모듈(200a)은 모든 모듈(200a)(200b)(200c)의 입력 데이터(IN_1+IN_2+IN_3+…+IN_n)가 취합된 하나의 주기통신 프레임으로 CPU(100)에 전송한다. 예로서, CPU(100)에 바로 연결된 제1 모듈(200a)은 뒤 단에 장착된 모든 모듈(200b)(200c)들의 각 입력 데이터(IN_2+IN_3+…+IN_n)가 취합된 주기통신 프레임을 수신하게 된다. 그리고 제1 모듈(200a)은 수신된 주기통신 프레임에 자신이 CPU(100)로 송신하기 위한 입력 데이터(IN_1)를 취합하여 하나의 주기통신 프레임으로 CPU(100)로 전달한다.
이러한 전달을 통해, CPU(100)에서는 모든 모듈(200a)(200b)(200c)로부터의 입력 데이터(IN_1+IN_2+IN_3+…+IN_n) 수신을 위해 별도로 대기를 하지 않고 가장 최근에 입력된 데이터를 사용한다.
이때, 모든 모듈(200a)(200b)(200c)의 입력 데이터(IN_1+IN_2+IN_3+…+IN_n)가 취합된 주기통신 프레임은 CPU(100)의 1주기 이내에 최소 1회 이상 갱신될 수 있도록 CPU(100) 처리 주기의 1/2 이하의 주기로 전송할 수 있다.
이처럼, CPU(100)와 모듈(200a)(200b)(200c) 간의 통신은 요청/응답의 관계가 아닌 단지 전송에 의한 지연 만이 존재하게 된다. 그리고 이 방법으로 여러 대의 모듈(200a)(200b)(200c)을 운영하는 시스템에서 제어주기는 증설 모듈(200a)(200b)(200c)이 추가됨에 따라 늘어나는 데이터에 의한 전송 시간만 존재하게 된다.
따라서 수십 대의 모듈을 운영하는 시스템에서도 안정적인 제어주기를 유지할 수 있게 되며 궁극적으로 시스템 응답속도를 높여 생산성을 향상시킬 수 있게 된다.
한편, 도 6을 참조하여 각 모듈(200a)(200b)(200c) 별로 고유 수신 라인을 보유한 시스템에서 비 주기 통신(Mailbox)에 대한 동작 시퀀스를 설명하면 다음과 같다. 이때, 비 주기 통신은 파라미터 설정 등 특별한 이슈가 있는 경우에 수행하는 통신을 말한다.
먼저, 비 주기 통신(Mailbox) 데이터가 발생하면, CPU(100)는 특정 모듈과 비 주기 통신을 하기 위한 비 주기 통신 데이터(M_1)를 입력데이터(OUT_1+OUT_2+…+OUT_n)의 주기통신 프레임에 추가하여 전송한다. 도 6에서는 제2 모듈(200b)에 비 주기 통신 데이터를 송신하는 경우를 가정한다.
그리고 PLC 시스템에 장착된 증설 모듈들(200a)(200b)(200c) 중 맨 끝에 장착된 제n 모듈(200c)은 CPU(100)로 제1 입력 데이터(IN_n) 송신을 시작한다. 이때, 제1 입력 데이터(IN_n)는 바로 CPU(100)로 전달되지 않고 제n 모듈(200c)의 바로 앞 단에 장착된 제n-1 모듈로 전달된다. 즉, 제1 입력 데이터(IN_n)는 제n 모듈(200c)의 제1 채널 송신단자(TxD #0)를 통해 바로 앞 모듈인 제n-1 모듈(미도시)의 제2 채널 수신단자(RxD #1)로 전달된다.
그리고 제n-1 모듈은 제n 모듈(200c)로부터 전송받은 주기통신 프레임에 자신의 제2 입력 데이터를 추가하여 다시 앞 단에 장착된 제n-2 모듈로 전달한다. 예로서, 제n-1 모듈은 CPU(100)로 송신하기 위한 제2 입력 데이터를 뒤 단에 장착된 제n 모듈(200c)에서 전달된 제1 입력 데이터(IN_n)를 포함하는 주기통신 프레임에 취합한다. 그리고 제n-1 모듈은 제1 입력 데이터 및 제2 입력 데이터가 취합된 주기통신 프레임을 바로 앞 단에 장착된 제n-2 모듈로 전달한다.
제2 모듈(200b)은 수신한 비 주기 통신 데이터(M_1)에 대한 처리를 완료한다. 그리고 제2 모듈(200b)은 처리 완료 이후 다음에 전송되는 입력 데이터(OUT_2+OUT_3+…+OUT_n)의 주기통신 프레임에 비 주기 통신 데이터 요청에 대한 응답(A_1)을 전송한다.
예로서, 비 주기 통신 데이터가 읽기(Read)에 대한 요청이라면, 제2 모듈(200b)은 해당 데이터를 주기통신 프레임에 추가하고, 쓰기에 대한 요청이라면 쓰기를 정상 완료했다는 응답을 주기통신 프레임에 추가한다.
CPU(100)에서 제2 모듈(200b)에서 전달된 비 주기 통신 데이터의 응답(A_1)을 수신함으로써, CPU(100)는 요청한 제2 모듈(200b)에 대한 비 주기 통신을 완료한다.
만일 2개 이상의 모듈에 비 주기 통신을 해야 할 경우에도 CPU(100)는 하나의 주기통신 프레임에 2개 이상의 비 주기 통신 데이터에 대한 요청 데이터를 전송할 수 있으므로, 효과적으로 비 주기 통신을 수행할 수 있다.
예로서, 각 모듈(200a)(200b)(200c)은 입력 데이터를 CPU(100)로 바로 전달되지 않고 바로 앞에 장착된 모듈로 입력 데이터가 취합되어 하나의 주기통신 프레임으로 전송되게 됨으로, CPU(100)와 연결된 제1 모듈(200a)은 모든 모듈(200b)(200c)의 입력 데이터가 취합된 하나의 주기통신 프레임으로 CPU(100)에 전송하게 된다. 따라서, 2개 이상의 모듈에서 전송하는 비 주기 통신 데이터에 대한 응답 데이터는 하나의 주기통신 프레임으로 CPU(100)에 전송될 수 있다.
이러한 구성을 통해, 각 모듈(200a)(200b)(200c)의 수신 라인(300)은 항상 독점하고 있으므로 CPU(100)에서는 전송한 비 주기 통신 데이터의 요청에 의한 응답이 오기 전에 새로운 주기통신 프레임을 생성하여 전송할 수 있다. 따라서 CPU(100)는 CPU(100)에서 모듈(200a)(200b)(200c)로부터의 비 주기 통신 데이터에 대한 응답을 대기하는 시간 또한 없다.
이상과 같이 본 발명에 대해서 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시 예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상의 범위 내에서 통상의 기술자에 의해 다양한 변형이 이루어질 수 있음은 자명하다. 아울러 앞서 본 발명의 실시 예를 설명하면서 본 발명의 구성에 따른 작용 효과를 명시적으로 기재하여 설명하지 않았을 지라도, 해당 구성에 의해 예측 가능한 효과 또한 인정되어야 함은 당연하다.
100: CPU 200a, 200b, 200c: (증설) 모듈
300: 송신(Tx) 라인 400: 수신(Rx) 라인

Claims (5)

  1. (A) CPU에서 모든 모듈에 전송할 출력 데이터를 1개의 주기통신 프레임에 삽입하여 각 모듈로 전송하는 단계;
    (B) 각 모듈에서 수신된 주기통신 프레임에 삽입된 출력 데이터 중 자신이 필요한 데이터를 발췌하여 읽는 단계;
    (C) PLC 시스템에 장착된 증설 모듈들 중 맨 끝에 장착된 제n 모듈에서 바로 앞 단에 장착된 제n-1 모듈로 제1 입력 데이터를 포함하는 주기통신 프레임을 전송하는 단계;
    (D) PLC 시스템에 장착된 증설모듈 중 맨 뒤 단에 장착된 모듈로부터 상기 CPU에서 전송된 상기 주기통신 프레임에 자신의 입력 데이터를 추가하여 앞 단에 장착된 모듈로 전송하는 단계; 및
    (E) PLC 시스템에 장착된 증설모듈 중 가장 앞 단에 장착된 모듈에서 상기 PLC 시스템에 장착된 모든 증설 모듈의 입력 데이터를 취합하여 하나의 주기통신 프레임으로 CPU에 전송하는 단계를 포함하는 PLC 증설 모듈 인터페이스 방법.
  2. 제1 항에 있어서,
    상기 CPU에 전송되는 주기통신 프레임은 상기 CPU 처리 주기의 1/2 이하의 주기로 전송하는 PLC 증설 모듈 인터페이스 방법.
  3. 제1 항에 있어서,
    상기 모듈은 송신 라인으로 연결되는 적어도 2개 이상의 모듈로 구성되고, 2개의 직렬통신 채널을 보유하며,
    상기 직렬통신 채널 중 제1 채널(Ch#0)은 송신단자 및 수신단자 모두 사용하고, 다른 제2 채널(Ch#1)은 수신단자만 사용하는 PLC 증설 모듈 인터페이스 방법.
  4. 제3 항에 있어서,
    상기 제1 채널(Ch#0)의 수신단자는 상기 CPU의 송신단자(TxD #0)와 직접 연결되며, 멀티 드롭(Multi drop) 방식으로 상기 CPU에서 전송하는 프레임을 모든 모듈에 전달하고,
    상기 제1 채널(Ch#0)의 송신단자는 바로 앞 모듈의 제2 채널(Ch#1) 수신단자(RxD #1)와 1대1로 연결되며, 상기 CPU에 연결된 제1 모듈의 제1 채널(Ch#0) 송신단자(TXD #0)는 CPU의 수신단자(RxD #0)에 연결되는 PLC 증설 모듈 인터페이스 방법.
  5. 제1 항에 있어서,
    비 주기 통신(Mailbox) 데이터가 발생하면, 상기 CPU에서 적어도 하나 이상의 제2 모듈과 비 주기 통신을 하기 위한 비 주기 통신 데이터를 주기통신 프레임에 추가하여 전송하는 단계;
    상기 제2 모듈에서 수신된 주기통신 프레임에 삽입된 비 주기 통신 데이터를 발췌하여 상기 비 주기 통신 데이터에 대한 처리를 완료하는 단계;
    상기 비 주기 통신 데이터에 대한 처리 완료 이후 다음에 전송되는 상기 입력 데이터의 주기통신 프레임에 비 주기 통신 데이터 요청에 대한 응답을 전송하는 단계; 및
    상기 CPU에서 모든 증설 모듈의 입력 데이터를 취합한 하나의 주기통신 프레임을 수신하고, 수신된 주기통신 프레임에 포함된 적어도 하나 이상의 상기 제2 모듈에서 전달된 비 주기 통신 데이터의 응답을 수신하여 요청한 제2 모듈에 대한 비 주기 통신을 완료하는 단계를 포함하는 PLC 증설 모듈 인터페이스 방법.
KR1020190034940A 2019-03-27 2019-03-27 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법 KR102251494B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190034940A KR102251494B1 (ko) 2019-03-27 2019-03-27 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법
PCT/KR2019/010874 WO2020197006A1 (ko) 2019-03-27 2019-08-27 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190034940A KR102251494B1 (ko) 2019-03-27 2019-03-27 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법

Publications (2)

Publication Number Publication Date
KR20200113958A true KR20200113958A (ko) 2020-10-07
KR102251494B1 KR102251494B1 (ko) 2021-05-12

Family

ID=72608933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190034940A KR102251494B1 (ko) 2019-03-27 2019-03-27 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법

Country Status (2)

Country Link
KR (1) KR102251494B1 (ko)
WO (1) WO2020197006A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100479640B1 (ko) * 2003-04-23 2005-03-31 주식회사 케이디티 시스템즈 직렬통신에 의한 프로그래머블 로직 제어장치의 증설시스템과 그 동작방법
KR20100001758A (ko) * 2008-06-27 2010-01-06 엘에스산전 주식회사 Plc에서 증설모듈의 통신장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3659481B2 (ja) * 2000-03-28 2005-06-15 富士電機ホールディングス株式会社 Plc用表示システムおよびplcと表示器とのデータ通信方法
JP2004157631A (ja) * 2002-11-05 2004-06-03 Yaskawa Electric Corp I/o伝送マスタ装置
KR20060003139A (ko) * 2004-07-05 2006-01-10 엘에스산전 주식회사 트리거 신호와 시리얼 통신을 이용한 plc 시스템의증설 모듈 제어 방법
US9838580B2 (en) * 2015-10-16 2017-12-05 Hyundai Infracore, Inc. Optically connectable closed-circuit television camera apparatus using passive optical devices and closed-circuit television system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100479640B1 (ko) * 2003-04-23 2005-03-31 주식회사 케이디티 시스템즈 직렬통신에 의한 프로그래머블 로직 제어장치의 증설시스템과 그 동작방법
KR20100001758A (ko) * 2008-06-27 2010-01-06 엘에스산전 주식회사 Plc에서 증설모듈의 통신장치 및 방법

Also Published As

Publication number Publication date
KR102251494B1 (ko) 2021-05-12
WO2020197006A1 (ko) 2020-10-01

Similar Documents

Publication Publication Date Title
JP4617440B2 (ja) データ通信システムまたはその方法
US7508824B2 (en) Method and system for transmitting data via switchable data networks
JPH0748739B2 (ja) 多重アクセス制御方法および該方法を実施する多重アクセス制御システム
CN101866328A (zh) 一种自动访问的串行总线读写控制方法
US4692862A (en) Rapid message transmission system between computers and method
JPH0981508A (ja) 通信方法及び装置
US6131114A (en) System for interchanging data between data processor units having processors interconnected by a common bus
US7017067B2 (en) Method and bus system for synchronizing a data exchange between a data source and a control device
CN116723249B (zh) 定制化的epa设备
JP6290761B2 (ja) データ転送制御システム、データ転送制御方法、及び、データ転送制御プログラム
KR102251494B1 (ko) 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법
CN101415027B (zh) 基于hdlc协议的通讯模块及数据实时转发存储控制方法
US20080123678A1 (en) Communication Module System Having an Interface Module and Interface Module
US20230161719A1 (en) Processing of process data
US6701407B1 (en) Multiprocessor system with system modules each having processors, and a data transfer method therefor
JP5372699B2 (ja) 車載ネットワーク装置
RU175049U1 (ru) УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire
KR101857088B1 (ko) 리턴 회로를 갖는 리모트 입출력 장치 및 그의 내부 버스 통신 방법
WO2021056631A1 (zh) 可自主回复写应答的axi总线传输装置
US20030093603A1 (en) Apparatus and method for responding to a interruption of a packet flow to a high level data link controller in a signal processing system
US20040114582A1 (en) Electronic switching circuit and method for a communication interface with buffer storage
KR100331865B1 (ko) 다수의 보드간 데이터 송수신 방법
CN115708076A (zh) 用于单总线的通信方法、装置、服务器及存储介质
CN101631012B (zh) 一种通用异步收发报机的控制方法及其装置
GB2188216A (en) Ring bus communications systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant