KR101275640B1 - Programmable logic controller using multiple buses - Google Patents

Programmable logic controller using multiple buses Download PDF

Info

Publication number
KR101275640B1
KR101275640B1 KR1020110131343A KR20110131343A KR101275640B1 KR 101275640 B1 KR101275640 B1 KR 101275640B1 KR 1020110131343 A KR1020110131343 A KR 1020110131343A KR 20110131343 A KR20110131343 A KR 20110131343A KR 101275640 B1 KR101275640 B1 KR 101275640B1
Authority
KR
South Korea
Prior art keywords
bus
controller
module
event
main
Prior art date
Application number
KR1020110131343A
Other languages
Korean (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 KR1020110131343A priority Critical patent/KR101275640B1/en
Priority to PCT/KR2012/003163 priority patent/WO2013085121A1/en
Application granted granted Critical
Publication of KR101275640B1 publication Critical patent/KR101275640B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

PURPOSE: A logical operation control device using a plurality of buses is provided to supply high performance bus technology by including a first bus controlled by a main control unit and a second bus controlled by an I/O module. CONSTITUTION: A main control unit(110) performs a logical operation and I/O modules(120,130,140) input and output data. A first bus(150) is a communication path for the main control unit and the I/O module and is controlled by the main control unit. A second bus(160) is a communication path for the main control unit and the I/O module and is controlled by the I/O module. The I/O module determines communication with the main control unit through the second bus by using a token including priority information. [Reference numerals] (110) Main control unit; (115) Main bus control; (120) First I/O module; (125) First I/O bus controller; (130) Second I/O module; (135) Second I/O bus controller; (140) Third I/O module; (145) Third I/O bus controller; (150) Data bus; (160) Event bus

Description

다수의 버스를 이용하는 논리연산 제어장치{Programmable logic controller using multiple buses}Programmable logic controller using multiple buses

본 발명은 논리연산 제어장치에 관한 것으로, 더욱 상세하게는, 다수의 버스를 이용하는 논리연산 제어장치에 관한 것이다.
The present invention relates to a logic operation control device, and more particularly, to a logic operation control device using a plurality of buses.

논리연산제어장치의 구성을 위한 입출력시스템버스는 일반적으로 백플레인(Backplane) 버스 구조가 사용된다. 백플레인 버스의 구현을 위하여 검증된 시스템 버스 표준인 VME64, CPCL, VXI 등을 사용할 수 있다. 하지만, 표준버스는 다양한 시스템의 호환성을 위하여 복잡한 구조를 가지고 있으며, 논리연산 제어장치라는 특정 분야에 최적화 되어있지 않다. The input / output system bus for constructing the logic operation control device generally uses a backplane bus structure. For the implementation of the backplane bus, the proven system bus standards VME64, CPCL and VXI can be used. However, the standard bus has a complicated structure for compatibility with various systems, and is not optimized for a specific field of logic operation controller.

논리연사 제어장치의 시스템 버스를 구현하기 위하여 VME64와 같은 표준을 사용하는 경우도 있지만, 앞에서 언급한 문제점 때문에 산업계에서는 대부분은 논리연산 제어장치에 특화된 버스를 직접 설계하여 사용하는 것이 보편적이다. 업체에서 직접 설계된 버스구조는 외부에 공개하지 않음으로, 각 업체의 버스 성능을 객관적으로 평가하기 힘들뿐만 아니라, 새로운 논리연산 제어장치를 개발할 때, 기술을 참조하거나, 사용하는데 어려움이 많다. Although a standard such as VME64 may be used to implement a system bus of a logic continuous controller, it is common in the industry to design and use a bus specialized for a logical operation controller. Since the bus structure designed by the company is not disclosed to the outside, it is difficult to objectively evaluate the bus performance of each company, and it is difficult to refer to or use the technology when developing a new logic operation control device.

독자적인 논리연산제어장치를 개발하고자 할 경우에는 직접 버스구조를 설계하고 동작에 대한 안정성을 검증해야 하기 때문에, 개발기간이나 신뢰성 측면에서 어려움이 발생한다. If you want to develop your own logic operation control device, you have to design your own bus structure and verify the stability of the operation.

이에 따라, 논리연산 제어장치에 특화된 고성능의 버스 기술을 개발하기 위한 방안의 모색이 요청된다.
Accordingly, there is a demand for a method for developing a high-performance bus technology specialized for a logic operation control device.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 메인 제어부 및 적어도 하나의 I/O 모듈의 통신 경로가 되고 메인 제어부에 의해 통신이 제어되는 제1 버스 및 메인 제어부 및 적어도 하나의 I/O 모듈의 통신 경로가 되고 적어도 하나의 I/O 모듈에 의해 제어되는 제2 버스를 포함하는 논리연산 제어장치를 제공함에 있다.
The present invention has been made to solve the above problems, an object of the present invention, the first bus and the main control unit which is the communication path of the main control unit and at least one I / O module and the communication is controlled by the main control unit And a second bus which is a communication path of at least one I / O module and is controlled by the at least one I / O module.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 논리연산 제어장치는, 논리 연산을 수행하는 메인 제어부; 데이터를 입출력하는 적어도 하나의 I/O 모듈; 상기 메인 제어부 및 상기 적어도 하나의 I/O 모듈의 통신 경로가 되고, 상기 메인 제어부에 의해 통신이 제어되는 제1 버스; 상기 메인 제어부 및 상기 적어도 하나의 I/O 모듈의 통신 경로가 되고, 상기 적어도 하나의 I/O 모듈에 의해 제어되는 제2 버스;를 포함한다 .According to an embodiment of the present invention for achieving the above object, a logic operation control apparatus, the main control unit for performing a logic operation; At least one I / O module for inputting and outputting data; A first bus that is a communication path between the main control unit and the at least one I / O module and in which communication is controlled by the main control unit; And a second bus that is a communication path between the main control unit and the at least one I / O module and is controlled by the at least one I / O module.

그리고, 상기 적어도 하나의 I/O 모듈 각각을 상기 제1 버스 및 상기 제2 버스와 연결하고, 상기 적어도 하나의 I/O 모듈 각각과 상기 제1 버스 간의 통신 및 상기 적어도 하나의 I/O 모듈 각각과 상기 제2 버스 간의 통신을 제어하는 적어도 하나의 I/O 버스 컨트롤러;를 더 포함할 수도 있다. And connect each of the at least one I / O module with the first bus and the second bus, communicate between each of the at least one I / O module and the first bus and the at least one I / O module. At least one I / O bus controller for controlling the communication between each and the second bus; may further include.

또한, 상기 I/O 버스 컨트롤러 각각은, 데이터를 상기 I/O 모듈의 프로토콜에 맞게 변형하여 송수신하는 입출력 인터페이스부; 상기 제1버스 또는 상기 제2버스를 통해 송수신되는 데이터를 인코딩 및 디코딩하는 버스 제어부; 상기 I/O 모듈에 이벤트가 발생된 경우, 입출력 이벤트를 생성하는 이벤트 생성부; 및 상기 버스 제어부 및 상기 이벤트 생성부에서 송수신되는 데이터를 버스 프로토콜에 맞게 변형하여 송수신하는 버스 인터페이스부;를 포함한다. The I / O bus controller may further include an input / output interface unit configured to transmit / receive data by modifying it according to a protocol of the I / O module; A bus controller which encodes and decodes data transmitted and received through the first bus or the second bus; An event generator configured to generate an input / output event when an event occurs in the I / O module; And a bus interface unit configured to transmit and receive data transmitted and received by the bus controller and the event generator in accordance with a bus protocol.

그리고, 상기 이벤트 생성부는, 상기 제2 버스를 통해 상기 생성된 입출력 이벤트를 상기 메인 버스 제어부로 전송할 수도 있다. The event generator may transmit the generated input / output event to the main bus controller through the second bus.

또한, 상기 메인 제어부를 상기 제1 버스 및 상기 제2 버스와 연결하고, 상기 메인 제어부와 상기 제1 버스 간의 통신 및 상기 메인 제어부와 상기 제2 버스 간의 통신을 제어하는 메인 버스 컨트롤러;를 더 포함할 수도 있다. The apparatus may further include a main bus controller connecting the main control unit with the first bus and the second bus and controlling communication between the main control unit and the first bus and communication between the main control unit and the second bus. You may.

그리고, 상기 메인 버스 컨트롤러는, 데이터를 상기 메인 제어부의 프로토콜에 맞게 변형하여 송수신하는 메인 인터페이스부; 상기 제1 버스 또는 상기 제2 버스를 통해 송수신되는 데이터를 인코딩 및 디코딩하는 버스 제어부; 상기 I/O 버스 컨트롤러로부터 수신된 입출력 이벤트를 우선순위에 따라 정렬하여 상기 메인 제어부로 전송하는 이벤트 핸들러; 및 상기 버스 제어부 및 상기 입출력 이벤트 핸들러에서 송수신되는 데이터를 버스 프로토콜에 맞게 변형하여 송수신하는 버스 인터페이스부;를 포함할 수도 있다. The main bus controller may include: a main interface unit configured to transmit and receive data by modifying the data according to a protocol of the main controller; A bus controller which encodes and decodes data transmitted and received through the first bus or the second bus; An event handler for sorting the input / output events received from the I / O bus controller according to priority and transmitting them to the main controller; And a bus interface unit configured to transmit and receive data transmitted and received by the bus control unit and the input / output event handler according to a bus protocol.

또한, 상기 입출력 이벤트 핸들러는, 상기 제2 버스를 통해 상기 I/O 버스 제어부로부터 상기 입출력 이벤트를 수신할 수도 있다. The input / output event handler may receive the input / output event from the I / O bus controller via the second bus.

그리고, 상기 적어도 하나의 I/O 모듈는, 우선순위 정보가 포함된 토큰(Token)을 이용하여 상기 제2 버스를 통한 상기 메인 제어부와의 통신 여부를 결정할 수도 있다.
The at least one I / O module may determine whether to communicate with the main controller through the second bus by using a token including priority information.

본 발명의 다양한 실시예에 따르면, 메인 제어부 및 적어도 하나의 I/O 모듈의 통신 경로가 되고 메인 제어부에 의해 통신이 제어되는 제1 버스 및 메인 제어부 및 적어도 하나의 I/O 모듈의 통신 경로가 되고 적어도 하나의 I/O 모듈에 의해 제어되는 제2 버스를 포함하는 논리연산 제어장치를 제공할 수 있게 되어, 논리연산 제어장치에 특화된 고성능의 버스 기술을 제공할 수 있게 된다.
According to various embodiments of the present disclosure, a communication path between a first bus and a main control unit and at least one I / O module, which is a communication path between a main control unit and at least one I / O module and whose communication is controlled by the main control unit, It is possible to provide a logic operation controller including a second bus which is controlled by at least one I / O module, thereby providing a high performance bus technology specialized for the logic operation controller.

도 1은 본 발명의 일 실시예에 따른, 논리연산 제어장치의 구성을 도시한 블럭도,
도 2는 본 발명의 일 실시예에 따른, 메인 버스 컨트롤러 및 I/O 버스 컨트롤러의 구성을 도시한 도면,
도 3은 본 발명의 일 실시예에 따른, 이벤트 버스의 통신 방식을 도시한 도면이다.
1 is a block diagram showing the configuration of a logical operation control apparatus according to an embodiment of the present invention;
2 is a diagram illustrating a configuration of a main bus controller and an I / O bus controller according to an embodiment of the present invention;
3 is a diagram illustrating a communication method of an event bus according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. Hereinafter, with reference to the drawings will be described the present invention in more detail.

도 1은 본 발명의 일 실시예에 따른, 논리연산 제어장치(100)의 구성을 도시한 블럭도이다. 도 1에 도시된 바와 같이, 논리연산 제어장치(100)는 메인 제어부(110), 메인 버스 컨트롤러(115), 제1 I/O 모듈(120), 제1 I/O 버스 컨트롤러(125), 제2 I/O 모듈(130), 제2 I/O 버스 컨트롤러(135), 제3 I/O 모듈(140), 제3 I/O 버스 컨트롤러(145), 데이터 버스(150) 및 이벤트 버스(160)를 포함한다. 1 is a block diagram showing the configuration of a logic operation control apparatus 100 according to an embodiment of the present invention. As shown in FIG. 1, the logic operation controller 100 may include a main controller 110, a main bus controller 115, a first I / O module 120, a first I / O bus controller 125, Second I / O module 130, second I / O bus controller 135, third I / O module 140, third I / O bus controller 145, data bus 150, and event bus 160.

메인 제어부(110)는 논리 연산을 수행한다. 또한, 제어부(110)는 논리연산 제어장치(100)의 전반적인 동작을 제어하며, 입력된 이벤트를 우선순위별로 처리한다. The main controller 110 performs a logical operation. In addition, the controller 110 controls the overall operation of the logic operation control device 100 and processes the input event by priority.

메인 버스 컨트롤러(115)는 메인 제어부(110)를 데이터 버스(150) 및 이벤트 버스(160)와 연결하고, 메인 제어부(110)와 데이터 버스(150) 간의 통신 및 메인 제어부(110)와 이벤트 버스(160) 간의 통신을 제어한다. 구체적으로, 메인 버스 컨트롤러(115)는 메인 제어부(110)가 데이터 버스(150)를 통해 I/O 모듈들(120, 130, 140)로 명령 패킷 및 데이터 요청 패킷을 전송하도록 제어한다. 그리고, 메인 버스 컨트롤러(115)는 메인 제어부(110)가 이벤트 버스(160)를 통해 I/O 모듈들(120, 130, 140)로부터 입출력 이벤트를 수신하도록 제어한다. The main bus controller 115 connects the main controller 110 with the data bus 150 and the event bus 160, communicates between the main controller 110 and the data bus 150, and communicates with the main controller 110 and the event bus. Control communication between the 160. In detail, the main bus controller 115 controls the main controller 110 to transmit a command packet and a data request packet to the I / O modules 120, 130, and 140 through the data bus 150. The main bus controller 115 controls the main controller 110 to receive input / output events from the I / O modules 120, 130, and 140 through the event bus 160.

제1 I/O 모듈(120), 제2 I/O 모듈(130), 및 제3 I/O 모듈(140)는 각각 연결된 외부 장치들과 데이터를 입출력한다. The first I / O module 120, the second I / O module 130, and the third I / O module 140 respectively input and output data to and from connected external devices.

제1 I/O 버스 컨트롤러(125), 제2 I/O 버스 컨트롤러(135) 및 제3 I/O 버스 컨트롤러(145)는 I/O 모듈 각각(120,130,140)을 데이터 버스(150) 및 이벤트 버스(160)와 연결하고, I/O 모듈 각각(120,130,140)과 데이터 버스(150) 간의 통신 및 I/O 모듈 각각(120,130,140)과 이벤트 버스(160) 간의 통신을 제어한다. 구체적으로, 제1 I/O 버스 컨트롤러(125), 제2 I/O 버스 컨트롤러(135) 및 제3 I/O 버스 컨트롤러(145)는 I/O 모듈 각각(120,130,140)이 데이터 버스(150)를 통해 메인 제어부(110)로부터 명령 패킷 및 데이터 요청 패킷을 수신하도록 제어한다. 그리고, 제1 I/O 버스 컨트롤러(125), 제2 I/O 버스 컨트롤러(135) 및 제3 I/O 버스 컨트롤러(145)는 이벤트 버스(160)를 통해 I/O 모듈들(120, 130, 140)이 메인 제어부(110)로 입출력 이벤트를 전송하도록 제어한다. The first I / O bus controller 125, the second I / O bus controller 135, and the third I / O bus controller 145 connect the I / O modules 120, 130, and 140 to the data bus 150 and the event bus, respectively. And control the communication between the I / O modules 120, 130, 140 and the data bus 150, and the communication between the I / O modules 120, 130, 140 and the event bus 160, respectively. In detail, the first I / O bus controller 125, the second I / O bus controller 135, and the third I / O bus controller 145 may include the I / O modules 120, 130, and 140, respectively. Control to receive the command packet and the data request packet from the main control unit 110 through. In addition, the first I / O bus controller 125, the second I / O bus controller 135, and the third I / O bus controller 145 are connected to the I / O modules 120, via the event bus 160. 130 and 140 control the main controller 110 to transmit an input / output event.

데이터 버스(150)는 메인 제어부(110) 및 I/O 모듈 각각(120,130,140)의 통신 경로가 되고, 메인 제어부(110)에 의해 통신이 제어된다. 데이터 버스(150)는 메인 제어부(110) 및 I/O 모듈 각각(120,130,140)이 연결된다.The data bus 150 becomes a communication path between the main controller 110 and the I / O modules 120, 130, and 140, respectively, and communication is controlled by the main controller 110. The data bus 150 is connected to the main controller 110 and the I / O modules 120, 130, and 140, respectively.

구체적으로, 데이터 버스(150)는 통신 방식이 동기식 방식이며, 마스터/슬레이브 구조로 되어있다. 이때, 논리연산 제어장치(100)의 메인 제어부(110)가 네트워크의 마스터가 되며, 그 외의 I/O 모듈들(120,130,140)이 슬레이브가 된다. 동기신호는 마스터에 의하여 생성되며, 동기신호를 제외한 다른 버스 컨트롤 신호는 존재하지 않는다. 데이터 버스(150)는 메인 제어부(110) 및 I/O 모듈들(120,130,140)을 포함하는 모든 모듈이 24비트 병렬 버스를 공유하여 사용하지만, 마스터만이 통신을 시작하기 때문에 특별한 충돌방지 메커니즘은 필요하지 않다. 슬레이브는 항상 마스터로부터 송신된 패킷을 대기한다. 마스터인 메인 제어부(110)로부터 전송되는 패킷은 크게 두 가지가 있는데, 명령 패킷과 데이터 요청 패킷이다. 명령 패킷은 마스터가 슬레이브에게 컨트롤 명령을 보내는 것으로 리셋명령, 채널 설정명령, 입출력 채널의 신호 출력 등이 있다. 데이터 요청 패킷은 마스터가 슬레이브의 현재 레지스터 상태 및 입출력 채널의 수신신호를 읽기위한 데이터 요청 패킷이다. 데이터 버스(150)에서는 어떠한 상황에서도 슬레이브가 능동적으로 데이터 버스를 점령할 수 없으며, 필요에 따라 마스터는 슬레이브에서 전송하고자 하는 데이터가 있는지 주기적으로 폴링(Polling)한다. 이와 같이, 데이터 버스(150)는 메인 제어부(110)에 의해 제어되는 것을 확인할 수 있다. Specifically, the data bus 150 is a synchronous method and has a master / slave structure. At this time, the main control unit 110 of the logical operation control device 100 becomes a master of the network, the other I / O modules 120, 130, 140 becomes a slave. The synchronization signal is generated by the master, and no bus control signals exist except for the synchronization signal. The data bus 150 uses a 24-bit parallel bus shared by all modules including the main control unit 110 and the I / O modules 120, 130, and 140, but a special collision avoidance mechanism is required because only the master initiates communication. Not. The slave always waits for packets sent from the master. There are two main types of packets transmitted from the main controller 110, which is a master, that is, a command packet and a data request packet. The command packet is a control command sent from the master to the slave, such as a reset command, a channel setting command, or an output signal of an input / output channel. The data request packet is a data request packet for the master to read the current register state of the slave and the received signal of the input / output channel. In the data bus 150, the slave may not actively occupy the data bus under any circumstances, and the master periodically polls whether there is data to be transmitted from the slave as necessary. As such, it may be confirmed that the data bus 150 is controlled by the main controller 110.

이벤트 버스(160)는 메인 제어부(110) 및 I/O 모듈들(120,130,140)의 통신 경로가 되고, I/O 모듈들(120,130,140)에 의해 제어된다. 이벤트 버스(160)는 메인 제어부(110) 및 I/O 모듈 각각(120,130,140)이 연결된다. 이벤트 버스(160)는 발생된 입출력 이벤트의 우선순위에 따라 I/O 모듈들(120,130,140) 중 버스를 점유하는 I/O 모듈가 결정된다. 따라서, 이벤트 버스(160)는 일정 주기마다 I/O 모듈들(120,130,140) 중 어느 하나가 점유하게 된다. The event bus 160 becomes a communication path between the main controller 110 and the I / O modules 120, 130, and 140, and is controlled by the I / O modules 120, 130, and 140. The event bus 160 is connected to the main controller 110 and the I / O modules 120, 130, and 140, respectively. The event bus 160 determines an I / O module occupying a bus among the I / O modules 120, 130, and 140 according to the priority of the generated input / output event. Accordingly, the event bus 160 is occupied by one of the I / O modules 120, 130, and 140 at regular intervals.

구체적으로, 이벤트 버스(160)는 데이터 버스(150)와 마찬가지로 동기식 24비트 병렬버스이며 마스터/슬레이브 구조로 되어있다. 이때, 논리연산 제어장치(100)의 메인 제어부(110)가 네트워크의 마스터가 되며, 그 외의 I/O 모듈들(120,130,140)이 슬레이브가 된다. 동기신호는 마스터에 의하여 발생된다. 이벤트 버스(160)는 슬레이브가 능동적으로 버스를 점유할 수 있다. 즉, 이벤트 버스(160)는 슬레이브인 I/O 모듈들(120,130,140)이 점유할 수 있다. 다수의 슬레이브인 I/O 모듈들(120,130,140)이 동시에 이벤트 버스(160)에 연결되어 있기 때문에, 슬레이브가 동시에 버스를 점유하게 되면 데이터의 충돌이 발생할 수 있다. 이러한 문제점을 해결하기 위하여 이벤트 버스(160)의 통신에는 토큰(Token)방식이 이용된다. 토큰은 입출력 이벤트의 우선순위 정보가 포함되어 있다. 그리고, 슬레이브인 I/O 모듈들(120,130,140)은 우선순위 정보가 포함된 토큰(Token)을 이용하여 이벤트 버스(160)를 통한 메인 제어부(110)와의 통신 여부를 결정하게 된다. 토큰은 데이지 체인 버스를 통하여 전달된다. 여기에서, 데이지 체인 버스는 토큰을 전달하기 위한 이벤트 버스(160) 내의 논리적 버스이다. 데이지 체인 버스는 메인 제어부(110) → 제1 I/O 모듈(120) → 제2 I/O 모듈(130) → 제3 I/O 모듈(140) →메인 제어부(110)의 순서로 순환 형태로 토큰을 전송하는 경로이다. 슬레이브는 이벤트 버스(160)를 사용하기 위해서 데이지 체인을 통하여 들어오는 토큰을 항상 모니터링 하여야 한다.Specifically, the event bus 160, like the data bus 150, is a synchronous 24-bit parallel bus and has a master / slave structure. At this time, the main control unit 110 of the logical operation control device 100 becomes a master of the network, the other I / O modules 120, 130, 140 becomes a slave. The synchronization signal is generated by the master. The event bus 160 may have a slave actively occupying the bus. That is, the event bus 160 may be occupied by the I / O modules 120, 130, and 140 that are slaves. Since a plurality of slave I / O modules 120, 130, and 140 are simultaneously connected to the event bus 160, data collision may occur when the slave occupies the bus at the same time. To solve this problem, a token method is used for communication of the event bus 160. Token contains priority information of I / O event. In addition, the slave I / O modules 120, 130, and 140 determine whether to communicate with the main controller 110 through the event bus 160 by using a token including priority information. Tokens are delivered via the daisy chain bus. Here, the daisy chain bus is a logical bus within the event bus 160 for carrying tokens. The daisy chain bus is cyclic in the order of the main control unit 110 → the first I / O module 120 → the second I / O module 130 → the third I / O module 140 → the main control unit 110. Tokens are sent through this path. The slave must always monitor the tokens coming in through the daisy chain in order to use the event bus 160.

데이지 체인은 이벤트 버스(160)를 통해 슬레이브가 이벤트 버스를 점령하기 위한 토큰이 전달되는 경로를 나타낸다. 데이지 체인은 총 4개의 버스라인을 가지고 있으며, 동기신호를 전달하기 위한 Sync 라인과 현재 버스가 사용 중임을 나타내는 Busy 시그널 라인, 직렬 데이터를 보내기 위한 데이터 라인, 마지막으로 마스터와 직접 연결되는 또 다른 데이터 라인이 있다. 토큰의 생성 및 이용방식은 추후 상세히 설명한다. The daisy chain represents the path through which the token for the slave to occupy the event bus is passed through the event bus 160. The daisy chain has a total of four buslines, a sync line to carry the sync signal, a busy signal line to indicate that the bus is currently busy, a data line to send serial data, and finally another data directly connected to the master. There is a line. The generation and use of the token will be described later in detail.

도 2는 본 발명의 일 실시예에 따른, 메인 버스 컨트롤러(115) 및 제1 I/O 버스 컨트롤러(125)의 구성을 도시한 도면이다. 제2 I/O 버스 컨트롤러(135) 및 제3 I/O 버스 컨트롤러(145)는 제1 I/O 버스 컨트롤러(125)와 구성이 동일하므로, 이하에서는 제1 I/O 버스 컨트롤러(125)의 구성에 대해서만 설명한다. 2 is a diagram illustrating the configuration of the main bus controller 115 and the first I / O bus controller 125 according to an embodiment of the present invention. Since the second I / O bus controller 135 and the third I / O bus controller 145 have the same configuration as the first I / O bus controller 125, the first I / O bus controller 125 will be described below. Only the configuration of will be described.

도 2에 도시된 바와 같이, 메인 버스 컨트롤러(115)는 메인 인터페이스부(210), 버스 제어부(220), 이벤트 핸들러(230), 및 버스 인터페이스부(240)를 포함한다. As shown in FIG. 2, the main bus controller 115 includes a main interface unit 210, a bus controller 220, an event handler 230, and a bus interface unit 240.

메인 인터페이스부(210)는 데이터를 메인 제어부(110)의 프로토콜에 맞게 변형하여 송수신한다. 즉, 메인 인터페이스부(210)는 버스 제어부(220)에서 송수신 되는 데이터를 메인 제어부(110)의 프로토콜에 맞게 변형한 후에, 변형된 데이터를 메인 제어부(110)로 송수신하게 된다. The main interface unit 210 transmits and receives data modified according to the protocol of the main control unit 110. That is, the main interface unit 210 transforms the data transmitted and received by the bus controller 220 according to the protocol of the main controller 110, and then transmits and receives the modified data to the main controller 110.

버스 제어부(220)는 데이터 버스(150) 또는 이벤트 버스(160)를 통해 송수신되는 데이터를 인코딩 및 디코딩한다. 구체적으로, 버스 제어부(220)는 메인 제어부(110)에 입력하기 위한 데이터 패킷을 패킷 디코딩하고, 데이터 버스(150) 또는 이벤트 버스(160)로 출력하고자 하는 데이터를 패킷 인코딩하여 출력하게 된다. The bus controller 220 encodes and decodes data transmitted and received through the data bus 150 or the event bus 160. In detail, the bus controller 220 packet-decodes a data packet for input to the main controller 110, and encodes and outputs data to be output to the data bus 150 or the event bus 160.

이벤트 핸들러(230)는 이벤트 버스(160)를 통해 I/O 버스 컨트롤러(125)로부터 수신된 입출력 이벤트를 우선순위에 따라 정렬하여 메인 제어부(110)로 전송한다. 구체적으로, 이벤트 핸들러(230)는 이벤트 버스(160)를 통해 I/O 버스 컨트롤러(125)로부터 입출력 이벤트를 수신한다. 그리고, 이벤트 핸들러(230)는 수신된 입출력 이벤트를 기설정된 입출력 이벤트별 우선순위에 따라 정렬하여 메인 제어부(110)로 전송한다. The event handler 230 arranges the input / output events received from the I / O bus controller 125 through the event bus 160 in order of priority and transmits them to the main controller 110. In detail, the event handler 230 receives an input / output event from the I / O bus controller 125 via the event bus 160. The event handler 230 arranges the received input / output events according to the priority of each preset input / output event and transmits them to the main controller 110.

버스 인터페이스부(240)는 버스 제어부(220) 및 입출력 이벤트 핸들러(230)에서 송수신되는 데이터를 버스 프로토콜에 맞게 변형하여 송수신한다. 즉, 버스 인터페이스부(240)는 버스 제어부(220) 및 입출력 이벤트 핸들러(230)에서 송수신되는 데이터를 데이터 버스(150) 및 이벤트 버스(160)의 프로토콜에 맞게 변형한 후에, 변형된 데이터를 데이터 버스(150) 및 이벤트 버스(160)로 송수신하게 된다. The bus interface unit 240 transmits and receives data transmitted and received by the bus controller 220 and the input / output event handler 230 in accordance with the bus protocol. That is, the bus interface unit 240 transforms the data transmitted and received by the bus controller 220 and the input / output event handler 230 according to the protocol of the data bus 150 and the event bus 160, and then converts the modified data into data. Transmission and reception are performed on the bus 150 and the event bus 160.

이와 같은 구조의 메인 버스 컨트롤러(115)는 메인 제어부(110)가 이벤트 버스(160)를 통해 I/O 모듈들(120, 130, 140)로부터 입출력 이벤트를 수신하도록 제어할 수 있게 된다. The main bus controller 115 of this structure may control the main controller 110 to receive input / output events from the I / O modules 120, 130, and 140 through the event bus 160.

또한, 도 2에 도시된 바와 같이, 제1 I/O 버스 컨트롤러(125)는 입출력 인터페이스부(250), 버스 제어부(260), 이벤트 생성부(270), 및 버스 인터페이스부(280)를 포함한다. In addition, as shown in FIG. 2, the first I / O bus controller 125 includes an input / output interface unit 250, a bus control unit 260, an event generator 270, and a bus interface unit 280. do.

입출력 인터페이스부(250)는 데이터를 제1 I/O 모듈(120)의 프로토콜에 맞게 변형하여 송수신한다. 즉, 입출력 인터페이스부(250)는 버스 제어부(260)에서 송수신 되는 데이터를 제1 I/O 모듈(120)의 프로토콜에 맞게 변형한 후에, 변형된 데이터를 제1 I/O 모듈(120)로 송수신하게 된다. The input / output interface unit 250 transmits and receives data by modifying the data in accordance with the protocol of the first I / O module 120. That is, the input / output interface unit 250 transforms the data transmitted and received by the bus controller 260 according to the protocol of the first I / O module 120 and then converts the modified data into the first I / O module 120. Send and receive

버스 제어부(260)는 데이터 버스(150) 또는 이벤트 버스(160)를 통해 송수신되는 데이터를 인코딩 및 디코딩한다. 구체적으로, 버스 제어부(260)는 제1 I/O 모듈(120)에 입력하기 위한 데이터 패킷을 패킷 디코딩하고, 데이터 버스(150) 또는 이벤트 버스(160)로 출력하고자 하는 데이터를 패킷 인코딩하여 출력하게 된다. The bus controller 260 encodes and decodes data transmitted and received via the data bus 150 or the event bus 160. In detail, the bus controller 260 packet-decodes a data packet for input to the first I / O module 120, and packetizes and outputs data to be output to the data bus 150 or the event bus 160. Done.

이벤트 생성부(270)는 제1 I/O 모듈(120)에 이벤트가 발생된 경우, 입출력 이벤트를 생성하게 된다. 입출력 이벤트는 제1 I/O 모듈(120)의 내부 또는 입력 신호 등에서 발생되는 이벤트를 나타내며, 예를 들어 입력 에러 이벤트 또는 고장 이벤트 등이 될 수 있다. 또한, 이벤트 생성부(270)는 생성된 입출력 이벤트의 우선순위가 다른 이벤트들에 비하여 최상위인 경우에 입출력 이벤트를 이벤트 버스(160)를 통해 메인 버스 컨트롤러(115)로 전송하게 된다. The event generator 270 generates an input / output event when an event occurs in the first I / O module 120. The input / output event represents an event generated from the inside of the first I / O module 120 or an input signal. For example, the input / output event may be an input error event or a failure event. In addition, the event generator 270 transmits the input / output event to the main bus controller 115 through the event bus 160 when the priority of the generated input / output event is higher than other events.

버스 인터페이스부(280)는 버스 제어부(260) 및 이벤트 생성부(270)에서 송수신되는 데이터를 버스 프로토콜에 맞게 변형하여 송수신한다. 즉, 버스 인터페이스부(280)는 버스 제어부(260) 및 이벤트 생성부(270)에서 송수신되는 데이터를 데이터 버스(150) 및 이벤트 버스(160)의 프로토콜에 맞게 변형한 후에, 변형된 데이터를 데이터 버스(150) 및 이벤트 버스(160)로 송수신하게 된다. The bus interface 280 transmits and receives data transmitted and received by the bus controller 260 and the event generator 270 in accordance with the bus protocol. That is, the bus interface unit 280 transforms the data transmitted and received by the bus controller 260 and the event generator 270 according to the protocol of the data bus 150 and the event bus 160, and then converts the modified data into data. Transmission and reception are performed on the bus 150 and the event bus 160.

이와 같은 구조의 제1 I/O 버스 컨트롤러(125)는 제1 I/O 모듈(120)에서 발생된 입출력 이벤트가 우선순위에 따라 이벤트 버스(160)를 통해 메인 제어부(110)로 전송되도록 제어할 수 있게 된다. The first I / O bus controller 125 having such a structure controls the input / output event generated in the first I / O module 120 to be transmitted to the main controller 110 through the event bus 160 according to priority. You can do it.

이하에서는, 도 3을 참고하여, 이벤트 버스(160)를 통해 입출력 이벤트가 전송되는 과정에 대해 설명한다. 도 3은 본 발명의 일 실시예에 따른, 이벤트 버스(160)의 통신 방식을 도시한 도면이다. Hereinafter, a process of transmitting an input / output event through the event bus 160 will be described with reference to FIG. 3. 3 is a diagram illustrating a communication scheme of the event bus 160 according to an embodiment of the present invention.

도 3에서 점선은 이벤트 버스(160)를 나타내고, 실선 화살표는 데이지 체인(300)을 나타낸다. 토큰(310, 320)은 이벤트 버스(160)를 통해 데이지 체인의 순서에 따라 전송된다. In FIG. 3, the dotted line represents the event bus 160, and the solid arrows represent the daisy chain 300. Tokens 310 and 320 are transmitted over the event bus 160 in the order of the daisy chain.

최초에 논리연산 제어장치(100)가 구동되면, 도 3에 도시된 바와 같이, 마스터인 메인 제어부(110)는 스타트 패킷(Start packet) 형태의 토큰을 생성하고, 메인 버스 컨트롤러(115)는 데이지 체인(300)을 따라 가장 가까운 슬레이브로 스타트 패킷을 포함하는 토큰을 전송한다. 스타트 패킷은 8비트 스타트 비트와 모듈 아이디를 포함한다. When the logic operation controller 100 is initially driven, as shown in FIG. 3, the master main controller 110 generates a token in the form of a start packet, and the main bus controller 115 daisyes. The token including the start packet is transmitted to the nearest slave along the chain 300. The start packet contains an 8 bit start bit and the module ID.

제일 가까이 연결된 슬레이브(S1)인 제1 I/O 모듈(120)의 제1 I/O 버스 컨트롤러(125)는 토큰을 수신한 후 메인 버스 컨트롤러(115)로 ACK신호를 보낸다. The first I / O bus controller 125 of the first I / O module 120, which is the closest slave (S1), receives the token and sends an ACK signal to the main bus controller 115.

제1 I/O 버스 컨트롤러(125)는 수신한 토큰의 스타트 패킷의 뒷부분에 자신의 패킷인 슬레이브 패킷(S1)을 덧붙인다. 슬레이브 패킷(S1)은 스타트를 나타내는 8비트, 모듈 아이디, 모듈과 연결된 외부 장치를 나타내는 정보(FUNC), 그리고 마지막으로 보낼 입출력 이벤트 데이터가 있음을 우선순위별로 나타내는 8비트 비트마스크(Bit mask)를 포함한다. The first I / O bus controller 125 adds its own slave packet S1 to the back of the start packet of the received token. The slave packet S1 includes an 8-bit bit mask indicating the start, an ID of the module, information indicating the external device connected to the module (FUNC), and an 8-bit bit mask indicating priority of the input / output event data to be sent last. Include.

비트마스크는 이벤트 버스(160)를 통해 전송되는 패킷을 8개의 우선순위로 구분하여 표시한다. 각 I/O 버스 컨트롤러(125,135,145)에서 토큰 패킷에 자신의 정보를 추가하는 내용 중에 비트 마스크는 자신이 보낼 패킷이 존재함을 나타낸다. 비트 마스크의 최상위비트는 제일 높은 우선순위 패킷을 의미하며 마지막 비트는 제일 낮은 우선순위의 패킷을 의미한다. 여기에서, 패킷은 입출력 이벤트가 될 수도 있으며, 이외에 다른 패킷이 될 수도 있다. 예를 들어, 비트 마스크의 값이 '01000100'이면, 전송할 패킷이 우선순위가 2인 패킷과 우선순위가 6인 패킷으로 2개가 있다는 것을 나타낸다. 이와 같이, 비트 마스크는 우선순위별 전송 대기중인 패킷이 존재함을 나타낸다. The bit mask displays packets transmitted through the event bus 160 in eight priorities. Among the contents of the I / O bus controllers 125, 135, and 145 adding their information to the token packet, the bit mask indicates that there is a packet to send. The most significant bit of the bit mask represents the highest priority packet, and the last bit represents the lowest priority packet. Herein, the packet may be an input / output event or may be another packet. For example, if the value of the bit mask is '01000100', this indicates that there are two packets to be transmitted, that is, a packet of priority 2 and a packet of priority 6. As such, the bit mask indicates that there is a packet waiting to be transmitted by priority.

이후에, 제1 I/O 버스 컨트롤러(125)는 토큰에 슬레이브 패킷(S1)을 덧붙인 후에, 데이지 체인을 따라 제2 I/O 버스 컨트롤러(135)로 토큰을 전송한다. 그 후에, 제2 I/O 버스 컨트롤러(135)와 제3 I/O 버스 컨트롤러(145)도 순차적으로 자신의 슬레이브 패킷(S2, S3)을 토큰에 덧붙이게 된다. 제3 I/O 버스 컨트롤러(145)는 ACK신호를 수신할 수 없기 때문에, 자신이 마지막임을 알 수 있게 되며, 완성된 토큰(320)을 다시 이벤트 버스(160)의 데이지 체인을 따라 메인 버스 컨트롤러로 전달한다. Thereafter, the first I / O bus controller 125 adds the slave packet S1 to the token and then sends the token to the second I / O bus controller 135 along the daisy chain. Thereafter, the second I / O bus controller 135 and the third I / O bus controller 145 also sequentially attach their slave packets S2 and S3 to the token. Since the third I / O bus controller 145 cannot receive the ACK signal, the third I / O bus controller 145 may know that it is the last one, and the completed token 320 may be returned to the main bus controller along the daisy chain of the event bus 160. To pass.

이 후에, 토큰(320)은 데이지 체인을 따라 계속적으로 '메인 버스 컨트롤러(115) → 제1 I/O 버스 컨트롤러(125) → 제2 I/O 버스 컨트롤러(135) → 제3 I/O 버스 컨트롤러(145) → 메인 버스 컨트롤러(115)'의 순서로 순환 전달된다. 그리고, 각 I/O 버스 컨트롤러(125, 135, 145)는 메인 제어부(110)로 전송하고자 하는 입출력 이벤트가 발생된 경우, 토큰(320)의 비트 마스크에 해당 우선순위영역의 비트마스크 값을 "1"로 기록한다. 그리고, 각 I/O 버스 컨트롤러(125, 135, 145)는 토큰(320)을 수신하게 되면, 비트마스크를 서로 비교하여 다른 모듈이 자신의 입출력 이벤트보다 우선순위가 높은지 여부를 판단한다. 만약, 자신의 입출력 이벤트의 우선순위가 가장 높은 경우, 해당 I/O 버스 컨트롤러는 이벤트 버스(160)를 점유하여 해당 입출력 이벤트를 이벤트 버스(160)를 통해 메인 버스 컨트롤부(115)로 전송한다. 그리고, 해당 I/O 버스 컨트롤러는 해당 비트 마스크를 '0'으로 클리어하고, 토큰(320)을 데이지 체인을 따라 다음 I/O 버스 컨트롤러로 전송한다. After this, the token 320 is continuously along the daisy chain 'main bus controller 115 → the first I / O bus controller 125 → the second I / O bus controller 135 → the third I / O bus The controller 145 is cyclically transferred in the order of the main bus controller 115 '. Each I / O bus controller 125, 135, and 145 transmits the bit mask value of the priority area to the bit mask of the token 320 when an input / output event to be transmitted to the main controller 110 occurs. Record 1 ". When each of the I / O bus controllers 125, 135, and 145 receives the token 320, the I / O bus controllers 125 and 135 compare the bit masks with each other to determine whether another module has a higher priority than its input / output event. If the I / O bus has the highest priority, the I / O bus controller occupies the event bus 160 and transmits the corresponding I / O event to the main bus controller 115 through the event bus 160. . The I / O bus controller clears the bit mask to '0' and transmits the token 320 along the daisy chain to the next I / O bus controller.

반면, 자신의 입출력 이벤트의 우선순위가 가장 높은 것이 아닌 경우, 해당 I/O 버스 컨트롤러는 데이지 체인을 따라 다음 I/O 버스 컨트롤러로 토큰(320)을 전송한다.On the other hand, if the I / O bus controller does not have the highest priority, the corresponding I / O bus controller transmits the token 320 along the daisy chain to the next I / O bus controller.

예를 들어, 제1 I/O 버스 컨트롤러(125)의 비트 마스크는 '00100000'이고, 제2 I/O 버스 컨트롤러(135)의 비트 마스크는 '10000010'이고, 제3 I/O 버스 컨트롤러(115)의 비트 마스크는 '00000001'인 경우를 가정한다. For example, the bit mask of the first I / O bus controller 125 is '00100000', the bit mask of the second I / O bus controller 135 is '10000010', and the third I / O bus controller ( Assume that the bit mask of 115) is '00000001'.

그러면, 최초 데이지 체인을 순환할 때, 제2 I/O 버스 컨트롤러(135)의 비트 마스크가 우선순위가 가장 높으므로, 제2 I/O 버스 컨트롤러(135)가 우선순위 1에 해당되는 입출력 이벤트를 메인 버스 컨트롤러(115)로 전송한다. Then, when cycling through the first daisy chain, the bit mask of the second I / O bus controller 135 has the highest priority, so that the second I / O bus controller 135 has an I / O event corresponding to priority 1. To the main bus controller 115.

1번의 데이지 체인 순환이 종료되면, 제1 I/O 버스 컨트롤러(125)의 비트 마스크는 '00100000'이고, 제2 I/O 버스 컨트롤러(135)의 비트 마스크는 '00000010'이고, 제3 I/O 버스 컨트롤러(115)의 비트 마스크는 '00000001'가 된다. 2번째 데이지 체인 순환시에는 제1 I/O 버스 컨트롤러(125)가 먼저 우선순위가 3인 입출력 이벤트를 메인 버스 컨트롤러(115)로 전송하고, 그다음 제2 I/O 버스 컨트롤러(135)가 우선순위가 7인 입출력 이벤트를 메인 버스 컨트롤러(115)로 전송하며, 마지막으로 제3 I/O 버스 컨트롤러(145)가 우선순위가 8인 입출력 이벤트를 메인 버스 컨트롤러(115)로 전송하게 된다. When the first daisy chain cycle ends, the bit mask of the first I / O bus controller 125 is '00100000', the bit mask of the second I / O bus controller 135 is '00000010', and the third I The bit mask of the / O bus controller 115 becomes '00000001'. In the second daisy chain cycle, the first I / O bus controller 125 first sends an I / O event of priority 3 to the main bus controller 115, and then the second I / O bus controller 135 first takes precedence. The I / O event having a rank of 7 is transmitted to the main bus controller 115, and finally, the third I / O bus controller 145 transmits an I / O event having a priority of 8 to the main bus controller 115.

따라서, 상기의 가정의 경우, 2번은 데이지 체인 순환을 통해 모든 입출력 이벤트의 전송이 완료되게 된다. Therefore, in the case of the above assumption, No. 2 completes the transmission of all input / output events through the daisy chain cycle.

이와 같이, 토큰(320)의 비트 마스크에 표시된 우선순위를 기반으로 하여, 이벤트 버스(160)는 통신이 제어되게 된다. 또한, 토큰(320)은 I/O 버스 컨트롤러들을 하나씩 거쳐감으로써, 다수의 I/O 버스 컨트롤러들이 충돌없이 이벤트 버스(160)를 이용하여 통신할 수 있게 된다. As such, based on the priority indicated in the bit mask of the token 320, the event bus 160 may be controlled for communication. In addition, the token 320 passes through the I / O bus controllers one by one, allowing a plurality of I / O bus controllers to communicate using the event bus 160 without collision.

본 실시예에서는, I/O 모듈가 3개인 것으로 설명하였으나 이는 설명의 편의를 위한 것이며, I/O 모듈의 개수는 적어도 1개 이상이 될 수 있음은 물론이다. In the present embodiment, it has been described that there are three I / O modules, but this is for convenience of description, and the number of I / O modules may be at least one.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.

100 : 논리연산 제어장치 110 : 메인 제어부
120 : 제1 I/O 모듈 130 : 제2 I/O 모듈
140 : 제3 I/O 모듈
100: logical operation control device 110: main control unit
120: first I / O module 130: second I / O module
140: third I / O module

Claims (8)

논리 연산을 수행하는 메인 제어부;
데이터를 입출력하는 적어도 하나의 I/O 모듈;
상기 메인 제어부 및 상기 적어도 하나의 I/O 모듈의 통신 경로가 되고, 상기 메인 제어부에 의해 통신이 제어되는 제1 버스; 및
상기 메인 제어부 및 상기 적어도 하나의 I/O 모듈의 통신 경로가 되고, 상기 적어도 하나의 I/O 모듈에 의해 제어되는 제2 버스;를 포함하고,
상기 적어도 하나의 I/O 모듈은,
우선순위 정보가 포함된 토큰(Token)을 이용하여 상기 제2 버스를 통한 상기 메인 제어부와의 통신 여부를 결정하는 것을 특징으로 하는 논리연산 제어장치.
A main controller which performs a logical operation;
At least one I / O module for inputting and outputting data;
A first bus that is a communication path between the main control unit and the at least one I / O module and in which communication is controlled by the main control unit; And
And a second bus that is a communication path between the main control unit and the at least one I / O module and is controlled by the at least one I / O module.
The at least one I / O module,
And determining whether to communicate with the main controller through the second bus by using a token including priority information.
제1항에 있어서,
상기 적어도 하나의 I/O 모듈 각각을 상기 제1 버스 및 상기 제2 버스와 연결하고, 상기 적어도 하나의 I/O 모듈 각각과 상기 제1 버스 간의 통신 및 상기 적어도 하나의 I/O 모듈 각각과 상기 제2 버스 간의 통신을 제어하는 적어도 하나의 I/O 버스 컨트롤러;를 더 포함하는 것을 특징으로 하는 논리연산 제어장치.
The method of claim 1,
Connect each of the at least one I / O module to the first bus and the second bus, communicate between each of the at least one I / O module and the first bus, and each of the at least one I / O module; And at least one I / O bus controller for controlling communication between the second buses.
제2항에 있어서,
상기 I/O 버스 컨트롤러 각각은,
데이터를 상기 I/O 모듈의 프로토콜에 맞게 변형하여 송수신하는 입출력 인터페이스부;
상기 제1버스 또는 상기 제2버스를 통해 송수신되는 데이터를 인코딩 및 디코딩하는 버스 제어부;
상기 I/O 모듈에 이벤트가 발생된 경우, 입출력 이벤트를 생성하는 이벤트 생성부; 및
상기 버스 제어부 및 상기 이벤트 생성부에서 송수신되는 데이터를 버스 프로토콜에 맞게 변형하여 송수신하는 버스 인터페이스부;를 포함하는 것을 특징으로 하는 논리연산 제어장치.
The method of claim 2,
Each of the I / O bus controller,
An input / output interface unit configured to transmit / receive data by modifying the data according to the protocol of the I / O module;
A bus controller which encodes and decodes data transmitted and received through the first bus or the second bus;
An event generator configured to generate an input / output event when an event occurs in the I / O module; And
And a bus interface unit configured to transmit / receive data transmitted and received by the bus controller and the event generator in accordance with a bus protocol.
제3항에 있어서,
상기 이벤트 생성부는,
상기 제2 버스를 통해 상기 생성된 입출력 이벤트를 상기 버스 제어부로 전송하는 것을 특징으로 하는 논리연산 제어장치.
The method of claim 3,
The event generator,
And transmitting the generated input / output event to the bus controller through the second bus.
제1항에 있어서,
상기 메인 제어부를 상기 제1 버스 및 상기 제2 버스와 연결하고, 상기 메인 제어부와 상기 제1 버스 간의 통신 및 상기 메인 제어부와 상기 제2 버스 간의 통신을 제어하는 메인 버스 컨트롤러;를 더 포함하는 것을 특징으로 하는 논리연산 제어장치.
The method of claim 1,
And a main bus controller connecting the main control unit with the first bus and the second bus and controlling communication between the main control unit and the first bus and communication between the main control unit and the second bus. Logic operation control device characterized in that.
제5항에 있어서,
상기 메인 버스 컨트롤러는,
데이터를 상기 메인 제어부의 프로토콜에 맞게 변형하여 송수신하는 메인 인터페이스부;
상기 제1 버스 또는 상기 제2 버스를 통해 송수신되는 데이터를 인코딩 및 디코딩하는 버스 제어부;
상기 I/O 버스 컨트롤러로부터 수신된 입출력 이벤트를 우선순위에 따라 정렬하여 상기 메인 제어부로 전송하는 이벤트 핸들러; 및
상기 버스 제어부 및 상기 이벤트 핸들러에서 송수신되는 데이터를 버스 프로토콜에 맞게 변형하여 송수신하는 버스 인터페이스부;를 포함하는 것을 특징으로 하는 논리연산 제어장치.
The method of claim 5,
The main bus controller,
A main interface unit for transmitting and receiving data by modifying the protocol of the main controller;
A bus controller which encodes and decodes data transmitted and received through the first bus or the second bus;
An event handler for sorting the input / output events received from the I / O bus controller according to priority and transmitting them to the main controller; And
And a bus interface unit configured to modify and transmit data transmitted and received by the bus control unit and the event handler in accordance with a bus protocol.
제6항에 있어서,
상기 이벤트 핸들러는,
상기 제2 버스를 통해 상기 I/O 버스 제어부로부터 상기 입출력 이벤트를 수신하는 것을 특징으로 하는 논리연산 제어장치.
The method according to claim 6,
The event handler is
And receiving the input / output event from the I / O bus controller via the second bus.
삭제delete
KR1020110131343A 2011-12-08 2011-12-08 Programmable logic controller using multiple buses KR101275640B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110131343A KR101275640B1 (en) 2011-12-08 2011-12-08 Programmable logic controller using multiple buses
PCT/KR2012/003163 WO2013085121A1 (en) 2011-12-08 2012-04-25 Programmable logic controller using multiple buses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110131343A KR101275640B1 (en) 2011-12-08 2011-12-08 Programmable logic controller using multiple buses

Publications (1)

Publication Number Publication Date
KR101275640B1 true KR101275640B1 (en) 2013-06-17

Family

ID=48574455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110131343A KR101275640B1 (en) 2011-12-08 2011-12-08 Programmable logic controller using multiple buses

Country Status (2)

Country Link
KR (1) KR101275640B1 (en)
WO (1) WO2013085121A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116760659B (en) * 2023-08-11 2023-11-14 浙江国利信安科技有限公司 Programmable logic controller and data communication method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049508A (en) * 2008-08-22 2010-03-04 Koyo Electronics Ind Co Ltd Selection system of plurality of buses and programmable controller with the system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830577A (en) * 1994-07-15 1996-02-02 Mitsubishi Electric Corp Simd processor
JPH08204740A (en) * 1995-01-20 1996-08-09 Nec Corp Data transmission method and data transmitter
KR0179868B1 (en) * 1996-02-26 1999-05-15 이종수 Transceiving method for data between module of programmable logic controller
KR100451374B1 (en) * 2002-06-08 2004-10-06 엘지산전 주식회사 The improvement apparatus and method of the communication speed and reliability for backplane using a parallel bus
JP4836811B2 (en) * 2007-01-26 2011-12-14 株式会社東芝 Performance monitoring apparatus and information processing apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010049508A (en) * 2008-08-22 2010-03-04 Koyo Electronics Ind Co Ltd Selection system of plurality of buses and programmable controller with the system

Also Published As

Publication number Publication date
WO2013085121A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
CN107707447B (en) Slave station system based on EtherCAT and control method
JPH02156750A (en) Multiplex access control method and multiplex access control system executing same
US20080005428A1 (en) Event signaling between peripheral modules and a processing unit
JP2012064021A (en) Communication system, master device and slave device, and communication method
WO2013103509A1 (en) A system and method for transmitting and receiving data using an industrial expansion bus
TWI605696B (en) Communication device with logic multichannel-communication via a physical transmission route for serial transmission of interchip-data
JP5570556B2 (en) Numerical control device that communicates with IO unit
JP6629361B2 (en) Programmable logic controller
KR101179431B1 (en) Network Management System based on a EhterCAT And Managing Method thereof
CN112269749B (en) I2C communication system
KR101275640B1 (en) Programmable logic controller using multiple buses
US6675245B1 (en) Apparatus and method for providing round-robin arbitration
KR102549085B1 (en) Bus control circuit
US11947475B2 (en) Synchronized processing of process data and delayed transmission
JP6271113B1 (en) Time synchronization slave device and communication control method
US11489697B2 (en) Transmission of data on a local bus
US8427955B2 (en) Method and apparatus for transferring data
WO2023128479A1 (en) Memory control system and display device including memory control function
KR102589284B1 (en) Control device for power conditioning system based on high speed communication
US20200092140A1 (en) Distributed processing of process data
Dheere Universal computer interfaces
JP2010204932A (en) Plc system
WO2009136731A2 (en) Clock generation method, an identifier issuing method and a data acquisition method
JP2019004400A (en) Address setting device and system
JP2014067328A (en) Two-wire type serial bus device and method for controlling the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170608

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180710

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190611

Year of fee payment: 7