KR20110030191A - Apparatus and method for robot control based network - Google Patents
Apparatus and method for robot control based network Download PDFInfo
- Publication number
- KR20110030191A KR20110030191A KR1020090088213A KR20090088213A KR20110030191A KR 20110030191 A KR20110030191 A KR 20110030191A KR 1020090088213 A KR1020090088213 A KR 1020090088213A KR 20090088213 A KR20090088213 A KR 20090088213A KR 20110030191 A KR20110030191 A KR 20110030191A
- Authority
- KR
- South Korea
- Prior art keywords
- controller
- data
- time
- auxiliary
- main controller
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Signal Processing (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
본 발명은 네트워크 기반 로봇 제어에 관한 것으로 보다 자세하게는 주 제어기와 다수의 보조 제어기를 구비하는 네트워크 기반 로봇 제어 방법 및 그 장치에 관한 것이다.The present invention relates to a network-based robot control, and more particularly, to a network-based robot control method and apparatus having a main controller and a plurality of auxiliary controllers.
네트워크 기반 로봇 제어 시스템에 있어서, 주 제어기에서 송신하는 데이터는 각각 보조 제어기에 수신되고 처리되는 시간이 보조 제어기마다 다르다. 즉, 각각 제어기마다 데이터가 수신되고 처리되기까지 소요되는 지연 시간이 다르다.In a network-based robot control system, the data transmitted from the primary controller is received and processed by the secondary controller, respectively, and varies for each secondary controller. That is, each controller has a different delay time until data is received and processed.
따라서, 자동 제어 장비 제어기들을 포함하는 네트워크 기반 제어 시스템에서 주 제어기 및 보조 제어기 등의 각 제어기들간에 시간의 일치성이 보장되어야 한다. 두 제어기가 임의의 약속된 시간에 특정 동작이 계획되어 있을 때 시간의 불일치 때문에 발생되는 동작은 전체 제어 시스템의 성능을 저하 시킨다.Therefore, in a network-based control system including automatic control equipment controllers, time consistency between each controller, such as a primary controller and a secondary controller, must be ensured. When two controllers are scheduled for a certain time at any scheduled time, the action that occurs due to time mismatches degrades the performance of the overall control system.
따라서, 제어기들간 시간 일치성을 보장하기 위해 네트워크 기반 제어 시스템의 제어기들은 각 노드 내부에 데이터의 수신되는 시간 계측 기능이 포함되어야 한다.Therefore, in order to ensure time coherence between the controllers, the controllers of the network-based control system should include a time measurement function of receiving data inside each node.
또한, 제어기들 간의 시간 일치성이 보장된 네트워크 기반 제어 시스템이라도 네트워크 케이블의 단절이 있는 경우, 각 제어기들 간의 전파 지연들이 정상적인 시스템에서의 제어기들의 전파 지연들과 다른 값이 될 수 있다.In addition, even in a network-based control system in which time coherency is guaranteed between controllers, when there is a disconnection of a network cable, propagation delays between controllers may be different from those of controllers in a normal system.
따라서, 초기에 각 제어기들간의 시간 일치성이 보장되어 있어도 네트워크 케이블 오류에 의해서 시간이 다시 불일치 될 수 있는 문제점이 발생할 수 있다.Therefore, even if the time coincidence between the controllers is initially guaranteed, a problem may occur in which time can be inconsistent again due to a network cable error.
본 발명의 목적은 네트워크 기반의 제어 시스템에서 케이블 오류가 발생하였을 경우 자동으로 주 제어기 및 보조 제어기들의 동작에 대한 시간 일치를 유지하기 위한 네트워크 기반의 제어 시스템 제어 방법을 제안하는 것이다.An object of the present invention is to propose a method for controlling a network-based control system for automatically maintaining time agreement with respect to the operation of a primary controller and an auxiliary controller when a cable error occurs in a network-based control system.
본 발명의 다른 목적은 주 제어기와 보조 제어기 또는 각 보조 제어기들 사이의 네트워크 케이블 오류에 대해 자동으로 대처 가능한 네트워크 기반의 제어 시스템을 제안하는 것이다.Another object of the present invention is to propose a network-based control system capable of automatically coping with a network cable error between a primary controller and an auxiliary controller or respective auxiliary controllers.
본 발명의 일 측면에 따르면, 주 제어기와 다수의 보조 제어기를 구비하는 네트워크 기반 로봇 제어 방법에 있어서, (a) 주 제어기에서 다수의 보조 제어기의 초기 타임 오프셋 값과 연결 라인들의 초기 전파 지연 값을 추출하는 단계, (b) 주 제어기에서 실행 데이터를 보조 제어기들로 전송하는 단계, (c) 주 제어기, 보조 제어기 또는 연결 라인 중 어느 하나의 장애를 검출하는 단계 및 (d) 장애 검출 결과, 연결 라인 장애 검출 시 네트워크 토폴로지를 변경하는 단계 및 (e)변경된 네트워크 토폴로지에 상응하여 보조 제어기의 타임 오프셋 값과 연결 라인의 전파 지연 값을 재설정하는 단계를 포함하는 것을 특징으로 하는 제어 방법이 제공된다.According to an aspect of the present invention, in a network-based robot control method having a main controller and a plurality of auxiliary controllers, (a) in the main controller to the initial time offset value of the plurality of auxiliary controllers and the initial propagation delay value of the connection lines Extracting, (b) transmitting execution data from the primary controller to the secondary controllers, (c) detecting a failure of any one of the primary controller, the secondary controller or the connection line, and (d) the failure detection result, the connection A control method is provided, comprising changing a network topology upon detecting a line failure and resetting a time offset value of a secondary controller and a propagation delay value of a connection line in correspondence with the changed network topology.
(a)단계는, (a1) 주 제어기가 초기 타임 오프셋 값 설정을 위한 임의의 데이터인 초기 설정 데이터를 보조 제어기들로 전송하는 단계, (a2) 보조 제어기들이 수신한 초기 설정 데이터에 초기 전파 지연 값을 추출하여 처리하는 단계, (a3) 보조 제어기들이 처리된 초기 설정 데이터를 주 제어기로 전송하는 단계 및 (a4) 주 제어기는 보조 제어기들로부터 수신한 처리된 초기 설정 데이터를 이용하여 초기 타임 오프셋 값을 설정하는 단계를 포함한다.In step (a), (a1) the primary controller transmits initial configuration data, which is arbitrary data for setting an initial time offset value, to the secondary controllers, and (a2) initial propagation delay in the initial configuration data received by the secondary controllers. Extracting and processing a value; (a3) the secondary controllers transmit processed initial configuration data to the primary controller; and (a4) the primary controller uses the processed initial configuration data received from the secondary controllers to offset the initial time offset. Setting a value.
(c)단계는, (c1) 보조 제어기들이 수신한 상기 실행 데이터를 처리하는 단계, (c2) 처리된 실행 데이터를 주 제어기로 전송하는 단계 및 (c3) 주 제어기가 수신한 처리된 실행 데이터에 포함된 보조 제어기들의 실행 데이터의 송수신 시간 및 처리 시간을 이용하여 주 제어기, 보조 제어기 또는 연결 라인의 장애를 검출하는 단계를 포함한다.(c) processing (c1) the execution data received by the secondary controllers; (c2) transmitting the processed execution data to the primary controller; and (c3) processing the execution data received by the primary controller. Detecting a failure of the primary controller, the secondary controller or the connection line by using the transmission and reception time and processing time of the execution data of the auxiliary controllers included.
(d)단계는, 검출된 연결 라인의 장애 위치에 따라서 라인 토폴로지, 링 토폴로지 또는 더블 라인 토폴로지로 변경된다.Step (d) is changed to a line topology, a ring topology or a double line topology according to the detected position of the connection line.
주 제어기는 직접적으로 연결된 복수개의 보조 제어기로 데이터를 송신할 때, 복수개의 보조 제어기에 송신하는 데이터는 모두 같은 데이터이다. 또한, 주 제어기는 직접적으로 연결된 복수개의 보조 제어기로부터 처리된 데이터들을 수신할 때, 주 제어기는 처리된 데이터들 중에서 하나의 처리된 데이터를 취득한다. 여기서 처리된 데이터는 보조 제어기들의 데이터 송수신 시간 및 처리 시간이 저장되어 있다.When the primary controller transmits data to a plurality of secondary controllers directly connected, the data transmitted to the plurality of secondary controllers are all the same data. Also, when the primary controller receives processed data from a plurality of directly connected secondary controllers, the primary controller acquires one processed data among the processed data. The processed data stores data transmission time and processing time of the auxiliary controllers.
타임 오프셋은 주 제어기가 데이터를 전송할 때의 주 제어기의 내부 시계(Local Timer) 값과 보조 제어기가 데이터를 수신했을 때의 보조 제어기의 내부 시계 값의 차이이다. 또한 전파 지연은 주 제어기에서 데이터를 전송한 시간과 보조 제어기에서 데이터를 수신한 시간의 차이이다.The time offset is the difference between the internal clock value of the primary controller when the primary controller transmits data and the internal clock value of the secondary controller when the secondary controller receives the data. The propagation delay is also the difference between the time the data was sent from the primary controller and the time the data was received from the secondary controller.
본 발명의 또 다른 일 측면에 따르면, 주 제어기와 다수의 보조 제어기를 구비하는 네트워크 기반 로봇 제어 장치에 있어서, 보조 제어기로 데이터를 출력하는 송신부, 보조 제어기의 데이터 송수신 시간 및 처리 시간을 포함한 데이터를 수신하는 수신부, 수신부로 수신된 데이터에 포함된 보조 제어기에서의 데이터 송수신 시간 및 처리 시간을 이용하여 각 보조 제어기의 전파 지연 및 타임 오프셋을 계산하는 계산부, 계산부에 의한 전파 지연, 타임 오프셋 및 주 제어기의 데이터 전송시간을 이용하여 주 제어기와 보조 제어기의 시간을 일치시키는 시간 일치 제어부, 주 제어기 및 보조 제어기의 데이터 송수신 시간, 데이터 처리 시간, 전파 지연 또는 타임 오프셋을 저장하는 저장부를 포함하는 제어 장치가 제공된다.According to another aspect of the present invention, a network-based robot control apparatus having a main controller and a plurality of auxiliary controllers, comprising: a transmitter for outputting data to the auxiliary controller, data including data transmission / reception time and processing time of the auxiliary controller; A calculation unit for calculating propagation delays and time offsets of the respective sub-controllers by using the receiving unit, the data transmission / reception time and the processing time of the auxiliary controllers included in the data received by the receiving unit, the propagation delays by the calculation unit, the time offsets, A control including a time matching controller for matching the time of the main controller and the auxiliary controller using the data transmission time of the main controller, and a storage unit storing data transmission / reception time, data processing time, propagation delay, or time offset of the main controller and the auxiliary controller An apparatus is provided.
주 제어기 및 보조 제어기는 두 개의 송수신부를 포함하여 구성된다. 여기서, 주 제어기는 상기 송신부의 데이터 송신 및 상기 수신부의 데이터 수신 가능 여부에 의해서 네트워크 토폴로지를 식별할 수 있다.The primary controller and the secondary controller include two transceivers. Here, the main controller can identify the network topology based on whether data transmission of the transmitter and data reception of the receiver are possible.
주 제어기 및 보조 제어기는 데이터의 송수신 시간 및 데이터의 처리 시간을 계측하는 내부 시계를 포함한다.The primary controller and the secondary controller include internal clocks that measure the time of transmission and reception of data and the processing time of data.
또한, 주 제어기는 머지(Merge)를 더 포함할 수 있다. 주 제어기는 주 제어기와 직접적으로 연결된 복수개의 보조 제어기로부터 데이터들을 수신하였을 때 실시간으로 수행되는 머지의 작업에 의해서 한 개의 데이터를 취득할 수 있다. In addition, the main controller may further include a merge. The primary controller may acquire one piece of data by a merge operation performed in real time when the primary controller receives data from a plurality of secondary controllers directly connected to the primary controller.
본 발명에 따른 네트워크 기반 로봇 제어 방법 및 그 장치는 제어기들 간에 특정 동작이 계획되어 있는 시간의 불일치 때문에 발생되는 동작으로 인한 로봇 제어 시스템 전체의 성능 저하를 방지하는 것이 가능하다는 이점이 있다.Network-based robot control method and apparatus according to the present invention has the advantage that it is possible to prevent the performance degradation of the entire robot control system due to the operation caused by the inconsistency of time in which a specific operation is planned between the controllers.
또한, 네트워크 케이블 오류에 대처 가능한 잉여 케이블링(Cabling Redundancy) 가능하다는 이점이 있다.In addition, there is an advantage in that redundant cabling (Cabling Redundancy) capable of coping with network cable failure.
또한, 실시간 머지(Merge) 작업으로 네트워크 케이블 오류가 발생되어도 시스템의 논리적 처리에 영향을 미치지 않는다는 이점이 있다.In addition, even if a network cable error occurs due to a real-time merge operation, it does not affect the logical processing of the system.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description.
이하, 본 발명에 따른 네트워크 기반의 제어 시스템의 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of a network-based control system according to the present invention will be described in detail with reference to the accompanying drawings. In the following description with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals, and Duplicate explanations will be omitted.
로봇 제어 시스템은 거의 실시간 처리 시스템으로 구성된다. 따라서 시스템의 논리적인 처리뿐만 아니라 네트워크 기반의 제어 시스템에서 실시간 처리가 가능한 기반이 구축되어야 한다. 이러한 실시간 처리를 위해서는 주 제어기와 보조 제어기가 같은 시간을 공유해야 한다. The robot control system consists of a near real time processing system. Therefore, not only the logical processing of the system but also the basis for real-time processing in the network-based control system should be established. For this real-time processing, the primary controller and the secondary controller must share the same time.
본 발명의 이해와 설명의 편의를 도모하기 위해, 주 제어기는 주 제어기로, 보조 제어기는 보조 제어기로 가정하여 설명한다. 그러나, 주 제어기 및 보조 제어기가 각각 주 제어기 및 보조 제어기로 한정되지 아니함은 당업자에게 자명하다. For the convenience of understanding and explanation of the present invention, a description will be given assuming that the primary controller is the primary controller and the secondary controller is the secondary controller. However, it will be apparent to those skilled in the art that the primary controller and the secondary controller are not limited to the primary controller and the secondary controller, respectively.
도 1은 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 시스템을 나타낸 블록도이다. 1 is a block diagram showing a network-based robot control system according to an embodiment of the present invention.
도 1에 의하면, 네트워크 기반 로봇 제어 시스템은 크게 주 제어기(101), 보조 제어기(102) 및 연결 라인(103)으로 구성된다.According to FIG. 1, the network-based robot control system is largely composed of a
주 제어기(101)는 보조 제어기(102)로 로봇 제어를 위한 데이터를 전송한다. 여기서, 보조 제어기(102)로 전송하는 데이터에는 전파 지연 값 또는 타임 오프셋 값 등이 포함될 수 있다. The
여기서, 타임 오프셋은 주 제어기(101)가 데이터를 전송할 때의 주 제어기(101)의 내부 시계 값과 보조 제어기(102)가 데이터를 수신했을 때의 보조 제어기(102)의 내부 시계 값의 차이이다.Here, the time offset is a difference between the internal clock value of the
전파 지연은 주 제어기(101)에서 데이터를 전송하여 보조 제어기(102)가 그 데이터를 수신할 때까지 걸리는 지연시간이다. The propagation delay is the delay time until the
보조 제어기(102)는 주 제어기(101)로부터 수신한 데이터에 따라서 로봇 제어를 위한 작업을 수행한다. 보조 제어기(102)는 로봇 제어를 위한 작업 처리 후 그 결과가 포함된 처리 데이터를 주 제어기(101)로 전송한다. 처리 데이터에는 보조 제어기가 데이터를 송수신한 시간 및 데이터 처리 시간 등이 포함될 수 있다.The
연결 라인(103)은 주 제어기(101)와 보조 제어기(102)를 연결한다. 연결 라인(103)은 보조 제어기와 다른 보조 제어기를 연결한다. 연결 라인(103)을 통해서 서로 연결된 제어기들 사이에 데이터 전송을 가능하게 한다.The
도 2는 네트워크 기반 로봇 제어 시스템의 주 제어기에 대한 내부 블록도이다.2 is an internal block diagram of the main controller of the network-based robot control system.
도 2에 의하면, 주 제어기(201)는 시간 일치 제어부(202), 계산부(203), 저장부(204), 머지(205), 내부 시계(206), 제1 송수신부(207) 및 제2 송수신부(208)로 구성된다. 여기서, 제1 송수신부(207) 및 제2 송수신부(208)는 각각 송신부와 수신부를 포함한다.Referring to FIG. 2, the
주 제어기(201)는 전파 지연 및 타임 오프셋을 포함하는 데이터를 제1 송신부 및 제2 송신부를 통해 보조 제어기로 전송한다. 주 제어기(201)는 보조 제어기로 전송한 데이터가 보조 제어기에서 처리된 결과를 포함한 처리 데이터를 제1 수신부 및 제2 수신부를 통해 수신한다.The
주 제어기(201)는 제1 및 제2 송신부의 데이터 송신과 제1 및 제2 수신부의 데이터 수신 가능 여부에 의해서 네트워크 토폴로지를 식별하는 것이 가능하다.The
주 제어기(201)는 제1 송수신부(207) 및 제2 송수신부(208)를 통해서 보조 제어기와 양방향 통신(Full Duplex)방식으로 데이터를 양방향으로 송수신하는 것이 가능하다. 이때, 데이터 송수신이 하나의 연결 라인을 통해 이루어 질 수 도 있다. 두 개의 연결 라인에 의해서 송신 및 수신 연결 라인을 구분하여 데이터 전송이 이루어 질 수 도 있다.The
본 발명의 실시예에서는 제1 송수신부(207) 및 제2 송수신부(208)에 연결된 연결 라인은 송신 및 수신 연결 라인이 구분되어 있다.In the embodiment of the present invention, the connection line connected to the
시간 일치 제어부(202)는 주 제어기(201)와 보조 제어기 사이의 작업 수행 시간을 일치 시킨다. 즉, 시간 일치 제어부(202)에 의해서, 주 제어기(201)가 로봇 제어를 위해 보조 제어기로 데이터를 전송하면, 보조 제어기는 수신한 데이터에 의해서, 주 제어기(201)가 원하는 시간에 제어 작업을 수행할 수 있다.The time
계산부(203)는 제1 수신부 및 제2 수신부로 수신된 처리 데이터에 포함된 보조 제어기의 데이터 송수신 시간 및 처리 시간을 이용하여 보조 제어기의 전파 지연 값 및 타임 오프셋 값을 계산한다. 보조 제어기가 복수개인 경우, 데이터가 처 리된 보조 제어기 각각의 송수신 시간 및 처리 시간이 처리 데이터에 포함되어 있다. 따라서, 계산부(203)는 보조 제어기가 복수개인 경우, 각각의 보조 제어기에 대한 전파 지연 값 및 타임 오프셋 값을 계산할 수 있다.The
저장부(204)는 주 제어기(201) 및 보조 제어기의 데이터 송수신 시간, 데이터 처리 시간, 계산부(203)에 의해서 계산된 전파 지연 값 및 타임 오프셋 값이 저장된다.The
머지(205)는 주 제어기(201)의 제1 수신부 및 제 2 수신부로 데이터를 동시에 수신하였을 경우, 동시에 수신한 데이터 중에서 하나의 데이터만을 취득할 수 있도록 선택하는 작업을 수행한다. 머지(205)의 데이터 선택 작업은 실시간으로 수행된다. 실시간으로 수행되는 머지(205) 작업에 의해서 연결 라인 장애가 발생된 경우에도 시스템의 논리적 처리에는 영향을 미치지 않게 된다.When the
내부 시계(206)는 주 제어기(201)의 데이터 송수신 시간 및 데이터 처리 시간을 계측할 수 있다. 주 제어기(201)에 내부 시계(206)를 포함함으로써, 종래에 보조 제어기의 내부 시계의 시간을 기준으로 하였던 것과 달리 주 제어기(201)의 내부 시계(206)의 시간이 기준 시간으로 설정된다.The
도 3은 네트워크 기반 로봇 제어 시스템의 보조 제어기에 대한 내부 블록도이다.3 is an internal block diagram of an auxiliary controller of a network-based robot control system.
도 3에 의하면, 보조 제어기(301)는 시간 일치 제어부(302), 내부 시계(303), 제1 송수신부(304) 및 제2 송수신부로 구성된다. According to FIG. 3, the
제1 송수신부(304) 및 제2 송수신부(305)는 각각 송신부와 수신부를 포함한다. 제1 송신부 및 제2 송신부는 보조 제어기(301)에서 데이터를 주 제어기 또는 다른 보조 제어기(301)로 송신한다. 제1 수신부 및 제2 수신부는 주 제어기 또는 다른 보조 제어기(301)로부터 데이터를 수신한다. The
시간 일치 제어부(302)는 주 제어기와 보조 제어기(301) 사이의 작업 수행 시간을 일치 시킨다. 보조 제어기(301)가 주 제어기로부터 로봇 제어를 위한 데이터를 전송 받으면, 보조 제어기(301)의 시간 일치 제어부(302)에 의해서, 주 제어기가 원하는 제어 수행 시간을 설정할 수 있다. 즉, 시간 일치 제어부(302)에 의해서 보조 제어기(301)는 주 제어기가 원하는 시간에 제어 작업을 수행하게 되는 것이다.The time
내부 시계(303)는 보조 제어기(301)의 데이터 송수신 시간 및 데이터 처리 시간을 계측 할 수 있다. 보조 제어기(301)의 내부 시계(303)에 의해서 계측된 데이터 송수신 시간 및 데이터 처리 시간은 주 제어기와 보조 제어기(301) 사이의 데이터 전파 지연 값 및 타임 오프셋 값을 계산하는데 이용된다.The
도 4는 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 방법을 나타낸 순서도이다.4 is a flowchart illustrating a network-based robot control method according to an embodiment of the present invention.
도 4에 의하면, 우선 주 제어기에서 다수의 보조 제어기들의 초기 타임 오프셋 값과 연결 라인들의 초기 전파 지연 값을 추출한다(S401). 초기 전파 지연 값은 주 제어기를 포함한 시스템 부팅 시 초기 전파 지연 값 추출을 위한 초기 설정 데 이터가 보조 제어기로 전송되는데 걸리는 시간을 이용하여 추출할 수 있다.Referring to FIG. 4, first, initial time offset values of a plurality of auxiliary controllers and initial propagation delay values of connection lines are extracted from a primary controller (S401). The initial propagation delay value can be extracted by using the time taken for the initial data to be transmitted to the secondary controller to extract the initial propagation delay value when the system including the primary controller boots.
이어서, 주 제어기에서 실행 데이터를 보조 제어기들로 전송한다(S402). 이때, 주 제어기의 실행 데이터는 제1 보조 제어기 및 제4 보조 제어기와 연결된다. 제1 보조 제어기는 제2 보조 제어기와 연결되고, 제2 보조 제어기는 제3 보조 제어기와 연결된다. 그리고 제3 보조 제어기는 제4 보조 제어기와 연결됨으로, 주 제어기 및 제1 보조 제어기 내지 제4 보조 제어기는 링 형태로 연결된다. 또한 주 제어기 및 제1 보조 제어기 내지 제4 보조 제어기는 각각 제1 송수신부 및 제2 송수신부를 구비하여 더블 라인으로 연결된다. Subsequently, execution data is transmitted from the primary controller to the secondary controllers (S402). At this time, the execution data of the primary controller is connected to the first secondary controller and the fourth secondary controller. The first auxiliary controller is connected with the second auxiliary controller, and the second auxiliary controller is connected with the third auxiliary controller. And since the third auxiliary controller is connected to the fourth auxiliary controller, the main controller and the first to fourth auxiliary controllers are connected in a ring form. In addition, the main controller and the first auxiliary controller to the fourth auxiliary controller are provided with a first transceiver and a second transceiver, respectively, and are connected by a double line.
주 제어기에서 실행 데이터를 보조 제어기들로 전송할 때, 제1 보조 제어기 및 제4 보조 제어기로 동시에 실행 데이터를 전송한다. 즉, 주 제어기가 직접적으로 연결된 복수개의 보조 제어기로 데이터를 송신할 때, 연결된 복수개의 보조 제어기에 송신하는 데이터는 모두 같은 데이터이다. 제1 보조 제어기로 전송된 실행 데이터는 낮은 차수 순서로 보조 제어기에 전송 및 처리된다. 동시에 제4 보조 제어기로 전송된 실행 데이터는 높은 차수 순서대로 보조 제어기에 전송 및 처리된다. When the execution data is transmitted from the primary controller to the secondary controllers, the execution data is simultaneously transmitted to the first secondary controller and the fourth secondary controller. That is, when the main controller transmits data to a plurality of directly connected secondary controllers, the data transmitted to the connected plurality of secondary controllers are all the same data. Execution data sent to the first secondary controller is transmitted and processed to the secondary controller in low order. At the same time, the execution data transmitted to the fourth secondary controller is transmitted and processed to the secondary controller in high order.
각 보조 제어기에서 처리된 데이터는 최종적으로 주 제어기가 수신한다.The data processed by each secondary controller is finally received by the primary controller.
이어서, 주 제어기는 주 제어기, 보조 제어기 또는 연결 라인 중 어느 하나의 장애를 검출한다(S403). 주 제어기에서 수신한 최종 처리 데이터에 포함된 각 보조 제어기의 실행 데이터 송수신 시간 및 이동 경로 등을 통해서 장애 위치를 추출한다.Subsequently, the main controller detects a failure of any one of the main controller, the auxiliary controller, or the connection line (S403). The fault location is extracted from the execution data transmission time and movement path of each auxiliary controller included in the final processing data received from the primary controller.
이어서, 장애를 검출 결과, 연결 라인 장애 검출 시 네트워크 토폴로지를 변경한다(S404). 예를 들어, 제2 보조 제어기와 제3 보조 제어기를 연결하는 연결 라인의 장애가 검출 되었다면, 네트워크 토폴로지는 두 개의 라인 토폴로지로 변경이 될 것이다. 즉, 주 제어기와 제1 보조 제어기가 연결되고, 제1 보조 제어기와 제2 보조 제어기가 연결되어 제1 라인 토폴로지가 구성된다. 또한, 주 제어기와 제4 보조 제어기가 연결되고, 제4 보조 제어기와 제3 보조 제어기가 연결되어 제2 라인 토폴로지가 구성된다.Subsequently, as a result of detecting the failure, the network topology is changed when the connection line failure is detected (S404). For example, if a failure of a connection line connecting the second secondary controller and the third secondary controller is detected, the network topology will be changed to a two line topology. That is, the primary controller and the first secondary controller are connected, and the first secondary controller and the second secondary controller are connected to form a first line topology. In addition, a main controller and a fourth auxiliary controller are connected, and a fourth auxiliary controller and a third auxiliary controller are connected to form a second line topology.
이어서, 변경된 네트워크 토폴로지에 상응하여, 보조 제어기의 타임 오프셋 값과 연결 라인의 전파 지연 값을 재설정한다(S405). 즉, 제1 라인 토폴로지와 제2 라인 토폴로지에 각각에 대응되는 전파 지연 값 및 타임 오프셋 값을 계산하여 재 설정한다. Subsequently, in accordance with the changed network topology, the time offset value of the auxiliary controller and the propagation delay value of the connection line are reset (S405). That is, the propagation delay value and the time offset value corresponding to each of the first line topology and the second line topology are calculated and reset.
도 5는 본 발명의 실시예에 따른 초기 타임 오프셋 값 및 초기 전파 지연 값을 추출하는 방법을 나타낸 순서도이다.5 is a flowchart illustrating a method of extracting an initial time offset value and an initial propagation delay value according to an embodiment of the present invention.
도 5에 의하면, 우선, 주 제어기가 초기 타임 오프셋 값을 설정하기 위한 임의의 데이터인 초기 설정 데이터를 보조 제어기들로 전송한다(S501). 이때, 주 제어기가 초기 설정 데이터를 전송하는 때는 주 제어기를 포함하는 시스템이 부팅되는 시점이나 임의의 설정된 시간이 될 수 있다. 또한, 주 제어기가 초기 설정 데이터를 전송하는 보조 제어기는 주 제어기와 직접적으로 네트워크 연결된 보조 제어기이다.Referring to FIG. 5, first, the main controller transmits initial setting data, which is arbitrary data for setting an initial time offset value, to the auxiliary controllers (S501). In this case, when the main controller transmits the initial configuration data, it may be a time point at which the system including the main controller is booted or an arbitrary set time. In addition, the secondary controller to which the primary controller transmits the initial configuration data is the secondary controller directly networked with the primary controller.
이어서, 보조 제어기가 수신한 초기 설정 데이터를 처리한다(S502). 즉, 보조 제어기는 주 제어기로부터 수신한 초기 설정 데이터에 대한 작업을 수행한다.Subsequently, the auxiliary controller processes the initial setting data received (S502). That is, the secondary controller performs operations on the initial configuration data received from the primary controller.
이어서, 보조 제어기가 처리된 초기 설정 데이터를 주 제어기로 전송한다(S503). 만약, 복수개의 보조 제어기가 있는 경우, 초기 설정 데이터는 복수개의 보조 제어기를 거쳐 처리를 마친 후 최종적으로 주 제어기로 전송된다. 예를 들어, 주 제어기와 제1 보조 제어기부터 제4 보조 제어기까지 링 토폴로지 형태로 연결된 경우, 주 제어기는 제1 보조 제어기와 제2 보조 제어기로 초기 설정 데이터를 전송한다. 이후 초기 설정 데이터는 제1 보조 제어기 및 제 4 보조 제어기에서 차례대로 연결된 보조 제어기로 송수신 및 처리되어 최종적으로 처리된 초기 설정 데이터가 주 제어기로 전송된다.Subsequently, the secondary controller transmits the processed initial setting data to the primary controller (S503). If there are a plurality of auxiliary controllers, the initial setting data is transmitted to the main controller after finishing processing through the plurality of auxiliary controllers. For example, when the primary controller and the first secondary controller to the fourth secondary controller are connected in a ring topology, the primary controller transmits initial configuration data to the first secondary controller and the second secondary controller. Thereafter, the initial configuration data is transmitted and received and processed from the first auxiliary controller and the fourth auxiliary controller to the connected secondary controller in turn, and finally the processed initial configuration data is transmitted to the primary controller.
이어서, 주 제어기는 보조 제어기로부터 수신한 처리된 초기 설정 데이터를 이용하여 초기 전파 지연 값 및 타임 오프셋 값을 설정한다(S504). 처리된 초기 설정 데이터는 각 보조 제어기에 송수신된 시간 및 처리 시간을 포함하고 있다. 즉, 주 제어기가 수신한 초기 설정 데이터에는 초기 설정 데이터의 이동 경로에 포함된 보조 제어기의 초기 설정 데이터 송수신 시간 및 처리 시간이 포함되어 있다. 따라서, 주 제어기 및 각 보조 제어기의 초기 설정 데이터 송수신 시간 및 처리 시간을 이용하여 초기 타임 오프셋 값을 계산하여 설정한다.Subsequently, the primary controller sets an initial propagation delay value and a time offset value by using the processed initial setting data received from the secondary controller (S504). The processed initial setting data includes time and processing time transmitted and received to each secondary controller. That is, the initial configuration data received by the primary controller includes initial configuration data transmission / reception time and processing time of the secondary controller included in the movement path of the initial configuration data. Therefore, the initial time offset value is calculated and set using the initial setting data transmission / reception time and processing time of the primary controller and each secondary controller.
도 6은 본 발명의 실시예에 따른 연결 장애를 검출하는 방법을 나타낸 순서도이다.6 is a flowchart illustrating a method for detecting a connection failure according to an embodiment of the present invention.
도 6에 의하면, 우선 보조 제어기들이 수신한 실행 데이터를 처리한다(S601). According to FIG. 6, first, execution data received by the auxiliary controllers is processed (S601).
이어서, 처리된 실행 데이터를 주 제어기로 전송한다(S602).Subsequently, the processed execution data is transmitted to the main controller (S602).
이어서, 주 제어기가 수신한 처리된 실행 데이터에 포함된 보조 제어기들의 실행 데이터의 송수신 시간 및 처리 시간을 이용하여 주 제어기, 보조 제어기 또는 연결 라인의 장애를 검출한다(S603).Subsequently, a failure of the main controller, the auxiliary controller, or the connection line is detected using the transmission and reception time and the processing time of the execution data of the auxiliary controllers included in the processed execution data received by the main controller (S603).
본 발명의 실시예를 좀 더 쉽게 이해하기 위해 다음과 같이 예를 들어 설명한다.In order to more easily understand the embodiment of the present invention, an example will be described as follows.
주 제어기와 제1 보조 제어기 내지 제4 보조 제어기가 링 토폴로지 형태로 연결되어 있고, 제2 보조 제어기와 제3 보조 제어기를 연결하는 연결 라인에 장애가 있다.The main controller and the first to fourth auxiliary controllers are connected in a ring topology, and there is a failure in the connection line connecting the second and third auxiliary controllers.
주 제어기가 실행 데이터를 제1 보조 제어기와 제4 보조 제어기로 동시에 전송한다. 여기서 제1 보조 제어기와 제4 보조 제어기는 주 제어기와 직접적으로 네트워크 연결 된다. The primary controller simultaneously transmits the execution data to the first secondary controller and the fourth secondary controller. Here, the first auxiliary controller and the fourth auxiliary controller are directly networked with the main controller.
제1 보조 제어기 및 제4 보조 제어기는 주 제어기로부터 전송 받은 실행 데이터를 처리한다. 이어서, 제1 보조 제어기에서 처리된 실행 데이터인 제1-1 처리 데이터를 제2 보조 제어기로 전송한다. 또한, 제4 보조 제어기에서 처리된 실행 데이터인 제2-1 처리 데이터를 제3 보조 제어기로 전송한다. 제1-1 처리 데이터는 주 제어기로부터 수신한 실행 데이터에 제1 보조 제어기에서 처리된 실행 데이터의 결과가 업데이트 된 것이다. 또한, 제2-1 처리 데이터는 주 제어기로부터 수신한 실 행 데이터에 제4 보조 제어기에서 처리된 실행 데이터의 결과가 업데이트 된 것이다. 이때, 업데이트 된 처리 결과에는 제1 보조 제어기 및 제2 보조제어기가 각각 실행 데이터를 수신한 시간, 실행 데이터를 처리하는 시간, 제1-1 처리 데이터 및 제2-2 처리 데이터를 송신하는 시간 등을 포함한다.The first secondary controller and the fourth secondary controller process execution data received from the primary controller. Subsequently, the first-first processing data, which is the execution data processed by the first auxiliary controller, is transmitted to the second auxiliary controller. Also, the 2-1th processing data, which is the execution data processed by the fourth auxiliary controller, is transmitted to the third auxiliary controller. In the first-first process data, the result of the execution data processed by the first auxiliary controller is updated with the execution data received from the main controller. In addition, in the 2-1 process data, the result of the execution data processed by the fourth auxiliary controller is updated with the execution data received from the main controller. In this case, the updated processing result may include a time at which the first auxiliary controller and the second auxiliary controller receive the execution data, a time of processing the execution data, a time of transmitting the 1-1 process data and the 2-2 process data, and the like. It includes.
이어서, 제2 보조 제어기는 수신한 제1-1 처리 데이터를 처리한다. 또한 제3 보조 제어기는 수신한 제2-1 처리 데이터를 처리한다. The second auxiliary controller then processes the received 1-1 process data. In addition, the third auxiliary controller processes the received 2-1 processing data.
이때, 여기서, 제2 보조 제어기와 제3 보조 제어기가 장애로 의해서 서로 네트워크 연결이 되어 있지 않다. 그러므로, 제2 보조 제어기에서 처리된 데이터인 제1-2 처리 데이터와 제3 보조 제어기에서 처리된 데이터인 제2-2 처리 데이터는 각각 제3 보조 제어기와 제2 보조 제어기로 전송될 수 없다. 따라서, 제 1-2 처리 데이터와 제2-2 처리 데이터는 최종 데이터가 된다. In this case, the second auxiliary controller and the third auxiliary controller are not connected to each other due to a failure. Therefore, the 1-2 processing data, which is the data processed by the second auxiliary controller, and the 2-2 processing data, which is the data processed by the third auxiliary controller, cannot be transmitted to the third auxiliary controller and the second auxiliary controller, respectively. Therefore, the 1-2 processing data and the 2-2 processing data become final data.
이어서, 제1-2 처리 데이터는 제 1 보조 제어기를 거쳐 주 제어기로 전송된다. 또한, 제2-2 처리 데이터도 제 4 보조 제어기를 거쳐 주 전송 제어기로 전송된다.Subsequently, the 1-2 processing data is transmitted to the primary controller via the first secondary controller. In addition, the second-2 process data is also transmitted to the primary transmission controller via the fourth auxiliary controller.
이어서, 주 제어기는 수신한 최종 데이터에 포함되어 있는 데이터 송수신 시간 및 처리 시간과 초기 설정 데이터 송수신 시간 및 처리 시간을 이용하여, 연결 장애가 발생한 위치를 추출한다.Subsequently, the main controller extracts a location where a connection failure occurs by using the data transmission / reception time and processing time and initial setting data transmission / reception time and processing time included in the received final data.
도 7은 본 발명의 실시예에 따라 연결 라인의 장애에 의한 네트워크 토폴로지 변화를 나타낸 예시도이다.7 is an exemplary diagram illustrating a change in network topology due to a failure of a connection line according to an embodiment of the present invention.
도 7a는, 초기 네트워크 토폴로지로 링 토폴로지이다.7A is a ring topology as an initial network topology.
이때, 링 토폴로지에서 장애가 발생한 연결 라인의 위치에 따라, 네트워크 토폴로지는 라인 토폴로지 또는 더블 라인 토폴로지로 변화된다.At this time, the network topology is changed to a line topology or a double line topology, depending on the position of the connection line that has failed in the ring topology.
도 7b는 주 제어기(701)와 제4 보조 제어기(702)를 연결하는 연결 라인인 제5 연결 라인(703)에 장애가 발생한 경우를 나타낸다. 이와 같은 제5 연결 라인(703)의 장애로 링 토폴로지가 라인 토폴로지의 형태로 변경된 것을 확인 할 수 있다.FIG. 7B illustrates a case where a failure occurs in the
도 7c는 제3 보조 제어기(704)와 제4 보조 제어기(705)를 연결하는 연결 라인인 제3 연결 라인(706)에 장애가 발생한 경우를 나타낸다. 이와 같은 제3 연결 라인(706)의 장애로 링 토폴로지가 더블 라인 토폴로지 형태로 변경된 것을 확인 할 수 있다.FIG. 7C illustrates a case where a failure occurs in the
도 8은 본 발명의 실시예에 따라 네트워크 토폴로지에 따른 데이터 송수신 경로를 나타낸 예시도이다.8 is an exemplary diagram illustrating a data transmission / reception path according to a network topology according to an embodiment of the present invention.
도 8에서 확인 할 수 있듯이, 네트워크 토폴로지의 종류에 따라 물리적 네트워크 연결에 의해서 보조 제어기의 순차적인 주소가 결정될 수 있다.As can be seen in Figure 8, the sequential address of the secondary controller can be determined by the physical network connection according to the type of network topology.
도 8a는 연결 라인의 장애가 발생하지 않은 경우 링 토폴로지의 데이터 송수신 경로를 나타낸다.8A illustrates a data transmission / reception path of a ring topology when a failure of a connection line does not occur.
도 8b는 도8a에서 주 제어기(801)와 제4 보조 제어기(802)를 연결하는 제5 연결 라인(803)에 장애가 발생한 경우 데이터 송수신 경로를 나타낸다.FIG. 8B illustrates a data transmission / reception path when a failure occurs in the
주 제어기 또는 보조 제어기와 연결된 연결 라인에 장애가 발생한 경우 내부적으로 루프 백(Loop Back)시킨다. 즉, 제4 보조 제어기(802)에서 제5 연결 라인(803)의 장애를 감지하면, 제4 보조 제어기 내부적으로 데이터를 루프 백 시켜 제3 보조 제어기(805)로 전송한다.Loop back internally in case of a failure in the connection line connected to the primary or secondary controller. That is, when the fourth
즉, 제5 연결 라인(803)의 장애로 링 토폴로지는 라인 토폴로지일 경우와 같은 데이터 송수신 경로를 통해 데이터가 전송된다.That is, due to the failure of the
도 8c는 도 8a에서 제2 보조 제어기(804)와 제3 보조 제어기(805)를 연결하는 제3 연결 라인(806)에 장애가 발생한 경우 데이터 송수신 경로를 나타낸다.FIG. 8C illustrates a data transmission / reception path when a failure occurs in the
이때, 주 제어기(801)부터 제2 보조 제어기(804)까지 전송된 데이터는 제2 보조 제어기와 연결된 제3 연결 라인(806)의 장애를 감지하고, 제2 보조 제어기 내부적으로 데이터를 루프 백 시켜 제1 보조 제어기(807)로 전송한다.At this time, the data transmitted from the
또한, 주 제어기(801)부터 제3 보조 제어기(805)까지 전송된 데이터는 제3 보조 제어기(805)와 연결된 제3 연결 라인(806)의 장애를 감지하고, 제3 보조 제어기 내부적으로 데이터를 루프 백 시켜 제 4 보조 제어기(802)로 전송한다.In addition, the data transmitted from the
즉, 제3 연결 라인(806)의 장애로 링 토폴로지는 더블 라인 토폴로지와 같은 데이터 송수신 경로를 통해 데이터가 전송된다.That is, due to the failure of the
위와 같이, 도 8a 내지 도 8c를 통해서, 장애가 발생한 연결 라인의 위치에 따른 네트워크 토폴로지의 변경에 의해서, 데이터의 이동 경로가 변하는 것을 알 수 있다. 즉, 데이터의 이동 경로의 변경에 의해서, 주 제어기가 송신한 데이터를 각 보조 제어기가 수신할 때까지의 전파 지연 값이 초기 전파 지연 값과 달라 질 수 있다. 예를 들어, 도 8a 내지 도 8c에서 제 3 보조 제어기의 T_3_0의 값이 다른 값으로 측정 될 수 있다. 여기서, T_3_0는 제3 보조 제어기에서 데이터를 송신한 시간이다. 도 8a 및 도 8b의 경우, T_3_0의 값은 제1 및 제2 보조 제어기에서의 데이터 송수신 시간 및 데이터 처리 시간을 포함한다. 그러나 도 8c의 경우, T_3_0의 값은 제4 보조 제어기의 데이터 송수신 및 처리 시간과 제3 보조 제어기의 데이터 송신 및 처리 시간이 포함된다.As described above, it can be seen from FIG. 8A to FIG. 8C that the movement path of data is changed by changing the network topology depending on the location of the failed connection line. That is, due to the change of the movement path of the data, the propagation delay value until each secondary controller receives the data transmitted by the primary controller may be different from the initial propagation delay value. For example, in FIG. 8A to FIG. 8C, the value of T_3_0 of the third auxiliary controller may be measured as another value. Here, T_3_0 is a time when data is transmitted from the third auxiliary controller. In the case of FIGS. 8A and 8B, the value of T_3_0 includes data transmission / reception time and data processing time in the first and second auxiliary controllers. However, in the case of FIG. 8C, the value of T_3_0 includes data transmission and reception time of the fourth auxiliary controller and data transmission and processing time of the third auxiliary controller.
도 9는 본 발명의 실시예에 따른 전파 지연 값과 타임 오프셋 값을 계산하기 위한 변수에 대한 정의를 나타낸 예시도이다.9 is an exemplary view showing definitions of variables for calculating a propagation delay value and a time offset value according to an embodiment of the present invention.
타임 오프셋은 주 제어기에서 데이터를 전송할 때의 주 제어기의 내부 시계 값과 보조 제어기가 데이터를 수신했을 때의 보조 제어기의 내부 시계 값의 차이이다.The time offset is the difference between the internal clock value of the primary controller when transmitting data from the primary controller and the internal clock value of the secondary controller when the secondary controller receives data.
전파 지연은 주 제어기에서 데이터를 전송한 시간과 보조 제어기에서 데이터를 수신한 시간의 차이이다. 즉, 주 제어기와 보조 제어기 또는 보조 제어기들 사이의 데이터 전송에 의해서 전파 지연이 발생할 수 있다. 또한, 주 제어기 또는 보조 제어기에서 데이터 처리 및 내부적으로 데이터를 송수신부로 전달함에 있어서 전파 지연이 발생할 수 있다.The propagation delay is the difference between the time the data is sent from the primary controller and the time the data is received from the secondary controller. That is, a propagation delay may occur due to data transmission between the primary controller and the secondary controller or the secondary controllers. In addition, a propagation delay may occur in data processing in the main controller or auxiliary controller and internally transferring data to the transceiver.
이와 같은 전파 지연에 의해서, 주 제어기 또는 보조 제어기의 제어를 수행하는 시간에 있어서, 각각 타임 오프셋 값이 설정되어 제어가 수행된다.By this propagation delay, time offset values are set and control is performed at the time of performing control of the main controller or the auxiliary controller, respectively.
그러나, 연결 라인의 장애 위치에 의해 변경된 네트워크 토폴로지에 의해서 데이터 전송 경로의 변경으로 전파 지연 값이 변화할 수 있다. 따라서, 이와 같은 경우에는 타임 오프셋 값을 재계산하여 재설정이 필요하게 된다.However, the propagation delay value may change due to the change of the data transmission path due to the network topology changed by the fault location of the connection line. Therefore, in such a case, it is necessary to reset the time offset value again.
도 10은 본 발명의 다른 실시예에 따른 주 제어기와 보조 제어기가 순방향으로 연결 되어 데이터가 전송될 때의 전파 지연 값을 나타낸 예시도이다.FIG. 10 is an exemplary diagram illustrating a propagation delay value when data is transmitted by connecting a primary controller and a secondary controller in a forward direction according to another embodiment of the present invention.
T_PDF_l은 데이터가 순방향으로 전송될 때, 순차 주소 l인 보조 제어기의 전파 지연 값을 나타낸다. L[n]은 n번째 연결 라인으로 데이터가 이동하는데 걸리는 시간이다. T_Pro는 데이터가 주 제어기 또는 보조 제어기에서 처리되는데 소요되는 시간이다. T_For은 데이터가 주 제어기 또는 보조 제어기 내부적으로 수신부에서 송신부로 이동하는데 소요되는 시간이다.T_PDF_l represents the propagation delay value of the secondary controller at sequential address l when data is transmitted in the forward direction. L [n] is the time taken for data to move to the nth connection line. T_Pro is the time it takes for the data to be processed in the primary or secondary controller. T_For is the time taken for data to travel from the receiver to the transmitter internally in the primary or secondary controller.
주 제어기와 보조 제어기가 순방향으로 연결되었을 때, T_PDF_l은 [수학식 1]과 같이 계산된다.When the primary controller and the secondary controller are connected in the forward direction, T_PDF_l is calculated as shown in [Equation 1].
[수학식 1][Equation 1]
T_PDF_1 = L[1]T_PDF_1 = L [1]
T_PDF_2 = L[1] + L[2] + T_ProT_PDF_2 = L [1] + L [2] + T_Pro
T_PDF_3 = L[1] + L[2] + L[3] + 2*T_ProT_PDF_3 = L [1] + L [2] + L [3] + 2 * T_Pro
또한, 주 제어기 또는 보조 제어기가 순방향으로 송신한 데이터를 처리 후 다시 수신할 때까지 걸리는 시간은 아래의 [수학식 2]와 같이 계산 될 수 있다.In addition, the time taken by the primary controller or the secondary controller to receive again after processing the data transmitted in the forward direction can be calculated as shown in
[수학식 2][Equation 2]
t[1] = T_0_0 - T_Rt [1] = T_0_0-T_R
t[2] = T_1_0 - T_1_1t [2] = T_1_0-T_1_1
t[3] = T_2_0 - T_2_1t [3] = T_2_0-T_2_1
여기서, t[n]은 주 제어기 또는 보조 제어기가 송신한 데이터를 처리 후 다시 수신할 때까지 걸리는 시간을 나타낸다. 여기서 n은 #l+1이 된다. 예를 들어, t[1]은 주 제어기에 송신한 데이터가 보조 제어기들을 거쳐 처리된 후 처리된 데이터가 다시 주 제어기로 수신될 때까지 걸리는 시간이다. t[2]는 제1 보조 제어기에서 송신한 데이터가 다른 보조 제어기들을 거쳐 처리된 후 처리된 데이터를 제1 보조 제어기가 다시 수신할 때까지 소요되는 시간이다.Here, t [n] represents the time taken by the primary controller or the secondary controller to receive data again after processing. Where n is # l + 1. For example, t [1] is the time it takes for the data sent to the primary controller to be processed through the secondary controllers before the processed data is received back to the primary controller. t [2] is a time taken until the first auxiliary controller receives the processed data again after the data transmitted from the first auxiliary controller is processed through the other auxiliary controllers.
여기서, 주 제어기와 제1 보조 제어기 또는 보조 제어기들 사이의 데이터 전송 및 처리 시간은 [수학식 3]과 같이 표현될 수 있다.Here, the data transmission and processing time between the primary controller and the first secondary controller or secondary controllers can be expressed as shown in [Equation 3].
[수학식 3]&Quot; (3) "
L[1]=(t[1]-t[2]-T_For)/2L [1] = (t [1] -t [2] -T_For) / 2
L[2]+T_Pro=(t[2]-t[3]+T_Pro-T_For)/2L [2] + T_Pro = (t [2] -t [3] + T_Pro-T_For) / 2
L[3]+T_Pro=(t[3]-T_For)/2L [3] + T_Pro = (t [3] -T_For) / 2
L[3]+T_For=(t[3]-T_For+2*T_Pro)/2L [3] + T_For = (t [3] -
L[2]+T_For=(t[2]-t[3]-T_Pro+T_For)/2L [2] + T_For = (t [2] -t [3] -T_Pro + T_For) / 2
L[1]+T_For=(t[1]-t[2]+T_For)/2L [1] + T_For = (t [1] -t [2] + T_For) / 2
도 11은 본 발명의 다른 실시예에 따른 주 제어기와 보조 제어기가 역방향으로 연결 되어 데이터가 전송될 때의 전파 지연 값을 나타낸 예시도이다.11 is an exemplary diagram illustrating a propagation delay value when data is transmitted by connecting a main controller and a secondary controller in a reverse direction according to another embodiment of the present invention.
T_PDR_l은 데이터가 역방향으로 전송될 때 순차 주소 l인 보조 제어기의 전파 지연 값을 나타낸다.T_PDR_l represents the propagation delay value of the secondary controller at sequential address l when data is transmitted in the reverse direction.
주 제어기와 보조 제어기가 역방향으로 연결 되었을 때, T_PDR_l은 [수학식 4]와 같이 계산된다.When the primary controller and the secondary controller are connected in the reverse direction, T_PDR_l is calculated as shown in [Equation 4].
[수학식 4]&Quot; (4) "
T_PDR_1 = L[3] + L[2] + T_For + L[1] + T_ForT_PDR_1 = L [3] + L [2] + T_For + L [1] + T_For
T_PDR_2 = L[3] + L[2] + T_For + L[1] + T_For + L[1] + T_ProT_PDR_2 = L [3] + L [2] + T_For + L [1] + T_For + L [1] + T_Pro
T_PDR_3 = L[3] + L[2] + T_For + L[1] + T_For + L[1] + T_Pro + L[2] + T_ProT_PDR_3 = L [3] + L [2] + T_For + L [1] + T_For + L [1] + T_Pro + L [2] + T_Pro
또한, 주 제어기 또는 보조 제어기가 역방향으로 송신한 데이터를 처리 후 다시 수신할 때까지 걸리는 시간은 아래의 [수학식 5]와 같이 계산 될 수 있다.In addition, the time taken until the primary controller or the secondary controller receives the data transmitted in the reverse direction again after processing can be calculated as shown in Equation 5 below.
[수학식 5][Equation 5]
t[0] = T_0_1 - T_Rt [0] = T_0_1-T_R
t[1] = T_3_1 - T_3_0t [1] = T_3_1-T_3_0
t[2] = T_2_1t [2] = T_2_1
도 12는 본 발명의 실시예에 따른 연결 라인의 장애에 의한 전파 지연 값 및 타임 오프셋 값을 재설정하는 방법을 나타낸 예시도이다.12 is an exemplary diagram illustrating a method of resetting a propagation delay value and a time offset value due to a failure of a connection line according to an embodiment of the present invention.
도 12에 의하면, 연결 라인의 장애에 의하여 링 토폴로지가 더블 라인 토폴로지로 변경되었다. 즉, 제3 보조 제어기와 제4 보조 제어기 사이의 연결 라인의 장애에 의해서 데이터의 전송 경로가 달라짐을 확인 할 수 있다. 이와 같은 데이터 전송 경로의 변경에 따른 제3 보조 제어기 및 제4 보조 제어기의 전파 지연 값 및 타임 오프셋 값을 재설정 한다.According to FIG. 12, the ring topology is changed to a double line topology due to a failure of the connection line. That is, it can be confirmed that the transmission path of data is changed by the failure of the connection line between the third and fourth auxiliary controllers. The propagation delay value and the time offset value of the third auxiliary controller and the fourth auxiliary controller according to the change of the data transmission path are reset.
초기 링 토폴로지였을 때의 전파 지연 값인 T_SL[n]은 [수학식 6]과 같이 표현된다.The propagation delay value T_SL [n] in the initial ring topology is expressed by Equation 6 below.
[수학식 6]&Quot; (6) "
T_SL[3]=L[1]+L[2]+T_Pro+L[3]+T_ProT_SL [3] = L [1] + L [2] + T_Pro + L [3] + T_Pro
T_SL[4]=L[1]+L[2]+T_Pro+L[3]+T_Pro+ L[4]+T_ProT_SL [4] = L [1] + L [2] + T_Pro + L [3] + T_Pro + L [4] + T_Pro
연결 라인의 장애로 더블 라인 토폴로지로 변경된 후의 전파 지연 값인 T_DL[n]은 [수학식 7]과 같이 표현된다.The propagation delay value T_DL [n] after changing to the double line topology due to the failure of the connection line is expressed by Equation 7 below.
[수학식 7][Equation 7]
T_SL[3]=L[0]+L[4]+T_For+T_For T_SL [3] = L [0] + L [4] + T_For + T_For
T_SL[4]=L[0]+L[4]+T_For+T_For+L[4]+T_ProT_SL [4] = L [0] + L [4] + T_For + T_For + L [4] + T_Pro
이와 같이, 초기 전파 지연 값 및 토폴로지 변경 후의 전파 지연 값을 이용하여 [수학식 8]과 같이 타임 오프셋 값인 T_OFF를 재계산 할 수 있다.In this manner, the time offset value T_OFF can be recalculated using Equation 8 using the initial propagation delay value and the propagation delay value after the topology change.
[수학식 8][Equation 8]
T_OFF_3=기존 값-(T_SL[3]-T_DL[3])T_OFF_3 = Old Value- (T_SL [3] -T_DL [3])
T_OFF_4=기존 값-(T_SL[4]-T_DL[4])T_OFF_4 = Existing Value- (T_SL [4] -T_DL [4])
여기서, 기존 값은 초기 링 토폴로지였을 때의 제3 보조 제어기와 제4 보조 제어기 각각의 타임 오프셋 값이 초기 타임 오프셋 값이다.Here, the existing value is the time offset value of each of the third and fourth auxiliary controllers in the initial ring topology.
이와 같이, 연결 라인의 장애가 검출 되었을 때, 초기 전파 지연 및 초기 오프셋 값을 이용하여, 변경된 토폴로지의 변화에 상응하는 타임 오프셋 값을 간단한 수식으로 재 설정이 가능하다.As such, when a failure of the connection line is detected, the time offset value corresponding to the change of the changed topology may be reset by a simple equation by using the initial propagation delay and the initial offset value.
본 발명의 실시예에서는 링 토폴로지를 기준으로 연결 라인의 장애가 발생하였을 경우, 장애가 발생한 연결 라인의 위치에 따라서 라인 토폴로지 또는 더블 라인 토폴로지로 변경 될 수 있음이 설명된다. 그러나 변경 가능한 토폴로지는 이에 한정되지 않고, 초기 토폴로지의 종류 및 장애가 발생한 연결 라인의 위치에 따라 다양한 네트워크 토폴로지로 변경 및 확장이 가능하다.In the embodiment of the present invention, when a failure of a connection line occurs on the basis of a ring topology, it may be explained that a line topology or a double line topology may be changed according to the position of the connection line where the failure occurs. However, the changeable topology is not limited to this, and can be changed and expanded to various network topologies according to the type of initial topology and the location of the failed connection line.
본 발명에 따른 네트워크 기반 로봇 제어 방법 및 장치는 제어기들 간에 특정 동작이 계획되어 있는 시간의 불일치 때문에 발생되는 동작으로 인한 제어 시스템 전체의 성능 저하를 방지하는 것이 가능하다는 이점이 있다.Network-based robot control method and apparatus according to the present invention has the advantage that it is possible to prevent the performance degradation of the entire control system due to the operation caused by the inconsistency of the time that the specific operation is planned between the controller.
또한, 네트워크 케이블 오류에 대처 가능한 잉여 케이블링(Cabling Redundancy) 가능하다는 이점이 있다.In addition, there is an advantage in that redundant cabling (Cabling Redundancy) capable of coping with network cable failure.
또한, 실시간 머지(Merge) 작업으로 네트워크 케이블 오류가 발생되어도 시스템의 논리적 처리에 영향을 미치지 않는다는 이점이 있다.In addition, even if a network cable error occurs due to a real-time merge operation, it does not affect the logical processing of the system.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.
도 1은 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 시스템을 나타낸 블록도.1 is a block diagram showing a network-based robot control system according to an embodiment of the present invention.
도 2는 네트워크 기반 로봇 제어 시스템의 주 제어기에 대한 내부 블록도.2 is an internal block diagram of a main controller of a network-based robot control system.
도 3은 네트워크 기반 로봇 제어 시스템의 보조 제어기에 대한 내부 블록도.3 is an internal block diagram of an auxiliary controller of a network-based robot control system.
도 4는 본 발명의 실시예에 따른 네트워크 기반 로봇 제어 방법을 나타낸 순서도.4 is a flow chart showing a network-based robot control method according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 초기 타임 오프셋 값 및 초기 전파 지연 값을 추출하는 방법을 나타낸 순서도.5 is a flowchart illustrating a method of extracting an initial time offset value and an initial propagation delay value according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 연결 장애를 검출하는 방법을 나타낸 순서도.6 is a flowchart illustrating a method for detecting a connection failure according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따라 연결 라인의 장애에 의한 네트워크 토폴로지 변화를 나타낸 예시도.7 is an exemplary view illustrating a change in network topology due to a failure of a connection line according to an embodiment of the present invention.
도 8은 본 발명의 실시예에 따라 네트워크 토폴로지에 따른 데이터 송수신 경로를 나타낸 예시도.8 is an exemplary view showing a data transmission and reception path according to a network topology according to an embodiment of the present invention.
도 9는 본 발명의 실시예에 따른 전파 지연 값과 타임 오프셋 값을 계산하기 위한 변수에 대한 정의를 나타낸 예시도.9 is an exemplary view showing definitions of variables for calculating a propagation delay value and a time offset value according to an embodiment of the present invention.
도 10은 본 발명의 다른 실시예에 따른 주 제어기와 보조 제어기가 순방향으로 연결 되어 데이터가 전송될 때의 전파 지연 값을 나타낸 예시도.10 is an exemplary diagram illustrating a propagation delay value when data is transmitted by connecting a primary controller and a secondary controller in a forward direction according to another embodiment of the present invention.
도 11은 본 발명의 다른 실시예에 따른 주 제어기와 보조 제어기가 역방향으 로 연결 되어 데이터가 전송될 때의 전파 지연 값을 나타낸 예시도.11 is an exemplary diagram illustrating a propagation delay value when data is transmitted by connecting a primary controller and a secondary controller in a reverse direction according to another embodiment of the present invention.
도 12는 본 발명의 실시예에 따른 연결 라인의 장애에 의한 전파 지연 값 및 타임 오프셋 값을 재설정하는 방법을 나타낸 예시도.12 is an exemplary view illustrating a method of resetting a propagation delay value and a time offset value due to a failure of a connection line according to an embodiment of the present invention.
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
101 201 : 주 제어기101 201: main controller
102 301 : 보조 제어기102 301: Auxiliary Controller
103 : 연결 라인103: connection line
202 302 : 시간 일치 제어부202 302: time matching controller
203 : 계산부203: calculation unit
204 : 저장부204: storage unit
205 : 머지205: Merge
206 303 : 내부 시계206 303: Internal Clock
207 304 : 제1 송수신부207 304: first transceiver
208 305 : 제2 송수신부208 305: second transceiver
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090088213A KR101148060B1 (en) | 2009-09-17 | 2009-09-17 | Apparatus and method for robot control based network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090088213A KR101148060B1 (en) | 2009-09-17 | 2009-09-17 | Apparatus and method for robot control based network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110030191A true KR20110030191A (en) | 2011-03-23 |
KR101148060B1 KR101148060B1 (en) | 2012-05-24 |
Family
ID=43935984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090088213A KR101148060B1 (en) | 2009-09-17 | 2009-09-17 | Apparatus and method for robot control based network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101148060B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101400319B1 (en) * | 2012-07-13 | 2014-05-28 | 삼성중공업 주식회사 | Star topology network based control system and time synchronization method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100202706B1 (en) * | 1996-10-05 | 1999-06-15 | 이종수 | Plc remote control system |
KR20080085477A (en) * | 2007-03-20 | 2008-09-24 | 주식회사 케이티 | Grand clock master selection and time sync method in synchronous ethernet |
-
2009
- 2009-09-17 KR KR1020090088213A patent/KR101148060B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101400319B1 (en) * | 2012-07-13 | 2014-05-28 | 삼성중공업 주식회사 | Star topology network based control system and time synchronization method |
Also Published As
Publication number | Publication date |
---|---|
KR101148060B1 (en) | 2012-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5154761B2 (en) | Applications of multiple time synchronization domains | |
US9148297B2 (en) | Information processor and control network system | |
US11444747B2 (en) | Measure and improve clock synchronization using combination of transparent and boundary clocks | |
US9208037B2 (en) | Duplexed operation processor control system, and duplexed operation processor control method | |
RU2679706C2 (en) | Two-channel architecture | |
CN106664145A (en) | Method for transmitting time synchronization messages in a communication network, network component, and communication network | |
US11314772B2 (en) | Robust data replication among data centers | |
CN104579534A (en) | Clock synchronization method and system in SDH network | |
JP5120097B2 (en) | Time synchronization system and time synchronization apparatus | |
CN110754067B (en) | Control system and control method | |
JP6298524B2 (en) | Method, apparatus and system for device matching | |
JP5643240B2 (en) | Time setting method, communication device, and time setting program | |
JP4855878B2 (en) | Multi-ring network system | |
JP6114096B2 (en) | Time synchronization method between robots | |
KR101148060B1 (en) | Apparatus and method for robot control based network | |
CN110771100B (en) | Control system and control method | |
US20150382051A1 (en) | Time synchronizing method, time connecting system, time master instrument, and time slave instrument | |
US10530602B2 (en) | Operating a highly available automation system | |
WO2021010166A1 (en) | Serial communication method and serial communication system | |
JP2020101995A (en) | Control system and control apparatus | |
JP6274436B2 (en) | Redundant control system | |
JP3706332B2 (en) | Process control device | |
JPH0462081B2 (en) | ||
JP2018207352A (en) | Network connection method | |
WO2023233588A1 (en) | Time synchronization device, time synchronization method, and time synchronization program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150504 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190502 Year of fee payment: 8 |