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

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

Info

Publication number
WO2020197006A1
WO2020197006A1 PCT/KR2019/010874 KR2019010874W WO2020197006A1 WO 2020197006 A1 WO2020197006 A1 WO 2020197006A1 KR 2019010874 W KR2019010874 W KR 2019010874W WO 2020197006 A1 WO2020197006 A1 WO 2020197006A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
cpu
modules
data
communication
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/KR2019/010874
Other languages
English (en)
French (fr)
Inventor
김석연
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LS Electric Co Ltd
Original Assignee
LS Electric Co Ltd
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 LS Electric Co Ltd filed Critical LS Electric Co Ltd
Publication of WO2020197006A1 publication Critical patent/WO2020197006A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/00Program-control systems
    • G05B19/02Program-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 program 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/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program 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/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program 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/00Program-control systems
    • G05B19/02Program-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 program 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/00Program-control systems
    • G05B19/02Program-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 program 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/00Program-control systems
    • G05B19/02Program-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 program 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

Definitions

  • the present invention relates to an effective expansion module interface method of a programmable logic controller (PLC) that manages multiple expansion modules in a serial communication method.
  • PLC programmable logic controller
  • PLC Programmable Logic Controller
  • Extension module communication time is related to system cycle, and system cycle is related to response time, so it is necessary to reduce the extension module communication time.
  • the existing request and response method has a problem in that a delay occurs due to the waiting time for a response when communicating with an expansion module.
  • FIG. 1 is a diagram schematically illustrating a communication connection method of a conventional expansion module communication method.
  • the CPU 10 is a core element of a PLC and processes a program configured by a user.
  • the CPU 10 transmits/receives data necessary for the installed expansion modules 20a, 20b, and 20c.
  • multiple modules 20a, 20b, and 20c can be mounted on the CPU 10, and the data transmitted from the transmission terminal (TxD #0) of the CPU 10 is usually a multi-drop method. As a result, it can be received through the receiving terminal (RxD #0) of all modules 20a, 20b, and 20c.
  • the transmission terminals (TxD #0) of all the modules (20a, 20b, 20c) are connected by the switches (S1) (S2) (S3) controlled by each module (20a, 20b, 20c).
  • the switch (S1) (S2) (S3) ) Is turned on, and data is transmitted to the transmission line through the transmission terminal (TxD #0) of the module 20a, 20b, and 20c.
  • the time for occupying the transmission line on the side of the modules 20a, 20b, and 20c should be mutually exclusive. To this end, when communicating between the CPU 10 and the modules 20a, 20b, and 20c, the CPU 10 must transmit information on which frame to send to the modules 20a, 20b, and 20c. In addition, the modules 20a, 20b, and 20c must turn off the switches S1, S2, and S3 of the transmission line when the frame is not requested from them.
  • the communication between the CPU 10 and the modules 20a, 20b, and 20c must be a request/response manner.
  • the CPU 10 must wait until the response frame of the modules 20a, 20b, and 20c is received each time. Because, when the CPU 10 transmits a request frame to several modules 20a, 20b, and 20c, the transmission line is transmitted to occupy each other by the requested several modules 20a, 20b, and 20c. This is because it will turn on the switches S1, S2, and S3 of the line, and at this time, the transmission line collides and the frame cannot be transmitted to the CPU 10.
  • FIG. 2 is a flow chart showing a communication sequence of the conventional expansion module communication method.
  • the CPU 10 sends a request frame to each of the modules 20a, 20b, and 20c, and the modules 20a, 20b, and 20c that have received the request frame are requested by the CPU 10 Reply to
  • each module (20a) (20b) (20c) directly reflects the output data sent to itself to the output (ex. digital output contact), the output value of each module (20a) (20b) (20c) is large enough to be reflected. There is a parallax.
  • the CPU cannot transmit a frame to another module until a frame is received from the module.
  • the CPU 10 in FIG. 1 transmits a request frame to the first module 20a and transmits the request frame to the second module 20b before receiving a response from the first module 20a
  • the line may be simultaneously occupied by the first module 20a and the second module 20b, so that normal communication cannot be performed.
  • An object of the present invention is to provide an effective expansion module interface method of a programmable logic controller (PLC) that manages multiple expansion modules through a new serial communication method rather than a request/response method.
  • PLC programmable logic controller
  • an object of the present invention is to provide a PLC extension module interface method that significantly reduces the communication time of the extension module, thereby reducing the cycle of the PLC system and finally increasing the response time of the PLC system.
  • an object of the present invention is to limit the need to wait for a response from the requested module when transmitting every frame from the CPU in order to maintain mutual exclusiveness for each module in occupying the transmission line connected to the reception terminal of the CPU from the transmission terminal of each module in the PLC system.
  • the transmission line of each module is to provide a monopolistic expansion module interface method.
  • the PLC extension module interface method using the multi-drop serial communication method includes the steps of inserting output data to be transmitted to all modules from the CPU into one periodic communication frame and transmitting the data to each module; Extracting and reading data required by itself from the output data inserted into the periodic communication frame received from each module; Transmitting a periodic communication frame including first input data from an n-th module mounted at the far end of the expansion modules mounted in the PLC system to an n-1 th module mounted at the immediately front end; Adding its own input data to the periodic communication frame transmitted from the CPU from the module mounted at the rear end of the expansion modules mounted on the PLC system and transmitting it to the module mounted at the front end; And collecting input data of all the expansion modules mounted on the PLC system from the module mounted at the front end of the expansion modules mounted on the PLC system and transmitting the data to the CPU in one periodic communication frame.
  • the periodic communication frame transmitted to the CPU may be transmitted in a period less than 1/2 of the CPU processing period.
  • the module is composed of at least two or more modules connected by a transmission line, and has two serial communication channels, and the first channel (Ch#0) of the serial communication channels uses both a transmission terminal and a reception terminal. , The other second channel (Ch#1) can use only the receiving terminal.
  • the receiving terminal of the first channel (Ch#0) is directly connected to the transmitting terminal (TxD #0) of the CPU, and the frame transmitted from the CPU is transmitted to all modules in a multi-drop method. , It is connected one-to-one to the second channel (Ch#1) receiving terminal (RxD #1) of the module immediately before the transmitting terminal of the first channel (Ch#0), and the first module of the first module connected to the CPU.
  • the channel (Ch#0) transmission terminal (TXD #0) may be connected to the reception terminal (RxD #0) of the CPU.
  • aperiodic communication (Mailbox) data when aperiodic communication (Mailbox) data is generated, adding aperiodic communication data for performing aperiodic communication with at least one second module in the CPU to a periodic communication frame and transmitting the data; Extracting the non-periodic communication data inserted in the periodic communication frame received from the second module to complete processing of the aperiodic communication data; Transmitting a response to the aperiodic communication data request to a periodic communication frame of the input data to be transmitted next after processing of the aperiodic communication data is completed; And receiving one periodic communication frame in which the input data of all the extension modules are collected from the CPU, and receiving and requesting a response of aperiodic communication data transmitted from at least one or more second modules included in the received periodic communication frame. It may further include completing the aperiodic communication for the second module.
  • the PLC extension module interface method using the multi-drop serial communication method uses a common transmission (Tx) line connected to the receiving terminal of the CPU from the transmission terminal of each module in a PLC system that controls several modules by the serial communication method. It is possible to reduce the waiting time of the CPU due to occupancy and release of the transmission line that occurs in the system. Through this, the CPU can dramatically reduce the delay for communication with each module, and ultimately shorten the response time based on the effect of reducing the cycle of the entire system.
  • Tx transmission
  • FIG. 1 is a diagram schematically illustrating a communication connection method of a conventional expansion module communication method.
  • FIG. 2 is a flow chart showing a communication sequence of the conventional expansion module communication method.
  • FIG. 3 is a diagram schematically illustrating a communication connection method of an expansion module communication method according to an embodiment of the present invention.
  • 4 to 6 are flowcharts illustrating a communication sequence of an expansion module communication method according to an embodiment of the present invention.
  • FIG. 3 is a diagram schematically illustrating a communication connection method of an expansion module communication method according to an embodiment of the present invention.
  • the CPU 100 is a core element of a PLC and processes a program configured by a user.
  • the CPU 100 transmits/receives data necessary for the expansion modules 200a, 200b, and 200c mounted on the PLC system.
  • modules 200a, 200b, and 200c can be mounted on the CPU 100, and have two serial communication channels.
  • one first channel (Ch#0) uses both a transmitting terminal (Tx)/receiving terminal (Rx), and the remaining second channel (Ch#1) uses only a receiving terminal (Rx).
  • the receiving terminal (Rx) of the first channel (Ch#0) of all modules (200a) (200b) (200c) is directly connected to the transmitting terminal (TxD #0) of the CPU (100).
  • the periodic communication frame transmitted from the CPU 100 in a drop) method can be received by all the modules 200a, 200b, and 200c.
  • the transmission terminal (TxD #0) of the first channel (Ch#0) of all the modules 200b and 200c except the first module 200a directly connected to the CPU 100 is the second channel ( Ch#1) It is connected to the receiving terminal (RxD #1) one to one.
  • the first channel (Ch#0) transmission terminal (TxD #0) of the first module 200a directly connected to the CPU 100 is connected to the reception terminal (RxD #0) of the CPU (100).
  • each module 200a, 200b, and 200c since each module 200a, 200b, and 200c does not need a sequence for occupying a separate transmission line 300, data can be transmitted to the transmission line 300 at a desired time.
  • the transmission line 300 of the modules 200a, 200b, 200c is configured to be ultimately connected to the CPU 100, so that the CPU 100 is a transmission line of all modules 200a, 200b, 200c ( 300) can be collected.
  • FIG. 4 to 6 are flowcharts illustrating a communication sequence of an expansion module communication method according to an embodiment of the present invention.
  • 4 is a flowchart showing a sequence of periodic communication transmitted from the CPU of the system to each module according to an embodiment of the present invention
  • FIG. 5 is a flowchart of periodic communication transmitted from each module of the system to the CPU according to an embodiment of the present invention. It is a flowchart showing the sequence.
  • 6 is a flowchart showing an operation sequence for aperiodic communication of a system according to an embodiment of the present invention. At this time, it is divided into periodic communication, which periodically exchanges the latest data, and non-periodic communication, which is performed only when there is a special issue such as parameter setting.
  • the CPU 100 transmits output data (OUT_1) to the first channel (Ch#0) receiving terminal (Rx) of all modules 200a, 200b, and 200c through the transmission terminal (TxD #0) of the CPU 100. +OUT_2+j+OUT_n) is transmitted. At this time, the CPU 100 inserts output data to be transmitted to all the modules 200a, 200b, and 200c in one periodic communication frame.
  • Each of the modules 200a, 200b, and 200c extracts and reads only the necessary part from the received periodic communication frame. For example, if the CPU 100 transmits the output data (OUT_1+OUT_2+J+OUT_n) of each module 200a, 200b, 200c, output for each module 200a, 200b, 200c
  • the time difference in which the data (OUT_1+OUT_2+J+OUT_n) is reflected exists only in the time difference in which the periodic communication frame is transmitted, and this is limited to within a very short time.
  • the n-th module 200c mounted at the end starts to transmit the first input data IN_n to the CPU 100.
  • the first input data IN_n is not transferred to the CPU 100 immediately, but is transferred to the n-1th module mounted in the immediately front end of the nth module 200c. That is, the first input data IN_n is transmitted through the first channel transmission terminal TxD #0 of the nth module 200c, and the second channel reception terminal RxD of the n-1th module (not shown) that is the immediately preceding module. It is delivered to #1).
  • the n-1th module adds its own second input data to the periodic communication frame transmitted from the nth module 200c and transmits it back to the n-2th module mounted at the front end.
  • the n-1th module transmits second input data for transmission to the CPU 100 to a periodic communication frame including the first input data IN_n transmitted from the nth module 200c mounted at the rear end. Collect.
  • the n-1th module transmits the periodic communication frame in which the first input data and the second input data are collected to the n-2th module installed at the immediately front end.
  • the first module 200a connected to the CPU 100 transmits one periodic communication frame in which the input data (IN_1+IN_2+IN_3+J+IN_n) of all the modules 200a, 200b, and 200c are collected. 100).
  • the first module 200a directly connected to the CPU 100 receives a periodic communication frame in which each input data (IN_2 + IN_3 + ⁇ + IN_n) of all modules 200b and 200c mounted at the rear end is collected. Is done.
  • the first module 200a transmits to the CPU 100 one periodic communication frame obtained by collecting input data IN_1 for transmission to the CPU 100 in the received periodic communication frame.
  • the CPU 100 does not wait for the reception of input data (IN_1+IN_2+IN_3+J+IN_n) from all modules 200a, 200b, and 200c, and receives the most recently input data. use.
  • the periodic communication frame in which the input data (IN_1+IN_2+IN_3+J+IN_n) of all the modules 200a, 200b, and 200c are collected can be updated at least once within one cycle of the CPU 100. (100) It may be transmitted in a cycle of less than 1/2 of the processing cycle.
  • aperiodic communication refers to communication performed when there is a special issue such as parameter setting.
  • aperiodic communication (Mailbox) data when aperiodic communication (Mailbox) data occurs, the CPU 100 transmits aperiodic communication data (M_1) for aperiodic communication with a specific module to the periodic communication frame of input data (OUT_1+OUT_2+J+OUT_n).
  • M_1 aperiodic communication data
  • Add and send. 6 is an assumption that aperiodic communication data is transmitted to the second module 200b.
  • the n-th module 200c mounted at the end of the expansion modules 200a, 200b, and 200c mounted in the PLC system starts transmitting the first input data IN_n to the CPU 100.
  • the first input data IN_n is not transferred to the CPU 100 immediately, but is transferred to the n-1th module mounted in the immediately front end of the nth module 200c. That is, the first input data IN_n is transmitted through the first channel transmission terminal TxD #0 of the nth module 200c, and the second channel reception terminal RxD of the n-1th module (not shown) that is the immediately preceding module. It is delivered to #1).
  • the n-1th module adds its own second input data to the periodic communication frame transmitted from the nth module 200c and transmits it back to the n-2th module mounted at the front end.
  • the n-1th module transmits second input data for transmission to the CPU 100 to a periodic communication frame including the first input data IN_n transmitted from the nth module 200c mounted at the rear end. Collect.
  • the n-1th module transmits the periodic communication frame in which the first input data and the second input data are collected to the n-2th module installed at the immediately front end.
  • the second module 200b completes processing of the received aperiodic communication data M_1.
  • the second module 200b transmits a response A_1 to the aperiodic communication data request to the periodic communication frame of input data OUT_2 + OUT_3 + J + OUT_n to be transmitted next after processing is completed.
  • the second module 200b adds the corresponding data to the periodic communication frame, and if a request for write, a response indicating that the writing has been normally completed is sent to the periodic communication frame. Add.
  • the CPU 100 When the CPU 100 receives the response A_1 of the aperiodic communication data transmitted from the second module 200b, the CPU 100 completes the aperiodic communication with the requested second module 200b.
  • the CPU 100 can transmit request data for two or more aperiodic communication data in one periodic communication frame, so that aperiodic communication can be effectively performed. .
  • each of the modules 200a, 200b, and 200c does not directly transmit the input data to the CPU 100, but transmits the input data to the module installed in front of it, so that the input data is collected and transmitted in one periodic communication frame .
  • the first module 200a connected to the CPU 100 transmits one periodic communication frame in which the input data of all the modules 200b and 200c is collected to the CPU 100.
  • response data for aperiodic communication data transmitted from two or more modules may be transmitted to the CPU 100 in one periodic communication frame.
  • the CPU 100 provides a new periodic communication frame before a response from the request for the transmitted aperiodic communication data comes. Can be created and transmitted. Therefore, there is no time for the CPU 100 to wait for a response to the aperiodic communication data from the modules 200a, 200b, and 200c.
  • All methods and procedures disclosed herein may be implemented at least partially using one or more computer programs or components. These components include a series of computer instructions on any conventional computer-readable medium or machine-readable medium, including volatile and non-volatile memory such as RAM, ROM, flash memory, magnetic or optical disks, optical memory or other storage devices. Can be provided as. Instructions can be provided as software or firmware, and can be implemented in whole or in part on a hardware component such as an ASIC, FPGA, DSP or other similar device. The instructions may be configured to be executed by one or more processors or other hardware components that perform or facilitate the performance of all or part of the disclosed methods and procedures when executing a series of computer instructions.
  • volatile and non-volatile memory such as RAM, ROM, flash memory, magnetic or optical disks, optical memory or other storage devices.
  • Instructions can be provided as software or firmware, and can be implemented in whole or in part on a hardware component such as an ASIC, FPGA, DSP or other similar device.
  • the instructions may be configured to be executed by one or more

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 증설 모듈 인터페이스 방법은 직렬 통신 방식으로 여러 모듈을 제어하는 PLC 시스템에서 각 모듈의 송신단자에서 CPU의 수신단자에 연결된 송신(Tx) 라인을 공통으로 사용함에 있어서 발생하는 송신 라인 점유 및 해제에 따르는 CPU의 대기시간을 줄일 수 있다. 이를 통해, CPU는 각 모듈과 통신을 위한 지연(delay)을 획기적을 줄일 수 있으며, 전체 시스템의 주기를 줄이는 효과를 토대로 궁극적으로 응답시간을 단축할 수 있다.

Description

멀티 드롭 직렬통신 방식을 이용한 PLC 증설 모듈 인터페이스 방법
본 발명은 직렬통신 방식으로 여러 증설 모듈을 관리하는 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)의 수신단자(RxD #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 증설 모듈 인터페이스 방법은 CPU에서 모든 모듈에 전송할 출력 데이터를 1개의 주기통신 프레임에 삽입하여 각 모듈로 전송하는 단계; 각 모듈에서 수신된 주기통신 프레임에 삽입된 출력 데이터 중 자신이 필요한 데이터를 발췌하여 읽는 단계; PLC 시스템에 장착된 증설 모듈들 중 맨 끝에 장착된 제n 모듈에서 바로 앞 단에 장착된 제n-1 모듈로 제1 입력 데이터를 포함하는 주기통신 프레임을 전송하는 단계; PLC 시스템에 장착된 증설모듈 중 맨 뒤 단에 장착된 모듈로부터 상기 CPU에서 전송된 상기 주기통신 프레임에 자신의 입력 데이터를 추가하여 앞 단에 장착된 모듈로 전송하는 단계; 및 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)에서 수신할 수 있다.
그리고 CPU(100)에 바로 연결된 제1 모듈(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) 또는 CPU(100)의 수신단자(RxD #0)에 연결된 송신 라인(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)가 모듈(200a)(200b)(200c)로부터의 비 주기 통신 데이터에 대한 응답을 대기하는 시간 또한 없다.
본 명세서에 개시된 모든 방법 및 절차들은 하나 이상의 컴퓨터 프로그램 또는 컴포넌트를 사용하여 적어도 부분적으로 구현될 수 있다. 이들 구성요소는 RAM, ROM, 플래시 메모리, 자기 또는 광 디스크, 광 메모리 또는 다른 저장 장치와 같은 휘발성 및 비 휘발성 메모리를 포함하는 임의의 종래의 컴퓨터 판독 가능 매체 또는 머신 판독 가능 매체상의 일련의 컴퓨터 명령으로서 제공 될 수 있다. 명령어는 소프트웨어 또는 펌웨어로서 제공 될 수 있고, ASIC, FPGA, DSP 또는 다른 유사한 장치와 같은 하드웨어 구성 요소에 전체적으로 또는 부분적으로 구현 될 수 있다. 명령어는 일련의 컴퓨터 명령어를 실행할 때 개시된 방법 및 절차의 전부 또는 일부의 성능을 수행하거나 용이하게 하는 하나 이상의 프로세서 또는 다른 하드웨어 구성 요소에 의해 실행되도록 구성 될 수 있다.
이상과 같이 본 발명에 대해서 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시 예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상의 범위 내에서 통상의 기술자에 의해 다양한 변형이 이루어질 수 있음은 자명하다. 아울러 앞서 본 발명의 실시 예를 설명하면서 본 발명의 구성에 따른 작용 효과를 명시적으로 기재하여 설명하지 않았을 지라도, 해당 구성에 의해 예측 가능한 효과 또한 인정되어야 함은 당연하다.

Claims (5)

  1. CPU에서 모든 모듈에 전송할 출력 데이터를 1개의 주기통신 프레임에 삽입하여 각 모듈로 전송하는 단계;
    각 모듈에서 수신된 주기통신 프레임에 삽입된 출력 데이터 중 자신이 필요한 데이터를 발췌하여 읽는 단계;
    PLC 시스템에 장착된 증설 모듈들 중 맨 끝에 장착된 제n 모듈에서 바로 앞 단에 장착된 제n-1 모듈로 제1 입력 데이터를 포함하는 주기통신 프레임을 전송하는 단계;
    PLC 시스템에 장착된 증설모듈 중 맨 뒤 단에 장착된 모듈로부터 상기 CPU에서 전송된 상기 주기통신 프레임에 자신의 입력 데이터를 추가하여 앞 단에 장착된 모듈로 전송하는 단계; 및
    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 증설 모듈 인터페이스 방법.
PCT/KR2019/010874 2019-03-27 2019-08-27 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법 Ceased WO2020197006A1 (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2020197006A1 true WO2020197006A1 (ko) 2020-10-01

Family

ID=72608933

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7572866B2 (ja) * 2021-01-26 2024-10-24 ニデックインスツルメンツ株式会社 情報処理装置及び産業用ロボット

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282312A (ja) * 2000-03-28 2001-10-12 Fuji Electric Co Ltd Plc用表示システムおよびplcと表示器とのデータ通信方法
JP2004157631A (ja) * 2002-11-05 2004-06-03 Yaskawa Electric Corp I/o伝送マスタ装置
KR20060003139A (ko) * 2004-07-05 2006-01-10 엘에스산전 주식회사 트리거 신호와 시리얼 통신을 이용한 plc 시스템의증설 모듈 제어 방법
KR20100001758A (ko) * 2008-06-27 2010-01-06 엘에스산전 주식회사 Plc에서 증설모듈의 통신장치 및 방법
US20170111556A1 (en) * 2015-10-16 2017-04-20 Hyundai Infracore, Inc. Optically connectable closed-circuit television camera apparatus using passive optical devices and closed-circuit television system

Family Cites Families (1)

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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282312A (ja) * 2000-03-28 2001-10-12 Fuji Electric Co Ltd Plc用表示システムおよびplcと表示器とのデータ通信方法
JP2004157631A (ja) * 2002-11-05 2004-06-03 Yaskawa Electric Corp I/o伝送マスタ装置
KR20060003139A (ko) * 2004-07-05 2006-01-10 엘에스산전 주식회사 트리거 신호와 시리얼 통신을 이용한 plc 시스템의증설 모듈 제어 방법
KR20100001758A (ko) * 2008-06-27 2010-01-06 엘에스산전 주식회사 Plc에서 증설모듈의 통신장치 및 방법
US20170111556A1 (en) * 2015-10-16 2017-04-20 Hyundai Infracore, Inc. Optically connectable closed-circuit television camera apparatus using passive optical devices and closed-circuit television system

Also Published As

Publication number Publication date
KR20200113958A (ko) 2020-10-07
KR102251494B1 (ko) 2021-05-12

Similar Documents

Publication Publication Date Title
JPH02156750A (ja) 多重アクセス制御方法および該方法を実施する多重アクセス制御システム
EP0653896A2 (en) Information processing apparatus for multiplex transmission of signals for arbitration and signals for data transfer
JPH10503041A (ja) バス結合遅延時の調停方式
CN102664918B (zh) 刀片服务器控制方法及控制台
JPS6365177B2 (ko)
EP0653863B1 (en) Arbitration apparatus and method for controlling the access to a network
JPH11212939A (ja) 共通バスによって相互接続されたプロセッサを有するデータプロセッサユニット間でデータを交換するためのシステム
WO2020197006A1 (ko) 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법
WO2021090987A1 (ko) 효율적인 통신 버스 중재 시스템 및 방법
US5404137A (en) High speed transition signalling communication system
US4993023A (en) Apparatus for providing multiple controller interfaces to a standard digital modem and including multiplexed contention resolution
US5420853A (en) Self controlling crossbar switch and method
RU175049U9 (ru) УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire
WO2013085121A1 (ko) 다수의 버스를 이용하는 논리연산 제어장치
CN110661689B (zh) 主站与从站的通讯装置及方法
KR100331865B1 (ko) 다수의 보드간 데이터 송수신 방법
JP4123022B2 (ja) 動作同期回路
WO2023128479A1 (ko) 메모리 제어 시스템 및 메모리 제어 기능을 갖는 디스플레이 디바이스
WO2025080068A1 (ko) 네트워크 온 칩에서 수행되는 통신 방법
JPH07319823A (ja) プロセッサ間通信方式
SU1242974A1 (ru) Устройство дл сопр жени электронно-вычислительной машины с общей магистралью вычислительной системы
SU1474661A1 (ru) Многоканальное устройство сопр жени вычислительных машин
KR19980083753A (ko) 마스터-슬레이브간의 멀티플렉싱 프로토콜
JPH05136797A (ja) 多重リングlan及び多重リングlanのデータ伝送方法
JP2000244572A (ja) パケット多重化装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19922182

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19922182

Country of ref document: EP

Kind code of ref document: A1