KR20230108990A - 반이중 시리얼 통신 방식에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기 - Google Patents

반이중 시리얼 통신 방식에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기 Download PDF

Info

Publication number
KR20230108990A
KR20230108990A KR1020220004808A KR20220004808A KR20230108990A KR 20230108990 A KR20230108990 A KR 20230108990A KR 1020220004808 A KR1020220004808 A KR 1020220004808A KR 20220004808 A KR20220004808 A KR 20220004808A KR 20230108990 A KR20230108990 A KR 20230108990A
Authority
KR
South Korea
Prior art keywords
packet
request
response
terminal
slave
Prior art date
Application number
KR1020220004808A
Other languages
English (en)
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 KR1020220004808A priority Critical patent/KR20230108990A/ko
Publication of KR20230108990A publication Critical patent/KR20230108990A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40019Details regarding a bus master
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/16Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 복수의 단말기가 반이중 시리얼 통신 프로토콜에 따라 패킷을 송수신하는 패킷 교환 시스템에 대한 것으로, 통신 회선의 점유를 획득하는 경우, 동일한 통신 회선을 통해 연결된 복수의 슬레이브 단말기 각각에 대응하는 요청 패킷들을 일괄적으로 상기 점유된 통신 회선을 통해 상기 복수의 슬레이브 단말기 각각에 전송 및, 상기 요청 패킷들을 일괄 전송한 이후에 상기 통신 회선의 점유를 해제하는 마스터 단말기 및, 상기 통신 회선을 통해 자신에게 대응하는 요청 패킷이 수신되면 수신된 요청 패킷에 대응하는 응답 패킷들을 각각 생성하고, 응답 패킷의 생성이 완료된 순서대로 통신 회선을 점유하여 응답 패킷을 상기 마스터 단말기에 전송하는 복수의 슬레이브 단말기를 포함하는 것을 특징으로 한다.

Description

반이중 시리얼 통신 방식에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기{PACKET SWITCHING SYSTEM ACCORDING TO HALF-DUPLEX SERIAL COMMUNICATION PROTOCOL, MASTER TERMINAL AND SLAVE TERMINAL OF THE SYSTEM}
본 발명은 모드버스(Modbus) 시리얼 프로토콜 중 RS-485 통신 프로토콜에 따라 패킷을 송수신하는 마스터 단말기와 슬레이브 단말기 및, 그 단말기들을 포함하는 패킷 교환 시스템에 대한 것이다.
산업 현장에서 대부분 사용되는 모드버스 RTU(Remote Terminal Unit)와 같이 하나의 마스터 단말기에 복수의 슬레이브 단말기가 연결되는 통신 시스템의 경우, RS-485와 같은 반이중(half duplex) 시리얼(serial) 통신 프로토콜에 따라 각 단말기들이 통신이 이루어질 수 있다.
한편 모드버스 시리얼 통신 프로토콜 중 반이중 통신을 사용하는 RS-485 통신 프로토콜의 경우 하나의 통신선을 연결된 각 단말기들이 공유하므로, 어느 하나의 단말기가 통신선을 점유하는 경우 다른 단말기는 통신선을 점유할 수 없다. 즉, 어느 하나의 단말기가 데이터, 즉 패킷을 전송하는 경우, 다른 단말기는 상기 어느 하나의 단말기가 패킷 전송을 위해 통신선을 점유하는 동안 패킷을 전송할 수 없으며, 패킷의 수신만 가능하다. 따라서 RS-485와 같은 반이중 시리얼 통신 프로토콜을 사용하는 네트워크로 연결된 단말기들은, 특정 시점에 다른 단말기로부터 전송되는 패킷을 수신하거나 또는 다른 단말기에 패킷을 전송 중 어느 하나만을 수행할 수 있다.
한편 모드버스 RTU와 같이 하나의 마스터(master) 단말기와 복수의 슬레이브(slave) 단말기가 연결되는 시스템(예 : 필드 버스(field bus) 시스템)의 경우, 복수의 슬레이브 단말기가 분산되어 설치되고, 제어기 역할을 하는 마스터 단말기가 상기 복수의 슬레이브 단말기에 연결되는 형태로 네트워크가 구성될 수 있다. 이 경우 마스터 단말기는 PLC(Program Logic Controller) 또는 DDC(Direct Digital Controller)일 수 있으며, 슬레이브 단말기는 필드 장비(센서, 인버터 등)일 수 있다. 그리고 마스터 단말기는 슬레이브 단말기에 정보를 요청하고, 슬레이브 단말기가 수신된 요청에 대한 응답으로 자신이 처리하는 정보, 예를 들어 센서의 계측 정보나 설비의 제어 정보 등을 마스터 단말기에 전송할 수 있다.
도 1a는 이러한 반이중 시리얼 통신 프로토콜을 통해 패킷을 교환하는 통상적인 패킷 교환 시스템의 마스터 단말기 및 슬레이브 단말기들의 예를 도시한 것이다. 그리고 도 1b는 상기 반이중 시리얼 통신 프로토콜을 통해 패킷들이 전송되는 경우에, 마스터 단말기에 응답 패킷들이 수신되는 시간을 도시한 타이밍(timing) 다이어그램을 나타낸 것이다.
먼저 도 1a를 참조하여 살펴보면, 마스터 단말기(10)(이하 마스터)는 슬레이브 단말기(이하 슬레이브)(11, 12, 13)가 복수인 경우, 기 설정된 순서에 따른 어느 하나의 슬레이브에 요청 패킷을 전송하고, 상기 요청 패킷을 수신한 슬레이브로부터 응답 패킷이 수신되면, 다음 차례의 슬레이브에 요청 패킷을 전송하는 구조를 가진다. 따라서 도 1a에서 보이고 있는 바와 같이, 제1 슬레이브(11)에 요청을 전송하는 경우 마스터(10)는 상기 제1 슬레이브(11)가 응답 패킷(제1 응답 패킷(1))을 전송할 때까지 대기하고, 상기 제1 슬레이브(11)에서 제1 응답 패킷(1)이 수신되는 경우에 제2 슬레이브(12)에 요청 패킷을 전송할 수 있다. 그리고 제2 슬레이브(12)가 요청에 대한 응답으로 제2 응답 패킷(2)을 전송할 때까지 대기하고, 제2 응답 패킷(2)이 수신되는 경우에 제3 슬레이브(13)에 요청 패킷을 전송할 수 있다. 그리고 요청에 대한 응답으로 제3 응답 패킷을 제3 슬레이브(13)로부터 수신할 수 있다.
이와 같은 구성을 가지기에, 도 1b에서 보이고 있는 바와 같이, 어느 하나의 슬레이브에서 응답 패킷(예 : 제2 응답 패킷(2))의 생성 시간이 길어지는 경우, 그 이후의 슬레이브에게 요청 패킷을 전송하는 시점이 길어질 수 있다. 즉 제2 응답 패킷(2)의 생성 시간이 길어지는 경우, 제3 슬레이브(13)에 요청 패킷을 전송하는 시점 역시 지연되고, 이에 따라 제3 슬레이브(13)의 응답 속도(요청 패킷이 전송된 이후 응답 패킷을 전송하는 속도)가 빠른 경우에도, 상기 제3 슬레이브(13)로부터 제3 응답 패킷(3)이 수신되는 시점이 지연될 수 있다. 즉, 마스터가, 복수의 슬레이브로부터 응답 패킷을 수신하는 시간이 지연될 수 있다는 문제가 있다.
이처럼 특정 슬레이브의 응답 처리 시간으로 인해 지연이 발생하는 경우, 그 이후의 슬레이브가 긴급한 정보 또는 중요 정보를 응답으로 제공하는 경우에, 상기 긴급한 정보 또는 중요 정보의 수신이 지연될 수 있다는 문제가 있다.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 하는 것으로, 반이중 시리얼 통신 방식으로 패킷을 교환하는 마스터 단말기 및 복수의 슬레이브 단말기 사이에서, 상기 마스터 단말기가 보다 짧은 시간 내에 상기 복수의 슬레이브로부터 응답 패킷을 수신할 수 있도록 하는 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기를 제공하는 것을 그 목적으로 한다.
또한 본 발명은, 상기 반이중 시리얼 통신 방식으로 패킷을 교환하는 상태에서, 특정 슬레이브의 응답 처리 지연으로 인해 다른 슬레이브들의 응답 패킷의 수신 지연이 발생하는 것을 방지할 수 있는 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기를 제공하는 것을 그 목적으로 한다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 본 발명은 복수의 단말기가 반이중 시리얼 통신 프로토콜에 따라 패킷을 송수신하는 패킷 교환 시스템에 있어서, 통신 회선의 점유를 획득하는 경우, 동일한 통신 회선을 통해 연결된 복수의 슬레이브 단말기 각각에 대응하는 요청 패킷들을 일괄적으로 상기 점유된 통신 회선을 통해 상기 복수의 슬레이브 단말기 각각에 전송 및, 상기 요청 패킷들을 일괄 전송한 이후에 상기 통신 회선의 점유를 해제하는 마스터 단말기 및, 상기 통신 회선을 통해 자신에게 대응하는 요청 패킷이 수신되면 수신된 요청 패킷에 대응하는 응답 패킷들을 각각 생성하고, 응답 패킷의 생성이 완료된 순서대로 통신 회선을 점유하여 응답 패킷을 상기 마스터 단말기에 전송하는 복수의 슬레이브 단말기를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 복수의 단말기 각각은, 전송할 패킷이 있는 경우, 기 설정된 유휴 시간동안 상기 통신 회선을 검출한 결과에 따라 통신 회선이 유휴 상태인지 여부를 판별하고, 상기 통신 회선이 유휴 상태인 경우에 상기 통신 회선을 점유하여 패킷을 전송하며, 상기 유휴 시간은, 상기 각각의 단말기 별로, 기 설정된 범위의 정수값들로부터 임의로 결정되는 어느 하나의 임의 정수값에 따라 결정되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 기 설정된 범위의 최대값은, 상기 패킷 교환 시스템을 구성하는 단말기들의 개수에 따라 결정되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 슬레이브 단말기의 유휴 시간은, 상기 기 설정된 범위의 정수값들 중 최대값을 가지는 정수값을 제외한 임의의 정수값에 따라 결정되며, 상기 마스터 단말기의 유휴 시간은, 상기 기 설정된 범위의 정수값들 중 최대값에 따라 결정되는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 마스터 단말기는, 응답 패킷이 수신되면, 수신된 응답 패킷의 식별 정보에 근거하여 응답 패킷에 대응하는 요청 패킷을 검출 및, 검출된 요청 패킷에 대응하는 응답 패킷으로 상기 수신된 응답 패킷을 저장하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 반이중 시리얼 통신 프로토콜은, Modbus RTU(Remote Terminal Unit) 프로토콜 중, RS-485 프로토콜임을 특징으로 한다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 본 발명은 복수의 단말기가 반이중 시리얼 통신 프로토콜에 따라 패킷을 송수신하는 패킷 교환 시스템에 있어서, 통신 회선의 점유를 획득하는 경우, 동일한 통신 회선을 통해 연결된 복수의 슬레이브 단말기에 순차적으로 응답 패킷의 전송을 요청하는 마스터 단말기 및, 응답 패킷의 요청이 수신되는 경우 요청에 대응하는 정보의 일부를 포함하는 응답 패킷을 생성 및, 통신 회선의 점유를 획득하여 상기 일부의 정보를 포함하는 응답 패킷을 상기 요청에 대한 응답으로 전송하고, 상기 응답 패킷이 전송되면 상기 통신 회선의 점유를 해제하는 복수의 슬레이브 단말기를 포함하며, 상기 슬레이브 단말기는, 상기 일부의 정보를 포함하는 응답 패킷을 전송한 이후, 통신 회선의 점유가 다시 획득되면 상기 요청에 대응하는 정보의 나머지 중 적어도 일부를 포함하는 응답 패킷을 생성 및, 생성된 응답 패킷을 상기 마스터 단말기에 다시 전송하며, 상기 마스터 단말기는, 응답 패킷이 기 수신된 요청에 대응하는 다른 응답 패킷이 더 수신되는 경우, 상기 수신된 응답 패킷에 상기 더 수신된 다른 응답 패킷을 병합하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 슬레이브 단말기는, 상기 마스터 단말기로부터 전송되는 요청을 수신하는 요청 패킷 수신부와, 상기 요청에 대응하는 정보를 포함하는 응답 패킷을 생성 및 생성된 응답 패킷을 전송하는 응답 패킷 전송부 및, 상기 요청에 대응하는 응답 패킷이 기 설정된 분할 조건을 충족하는 경우, 상기 요청에 대응하는 정보의 서로 다른 일부를 포함하는 복수의 분할 패킷을 생성하고, 상기 복수의 분할 패킷 중 어느 하나를 상기 요청에 대한 응답 패킷으로 상기 마스터 단말기에 전송하고, 상기 통신 회선의 점유가 다시 획득되는 경우 나머지 분할 패킷을 상기 마스터 단말기에 더 전송하도록 상기 응답 패킷 전송부를 제어하는 슬레이브 제어부를 포함하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 기 설정된 분할 조건은, 기 설정된 시간이며, 상기 슬레이브 제어부는, 상기 요청이 수신된 이후 경과된 시간을 체크하고, 체크된 경과 시간이 상기 기 설정된 시간에 도달하는 경우, 상기 기 설정된 시간 동안 생성된 정보를 포함하는 분할 패킷을 생성하고, 생성된 분할 패킷을 상기 요청에 대한 응답 패킷으로 상기 마스터 단말기에 전송하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 기 설정된 분할 조건은, 기 설정된 데이터 크기이며, 상기 슬레이브 제어부는, 상기 요청에 따라 응답 패킷에 삽입될 정보를 생성 및 생성되는 정보의 데이터 크기를 검출하고, 검출된 데이터 크기가 상기 기 설정된 데이터 크기에 도달하는 경우, 상기 기 설정된 데이터 크기의 정보를 포함하는 분할 패킷을 생성하고, 생성된 분할 패킷을 상기 요청에 대한 응답 패킷으로 상기 마스터 단말기에 전송하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 슬레이브 단말기는, 다른 슬레이브 단말기에서 상기 마스터 단말기에 전송하는 응답 패킷들의 크기들을 검출 및, 검출된 응답 패킷들의 크기 평균값에 근거하여 상기 기 설정된 데이터 크기를 결정하는 것을 특징으로 한다.
일 실시 예에 있어서, 상기 마스터 단말기는, 상기 복수의 슬레이브 단말기 중 기 설정된 순서에 따른 어느 하나에 응답 패킷의 전송을 요청하기 위한 요청 패킷을 전송하는 요청 패킷 전송부와, 수신된 요청 패킷에 따라 상기 복수의 슬레이브 단말기로부터 순차적으로 응답 패킷들을 수신하는 응답 패킷 수신부와, 특정 요청 패킷에 대응하는 복수의 응답 패킷을 병합하는 패킷 병합부 및, 응답 패킷이 수신되는 경우, 수신된 응답 패킷에 대응하는 요청 패킷을 식별하며, 요청 패킷 식별 결과 응답 패킷이 기 수신된 특정 요청 패킷에 대응하는 다른 응답 패킷이 더 수신된 경우, 상기 특정 요청 패킷에 대응하는 복수의 응답 패킷을 병합하도록 상기 패킷 병합부를 제어하는 마스터 제어부를 포함하는 것을 특징으로 한다.
본 발명에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기의 효과에 대해 설명하면 다음과 같다.
본 발명의 실시 예들 중 적어도 하나에 의하면, 본 발명은 마스터 단말기가 요청 패킷을 전송하는 시점에, 복수의 슬레이브 단말기 모두에 대한 요청 패킷들을 일괄로 전송함으로써 요청 패킷을 수신한 복수의 슬레이브 단말기가 동시에 응답 패킷을 생성하는 과정을 시작할 수 있도록 한다. 그리고 응답 패킷을 생성하는 순서대로 응답 패킷을 마스터 단말기에 전송할 수 있도록 한다. 따라서 본 발명은 시간적 병렬 처리를 통해 응답 패킷들이 각 슬레이브에서 생성되도록 함으로써, 마스터 단말기가 응답 패킷들을 획득하는 시간을 감소시킬 수 있다는 효과가 있다.
본 발명의 실시 예들 중 적어도 하나에 의하면, 본 발명은 슬레이브 단말기가, 응답 패킷의 크기가 생성에 일정 시간 이상이 요구되는 크기인 경우, 상기 응답 패킷을 분할하여 분할된 패킷을 먼저 마스터 단말기의 요청에 대한 응답으로 제공할 수 있도록 한다. 따라서 본 발명은 특정 슬레이브 단말기의 응답 처리 지연이 발생하는 경우에도 다른 슬레이브가 마스터 단말기의 요청에 대한 응답 패킷을 전송할 수 있으므로, 특정 슬레이브 단말기의 응답 지연으로 인해 전체 응답 패킷 획득 시간의 지연이 발생하는 것을 방지할 수 있다는 효과가 있다.
도 1a는 반이중 시리얼 통신 프로토콜을 통해 패킷을 교환하는 통상적인 패킷 교환 시스템의 마스터 단말기 및 슬레이브 단말기들의 예를 도시한 예시도이다.
도 1b는 상기 도 1a의 패킷 교환 시스템에서, 마스터 단말기에 응답 패킷들이 수신되는 시간을 도시한 타이밍(timing) 다이어그램을 도시한 예시도이다.
도 2는 본 발명의 실시 예에 따른 마스터 단말기와 슬레이브 단말기들을 포함하는 패킷 교환 시스템을 도시한 개념도이다.
도 3은, 본 발명의 제1 실시 예에 따라 마스터 단말기(100)가 각 슬레이브 단말기에 대응하는 요청 패킷들을 일괄적으로 전송하고, 각 슬레이브 단말기로부터 응답 패킷을 수신하는 과정을 도시한 예시도이다.
도 4는 본 발명의 제1 실시 예에 따른 패킷 교환 시스템에서, 마스터 단말기의 구조를 도시한 블록도이다.
도 5는 본 발명의 제1 실시 예에 따른 패킷 교환 시스템에서, 마스터 단말기의 동작 과정을 도시한 흐름도이다.
도 6a는, 본 발명의 제2 실시 예에 따라 슬레이브 단말기가, 응답 패킷을 분할하고 분할 패킷들을 마스터 단말기에 전송하는 과정을 도시한 예시도이다.
도 6b는 본 발명의 제2 실시 예에 따라, 마스터 단말기에 응답 패킷들이 수신되는 시간을 도시한 타이밍 다이어그램을 도시한 도면이다.
도 7a 및 도 7b는 본 발명의 제2 실시 예에 따라 응답 패킷을 분할하여 전송하는 슬레이브 단말기의 구조 및 분할된 응답 패킷을 병합하는 마스터 단말기의 구조를 도시한 블록도들이다.
도 8은 본 발명의 제2 실시 예에 따른 패킷 교환 시스템에서, 응답 패킷을 분할하여 전송하는 슬레이브 단말기의 동작 과정을 도시한 흐름도이다.
도 9는 본 발명의 제2 실시 예에 따른 패킷 교환 시스템에서, 분할된 응답 패킷을 수신하여 병합하는 마스터 단말기의 동작 과정을 도시한 흐름도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다
본 명세서에서, "구성된다." 또는 "포함한다." 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 또한 이하에서 설명되는 각각의 실시 예들 뿐만 아니라, 실시 예들의 조합은 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물 내지 대체물로서, 본 발명의 사상 및 기술 범위에 해당될 수 있음은 물론이다.
먼저 도 2는 본 발명의 실시 예에 따른 마스터 단말기와 슬레이브 단말기들을 포함하는 패킷 교환 시스템을 도시한 개념도이다.
도 2를 참조하여 살펴보면, 본 발명의 실시 예에 따른 패킷 교환 시스템은 도 2에서 보이고 있는 바와 같이 하나의 마스터 단말기(100)에 복수의 슬레이브 단말기(101, 102, 103)가 연결될 수 있다. 여기서 상기 패킷 교환 시스템은, 산업 현장에서 제어기와 상기 제어기에 연결되는 복수의 다른 기기들을 연결하는 필드 버스(field bus) 시스템)으로서, 상기 제어기와 상기 다른 기기들 간의 통신을 위해 모드버스 RTU 프로토콜을 사용하는 시스템일 수 있다. 이 경우 마스터 단말기는 PLC(Program Logic Controller) 또는 DDC(Direct Digital Controller)일 수 있으며, 각 슬레이브 단말기는 필드 장비(센서, 인버터 등)일 수 있다.
한편 도 2에서 보이고 있는 바와 같이 마스터 단말기(100)와 복수의 슬레이브 단말기(101, 102, 103)는 하나의 통신 회선을 통해 서로 간에 연결될 수 있다. 이 경우 마스터 단말기(100)와 복수의 슬레이브 단말기(102, 103, 104)는 시리얼 통신 방식으로 연결될 수 있으며, 이 경우 상기 마스터 단말기(100)와 복수의 슬레이브 단말기(102, 103, 104)는 상기 모드버스 통신 프로토콜 중 시리얼 통신 프로토콜인 RS-485 프로토콜을 통해 서로 간에 패킷을 교환함으로서, 상기 마스터 단말기(100)가 복수의 슬레이브(101, 102, 103)와 통신을 수행할 수 있다.
한편 모드버스 RTU 프로토콜은 이진 데이터를 비트(bit) 단위로 그대로 전송한다. 따라서 각 단말기는 통신 회선의 전압 변화, 즉 비트값을 검출하고, 기 설정된 시간 이상 통신 회선으로부터 비트값이 수신되지 않는 경우(통신 회선의 전압 변화가 없는 경우)에 상기 통신 회선이 유휴 상태인 것으로 판단할 수 있다. 그리고 통신 회선이 유휴 상태인 경우, 다른 단말기로 패킷을 전송할 단말기가 상기 통신 회선을 점유 및 점유한 통신 회선을 통해 비트 단위로 패킷을 전송할 수 있다.
여기서 상기 도 2에서는 하나의 마스터 단말기가 3개의 슬레이브 단말기에 연결되는 예를 보이고 있으나, 본 발명이 이에 한정되는 것이 아님은 물론이다. 즉, 더 많은 수의 슬레이브 단말기가 마스터 단말기에 연결되는 경우 뿐만 아니라, 더 적은 수의 슬레이브 단말기가 마스터 단말기에 연결되는 패킷 교환 시스템의 경우에도 본 발명이 적용될 수 있음은 물론이다.
이하의 설명에서는 도 2에서 보이고 있는 바와 같이, 하나의 마스터 단말기에 복수의 슬레이브 단말기가 시리얼 통신 방식으로 연결되어 패킷 교환 방식으로 통신을 수행하는 패킷 교환 시스템에서 본 발명에 따라 마스터 단말기와 복수의 슬레이브 단말기 간에 패킷 교환이 이루어지는 예들을 살펴보기로 한다.
상술한 바와 같이, 시리얼 통신을 사용하는 패킷 교환 시스템의 경우, 상기 마스터 단말기(100)와 복수의 슬레이브 단말기(101, 102, 103)는, 마스터 단말기(100)가 어느 하나의 슬레이브 단말기에, 슬레이브 단말기의 정보(예 : 특정 설비에 대한 계측 정보, 설정 정보 또는 제어 정보 등)를 요청하기 위한 요청 패킷을 전송하고, 요청 패킷을 수신한 슬레이브 단말기가, 상기 요청 패킷을 통해 요청된 정보를 포함하는 응답 패킷을 상기 요청(요청 패킷)에 대한 응답으로 상기 마스터 단말기(100)에 전송하는 방식으로 마스터 단말기(100)와 슬레이브 단말기 간의 통신이 이루어질 수 있다.
이러한 경우 상술한 문제점과 같이, 어느 하나의 슬레이브 단말기에서 응답 패킷의 처리에 소요되는 시간이 길어지는 경우, 이후의 슬레이브 단말기로부터의 응답 패킷을 수신이 지연될 수 있을 뿐만 아니라, 마스터 단말기가 전체 슬레이브 단말기들로부터 응답 패킷들을 수집하는데 소요되는 시간이 길어진다는 문제점이 있을 수 있다.
따라서 본 발명의 실시 예에 따른 마스터 단말기(100)는 요청 패킷을 전송하기 위해 회선, 즉 통신 회선을 점유하면 복수의 슬레이브 단말기 모두에게 일괄적으로 요청 패킷을 전송할 수 있도록 한다. 이 경우 복수의 슬레이브 단말기 모두가 상기 마스터 단말기로부터 거의 동시에 요청 패킷을 수신하므로, 복수의 슬레이브 각각에서 응답 패킷의 생성이 시작될 수 있다. 즉, 시간적 병렬 처리를 통해 응답 패킷들이 각 슬레이브 단말기에서 생성되도록 함으로써, 마스터 단말기가 응답 패킷들을 획득하는 시간을 감소시킬 수 있도록 한다.
도 3은, 이러한 본 발명의 제1 실시 예에 따라 마스터 단말기(100)가 각 슬레이브 단말기에 대응하는 요청 패킷들을 일괄적으로 전송하고, 각 슬레이브 단말기로부터 응답 패킷을 수신하는 과정을 도시한 예시도이다.
도 3을 참조하여 살펴보면, 본 발명의 실시 예에 따른 패킷 교환 시스템의 마스터 단말기(100)는, 기 설정된 정보 수집 주기에 따라 각 슬레이브 단말기(102, 103, 104)로부터 정보들을 획득할 시점이 도래하면, 통신 회선을 점유하고, 각 슬레이브 단말기(102, 103, 104)에 대응하는 요청 패킷들을 일괄적으로 전송할 수 있다. 이 경우 마스터 단말기(100)는 상기 요청 패킷들을 기 설정된 순서대로 각 슬레이브 단말기(102, 103, 104)에 전송할 수 있으며, 모든 요청 패킷들이 전송될 때까지 상기 통신 회선을 점유하는 상태를 유지할 수 있다.
한편 각 슬레이브 단말기(102, 103, 104)는 자신에게 정보를 요청하는 요청 패킷이 마스터 단말기(100)로부터 수신되는 경우, 요청에 대응하는 응답 패킷의 생성을 시작할 수 있다. 따라서 도 3에서 보이고 있는 바와 같이 각 슬레이브 단말기(102, 103, 104)에서 거의 동시에 응답 패킷들(301, 302, 303)의 생성이 시작될 수 있다. 즉 시간적으로 상기 응답 패킷들의 생성이 병렬적으로 이루어질 수 있다.
그리고 상기 모든 요청 패킷들의 일괄 전송이 완료되면, 상기 마스터 단말기(100)는 상기 통신 회선의 점유를 해제할 수 있다. 따라서 다른 단말기(예 : 각 슬레이브 단말기(102, 103, 104))가 통신 회선을 점유하여 패킷을 전송하는 것이 가능할 수 있다. 따라서 각 슬레이브 단말기(102, 103, 104)중 먼저 응답 패킷의 생성을 완료하는 슬레이브 단말기가 통신 회선을 점유하여, 응답 패킷을 마스터 단말기(100)에 전송할 수 있다.
이 경우 도 3에서 보이고 있는 바와 같이 각 슬레이브 단말기(102, 103, 104)에서 응답 패킷들이 생성되는 경우라면, 각 슬레이브 단말기(102, 103, 104) 중 제1 슬레이브 단말기(101), 제3 슬레이브 단말기(103), 제2 슬레이브 단말기(102)의 순서대로 응답 패킷이 생성될 수 있다. 그러면 응답 패킷의 생성을 가장 먼저 완료한 제1 슬레이브 단말기(101)가 통신 회선을 점유하여 응답 패킷(제1 응답 패킷(301))을 마스터 단말기(100)로 전송할 수 있다.
한편 시리얼 통신을 사용하는 패킷 교환 시스템의 특성 상, 통신 회선이 다른 단말기에 점유된 상태라면 다른 단말기는 패킷을 전송할 수 없다. 따라서 제1 슬레이브 단말기(101)가 제1 응답 패킷(301)의 전송을 위해 통신 회선을 점유한 경우라면, 제2 슬레이브 단말기(102)는 응답 패킷의 생성이 완료된 경우라도 통신 회선을 점유할 때까지 대기할 수 있다.
그리고 제1 슬레이브 단말기(101)가 제1 응답 패킷(301)의 전송을 완료하여 통신 회선의 점유를 해제하는 경우에, 상기 제2 슬레이브 단말기(102)가 통신 회선을 점유하여 응답 패킷(제2 응답 패킷(302))을 마스터 단말기(100)로 전송할 수 있다. 그리고 제2 슬레이브 단말기(102)의 제2 응답 패킷(302)의 전송이 완료된 이후에 제3 슬레이브 단말기(103)의 제3 응답 패킷(303)의 전송이 이루어질 수 있다.
여기서 제2 슬레이브 단말기(102)가 대기하는 동안에 제3 슬레이브 단말기(103)의 응답 패킷(제3 응답 패킷(303))의 생성이 완료되는 경우라면, 제2 슬레이브 단말기(102)와 제3 슬레이브 단말기(103) 중 통신 회선을 먼저 점유하는 어느 하나가 먼저 응답 패킷을 전송할 수 있다. 그리고 나머지 슬레이브 단말기는, 상기 먼저 통신 회선을 점유한 슬레이브 단말기의 응답 패킷 전송이 완료된 이후에 통신 회선을 점유하여 응답 패킷을 전송할 수 있다. 이 경우 통신 회선의 점유 선후는 각 슬레이브 단말기의 유휴 시간의 검출에 따라 결정될 수 있다.
따라서 도 3에서 보이고 있는 본 발명의 제1 실시 예의 경우, 각각의 슬레이브 단말기에서 응답 패킷의 생성이 동시에 생성될 수 있다. 즉, 응답 패킷들의 생성이 시간적 병렬 방식으로 생성될 수 있다. 그리고 마스터 단말기(100)에서 통신 회선의 점유를 해제하는 경우 먼저 응답 패킷의 생성을 완료한 슬레이브 단말기가 먼저 통신 회선을 점유하여 응답 패킷을 마스터 단말기(100)에 전송하므로, 각 슬레이브 단말기가 자신의 순서가 올 때까지 대기할 필요가 없다.
즉, 본 발명은 어느 하나의 슬레이브 단말기에서 응답 패킷이 생성되는 시간 동안 다른 슬레이브 단말기가 대기할 필요가 없으며, 각 슬레이브 단말기가 응답 패킷이 생성되는 대로 통신 회선을 점유하여 응답 패킷을 마스터 단말기에 전송하므로, 마스터 단말기가 각 슬레이브 단말기에서 정보들(응답 패킷들)을 획득하는 시간을 대폭 단축시킬 수 있다는 효과가 있다.
한편 도 4는 상기 도 3에서 살펴본 본 발명의 제1 실시 예에 따른 패킷 교환 시스템에서, 마스터 단말기(100)의 구조를 도시한 블록도이다.
도 4를 참조하여 살펴보면, 본 발명의 실시 예에 따른 패킷 교환 시스템의 마스터 단말기(100)는, 마스터 제어부(400)와 상기 마스터 제어부(400)에 연결되는 요청 패킷 전송부(410), 응답 패킷 수신부(420), 및 유휴 시간 산출부(430)를 포함할 수 있다. 상기 도 4에서 도시된 구성요소들은 마스터 단말기(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 마스터 단말기(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
먼저 요청 패킷 전송부(410)는 마스터 제어부(400)의 제어에 따라 통신 회선을 점유할 수 있다. 그리고 기 설정된 시리얼 통신 프로토콜(예 : 모드버스 RTU RS-485 프로토콜)에 따라 요청 패킷을 생성하여 상기 점유한 통신 회선을 통해 전송할 수 있다. 이 경우 요청 패킷 전송부(410)는, 마스터 제어부(400)의 제어에 따라 복수의 슬레이브 단말기 각각에 대한 요청 패킷들을 연속하여 생성할 수 있으며, 생성된 복수의 슬레이브 단말기 각각에 대한 요청 패킷들을 일괄적으로 전송할 수 있다. 이 경우 상기 요청 패킷들이 모두 전송될 때까지 상기 통신 회선이 상기 요청 패킷 전송부(410)에 의해 점유될 수 있으며, 상기 요청 패킷들의 전송이 모두 완료되면 상기 통신 회선의 점유가 해제될 수 있다.
한편 응답 패킷 수신부(420)는 복수의 슬레이브 단말기 각각으로부터 전송되는 응답 패킷들을 수신할 수 있다. 그리고 수신되는 응답 패킷들을 마스터 제어부(400)에 입력할 수 있다.
그리고 마스터 제어부(400)는 상기 마스터 단말기(100)의 전반적인 동작을 제어할 수 있다. 또한 상기 마스터 제어부(400)는 통신 회선으로부터 비트값이 검출되지 않는 시간을 검출하고 상기 비트값이 검출되지 않는 시간이, 상기 유휴 시간 산출부(430)에서 산출되는 유휴 시간 이상인 경우에 상기 통신 회선이 다른 단말기에 의해 점유되지 않은 상태, 즉 유휴 상태인 것으로 검출할 수 있다. 그러면 마스터 제어부(400)는 상기 요청 패킷 전송부(410)를 제어하여 통신 회선을 점유하고, 복수의 슬레이브 단말기 각각에 대응하는 요청 패킷을 일괄 생성할 수 있다. 그리고 생성된 요청 패킷들을 모두 전송하도록 상기 요청 패킷 전송부(410)를 제어할 수 있다. 그리고 요청 패킷들이 모두 전송되면 상기 통신 회선의 점유를 해제하여 다른 단말기가 통신 회선을 점유하도록 할 수 있다.
또한 마스터 제어부(400)는 상기 전송된 요청 패킷에 대한 응답으로 응답 패킷이 수신되면, 수신된 응답 패킷의 식별 정보에 근거하여 응답 패킷에 대응하는 요청 패킷을 검출할 수 있다. 그리고 검출된 요청 패킷에 대응하는 응답 패킷으로 메모리(도시되지 않음)에 저장할 수 있다. 여기서 상기 응답 패킷의 식별 정보는, 대응하는 요청 패킷의 스페이스 넘버(space number)일 수 있으며, 마스터 제어부(400)는 응답 패킷이 수신되는 경우, 상기 응답 패킷에 포함된 요청 패킷의 식별 정보(예 : 스페이스 넘버)에 근거하여 수신된 응답 패킷에 대응하는 요청 패킷을 검출할 수 있다.
한편 유휴 시간 산출부(430)는 기 설정된 유휴 시간 산출 방식에 따라 상기 마스터 단말기(100)가 통신 회선의 유휴 상태 여부를 판별하기 위한 유휴 시간을 산출할 수 있다. 여기서 상기 유휴 시간은 하기 수학식 1과 같이 기 설정된 범위의 정수값들로부터 임의로 결정되는 어느 하나의 임의 정수값에 따라 결정될 수 있다.
여기서, Baud rate는 초당 통신 회선을 통해 전송되는 비트수, BTT(Bits Trip Time)는 비트들이 통신 회선을 통해 전송되는 시간, K는 마스터 단말기에 연결되는 슬레이브 단말기의 개수에 따라 결정되는 최대값(N)을 가지는 정수값들 중에서 결정되는 임의의 정수임.
한편 상기 BTT는 통상적으로 3.5의 값이 적용될 수 있다. 따라서 상기 임의의 정수 K의 값에 따라 유휴 시간 산출부는 보다 짧은 유휴 시간을 산출(K 값이 작은 경우)하거나 또는 보다 긴 유휴 시간을 산출(K값이 큰 경우)할 수 있다.
예를 들어, Baud rate가 100 b/s(bits/second) 인 경우이고, 유휴 시간 산출부(430)가 최소값 0을 가지는 K값에 근거하여 유휴 시간을 산출하는 경우, 상기 유휴 시간은 1/100에 7(BTT(3.5) X 2)을 곱한 시간으로 유휴 시간이 산출될 수 있다. 이에 따라 마스터 제어부(400)는 0.07초 동안 통신 회선에서 비트값이 검출되지 않으면 통신 회선이 유휴 상태라고 판단할 수 있다.
반면 마스터 단말기에 연결되는 슬레이브 단말기의 개수가 4개인 경우, 상기 N값은 4일 수 있다. 이 경우 유휴 시간 산출부(430)가 최대값 N을 가지는 K값에 근거하여 유휴 시간을 산출할 수 있다. 따라서 유휴 시간은 상기 0.07초에 1/100에 14(BTT(3.5) X 4, 즉 0.14초를 더한 0.21초로 산출될 수 있으며, 이 경우 상기 산출된 유휴 시간(0.21초) 동안 통신 회선에서 비트값이 검출되는 경우에 통신 회선이 유휴 상태라고 판단할 수 있다. 즉, 임의의 정수 K값에 따라 유휴 시간이 다르게 산출될 수 있다.
한편 상기 유휴 시간 산출부(430)는 각각의 슬레이브 단말기에도 구비될 수 있다. 그리고 상기 각 슬레이브 단말기에 구비된 유휴 시간 산출부들 역시 상술한 [수학식 1]에서와 같은 방식으로 유휴 시간을 산출할 수 있다.
이 경우 상기 임의의 정수 K는 각 단말기(마스터 단말기, 슬레이브 단말기)에 따라 서로 다르게 결정될 수 있다. 따라서 각 단말기는 유휴 시간을 판단하는 기준이 서로 다르게 설정되어, 각 단말기가 통신 회선을 점유하는 선후가 결정될 수 있다. 즉, 상기 임의의 정수 K가 가장 적게 설정된 단말기는 통신 회선의 유휴 여부를 판단하기 위한 기준 시간, 즉 유휴 시간이 가장 짧으므로 가장 먼저 통신 회선을 점유할 수 있고, 상기 임의의 정수 K가 가장 크게 설정된 단말기는 유휴 시간을 판단하는 기준 시간이 가장 길어지므로, 가장 늦게 통신 회선을 점유할 수 있다.
한편, 마스터 단말기(100)는 모든 슬레이브 단말기로부터 응답 패킷이 수신되는 경우에 다시 상기 모든 슬레이브 단말기에 일괄적으로 요청 패킷들을 전송할 수 있다. 이를 위해 상기 마스터 단말기(100)에 구비되는 유휴 시간 산출부(430)는 슬레이브 단말기들에 비하여 더 긴 유휴 시간을 산출하도록 형성될 수 있다.
예를 들어 마스터 단말기(100)의 유휴 시간 산출부(430)는 상기 임의의 정수 K값을 설정할 수 있는 범위 내의 정수들 중 최대값, 즉 연결되는 슬레이브 단말기의 개수에 대응하는 K값에 근거하여 유휴 시간을 산출할 수 있다. 반면 각 슬레이브 단말기의 유휴 시간 산출부들은, 상기 임의의 정수 K값을 설정할 수 있는 범위 내의 정수들 중, 최대값을 제외한 나머지 정수들 중에서 어느 하나를 K값으로 설정하여 유휴 시간을 산출할 수 있다.
이렇게 함으로써 마스터 단말기(100)가 슬레이브 단말기들에 비하여 유휴 시간이 가장 길게 산출될 수 있고, 이에 따라 각 슬레이브 단말기는 마스터 단말기(100)에 우선하여 통신 회선을 점유하도록 할 수 있다. 따라서 모든 슬레이브 단말기들에서 응답 패킷들이 마스터 단말기(100)로 전송된 이후에 상기 마스터 단말기(100)가 다시 모든 슬레이브 단말기에 일괄적으로 요청 패킷들을 전송하도록 할 수도 있다.
한편 도 5는, 이러한 본 발명의 제1 실시 예에 따른 패킷 교환 시스템에서 마스터 단말기(100)의 동작 과정을 도시한 흐름도이다.
도 5를 참조하여 살펴보면, 본 발명의 실시 예에 따른 패킷 교환 시스템의 마스터 단말기(100)는 유휴 시간 산출부(430)에서 산출되는 유휴 시간 동안 통신 회선에서 검출되는 비트값이 있는지 여부를 검출할 수 있다. 그리고 상기 유휴 시간 동안 비트값이 검출되지 않는 경우 통신 회선이 유휴 상태라고 판단하고, 통신 회선을 점유 및, 모든 슬레이브 단말기 각각에 대응하는 요청 패킷들을 생성하고, 생성된 요청 패킷들을 기 설정된 순서에 따라 상기 모든 슬레이브 단말기 각각에게 일괄적으로 전송할 수 있다(S500).
여기서 상기 요청 패킷들은 연속적으로 전송될 수 있다. 따라서 상기 요청 패킷들이 모두 전송될 때까지 통신 회선은 마스터 단말기(100)에 의해 점유될 수 있으며, 상기 모든 요청 패킷들이 전송된 이후에 점유 상태가 해제될 수 있다. 따라서 상기 요청 패킷들의 일괄 전송이 완료될 때까지는 다른 단말기(슬레이브 단말기)는 패킷을 수신할 수 있을 뿐 패킷의 전송이 제한될 수 있다.
한편 상기 S500 단계에서, 각 슬레이브 단말기에 대한 요청 패킷들이 일괄 전송되면, 각 슬레이브 단말기는 수신된 요청 패킷에 따른 정보를 포함하는 응답 패킷을 각각 생성할 수 있다. 이 경우 각 슬레이브 단말기는 서로 독립적으로 응답 패킷을 생성하므로, 각 슬레이브 단말기에서의 응답 패킷 생성은 시간적으로 병렬로 이루어질 수 있다. 그리고 응답 패킷을 먼저 생성한 슬레이브 단말기가, 통신 회선을 점유하여 생성된 응답 패킷을 마스터 단말기(100)에 전송할 수 있다.
따라서 마스터 단말기(100)는 상기 S500 단계가 완료되면, 통신 회선을 슬레이브 단말기가 점유하고 있는지 여부를 판단할 수 있다(S502). 이 경우 마스터 단말기(100)는 유휴 시간 산출부(430)에서 산출된 유휴 시간 내에 통신 회선을 통해 수신되는 비트값이 있는지 여부에 근거하여 통신 회선이 다른 단말기, 즉 슬레이브 단말기에 의해 점유된 것으로 판단할 수 있다.
그리고 상기 S502 단계의 판단 결과, 유휴 시간 내에 통신 회선을 점유한 슬레이브 단말기가 있는 경우라면, 통신 회선을 점유한 슬레이브 단말기로부터 상기 통신 회선을 통해 전송되는 응답 패킷을 수신할 수 있다(S504). 그리고 다시 S502 단계로 진행하여 유휴 시간 동안 통신 회선을 점유한 슬레이브 단말기가 있는지 여부를 다시 검출할 수 있다.
한편 상기 S502 단계의 판단 결과, 유휴 시간 동안 통신 회선을 점유한 슬레이브 단말기가 없는 경우라면, 마스터 단말기(100)는 통신 회선이 현재 유휴 상태인 것으로 판단할 수 있다. 이 경우 마스터 단말기(100)는 다시 S500 단계로 진행하여, 통신 회선을 점유하고, 모든 슬레이브 단말기 각각에 대응하는 요청 패킷들을 생성 및, 생성된 요청 패킷들을 기 설정된 순서에 따라 상기 모든 슬레이브 단말기 각각에게 일괄적으로 다시 전송할 수 있다. 즉, 상기 도 5의 과정이 다시 시작될 수 있다.
한편 상기 S502 단계에서 통신 회선이 유휴 상태인 경우는, 상기 S500 단계에서 일괄 전송된 요청 패킷들에 대하여 모든 슬레이브 단말기가 응답 패킷을 전송한 경우일 수 있다. 일 예로 상술한 바와 같이, 임의의 정수 K값에 근거하여 마스터 단말기(100)가 슬레이브 단말기들에 비하여 통신 회선을 점유하는데 있어 낮은 우선권을 가진다면, 응답 패킷을 전송할 슬레이브 단말기가 있는 경우 마스터 단말기(100)보다 통신 회선을 먼저 점유할 수 있기 때문이다. 따라서 상기 임의의 정수 K값에 근거하여 결정되는 유휴 시간의 차이에 따라, 각 슬레이브 단말기에서 응답 패킷들이 모두 수신된 이후에 마스터 단말기(100)는 상기 S502 단계에서 통신 회선이 유휴 상태임을 검출할 수 있으며, 이에 따라 다시 S500 단계로 진행하여 그 이후의 단계들을 진행할 수 있다.
한편 상술한 설명에서는 마스터 단말기(100)가 각 슬레이브 단말기에 대응하는 요청 패킷을 한 번에 일괄적으로 전송하는 예를 설명하였다. 그러나 이와는 달리, 슬레이브 단말기가 응답 패킷을 전송하는 방식을 변경하여, 특정 슬레이브의 응답 패킷 생성 시간으로 인한 지연을 방지할 수도 있음은 물론이다.
일 예로 슬레이브 단말기는, 자신이 응답 패킷을 생성하는데 소요되는 시간이 기 설정된 시간 이상인 경우, 마스터 단말기로부터 요청된 정보의 일부만을 포함하는 응답 패킷을 먼저 전송할 수 있다. 이 경우 상기 일부의 정보를 포함하는 응답 패킷을 수신함에 따라 마스터 단말기(100)는 다음 차례의 슬레이브 단말기에 요청 패킷을 전송할 수 있고, 이에 따라 상기 다음 차례의 슬레이브 단말기가 요청 패킷에 대응하는 응답 패킷을 생성하는 시간 동안 응답 패킷을 생성할 수 있다.
즉, 요청에 대한 응답 패킷이 생성되는 시간이 기 설정된 시간보다 긴 경우 응답 패킷으로 생성될 정보들을 분할하여 복수의 응답 패킷을 생성함으로써, 상기 기 설정된 시간 이상의 시간이 소요되는 응답 패킷에 한하여, 응답 패킷이 다른 슬레이브 단말기의 응답 패킷과 시간적으로 병렬적으로 생성될 수 있다. 그리고 상기 응답 패킷을 분할한 슬레이브 단말기는 통신 회선이 유휴 상태인 경우에 다시 통신 회선을 점유하여 상기 나머지 정보를 포함하는 분할된 응답 패킷(이하 분할 패킷)을 마스터 단말기(100)에 더 전송할 수 있다. 이하 이처럼 응답 패킷을 분할하여 전송하는 본 발명의 실시 예를 제2 실시 예라고 하기로 한다.
도 6a는, 이러한 본 발명의 제2 실시 예에 따라 슬레이브 단말기가, 응답 패킷을 분할하고 분할 패킷들을 마스터 단말기에 전송하는 과정을 도시한 예시도이다. 그리고 도 6b는 본 발명의 제2 실시 예에 따라, 마스터 단말기에 응답 패킷들이 수신되는 시간을 도시한 타이밍 다이어그램을 도시한 도면이다.
먼저 도 6a를 참조하여 살펴보면, 본 발명의 제2 실시 예에 따른 패킷 교환 시스템의 마스터 단말기(100)는 통상적인 모드버스 RTU RS-485 통신 프로토콜에 따라 제1 슬레이브 단말기(101)에 요청 패킷을 전송할 수 있다. 그리고 요청 패킷을 수신한 슬레이브 단말기(제1 슬레이브 단말기(101))로부터 응답 패킷(601)이 수신되면, 산출된 유휴 시간에 근거하여 통신 회선이 유휴 상태인지 여부를 판별 및, 통신 회선이 유휴 상태인 경우 다음 차례의 슬레이브 단말기(제2 슬레이브 단말기(102))에 다시 요청 패킷을 전송할 수 있다.
그러면 상기 제2 슬레이브 단말기(102)는 수신된 요청에 대응하는 응답 패킷을 생성할 수 있다. 이 경우 상기 제2 슬레이브 단말기(102)는 상기 요청이 수신된 시점으로부터 경과되는 시간을 검출할 수 있다. 그리고 경과된 시간이 기 설정된 시간을 경과하는 경우, 상기 기 설정된 시간이 경과되기까지 생성된, 상기 요청에 대응하는 정보들 중 일부의 정보만을 포함하는 응답 패킷(602-1)을 생성할 수 있다. 그리고 상기 일부의 정보만을 포함하는 응답 패킷(602-1)(이하 제1 분할 패킷)을, 수신된 요청에 대한 응답으로 마스터 단말기(100)에 전송할 수 있다.
그리고 마스터 단말기(100)는 상기 제2 슬레이브 단말기(102)로부터 응답 패킷(분할 패킷(602-1))이 수신되었으므로, 다음 차례의 슬레이브 단말기(제3 슬레이브 단말기(103))에 요청 패킷을 전송할 수 있다. 그리고 상기 전송된 요청에 대한 응답으로 상기 제3 슬레이브 단말기(103)로부터 제3 응답 패킷(603)을 수신할 수 있다.
한편 요청에 대한 정보 중 일부만을 포함하는 분할 패킷을 마스터 단말기(100)에 전송한 제2 슬레이브 단말기(102)는 상기 제1 분할 패킷(602-1)을 마스터 단말기(100)에 전송한 이후에, 나머지 정보를 포함하는 응답 패킷(제2 분할 패킷(602-2))을 생성할 수 있다. 그리고 통신 회선이 유휴 상태인 경우, 즉 모든 슬레이브 단말기들이 마스터 단말기(100)의 요청에 대한 응답으로 응답 패킷을 전송한 경우, 통신 회선을 점유하여 상기 제2 분할 패킷(602-2)을 마스터 단말기(100)에 전송할 수 있다.
이 경우 상기 제2 분할 패킷(602-2)은 마스터 단말기(100)로부터 별도의 요청 패킷 수신 없이 상기 마스터 단말기(100)에 전송될 수 있다. 이는 상기 제2 분할 패킷(602-2)은 상기 제1 분할 패킷(602-1)과 동일한 요청 패킷에 대한 응답 패킷으로서, 기 수신된 요청 패킷에 대한 응답이기 때문이다.
이와 같이 본 발명의 제2 실시 예에 따른 패킷 교환 시스템은, 특정 응답 패킷(제2 응답 패킷)의 수신 시간이 기 설정된 시간 이상인 경우, 상기 제2 응답 패킷을 복수개로 분할하여, 분할된 패킷들 중 제1 분할 패킷(602-1)을 먼저 마스터 단말기(100)에 전송하고, 나머지 분할 패킷들(제2 분할 패킷(602-2))을 통신 회선이 유휴 상태일 때 마스터 단말기(100)에 전송될 수 있다.
따라서 마스터 단말기(100)에 응답 패킷들이 수신되는 패킷 수신 타이밍 다이어그램을 나타내고 있는 도 6b를 참조하여 살펴보면, 기 설정된 시간 이상의 응답 시간을 가지는 제2 응답 패킷이 제1 응답 패킷(602-1) 및 제2 응답 패킷(602-2)으로 분할될 수 있으며, 제2 응답 패킷(602-2)이 제2 슬레이브 단말기(102) 이후에 마스터 단말기(100)로부터 요청 패킷을 수신하는 제3 슬레이브 단말기(103)의 응답 패킷(제3 응답 패킷(603)) 이후에 수신될 수 있음을 알 수 있다.
따라서 본 발명의 제2 실시 예에 따른 패킷 교환 시스템은, 상기 제3 응답 패킷(603)이 중요한 정보 또는 긴급 정보를 포함하는 경우에, 상기 제2 슬레이브 단말기(102)의 긴 응답 패킷 생성 시간으로 인하여, 과다하게 수신이 지연되는 경우를 방지할 수 있다.
한편, 도 7a 및 도 7b는 본 발명의 제2 실시 예에 따라 응답 패킷을 분할하여 전송하는 슬레이브 단말기의 구조 및 분할된 응답 패킷을 병합하는 마스터 단말기의 구조를 도시한 블록도들이다.
우선, 슬레이브 단말기(101 또는 102 또는 103)의 구조를 도시한 도 7a를 참조하여 살펴보면, 본 발명의 제2 실시 예에 따른 패킷 교환 시스템의 슬레이브 단말기(101 또는 102 또는 103)는, 슬레이브 제어부(700)와 상기 슬레이브 제어부(700)에 연결되는 요청 패킷 수신부(710), 응답 패킷 전송부(720), 및 유휴 시간 산출부(730)를 포함할 수 있다. 상기 도 7a에서 도시된 구성요소들은 슬레이브 단말기(101 또는 102 또는 103)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 슬레이브 단말기(101 또는 102 또는 103)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
먼저 요청 패킷 수신부(710)는 마스터 단말기(100)로부터 전송되는 요청 패킷을 수신할 수 있다. 그리고 수신되는 요청 패킷을 슬레이브 제어부(700)에 입력할 수 있다.
그리고 응답 패킷 전송부(720)는 슬레이브 제어부(700)의 제어에 따라 통신 회선을 점유할 수 있다. 그리고 기 설정된 시리얼 통신 프로토콜(예 : 모드버스 RTU RS-485 프로토콜)에 따라, 수신된 요청에 대응하는 정보를 포함하는 응답 패킷을 생성하여 상기 점유한 통신 회선을 통해 마스터 단말기(100)로 전송할 수 있다.
이 경우 응답 패킷 전송부(720)는, 슬레이브 제어부(700)의 제어에 따라, 상기 수신된 요청에 대응하는 정보의 일부만을 포함하는 응답 패킷을 생성할 수 있으며, 생성된 응답 패킷을 상기 마스터 단말기(100)에 전송할 수 있다.
이를 위해 응답 패킷 전송부(720)는 기 설정된 기준에 따라 상기 수신된 요청에 대응하는 정보를 분할하는 패킷 분할부(721)를 포함할 수 있다. 상기 패킷 분할부(721)는 기 설정된 시간 또는 기 설정된 크기에 따라 상기 수신된 요청에 대응하는 정보를 분할하여, 각각 분할된 정보만을 포함하는 복수의 분할 패킷을 생성할 수 있다.
일 예로 상기 패킷 분할부(721)는, 상기 응답 패킷의 생성에 소요되는 시간을 검출할 수 있다. 여기서 상기 응답 패킷의 생성에 소요되는 시간은, 상기 요청 패킷이 수신된 이후 경과된 시간일 수 있다. 그러면 패킷 분할부(721)는, 상기 경과된 시간이 기 설정된 기준 시간에 도달하는 경우 슬레이브 제어부(700)의 제어에 따라, 상기 수신된 요청에 대응하는 정보 중 상기 경과된 시간동안 생성된 일부의 정보를 포함하는 응답 패킷을 분할 패킷으로 생성할 수 있다. 그러면 응답 패킷 전송부(720)는 상기 분할 패킷을 수신된 요청에 대한 응답으로 마스터 단말기에 전송할 수 있다.
그리고 상술한 과정을 반복하여 상기 기준 시간이 경과될 때마다 상기 기준 시간 동안 생성된 일부의 정보를 포함하는 분할 패킷을 다시 생성할 수 있다. 따라서 상기 수신된 요청에 대응하는 정보의 서로 다른 일부를 포함하는 복수의 분할 패킷이 생성될 수 있다. 그리고 통신 회선이 유휴 상태일 때 상기 생성된 적어도 하나의 분할 패킷을 상기 마스터 단말기(100)에 더 전송할 수 있다.
한편 통상적으로 응답 패킷의 크기가 클 경우 응답 패킷의 생성 시간이 더 오래 걸릴 수 있으므로, 상기 패킷 분할부(721)는 상기 응답 패킷의 생성 크기에 근거하여 복수의 분할 패킷을 생성할 수도 있다.
이 경우 상기 응답 패킷 전송부(720)는, 상기 마스터 단말기(100)의 요청(요청 패킷)에 따라 응답 패킷에 삽입될 정보를 생성할 수 있다. 그리고 생성되는 정보의 데이터 크기(또는 데이터양)를 검출할 수 있다. 그리고 생성되는 정보의 데이터 크기가 기 설정된 기준 크기에 도달하면, 상기 패킷 분할부(721)는 상기 응답 패킷 전송부(720)에서 현재까지 생성된 정보만을 포함하는 응답 패킷(분할 패킷)을 생성할 수 있다. 그러면 응답 패킷 전송부(720)는 상기 분할 패킷을 수신된 요청에 대한 응답으로 마스터 단말기(100)에 전송할 수 있다.
그리고 상술한 과정을 반복하여, 생성되는 정보의 데이터 크기가 기 설정된 크기에 도달할 때마다 그 때까지 생성된 정보를 포함하는 분할 패킷을 다시 생성할 수 있다. 따라서 상기 수신된 요청에 대응하는 정보의 서로 다른 일부를 포함하는 복수의 분할 패킷이 생성될 수 있다. 그리고 통신 회선이 유휴 상태일 때 상기 생성된 적어도 하나의 분할 패킷을 상기 마스터 단말기(100)에 더 전송할 수 있다.
그리고 슬레이브 제어부(700)는 상기 슬레이브 단말기(101 또는 102 또는 103)의 전반적인 동작을 제어할 수 있다. 또한 상기 슬레이브 제어부(700)는 통신 회선으로부터 비트값이 검출되지 않는 시간을 검출하고 상기 비트값이 검출되지 않는 시간이, 상기 유휴 시간 산출부(730)에서 산출되는 유휴 시간 이상인 경우에 상기 통신 회선이 다른 단말기에 의해 점유되지 않은 상태, 즉 유휴 상태인 것으로 검출할 수 있다. 그러면 슬레이브 제어부(700)는 상기 응답 패킷 전송부(720)를 제어하여 통신 회선을 점유하고, 응답 패킷 전송부(720)에서 생성된 응답 패킷(또는 분할 패킷)을 마스터 단말기(100)에 전송할 수 있다.
한편 슬레이브 제어부(700)는 통신 회선을 통해 교환되는 패킷들의 크기들을 검출할 수 있다. 그리고 검출되는 패킷들의 평균 크기를 산출하여, 상기 분할 패킷을 생성하기 위한 기준 크기를 결정할 수 있다. 이 경우 상기 패킷 분할부(721)는 상기 슬레이브 제어부(700)가 산출한 평균 패킷 크기에 대응하는 기준 크기를 기초로, 마스터 단말기(100)의 요청에 대응하는 정보들의 서로 다른 일부들을 포함하는 복수의 분할 패킷을 생성할 수 있다.
한편 유휴 시간 산출부(730)는 기 설정된 유휴 시간 산출 방식에 따라 상기 슬레이브 단말기(101 또는 102 또는 103)가 통신 회선의 유휴 상태 여부를 판별하기 위한 유휴 시간을 산출할 수 있다. 여기서 상기 유휴 시간은 상기 수학식 1과 같이 기 설정된 범위(0 ~ N)의 정수값들로부터 임의로 결정되는 어느 하나의 임의 정수값(K)에 따라 결정될 수 있다.
한편 도 7b는 본 발명의 제2 실시 예에 따른 패킷 교환 시스템의 마스터 단말기(100) 구조를 도시한 것이다.
도 7b를 참조하여 살펴보면, 본 발명의 제2 실시 예에 따른 패킷 교환 시스템의 마스터 단말기(100)는, 마스터 제어부(750)와 상기 마스터 제어부(750)에 연결되는 요청 패킷 전송부(760), 응답 패킷 수신부(770), 패킷 병합부(780) 및 유휴 시간 산출부(790)를 포함할 수 있다. 상기 도 7b에서 도시된 구성요소들은 마스터 단말기(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 마스터 단말기(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
먼저 요청 패킷 전송부(760)는 마스터 제어부(750)의 제어에 따라 통신 회선을 점유할 수 있다. 그리고 기 설정된 시리얼 통신 프로토콜(예 : 모드버스 RTU RS-485 프로토콜)에 따라 요청 패킷을 생성하여 상기 점유한 통신 회선을 통해 전송할 수 있다. 상기 요청 패킷 전송부(760)는 복수의 슬레이브 중 어느 하나에 대하여 요청 패킷을 전송할 수 있으며, 상기 요청 패킷에 대해 상기 어느 하나의 슬레이브 단말기로부터 응답 패킷이 수신된 경우에 다음 차례의 슬레이브 단말기에 요청 패킷을 다시 전송할 수 있다. 즉, 하나의 요청 패킷이 전송될 때마다 통신 회선의 점유(요청 패킷 전송 시), 통신 회선의 점유 해제(요청 패킷 전송 후)가 반복될 수 있다.
한편 응답 패킷 수신부(770)는 복수의 슬레이브 단말기로부터 순차적으로 응답 패킷들을 수신할 수 있다. 그리고 수신되는 응답 패킷들을 마스터 제어부(750)에 입력할 수 있다.
그리고 마스터 제어부(750)는 상기 마스터 단말기(100)의 전반적인 동작을 제어할 수 있다. 마스터 제어부(750)는 통신 회선으로부터 비트값이 검출되지 않는 시간을 검출하고, 상기 비트값이 검출되지 않는 시간이, 상기 유휴 시간 산출부(790)에서 산출되는 유휴 시간 이상인 경우에 상기 통신 회선이 유휴 상태인 것으로 검출할 수 있다. 그리고 통신 회선이 유휴 상태이면 상기 요청 패킷 전송부(760)를 제어하여 통신 회선을 점유하고, 어느 하나의 슬레이브 단말기에 요청 패킷을 전송할 수 있다.
한편 상기 마스터 제어부(750)는 응답 패킷이 수신되는 경우, 수신된 응답 패킷의 식별 정보에 근거하여, 응답 패킷이 기 수신된 요청에 대응하는 다른 응답 패킷이 더 수신되었는지 여부를 판별할 수 있다. 상기 응답 패킷의 식별 정보는, 대응하는 요청 패킷의 스페이스 넘버(space number)일 수 있으며, 마스터 제어부(400)는 응답 패킷이 수신되는 경우, 상기 응답 패킷에 포함된 요청 패킷의 식별 정보(예 : 스페이스 넘버)에 근거하여, 응답 패킷이 이미 수신된 요청에 대한 다른 응답 패킷이 더 수신되었는지 여부를 판별할 수 있다.
그리고 판별 결과, 응답 패킷이 기 수신된 요청에 대응하는 다른 응답 패킷이 더 수신된 경우라면, 상기 마스터 제어부(750)는 동일한 요청에 대응하는 기 수신된 응답 패킷(제1 패킷)과 현재 수신된 상기 다른 응답 패킷(제2 패킷)을 서로 병합할 수 있다. 이 경우 상기 제1 패킷에 포함된 정보와 상기 제2 패킷에 대한 정보가 하나의 요청에 대한 응답 패킷의 정보로서 병합될 수 있다. 이러한 응답 패킷의 병합을 위해 본 발명의 제2 실시 예에 따른 패킷 교환 시스템의 마스터 단말기(100)는 패킷 병합부(780)를 더 포함할 수 있다.
한편 유휴 시간 산출부(790)는 기 설정된 유휴 시간 산출 방식에 따라 상기 마스터 단말기(100)가 통신 회선의 유휴 상태 여부를 판별하기 위한 유휴 시간을 산출할 수 있다. 여기서 상기 유휴 시간은 상기 수학식 1과 같이 기 설정된 범위의 정수값들로부터 임의로 결정되는 어느 하나의 임의 정수값에 따라 결정될 수 있다.
한편, 상기 슬레이브 단말기(101 또는 102 또는 103)의 유휴 시간 산출부(730) 및, 상기 마스터 단말기(100)의 유휴 시간 산출부(790)에서 각각 결정되는 임의의 정수 K는, 각 단말기(마스터 단말기, 슬레이브 단말기)에 따라 서로 달라질 수 있다. 따라서 각 단말기는 유휴 시간을 판단하는 기준이 서로 다르게 설정되어, 각 단말기가 통신 회선을 점유하는 선후가 결정될 수 있다.
그런데 마스터 단말기(100)는 모든 슬레이브 단말기로부터 응답 패킷이 수신되는 경우에 다시 상기 제1 슬레이브 단말기(101)에 요청 패킷을 전송하도록 형성될 수 있다. 이를 위해 상기 마스터 단말기(100)의 유휴 시간 산출부(790)는 슬레이브 단말기들에 비하여 더 긴 유휴 시간을 산출하도록 형성될 수 있다.
예를 들어 마스터 단말기(100)의 유휴 시간 산출부(790)는 임의의 정수 K값을 설정할 수 있는 범위 내의 정수들 중 최대값, 즉 연결되는 슬레이브 단말기의 개수에 대응하는 K값에 근거하여 유휴 시간을 산출하도록 형성될 수 있다. 반면 각 슬레이브 단말기의 유휴 시간 산출부(730)들은, 임의의 정수 K값을 설정할 수 있는 범위 내의 정수들 중, 최대값을 제외한 나머지 정수들 중에서 어느 하나를 K값으로 설정하여 유휴 시간을 산출하도록 형성될 수 있다.
이렇게 함으로써 마스터 단말기(100)가 슬레이브 단말기들에 비하여 유휴 시간이 가장 길게 산출될 수 있고, 이에 따라 각 슬레이브 단말기는 마스터 단말기(100)에 우선하여 통신 회선을 점유할 수 있다. 따라서 모든 슬레이브 단말기들에서 응답 패킷들이 마스터 단말기(100)로 전송된 이후에, 상기 마스터 단말기(100)가 다시 제1 슬레이브 단말기(101)에 요청 패킷을 전송하는 과정이 다시 시작될 수 있다.
도 8은 이러한 본 발명의 제2 실시 예에 따른 패킷 교환 시스템에서, 응답 패킷을 분할하여 전송하는 슬레이브 단말기의 동작 과정을 도시한 흐름도이다.
도 8을 참조하여 살펴보면, 본 발명의 제2 실시 예에 따른 패킷 교환 시스템의 슬레이브 단말기는 마스터 단말기로부터 특정 정보를 요청하는 요청 패킷이 수신되는 경우, 수신된 요청에 대응하는 응답 패킷을 생성할 수 있다(S800). 그리고 상기 S800 단계에서 생성되는 응답 패킷이 기 설정된 분할 조건을 충족하는 경우 상기 마스터 단말기에서 요청된 정보의 일부만을 포함하는 제1 분할 패킷을 생성할 수 있다(S802). 그리고 상기 수신된 요청에 대한 응답으로, 상기 제1 분할 패킷을 마스터 단말기에 전송할 수 있다(S804). 그리고 슬레이브 단말기는 상기 제1 분할 패킷을 전송하기 위한 통신 회선의 점유를 해제할 수 있다(S806).
그리고 슬레이브 단말기는, 상기 S806 단계에서 통신 회선의 점유가 해제된 상태에서, 요청된 정보의 다른 일부를 포함하는 다른 분할 패킷을 생성할 수 있다(S808). 이 경우 상기 제1 분할 패킷에 포함되지 않은 정보의 양에 따라 하나 또는 그 이상의 분할 패킷이 상기 S808 단계에서 생성될 수 있다. 그러면 슬레이브 단말기는 상기 S808 단계에서 생성된 적어도 하나의 분할 패킷이 모두 전송되었는지 여부를 체크할 수 있다(S810).
상기 S810 단계의 체크 결과, 전송되지 않은 분할 패킷이 있는 경우라면, 슬레이브 단말기는 통신 회선이 유휴 상태인지 여부를 체크할 수 있다(S812). 여기서 상기 슬레이브 단말기는 유휴 시간 산출부(730)에서 산출되는 유휴 시간에 근거하여 상기 통신 회선이 유휴 상태인지 여부를 판별할 수 있다.
상기 S812 단계의 판별 결과, 통신 회선이 유휴 상태인 경우라면, 슬레이브 단말기는 통신 회선을 점유하여, 아직 전송되지 않은 분할 패킷들 중 어느 하나를 마스터 단말기에 전송할 수 있다(S814). 그리고 슬레이브 단말기는 다시 통신 회선의 점유를 해제하여, 마스터 단말기에 응답 패킷을 전송할 다른 슬레이브 단말기가 있는 경우, 다른 슬레이브 단말기가 먼저 응답 패킷을 마스터 단말기에 전송하도록 할 수 있다(S816).
한편 상기 S816 단계에서 통신 회선의 점유를 해제하면, 슬레이브 단말기는 다시 S810 단계로 진행하여, 상기 S808 단계에서 생성된 적어도 하나의 분할 패킷이 모두 전송되었는지 여부를 체크할 수 있다. 그리고 체크 결과 전송되지 않은 분할 패킷이 있는 경우라면, 상기 S814 단계 내지 S816 단계에 이르는 과정을 다시 수행하여, 상기 S808 단계에서 생성된 분할 패킷이 모두 전송될 수 있도록 한다.
반면 상기 S810 단계의 체크 결과, 상기 S808 단계에서 생성된 모든 분할 패킷이 마스터 단말기에 전송된 경우라면, 상기 S800 단계에서 수신된 요청에 대한 응답 패킷을 마스터 단말기에 전송하는 도 8의 과정을 종료할 수 있다. 이 경우 마스터 단말기에서 요청 패킷이 다시 수신되는 경우에는 상기 도 8의 과정이 다시 시작될 수 있다.
한편 도 9는, 본 발명의 제2 실시 예에 따른 패킷 교환 시스템에서, 분할된 응답 패킷을 수신하여 병합하는 마스터 단말기의 동작 과정을 도시한 흐름도이다.
도 9를 참조하여 살펴보면, 본 발명의 제2 실시 예에 따른 패킷 교환 시스템의 마스터 단말기는, 먼저 복수의 슬레이브 단말기 중 기 설정된 순서에 따른 첫 번째 슬레이브 단말기, 즉 제1 슬레이브 단말기에 요청 패킷을 전송할 수 있다(S900). 그러면 마스터 단말기는, 전송된 요청 패킷을 수신한 슬레이브 단말기로부터 응답 패킷을 수신할 수 있다(S902). 그리고 모든 슬레이브 단말기에 요청 패킷을 전송하였는지 여부를 판별하고(S904), 모든 슬레이브 단말기에 요청 패킷이 전송되지 않은 경우라면, 현재 요청 패킷을 전송한 다음 순서에 대응하는 슬레이브에 요청 패킷을 전송할 수 있다(S906).
그리고 S902 단계로 진행하여 전송된 요청 패킷을 수신한 슬레이브 단말기로부터 응답 패킷을 수신할 수 있다. 따라서 모든 슬레이브 단말기에 요청 패킷이 전송 및 모든 슬레이브 단말기로부터 응답 패킷들이 수신될 때까지, 상기 S902 단계 내지 S906 단계에 이르는 과정이 반복될 수 있다.
한편 상기 S904 단계의 체크 결과, 모든 슬레이브 단말기에 요청 패킷이 전송 및, 전송된 요청 패킷에 대응하는 응답 패킷들이 수신된 경우라면, 마스터 단말기는 통신 회선이 점유된 상태인지 여부를 판별할 수 있다(S908). 그리고 통신 회선이 어느 하나의 슬레이브 단말기에 의해 점유된 상태라면, 상기 통신 회선을 점유한 슬레이브 단말기로부터, 이전에 응답 패킷(제1 패킷)이 이미 수신된 요청에 대응하는 다른 응답 패킷(제2 패킷)이 더 수신되었는지 여부를 판별할 수 있다(S910). 그리고 상기 S910 단계의 판별 결과, 응답 패킷(제1 패킷)이 이미 수신된 요청에 대응하는 응답 패킷(제2 패킷)이 더 수신된 경우라면, 상기 동일한 요청에 대응하는 기 수신된 응답 패킷(제1 패킷)과 상기 S910 단계에서 더 수신된 다른 응답 패킷(제2 패킷)을 병합하여, 상기 동일한 요청에 대응하는 하나의 병합된 응답 정보를 생성할 수 있다(S912).
그리고 마스터 단말기는 다시 S908 단계로 진행하여 통신 회선이 유휴 상태인지 여부를 판별할 수 있다. 그리고 상기 S908 단계의 판별 결과 통신 회선이 유휴 상태로 판별되면, 마스터 단말기(100)는 상기 S900 단계로 진행하여, 상술한 도 9의 과정을 다시 시작할 수 있다.
한편 상술한 바와 같이, 마스터 단말기에 구비되는 유휴 시간 산출부(790)와 슬레이브 단말기에 구비되는 유휴 시간 산출부(730)는 상기 임의의 정수 K를 다르게 적용하여, 상기 마스터 단말기가 상기 통신 회선의 유휴 여부를 판별하는 기준 시간(유휴 시간)이 보다 길게 적용되도록 할 수 있다.
이 경우 마스터 단말기에 비하여 슬레이브 단말기의 기준 시간(유휴 시간)이 보다 짧으므로, 마스터 단말기에 우선하여 슬레이브 단말기가 통신 회선을 점유할 수 있다. 따라서 마스터 단말기에 전송할 분할 패킷을 가지고 있는 슬레이브 단말기가 있는 경우, 마스터 단말기에 앞서 통신 회선을 점유하여 마스터 단말기에 분할 패킷을 먼저 전송할 수 있다. 그러므로 마스터 단말기는 슬레이브 단말기들로부터 나머지 분할 패킷들을 모두 수신한 이후에 상기 S900 단계로 진행하여, 상기 도 9의 과정을 다시 시작할 수 있다.
한편 상술한 설명에서는 본 발명의 제1 실시 예와 제2 실시 예를 구분하여 설명하였으나, 상기 제1 실시 예와 제2 실시 예가 하나의 패킷 교환 시스템에 모두 적용될 수도 있음은 물론이다.
이 경우, 마스터 단말기는 요청 패킷을 복수의 슬레이브 단말기에 일괄 전송할 수 있다. 그러면 슬레이브 단말기 각각은, 기 설정된 분할 기준(예 : 응답 패킷 생성 시간 또는 응답 패킷 크기)에 근거하여, 수신된 요청에 대응하는 정보의 서로 다른 일부를 각각 포함하는 복수의 분할 패킷을 생성할 수 있다. 이 경우 상기 복수의 분할 패킷들은 병렬적으로 각 슬레이브 단말기에서 동시에 생성될 수 있다(요청 패킷들이 일괄적으로 전송되어 거의 동시에 각 슬레이브 단말기에 수신되므로).
그러면 각 슬레이브 단말기는 분할 패킷들 중 제1 분할 패킷을 상기 요청에 대한 응답으로 전송할 수 있다. 그리고 적어도 하나의 나머지 분할 패킷은 통신 회선이 유휴 상태일 때에 순차적으로 마스터 단말기에 전송할 수 있다. 이 경우 상술한 바와 같이 마스터 단말기는 슬레이브 단말기에 비하여 통신 회선의 유휴 여부를 판별하는 기준 시간(유휴 시간)이 더 길게 설정될 수 있으며, 이에 따라 마스터 단말기에 우선하여 슬레이브 단말기가 통신 회선을 점유할 수 있다. 따라서 마스터 단말기는 슬레이브 단말기들로부터 모든 분할 패킷이 수신된 이후에 각 슬레이브 단말기에 대한 요청 패킷을 일괄 전송할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (16)

  1. 복수의 단말기가 반이중 시리얼 통신 프로토콜에 따라 패킷을 송수신하는 패킷 교환 시스템에 있어서,
    통신 회선의 점유를 획득하는 경우, 동일한 통신 회선을 통해 연결된 복수의 슬레이브 단말기 각각에 대응하는 요청 패킷들을 일괄적으로 상기 점유된 통신 회선을 통해 상기 복수의 슬레이브 단말기 각각에 전송 및, 상기 요청 패킷들을 일괄 전송한 이후에 상기 통신 회선의 점유를 해제하는 마스터 단말기; 및,
    상기 통신 회선을 통해 자신에게 대응하는 요청 패킷이 수신되면 수신된 요청 패킷에 대응하는 응답 패킷들을 각각 생성하고, 응답 패킷의 생성이 완료된 순서대로 통신 회선을 점유하여 응답 패킷을 상기 마스터 단말기에 전송하는 복수의 슬레이브 단말기를 포함하는 것을 특징으로 하는 패킷 교환 시스템.
  2. 제1항에 있어서,
    상기 복수의 단말기 각각은,
    전송할 패킷이 있는 경우, 기 설정된 유휴 시간동안 상기 통신 회선을 검출한 결과에 따라 통신 회선이 유휴 상태인지 여부를 판별하고, 상기 통신 회선이 유휴 상태인 경우에 상기 통신 회선을 점유하여 패킷을 전송하며,
    상기 유휴 시간은,
    상기 각각의 단말기 별로, 기 설정된 범위의 정수값들로부터 임의로 결정되는 어느 하나의 임의 정수값에 따라 결정되는 것을 특징으로 하는 패킷 교환 시스템.
  3. 제2항에 있어서, 상기 기 설정된 범위의 최대값은,
    상기 패킷 교환 시스템을 구성하는 단말기들의 개수에 따라 결정되는 것을 특징으로 하는 패킷 교환 시스템.
  4. 제2항에 있어서,
    상기 슬레이브 단말기의 유휴 시간은,
    상기 기 설정된 범위의 정수값들 중 최대값을 가지는 정수값을 제외한 임의의 정수값에 따라 결정되며,
    상기 마스터 단말기의 유휴 시간은,
    상기 기 설정된 범위의 정수값들 중 최대값에 따라 결정되는 것을 특징으로 하는 패킷 교환 시스템.
  5. 제1항에 있어서, 상기 마스터 단말기는,
    응답 패킷이 수신되면, 수신된 응답 패킷의 식별 정보에 근거하여 응답 패킷에 대응하는 요청 패킷을 검출 및, 검출된 요청 패킷에 대응하는 응답 패킷으로 상기 수신된 응답 패킷을 저장하는 것을 특징으로 하는 패킷 교환 시스템.
  6. 제1항에 있어서, 상기 반이중 시리얼 통신 프로토콜은,
    Modbus RTU(Remote Terminal Unit) 프로토콜 중, RS-485 프로토콜임을 특징으로 하는 패킷 교환 시스템.
  7. 복수의 단말기가 반이중 시리얼 통신 프로토콜에 따라 패킷을 송수신하는 패킷 교환 시스템에 있어서,
    통신 회선의 점유를 획득하는 경우, 동일한 통신 회선을 통해 연결된 복수의 슬레이브 단말기에 순차적으로 응답 패킷의 전송을 요청하는 마스터 단말기; 및,
    응답 패킷의 요청이 수신되는 경우 요청에 대응하는 정보의 일부를 포함하는 응답 패킷을 생성 및, 통신 회선의 점유를 획득하여 상기 일부의 정보를 포함하는 응답 패킷을 상기 요청에 대한 응답으로 전송하고, 상기 응답 패킷이 전송되면 상기 통신 회선의 점유를 해제하는 복수의 슬레이브 단말기;를 포함하며,
    상기 슬레이브 단말기는,
    상기 일부의 정보를 포함하는 응답 패킷을 전송한 이후, 통신 회선의 점유가 다시 획득되면 상기 요청에 대응하는 정보의 나머지 중 적어도 일부를 포함하는 응답 패킷을 생성 및, 생성된 응답 패킷을 상기 마스터 단말기에 다시 전송하며,
    상기 마스터 단말기는,
    응답 패킷이 기 수신된 요청에 대응하는 다른 응답 패킷이 더 수신되는 경우, 상기 수신된 응답 패킷에 상기 더 수신된 다른 응답 패킷을 병합하는 것을 특징으로 하는 패킷 교환 시스템.
  8. 제7항에 있어서, 상기 슬레이브 단말기는,
    상기 마스터 단말기로부터 전송되는 요청을 수신하는 요청 패킷 수신부;
    상기 요청에 대응하는 정보를 포함하는 응답 패킷을 생성 및 생성된 응답 패킷을 전송하는 응답 패킷 전송부; 및,
    상기 요청에 대응하는 응답 패킷이 기 설정된 분할 조건을 충족하는 경우, 상기 요청에 대응하는 정보의 서로 다른 일부를 포함하는 복수의 분할 패킷을 생성하고, 상기 복수의 분할 패킷 중 어느 하나를 상기 요청에 대한 응답 패킷으로 상기 마스터 단말기에 전송하고, 상기 통신 회선의 점유가 다시 획득되는 경우 나머지 분할 패킷을 상기 마스터 단말기에 더 전송하도록 상기 응답 패킷 전송부를 제어하는 슬레이브 제어부를 포함하는 것을 특징으로 하는 패킷 교환 시스템.
  9. 제8항에 있어서,
    상기 기 설정된 분할 조건은,
    기 설정된 시간이며,
    상기 슬레이브 제어부는,
    상기 요청이 수신된 이후 경과된 시간을 체크하고, 체크된 경과 시간이 상기 기 설정된 시간에 도달하는 경우, 상기 기 설정된 시간 동안 생성된 정보를 포함하는 분할 패킷을 생성하고, 생성된 분할 패킷을 상기 요청에 대한 응답 패킷으로 상기 마스터 단말기에 전송하는 것을 특징으로 하는 패킷 교환 시스템.
  10. 제8항에 있어서,
    상기 기 설정된 분할 조건은,
    기 설정된 데이터 크기이며,
    상기 슬레이브 제어부는,
    상기 요청에 따라 응답 패킷에 삽입될 정보를 생성 및 생성되는 정보의 데이터 크기를 검출하고, 검출된 데이터 크기가 상기 기 설정된 데이터 크기에 도달하는 경우, 상기 기 설정된 데이터 크기의 정보를 포함하는 분할 패킷을 생성하고, 생성된 분할 패킷을 상기 요청에 대한 응답 패킷으로 상기 마스터 단말기에 전송하는 것을 특징으로 하는 패킷 교환 시스템.
  11. 제10항에 있어서, 상기 슬레이브 단말기는,
    다른 슬레이브 단말기에서 상기 마스터 단말기에 전송하는 응답 패킷들의 크기들을 검출 및, 검출된 응답 패킷들의 크기 평균값에 근거하여 상기 기 설정된 데이터 크기를 결정하는 것을 특징으로 하는 패킷 교환 시스템.
  12. 제7항에 있어서, 상기 마스터 단말기는,
    상기 복수의 슬레이브 단말기 중 기 설정된 순서에 따른 어느 하나에 응답 패킷의 전송을 요청하기 위한 요청 패킷을 전송하는 요청 패킷 전송부;
    수신된 요청 패킷에 따라 상기 복수의 슬레이브 단말기로부터 순차적으로 응답 패킷들을 수신하는 응답 패킷 수신부;
    특정 요청 패킷에 대응하는 복수의 응답 패킷을 병합하는 패킷 병합부; 및,
    응답 패킷이 수신되는 경우, 수신된 응답 패킷에 대응하는 요청 패킷을 식별하며, 요청 패킷 식별 결과 응답 패킷이 기 수신된 특정 요청 패킷에 대응하는 다른 응답 패킷이 더 수신된 경우, 상기 특정 요청 패킷에 대응하는 복수의 응답 패킷을 병합하도록 상기 패킷 병합부를 제어하는 마스터 제어부를 포함하는 것을 특징으로 하는 패킷 교환 시스템.
  13. 제7항에 있어서,
    상기 복수의 단말기 각각은,
    전송할 패킷이 있는 경우, 기 설정된 유휴 시간동안 상기 통신 회선을 검출한 결과에 따라 통신 회선이 유휴 상태인지 여부를 판별하고, 상기 통신 회선이 유휴 상태인 경우에 상기 통신 회선을 점유하여 패킷을 전송하며,
    상기 유휴 시간은,
    상기 각각의 단말기 별로, 기 설정된 범위의 정수값들로부터 임의로 결정되는 어느 하나의 임의 정수값에 따라 결정되는 것을 특징으로 하는 패킷 교환 시스템.
  14. 제11항에 있어서, 상기 기 설정된 범위의 최대값은,
    상기 패킷 교환 시스템을 구성하는 단말기들의 개수에 따라 결정되는 것을 특징으로 하는 패킷 교환 시스템.
  15. 제11항에 있어서,
    상기 슬레이브 단말기의 유휴 시간은,
    상기 기 설정된 범위의 정수값들 중 최대값을 가지는 정수값을 제외한 임의의 정수값에 따라 결정되며,
    상기 마스터 단말기의 유휴 시간은,
    상기 기 설정된 범위의 정수값들 중 최대값에 따라 결정되는 것을 특징으로 하는 패킷 교환 시스템.
  16. 제6항에 있어서, 상기 반이중 시리얼 통신 프로토콜은,
    Modbus RTU(Remote Terminal Unit) 프로토콜 중, RS-485 프로토콜임을 특징으로 하는 패킷 교환 시스템.
KR1020220004808A 2022-01-12 2022-01-12 반이중 시리얼 통신 방식에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기 KR20230108990A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220004808A KR20230108990A (ko) 2022-01-12 2022-01-12 반이중 시리얼 통신 방식에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220004808A KR20230108990A (ko) 2022-01-12 2022-01-12 반이중 시리얼 통신 방식에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기

Publications (1)

Publication Number Publication Date
KR20230108990A true KR20230108990A (ko) 2023-07-19

Family

ID=87425770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220004808A KR20230108990A (ko) 2022-01-12 2022-01-12 반이중 시리얼 통신 방식에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기

Country Status (1)

Country Link
KR (1) KR20230108990A (ko)

Similar Documents

Publication Publication Date Title
RU2597502C2 (ru) Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных
CN107979592B (zh) 一种发送业务请求消息的方法及装置
KR101811189B1 (ko) 통신 장치, 통신 방법 및 기록 매체에 저장된 프로그램
JP6311697B2 (ja) データ共有システム
CN112491951B (zh) 对等网络中的请求处理方法、服务器及存储介质
US8250140B2 (en) Enabling connections for use with a network
CN111404842B (zh) 数据传输方法、装置及计算机存储介质
KR20230108990A (ko) 반이중 시리얼 통신 방식에 따른 패킷 교환 시스템과, 그 시스템의 마스터 단말기 및 슬레이브 단말기
WO2014076878A1 (ja) データ共有システム
CN112540966A (zh) 一种文件同步的方法及装置
JP5815085B1 (ja) 通信システム、通信装置、接続状態判定方法及び制御プログラム
US9450847B2 (en) Mismatch detecting method, detecting device, and recording medium
JP6200734B2 (ja) 通信制御装置
US11803494B2 (en) Data communication method, master device and system
US9882751B2 (en) Communication system, communication controller, communication control method, and medium
JP7189474B2 (ja) 推定システム、付加装置、推定方法、付加方法、推定プログラム、及び付加プログラム
JP7044081B2 (ja) 車載用通信システム
US10177929B1 (en) System for distributing data to multiple devices
CN113438274A (zh) 数据传输方法、装置、计算机设备及可读存储介质
KR20120041990A (ko) 이종 프로토콜 간 대용량 데이터 전송을 위한 데이터 전송 시스템 및 그 데이터 전송 방법
CN111480319B (zh) 吞吐量测试
CN110289937B (zh) 延迟响应方未就绪否定应答
CN113498040B (zh) 一种停止发送调度请求的方法及装置
CN112804298B (zh) 减少跨区流量的方法、装置、计算机设备和可读存储介质
CN116249152A (zh) 用于数据传输的方法及装置、无线通信模块、存储介质