KR102052552B1 - 원방감시제어시스템에서의 sms 통신 기반의 데이터 전송 방법 - Google Patents

원방감시제어시스템에서의 sms 통신 기반의 데이터 전송 방법 Download PDF

Info

Publication number
KR102052552B1
KR102052552B1 KR1020190083456A KR20190083456A KR102052552B1 KR 102052552 B1 KR102052552 B1 KR 102052552B1 KR 1020190083456 A KR1020190083456 A KR 1020190083456A KR 20190083456 A KR20190083456 A KR 20190083456A KR 102052552 B1 KR102052552 B1 KR 102052552B1
Authority
KR
South Korea
Prior art keywords
modem
frame
data
request
submodem
Prior art date
Application number
KR1020190083456A
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 KR1020190083456A priority Critical patent/KR102052552B1/ko
Application granted granted Critical
Publication of KR102052552B1 publication Critical patent/KR102052552B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • 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
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

원방감시제어시스템에서의 SMS 통신 기반의 데이터 전송 방법에 관한 것으로, 데이터통신망을 통한 서버와의 통신이 불능인 경우, 서버와 음성통신망 사이의 통신 중계를 담당하는 상위모뎀과의 SMS 연결 요청에 대한 응답 수신에 성공한 경우에 음성통신망의 SMS 연결을 통하여 서버를 목적지로 하는 현장 데이터를 상위모뎀에 전송하고, SMS 연결 요청에 대한 응답 수신에 실패한 경우에는 모뎀리스트에 등록된 다른 하위모뎀들에 대해서 차례대로 서버를 목적지로 하는 현장 데이터를 상위모뎀에 전송하여 줄 것을 요청함으로써 현장 데이터의 전송 성공률을 대폭 향상시킬 수 있다.

Description

원방감시제어시스템에서의 SMS 통신 기반의 데이터 전송 방법 {Method for transmitting data based on SMS communication at supervisory control and data acquisition system}
원방감시제어시스템에서의 데이터 전송 방법에 관한 것이다.
원방감시제어(SCADA, Supervisory Control And Data Acquisition) 시스템은 원방의 현장에 설치된 센서, 계측기 등과 같은 현장설비로부터 현장설비가 측정한 측정값을 나타내는 현장 데이터를 원격단말유닛(RTU, Remote Terminal Unit)이 수집하고, 원격단말유닛이 수집한 현장 데이터를 네트워크를 통하여 중앙감시센터에 설치된 서버로 전송하여, 현장의 상황을 온라인으로 감시 및 제어하는 시스템이다. 현장에 수질 이상, 고수위 등 어떤 이상 징후가 발생한 경우에 서버가 그 현장의 데이터를 수신할 수 없거나 늦게 수신하게 되면 대형사고, 인명사고 등으로 이어질 수 있다. 원방감시제어분야에서는 현장 설비에 대한 실시간 감시 제어가 보장되어야 한다.
이와 같이, 현장 설비에 대한 실시간 감시 제어가 보장되기 위해서는 원방잠시제어시스템의 각 장치들간의 통신 연결의 안정성과 신뢰도가 무엇보다도 중요하다. 대한민국등록특허 제10-1872648호 "고속통신을 위한 SCADA 시스템의 디바이스 연결 방법 및 그 장치"는 원방감시제어분야에서 다중 통신 연결을 지원하여 통신 연결의 안정성과 신뢰도를 향상시키는 기술을 개시하고 있다. 대한민국등록특허 제10-1975587호 "RTU를 이용한 통합 계장 계측 제어시스템"은 원방감시제어분야에서 데이터 전송 시에 무선 LTE 망을 각각 다른 사업자로 이중화하여 구성하고, 1번 사업자의 회선이 다운될 경우에 2번 사업자의 무선 LTE 망으로 자동 절체되어 원격감시제어가 원활하게 될 수 있도록 하는 기술을 개시하고 있다.
이러한 종래기술에 따라 현장 데이터의 전송 성공률을 높이기 위해서는 서로 다른 통신 방식의 개수나 통신 사업자의 개수가 늘어나야 한다. 이러한 서로 다른 통신 방식의 개수나 통신 사업자의 개수 증가에는 많은 비용이 소요되고 그 개수 증가에 한계가 있다.
통신품질은 우수하나 통신 연결율이 떨어지는 회선 독점 방식의 음성통신망 환경에서 신속하게 통신 연결이 이루어져 데이터 전송이 신속하게 처리될 수 있도록 함으로써 원방감시제어시스템에서 데이터통신망을 통한 서버와의 통신이 불능인 경우에도 현장 데이터의 전송 성공률을 대폭 향상시킬 수 있는 SMS 통신 기반의 데이터 전송 방법을 제공하는 데에 있다. 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 설명으로부터 또 다른 기술적 과제가 도출될 수도 있다.
본 발명의 일 측면에 따른 원방감시제어시스템에서의 SMS 통신 기반의 데이터 전송 방법은 제 1 하위모뎀은 데이터통신망을 통한 서버와의 통신이 불능이면, 상기 서버와 음성통신망 사이의 통신 중계를 담당하는 상위모뎀에 상기 음성통신망의 SMS(Short Message Service) 연결을 요청하는 단계; 상기 제 1 하위모뎀은 상기 상위모뎀으로부터 상기 SMS 연결 요청에 대한 응답 수신에 성공한 경우, 상기 음성통신망의 SMS 연결을 통하여 상기 서버를 목적지로 하는 제 1 현장의 데이터를 상기 상위모뎀에 전송하는 단계; 및 상기 제 1 하위모뎀은 상기 상위모뎀으로부터 상기 SMS 연결 요청에 대한 응답 수신에 실패한 경우, 모뎀리스트에 등록된 하위모뎀들 중에서 제 2 현장의 설비와 상기 음성통신망 사이의 통신 중계를 담당하는 제 2 하위모뎀에 상기 제 1 하위모뎀을 대신하여 상기 서버를 목적지로 하는 제 1 현장의 데이터를 상기 상위모뎀에 전송하여 줄 것을 요청하는 단계를 포함한다.
상기 제 1 하위모뎀은 상기 제 1 현장의 데이터의 전송 요청에 대한 응답 수신에 실패한 경우, 상기 제 1 현장의 데이터의 전송 요청에 대한 응답 수신에 성공할 때까지 상기 모뎀리스트에 등록된 하위모뎀들 중 나머지 하위모뎀에 대하여 상기 서버를 목적지로 하는 제 1 현장의 데이터를 상기 상위모뎀에 전송하여 줄 것을 요청하는 단계를 반복한다.
상기 제 1 하위모뎀은 상기 제 2 하위모뎀의 전송 요청에 대한 응답 수신에 실패한 경우, 상기 모뎀리스트에 등록된 하위모뎀들 중에서 제 3 현장의 설비와 음성통신망간의 통신 중계를 담당하는 제 3 하위모뎀에 상기 제 1 하위모뎀을 대신하여 상기 상위모뎀으로 상기 제 1 현장의 데이터를 전송하여 줄 것을 요청하는 단계를 더 포함할 수 있다.
상기 요청하는 단계는 상기 제 1 하위모뎀은 상기 제 2 하위모뎀에 상기 제 1 하위모뎀을 대신하여 상기 상위모뎀으로 상기 서버를 목적지로 하는 제 1 현장의 데이터를 전송하여 줄 것을 요청하는 요청프레임을 생성하는 단계; 및 상기 제 1 하위모뎀은 상기 생성된 요청프레임을 상기 음성통신망을 통하여 전송하는 단계를 포함하고, 상기 생성된 요청프레임은 상기 제 2 하위모뎀의 고유번호가 기록된 제 1 아이디필드, 상기 상위모뎀의 고유번호가 기록된 제 2 아이디필드, 데이터 전송 요청을 나타내는 타입 값이 기록된 타입필드, 상기 제 1 현장의 데이터가 기록된 데이터필드를 포함할 수 있다.
상기 요청하는 단계는 상기 제 1 하위모뎀은 상기 전송된 요청프레임에 대한 응답프레임의 수신에 실패한 경우, 상기 생성된 요청프레임의 전송 시도 횟수를 카운트하는 단계; 상기 제 1 하위모뎀은 상기 카운트된 전송 시도 횟수와 최대 횟수를 비교하는 단계; 및 상기 제 1 하위모뎀은 상기 비교 결과에 따라 상기 생성된 요청프레임을 다시 전송하는 단계를 더 포함할 수 있다.
상기 요청하는 단계는 상기 제 1 하위모뎀은 타이머를 온시키는 단계; 및 상기 제 1 하위모뎀은 상기 온된 타이머의 주기마다 상기 전송된 요청프레임에 대한 응답프레임의 수신 여부를 확인하는 단계를 더 포함하고, 상기 카운트하는 단계는 상기 확인 결과, 상기 요청프레임에 대한 응답프레임의 수신에 실패한 경우에 상기 전송요청프레임의 전송 시도 횟수를 카운트할 수 있다.
상기 타이머를 온시키는 단계는 타이머(317)를 온시킴과 동시에 요청리스트에 상기 생성된 요청프레임을 기록함으로써 상기 요청리스트에 상기 생성된 요청프레임에 해당하는 요청을 등록하고, 상기 제 1 하위모뎀은 상기 전송요청프레임에 대한 응답프레임의 수신에 성공한 경우에 상기 요청리스트로부터 상기 생성된 요청프레임에 해당하는 요청의 등록을 삭제하는 단계를 더 포함할 수 있다.
상기 제 1 하위모뎀은 상기 확인 결과, 상기 전송요청프레임에 대한 응답프레임의 수신에 성공한 경우에 상기 타이머를 오프시키는 단계; 상기 제 1 하위모뎀은 상기 타이머가 오프된 경우, 상기 요청리스트에 등록된 요청을 검색하는 단계; 및 상기 제 1 하위모뎀은 상기 검색된 요청에 해당하는 요청프레임을 상기 음성통신망을 통하여 전송하는 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따른 원방감시제어시스템은 서로 다른 현장에 설치되는 복수 개의 설비; 상기 각 현장의 데이터를 사용자에게 제공하는 서버; 상기 각 현장의 설비와 음성통신망간의 통신 중계를 담당하는 복수 개의 하위모뎀; 및 상기 서버와 상기 음성통신망간의 통신 중계를 담당하는 상위모뎀을 포함하고, 상기 복수 개의 하위모뎀 중 적어도 하나는 상기 SMS 통신 기반의 데이터 전송 방법을 수행한다.
본 발명의 또 다른 측면에 따른 원방감시제어시스템의 원격단말유닛과 음성통신망 사이의 통신 중계를 담당하는 하위모뎀은 데이터통신망을 통한 서버와의 통신 상태를 모니터링하는 제어부; 상기 제어부의 제어에 따라 상기 데이터통신망을 통한 서버와의 통신이 불능이면, 서버와 음성통신망 사이의 통신 중계를 담당하는 상위모뎀에 상기 음성통신망의 SMS(Short Message Service) 연결을 요청하는 연결프레임을 생성하는 프레임생성부; 및 상기 생성된 연결프레임을 상기 음성통신망을 통하여 전송하는 통신부를 포함하고, 상기 제어부는 상기 전송된 연결프레임에 대한 응답프레임 수신 여부를 확인하고, 상기 프레임생성부는 상기 제어부의 제어에 따라 상기 전송된 연결프레임에 대한 응답프레임 수신에 성공한 경우, 상기 서버를 목적지로 하는 제 1 현장의 데이터를 전송하기 위한 데이터프레임을 생성하고,
상기 프레임 생성부는 상기 제어부의 제어에 따라 상기 전송된 연결프레임에 대한 응답프레임 수신에 실패한 경우, 다른 하위모뎀에 상위모뎀으로 상기 서버를 목적지로 하는 제 1 현장의 데이터를 전송하여 줄 것을 요청하기 위한 요청프레임을 생성하고, 상기 통신부는 상기 음성통신망의 SMS 연결을 통하여 상기 생성된 데이터프레임 또는 상기 생성된 요청프레임을 전송한다.
데이터통신망을 통한 서버와의 통신이 불능인 경우, 서버와 음성통신망 사이의 통신 중계를 담당하는 상위모뎀과의 SMS 연결 요청에 대한 응답 수신에 성공한 경우에 음성통신망의 SMS 연결을 통하여 서버를 목적지로 하는 현장 데이터를 상위모뎀에 전송하고, SMS 연결 요청에 대한 응답 수신에 실패한 경우에는 모뎀리스트에 등록된 다른 하위모뎀들에 대해서 차례대로 서버를 목적지로 하는 현장 데이터를 상위모뎀에 전송하여 줄 것을 요청함으로써 현장 데이터의 전송 성공률을 대폭 향상시킬 수 있다.
특히, 원방감시제어분야의 특성상 서버가 신속하게 현장 데이터를 수신하여야 한다. 통신품질은 우수하나 통신 연결율이 떨어지는 회선 독점 방식의 음성통신망 환경에서 신속하게 통신 연결이 이루어져 데이터 전송이 신속하게 처리될 수 있도록 하는 SMS 통신 프로토콜을 제시함으로써 원방감시제어분야에 적합한 SMS 통신 프로토콜을 제공할 수 있다.
종래기술은 서로 다른 통신 방식이나 서로 다른 통신 사업자를 이용한 통신 다중화 기술을 제시하고 있으나, 이러한 서로 다른 통신 방식의 개수나 통신 사업자의 개수 증가에는 많은 비용이 소요되고 그 개수 증가에 한계가 있다. 원방감시제어분야의 각 현장은 전국 곳곳에 존재하기 때문에 매우 많은 개수의 하위모뎀이 존재한다. 이에 따라 본 실시예는 매우 저렴한 비용으로 음성통신망의 하위모뎀 개수를 늘릴 수 있고, 종래기술에 비해 매우 저렴한 비용으로 현장 데이터의 전송 성공률을 대폭 향상시킬 수 있다.
요청리스트에 등록된 요청은 그 요청 사항이 처리될 때까지 하위모뎀에 의해 계속적으로 모니터링되고 그것을 먼저 처리할 수 있는 상태에 있게 된 모뎀이 신속하게 처리함으로써 각 현장의 데이터 전송 등과 같은 작업에 대해 현재 통신 상황에서 가장 먼저 처리가 가능한 회선이 자동으로 설정될 수 있고, 결과적으로 각 현장의 데이터 전송 등과 같은 작업이 거의 실패 없이 신속하게 처리될 수 있다. 상기된 바와 같은 효과들로 한정되지 않으며, 이하의 설명으로부터 또 다른 효과가 도출될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 원방감시제어시스템의 구성도이다.
도 2는 도 1에 도시된 원방감시제어시스템에서의 SMS 통신 기반의 데이터 전송 방법의 흐름도이다.
도 3은 도 1에 도시된 각 하위모뎀의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 전송에 사용되는 SMS 프레임의 포맷을 나타낸다.
도 5는 도 1에 도시된 하위모뎀의 SMS 프레임 생성 전송 과정의 상세 흐름도이다.
도 6은 도 1에 도시된 하위모뎀으로부터 전송된 SMS 프레임 수신 처리 과정의 상세 흐름도이다.
도 7은 도 1에 도시된 하위모뎀의 요청 재처리 과정의 상세 흐름도이다.
도 8은 도 1에 도시된 상위모뎀으로부터 전송된 SMS 프레임의 수신 처리 과정의 상세 흐름도이다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 원방감시제어시스템의 구성도이다. 도 1을 참조하면, 본 실시예에 따른 원방감시제어시스템은 복수 개의 현장디바이스(field device)(11~13), 복수 개의 원격단말유닛(RTU, Remote Terminal Unit)(21~23), 복수 개의 하위모뎀(LM, Lower Modem)(31~33), 상위모뎀(UM, Upper Modem)(40), 및 HMI(Human Machine Interface) 서버(50)로 구성된다. 본 실시예에 따른 원방감시제어시스템에는 상기된 구성요소들 외에 또 다른 구성요소가 추가될 수도 있다. 예를 들어, 본 실시예에 따른 원방감시제어시스템이 정수장 등 수처리시설에 적용될 경우에 상위모뎀(40)과 HMI 서버(50) 사이에 수처리시설을 감시하고 제어하기 위한 TM/TM(Telemetering & Telecontrol Master)가 추가될 수도 있다.
도 1에는 세 개의 현장디바이스(11~13), 세 개의 원격단말유닛(21~23), 세 개의 하위모뎀(31~33), 하나의 상위모뎀(40), 하나의 HMI 서버(50)가 도시되어 있으나 그 개수는 다양할 수 있다. 예를 들어, 본 실시예에 따른 원방감시제어시스템에는 훨씬 더 많은 개수의 현장디바이스(11~13), 원격단말유닛(21~23), 하위모뎀(31~33)이 존재할 수도 있고, 복수 개의 상위모뎀(40)과 함께 다른 종류의 서버가 더 존재할 수도 있다.
복수 개의 현장디바이스(11~13) 각각은 서로 다른 현장에 설치되어 각 현장의 상태를 측정하거나 조절하기 위한 적어도 하나의 디바이스를 의미한다. 도 1에 도시된 실시예에 따르면, 제 1 현장디바이스(11)는 제 1 현장에 설치되고, 제 2 현장디바이스(12)는 제 2 현장에 설치되고, 제 3 현장디바이스(13)는 제 3 현장에 설치되어 있다. 제 1 현장이 정수장인 경우에 제 1 현장디바이스(11)의 예로는 압력계(111), 펌프(112), 유량계(113), 수위계(114), 수질계(115), 전력량계(116) 등을 들 수 있다.
복수 개의 원격단말유닛(21~23) 각각은 각 현장디바이스(11~13)에 동축케이블, 광케이블 등을 이용하여 직접 연결되거나 지역망을 통해 연결되어 각 현장디바이스(11~13)의 출력 신호나 데이터를 HMI 서버(50)가 인식할 수 있는 포맷으로 변환하거나 HMI 서버(50)로부터 전송된 제어 데이터를 각 현장설비가 인식할 수 있는 포맷으로 변환하는 역할을 한다. 각 현장디바이스(11~13)와 이것에 연결된 각 원격단말유닛(21~23)은 이하에서 각 현장의 설비로 호칭될 수 있다. 즉, 제 1 현장디바이스와 제 1 원격단말유닛은 제 1 현장의 설비로 호칭될 수 있고, 제 2 현장디바이스와 제 2 원격단말유닛은 제 2 현장의 설비로 호칭될 수 있고, 제 3 현장디바이스와 제 3 원격단말유닛은 제 3 현장의 설비로 호칭될 수 있다.
복수 개의 하위모뎀(31~33) 각각은 각 현장의 설비와 데이터통신망간의 통신 중계와 각 현장의 설비와 음성통신망간의 통신 중계를 담당한다. 도 1에 도시된 실시예에 따르면, 제 1 하위모뎀(31)은 제 1 현장의 설비와 음성통신망간의 통신 중계를 담당하고, 제 2 하위모뎀(32)은 제 2 현장의 설비와 음성통신망간의 통신 중계를 담당하고, 제 3 하위모뎀(33)은 제 3 현장의 설비와 음성통신망간의 통신 중계를 담당한다. 보다 상세하게 설명하면, 제 1 하위모뎀(31)은 제 1 현장디바이스(11)에 연결된 제 1 원격단말유닛(21)과 음성통신망간의 통신 중계를 담당하고, 제 2 하위모뎀(32)은 제 2 현장디바이스(12)에 연결된 제 2 원격단말유닛(22)과 음성통신망간의 통신 중계를 담당하고, 제 3 하위모뎀(33)은 제 3 현장디바이스(13)에 연결된 제 3 원격단말유닛(23)과 음성통신망간의 통신 중계를 담당한다.
여기에서, 데이터통신망은 디지털 데이터를 패킷 단위로 분할하여 전송하기 위한 통신망으로서 이것의 대표적인 예로는 인터넷을 들 수 있다. 인터넷에서의 목적지 특정에는 목적지의 IP(Internet Protocol) 주소가 사용된다. 즉, 각 하위모뎀(31~33)은 각 원격단말유닛(21~23)에 연결되어 각 원격단말유닛(21~23)으로부터 출력된 디지털 데이터를 패킷 단위로 분할하고 HMI 서버(50)를 목적지로 하는 패킷들을 데이터통신망을 통해 전송한다. 또한, 각 하위모뎀(31~33)은 그것의 IP 주소를 목적지 주소로 하는 패킷들을 데이터통신망을 통해 수신하고 이와 같이 수신된 패킷들의 조합으로부터 HMI 서버(50)가 전송한 데이터를 추출한다.
한편, 음성통신망은 아날로그 음성 데이터를 전송하기 위한 통신망으로서 이것의 대표적인 예로는 PSTN(Public Switched Telephone Network)을 들 수 있다. PSTN에서의 목적지 특정에는 전화번호가 사용된다. 즉, 각 하위모뎀(31~33)은 각 원격단말유닛(21~23)으로부터 출력된 디지털 데이터를 아날로그 데이터로 변환하는 변조를 수행하거나 각 원격단말유닛(21~23)을 목적지로 하는 아날로그 데이터를 디지털 데이터로 변환하는 복조를 수행한다. 음성통신망은 아날로그 음성 데이터를 전송하기 위한 용도 외에 단문 메시지(short message)를 전송하기 위한 용도로 사용된다.
본 실시예는 데이터통신망 기반의 IP 통신이 불가능한 상태에서 각 현장의 데이터를 HMI 서버(50)에게 제공하거나 HMI 서버(50)가 각 현장의 설비를 제어 및 관리하기 위해 음성통신망 기반의 SMS 통신을 사용한다. HMI 서버(50)에게 제공되는 각 현장의 데이터의 예로는 압력계(111), 유량계(113), 수위계(114), 수질계(115), 전력량계(116) 등에 의해 측정된 각 현장의 측정 데이터를 들 수 있다. HMI 서버(50)가 각 현장의 설비를 제어 및 관리하기 위한 데이터의 예로는 각 현장디바이스(11~13)의 동작을 제어하기 위한 데이터, 각 원격단말유닛(21~23)의 입출력을 제어하기 위한 데이터, 각 원격단말유닛(21~23)의 파라미터들을 설정하기 위한 데이터 등을 들 수 있다.
상위모뎀(40)은 HMI 서버(50)와 데이터통신망간의 통신 중계와 HMI 서버(50)와 음성통신망간의 통신 중계를 담당한다. 즉, 상위모뎀(40)은 HMI 서버(50)에 연결되어 HMI 서버(50)로부터 출력된 디지털 데이터를 패킷 단위로 분할하고 어떤 원격단말유닛(21~23)의 IP 주소를 목적지 주소로 하는 패킷들을 데이터통신망을 통해 전송하거나, 그것의 IP 주소를 목적지로 하는 패킷들을 데이터통신망을 통해 수신하고 이와 같이 수신된 패킷들의 조합으로부터 어떤 원격단말유닛(21~23)이 전송한 데이터를 추출한다. 또한, 상위모뎀(40)은 HMI 서버(50)로부터 출력된 디지털 데이터를 아날로그 데이터로 변환하는 변조를 수행하거나 HMI 서버(50)를 목적지로 하는 아날로그 데이터를 디지털 데이터로 변환하는 복조를 수행한다.
본 실시예에 따른 각 모뎀, 즉 각 하위모뎀(31~33)과 각 상위모뎀(40)은 모뎀리스트와 요청리스트를 구비하고 있다. 각 모뎀이 구비하는 모뎀리스트에는 각 원격단말유닛(21~23)에 일대일로 연결된 각 하위모뎀(31~33)이 등록되어 있고, HMI 서버(50)에 일대일로 연결된 상위모뎀(40)이 등록되어 있다. 각 하위모뎀(31~33)은 모뎀리스트에 각 원격단말유닛(21~23)의 IP 주소와 이것에 일대일로 연결된 각 하위모뎀(31~33)의 고유번호가 서로 매핑되어 기록되는 방식으로 등록된다. 마찬가지로, 상위모뎀(40)은 모뎀리스트에 HMI 서버(50)의 IP 주소와 이것에 일대일로 연결된 상위모뎀(40)의 고유번호가 서로 매핑되어 기록되는 방식으로 등록된다.
하나의 하위모뎀에 연결된 원격단말유닛이 여러 개일 수도 있고, 하나의 상위모뎀에 연결된 서버가 여러 개일 수도 있다. 이 경우, 각 하위모뎀(31~33)은 모뎀리스트에 다수 개의 원격단말유닛의 IP 주소와 이것에 다대일로 연결된 각 하위모뎀(31~33)의 고유번호가 서로 매핑되어 기록되는 방식으로 등록된다. 마찬가지로, 상위모뎀(40)은 모뎀리스트에 다수의 서버의 IP 주소와 이것에 다대일로 연결된 상위모뎀(40)의 고유번호가 서로 매핑되어 기록되는 방식으로 등록된다. 특히, 이 경우는 데이터가 목적지에 해당하는 원격단말유닛 또는 서버에 도착할 수 있도록 하위모뎀과 상위모뎀에 이러한 매핑 정보가 제공될 필요가 있다.
요청리스트는 어떤 모뎀이 다른 모뎀에 어떤 작업을 요청했을 경우에 두 모뎀이 구비하고 있는 요청리스트 모두에 해당 작업의 요청이 등록된다. 아래에 자세하게 설명된 바와 같이, 요청리스트에 등록된 요청은 그 요청 사항이 처리될 때까지 하위모뎀에 의해 계속적으로 모니터링되고 그것을 먼저 처리할 수 있는 상태에 있게 된 모뎀이 신속하게 처리함으로써 각 현장의 데이터 전송 등과 같은 작업에 대해 현재 통신 상황에서 가장 먼저 처리가 가능한 회선이 자동으로 설정될 수 있고, 결과적으로 각 현장의 데이터 전송 등과 같은 작업이 거의 실패 없이 신속하게 처리될 수 있다.
HMI 서버(50)는 상위모뎀(40)으로부터 출력된 각 현장의 데이터를 인간의 시각이나 청각으로 인지할 수 있는 형태의 데이터로 변환하여 출력함으로써 각 현장의 데이터를 원방감시제어시스템의 사용자에게 제공한다. 또한, HMI 서버(50)는 그것의 사용자에 의해 입력된 명령 및 정보에 따라 각 현장의 설비를 제어나 관리하기 위한 데이터를 생성하고 이와 같이 생성된 데이터를 데이터통신망 또는 음성통신망을 통하여 전송한다.
이하에서는 음성통신망의 SMS 통신을 이용하여 각 현장디바이스(11~13)로부터 HMI 서버(50)로 각 현장의 데이터가 전송되는 측면에서 본 실시예를 설명하기로 한다. 이하의 설명으로부터 음성통신망의 SMS 통신을 이용하여 HMI 서버(50)로부터 각 현장의 설비로 각 현장의 설비를 제어나 관리하기 위한 데이터가 전송되는 측면에서의 본 실시예도 이해될 수 있다.
도 2는 도 1에 도시된 원방감시제어시스템에서의 SMS 통신 기반의 데이터 전송 방법의 흐름도이다. 도 2를 참조하면, 본 실시예에 따른 원방감시제어시스템에서의 SMS 통신 기반의 데이터 전송 방법은 제 1 하위모뎀(31)에서 시계열적으로 처리되는 단계들로 구성된다.
21 단계에서 제 1 하위모뎀(31)은 제 1 원격단말유닛(21)으로부터 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 입력받으면, 데이터통신망을 통한 HMI 서버(50)와의 IP 통신이 가능한가를 확인한다. 그 확인 결과, 데이터통신망을 통한 HMI 서버(50)와의 IP 통신이 가능하면 22 단계로 진행되고 불능이면 23 단계로 진행된다. 데이터통신망을 통한 HMI 서버(50)와의 IP 통신 불능이란 제 1 하위모뎀(31)과 HMI 서버(50)간의 IP 통신이 IP 주소의 오설정, 통신장비 고장 등 여러 원인으로 인해 일정 시간 이상, 예를 들어 일분 이상 불가능한 경우를 말한다.
22 단계에서 제 1 하위모뎀(31)은 데이터통신망을 통한 HMI 서버(50)와의 IP 통신을 이용하여 제 1 원격단말유닛(21)으로부터 입력된 제 1 현장의 데이터를 HMI 서버(50)에 전송한다. 데이터가 인터넷과 같은 데이터통신망을 통해 전송되는 경우, 송신노드와 수신노드의 여러 쌍이 데이터통신망의 수많은 회선을 공유하는 방식으로 데이터가 패킷 단위로 분할되어 여러 회선을 통해 전송되기 때문에 SMS 연결 요청과 같은 과정이 필요가 없다. 그러나, 이러한 회선 공유 방식으로 인해 통신 품질이 낮아 통신 상태가 불량한 경우가 자주 발생한다. 여기에서, 제 1 하위모뎀(31)은 송신노드에 해당하고, 상위모뎀(40)은 수신노드에 해당한다.
23 단계에서 제 1 하위모뎀(31)은 HMI 서버(50)와 음성통신망간의 통신 중계를 담당하는 상위모뎀(40)에 음성통신망의 SMS 연결을 요청한다. 데이터가 음성통신망을 통해 전송되는 경우, 송신노드와 수신노드의 각 쌍 별로 하나의 회선을 독점하는 방식으로 데이터가 하나의 회선을 통해 한 번에 전송되기 때문에 통신 품질이 높다. 그러나, 이러한 회선 독점 방식으로 인해 송신노드가 어떤 수신노드로 데이터를 전송하고자 할 때에 수신노드가 다른 송신노드와의 사이에 이미 어떤 회선을 독점하고 있으면 송신노드는 이 수신노드와 통신을 할 수 없다. 이에 따라, 음성통신망 환경에서는 송신노드와 수신노드간의 통신 연결율이 데이터통신망 환경에 비해 떨어지게 된다.
24 단계에서 제 1 하위모뎀(31)은 상위모뎀(40)으로부터 23 단계에서의 SMS 연결 요청에 대한 응답 수신 여부를 확인한다. 그 확인 결과, 23 단계에서의 SMS 연결 요청에 대한 응답 수신에 성공한 경우에는 25 단계로 진행되고 응답 수신에 실패한 경우에는 26 단계로 진행된다. 23 단계에서의 SMS 연결 요청에 대한 응답 수신에 성공한 경우란 제 1 하위모뎀(31)과 상위모뎀(40) 사이의 음성통신망 회선 설정에 성공한 경우를 말한다.
25 단계에서 제 1 하위모뎀(31)은 음성통신망의 SMS 연결을 통하여 제 1 원격단말유닛(21)으로부터 입력된 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 상위모뎀(40)에 전송한다. 도 2의 복잡도를 낮추기 위해 생략되어 있으나, 제 1 하위모뎀(31)은 25 단계에서의 데이터 전송에 대한 응답 수신 여부를 확인한다. 그 확인 결과, 25 단계에서의 데이터 전송에 대한 응답 수신에 성공한 경우에는 종료되고 응답 수신에 실패한 경우에는 26 단계로 진행된다. 25 단계에서의 데이터 전송에 대한 응답 수신에 성공한 경우란 상위모뎀(40)이 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 정상적으로 수신하고, 이것에 대한 응답을 전송한 경우를 말한다.
26 단계에서 제 1 하위모뎀(31)은 모뎀리스트에 등록된 하위모뎀들 중에서 하위모뎀간 우선순위에 따라 제 2 현장의 설비와 음성통신망 사이의 통신 중계를 담당하는 제 2 하위모뎀(32)을 선정하고, 이와 같이 선정된 제 2 하위모뎀(32)에 음성통신망의 SMS 연결을 요청한다. 하위모뎀간 우선순위는 제 1 하위모뎀(31)과의 지리적 거리에 따라 가까운 순서대로 설정될 수 있다. 기존의 SMS 통신은 통신 보안 기능을 제공하지 않기 때문에 데이터 보안에 취약하다는 약점이 있었다. 본 실시예는 모뎀리스트에 등록된 모뎀에만 데이터를 전송함으로써 이러한 약점을 보완할 수 있다.
27 단계에서 제 1 하위모뎀(31)은 제 2 하위모뎀(32)으로부터 26 단계에서의 SMS 연결 요청에 대한 응답 수신 여부를 확인한다. 그 확인 결과, 26 단계에서의 SMS 연결 요청에 대한 응답 수신에 성공한 경우에는 28 단계로 진행되고 응답 수신에 실패한 경우에는 211 단계로 진행된다. 26 단계에서의 SMS 연결 요청에 대한 응답 수신에 성공한 경우란 제 1 하위모뎀(31)과 상기 제 2 하위모뎀(32) 사이의 음성통신망 회선 설정에 성공한 경우를 말한다.
28 단계에서 제 1 하위모뎀(31)은 제 2 하위모뎀(32)에 제 1 하위모뎀(31)을 대신하여 상위모뎀(40)으로 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 전송하여 줄 것을 요청한다. 이 때, 제 1 하위모뎀(31)은 요청리스트에 이러한 요청을 등록한다. 이와 같이, 26~28 단계에서 제 1 하위모뎀(31)은 상위모뎀(40)으로부터 SMS 연결 요청에 대한 응답 수신 또는 데이터 전송에 대한 응답 수신에 실패한 경우, 모뎀리스트에 등록된 하위모뎀들 중에서 제 2 하위모뎀(32)을 선정하고, 제 2 하위모뎀(32)에 제 1 하위모뎀(31)을 대신하여 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 상위모뎀(40)에 전송하여 줄 것을 요청한다.
사람 사이의 통화와는 달리 현장 데이터의 전송은 일반적으로 매우 짧은 시간 내에 완료된다. 23 단계에서의 SMS 연결 요청에 대한 응답 수신에 실패하는 경우는 상위모뎀(40)이 통신 중인 경우보다는 여러 원인으로 인해 제 1 하위모뎀(31)과 상위모뎀(40) 사이의 회선 설정이 정상적으로 이루어지지 않는 경우가 많다. 이 경우, 제 1 하위모뎀(31)과 상위모뎀(40) 사이의 회선 설정이 불가능하더라도 다른 하위모뎀(31~33)과 상위모뎀(40) 사이에는 회선 설정이 가능한 경우가 많다. 예를 들어, 음성통신망의 여러 노드를 경유하는 제 1 하위모뎀(31)과 상위모뎀(40) 사이의 회선 일부에 트래픽이 집중되는 경우, 제 2 하위모뎀(32)과 상위모뎀(40) 사이의 회선 설정은 정상적으로 이루어질 수 있다.
29 단계에서 제 1 하위모뎀(31)은 제 2 하위모뎀(32)으로부터 28 단계에서의 데이터 전송 요청에 대한 응답 수신 여부를 확인한다. 그 확인 결과, 28 단계에서의 데이터 전송 요청에 대한 응답 수신에 성공한 경우에는 210 단계로 진행되고 응답 수신에 실패한 경우에는 211 단계로 진행된다. 28 단계에서의 데이터 전송 요청에 성공한 경우란 제 2 하위모뎀(32)이 HMI 서버(50)로 제 1 현장의 데이터의 전송에 성공한 경우를 말한다. 제 2 하위모뎀(32)은 제 1 하위모뎀(31)으로부터 제 1 현장의 데이터의 전송 요청을 수신하면 23~25 단계에서의 제 1 하위모뎀(31)의 동작과 동일한 동작을 수행한다. 다만, 제 2 하위모뎀(32)은 상위모뎀(40)으로부터 SMS 연결 요청에 대한 응답 수신에 실패한 경우에는 제 1 하위모뎀(31)에 대하여 어떤 조치도 취하지 않으며 제 2 하위모뎀(32)에 할당된 다른 작업을 수행하게 된다.
210 단계에서 제 1 하위모뎀(31)은 요청리스트로부터 28 단계에서의 데이터 전송 요청 등록을 삭제함으로써 28 단계에서의 데이터 전송 요청에 대한 응답을 처리한다. 본 실시예에 따르면, 제 1 하위모뎀(31)이 구비하고 있는 요청리스트에 어떤 요청이 등록되어 있으면 그 요청 사항이 처리될 때까지 제 1 하위모뎀(31)은 계속적으로 그 요청 사항의 처리를 시도한다.
211 단계에서 제 1 하위모뎀(31)은 모뎀리스트에 등록된 하위모뎀들 중에서 하위모뎀간 우선순위에 따라 제 3 현장의 설비와 음성통신망간의 통신 중계를 담당하는 제 3 하위모뎀(33)을 선정하고, 이와 같이 선정된 제 3 하위모뎀(33)에 음성통신망의 SMS 연결을 요청한다.
212 단계에서 제 1 하위모뎀(31)은 제 3 하위모뎀(33)으로부터 211 단계에서의 SMS 연결 요청에 대한 응답 수신 여부를 확인한다. 그 확인 결과, 211 단계에서의 SMS 연결 요청에 대한 응답 수신에 성공한 경우에는 213 단계로 진행되고 응답 수신에 실패한 경우에는 제 1 현장의 데이터 전송은 미처리 상태로 종료된다. 211 단계에서의 SMS 연결 요청에 대한 응답 수신에 성공한 경우란 제 1 하위모뎀(31)과 상기 제 3 하위모뎀(33) 사이의 음성통신망 회선 설정에 성공한 경우를 말한다.
213 단계에서 제 1 하위모뎀(31)은 제 3 하위모뎀(33)에 제 1 하위모뎀(31)을 대신하여 상위모뎀(40)으로 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 전송하여 줄 것을 요청한다. 이 때, 제 1 하위모뎀(31)은 요청리스트에 이러한 요청을 등록한다. 이와 같이, 211~213 단계에서 제 1 하위모뎀(31)은 제 2 하위모뎀(32)으로부터 SMS 연결 요청 또는 데이터 전송 요청에 대한 응답 수신에 실패한 경우, 모뎀리스트에 등록된 하위모뎀들 중에서 제 3 하위모뎀(33)을 선정하고, 제 3 하위모뎀(33)에 제 1 하위모뎀(31)을 대신하여 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 상위모뎀(40)에 전송하여 줄 것을 요청한다.
214 단계에서 제 1 하위모뎀(31)은 제 3 하위모뎀(33)으로부터 213 단계에서의 데이터 전송 요청에 대한 응답 수신 여부를 확인한다. 그 확인 결과, 213 단계에서의 데이터 전송 요청에 대한 응답 수신에 성공한 경우에는 215 단계로 진행되고 응답 수신에 실패한 경우에는 제 1 현장의 데이터 전송은 미처리 상태로 종료된다. 213 단계에서의 데이터 전송 요청에 대한 응답 수신에 성공한 경우란 제 3 하위모뎀(33)이 HMI 서버(50)로 제 1 현장의 데이터의 전송에 성공한 경우를 말한다. 제 3 하위모뎀(33)은 제 2 하위모뎀(32)과 마찬가지로 제 1 하위모뎀(31)으로부터 제 1 현장의 데이터의 전송 요청을 수신하면 23~25 단계에서의 제 1 하위모뎀(31)의 동작과 동일한 동작을 수행한다.
215 단계에서 제 1 하위모뎀(31)은 요청리스트로부터 213 단계에서의 데이터 전송 요청 등록을 삭제함으로써 213 단계에서의 데이터 전송 요청에 대한 응답을 처리한다. 이와 같이, 제 1 하위모뎀(31)은 제 2 하위모뎀(32)으로부터 제 1 현장의 데이터의 전송 요청에 대한 응답 수신에 실패한 경우, 제 1 현장의 데이터의 전송 요청에 대한 응답 수신에 성공할 때까지 모뎀리스트에 등록된 하위모뎀들 중 나머지 하위모뎀에 대하여 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 상위모뎀(40)에 전송하여 줄 것을 요청하는 26~28 단계를 반복함으로써 현장 데이터의 전송 성공률을 대폭 향상시킬 수 있다. 도 2에 도시된 현장 데이터 전송 방법은 도 1에 도시된 원방감시제어시스템이 세 개의 하위모뎀(31~33)을 구비한 경우에 대한 예로서 다른 하위모뎀이 더 존재할 경우에 다른 하위모뎀에 대해서도 26~28 단계가 반복된다.
현장에 수질 이상, 고수위 등 어떤 이상 징후가 발생한 경우에 서버가 그 현장의 데이터를 수신할 수 없거나 늦게 수신하게 되면 대형사고, 인명사고 등으로 이어질 수 있다. 원방감시제어분야에서는 현장 설비에 대한 실시간 감시 제어가 보장되어야 하기 때문에 서버가 신속하게 현장 데이터를 수신하여야 한다. 상술한 바와 같이, 회선 독점 방식의 음성통신망은 통신품질은 우수하나 통신 연결율이 떨어지기 때문에 원방감시제어분야의 통신 수단으로는 적합하지 않다. 본 실시예는 회선 독점 방식의 음성통신망 환경에서 신속하게 통신 연결이 이루어져 데이터 전송이 신속하게 처리될 수 있도록 하는 SMS 통신 프로토콜을 제시함으로써 원방감시제어분야에 적합한 SMS 통신 프로토콜을 제공할 수 있다.
대한민국등록특허 제10-1872648호 "고속통신을 위한 SCADA 시스템의 디바이스 연결 방법 및 그 장치"는 원방감시제어분야에서 다중 통신 연결을 지원하여 통신 연결의 안정성과 신뢰도를 향상시키는 기술을 개시하고 있다. 대한민국등록특허 제10-1975587호 "RTU를 이용한 통합 계장 계측 제어시스템"은 원방감시제어분야에서 데이터 전송 시에 무선 LTE 망을 각각 다른 사업자로 이중화하여 구성하고, 1번 사업자의 회선이 다운될 경우에 2번 사업자의 무선 LTE 망으로 자동 절체되어 원격감시제어가 원활하게 될 수 있도록 하는 기술을 개시하고 있다. 이러한 종래기술에 따라 현장 데이터의 전송 성공률을 높이기 위해서는 서로 다른 통신 방식의 개수나 통신 사업자의 개수가 늘어나야 한다.
이러한 서로 다른 통신 방식의 개수나 통신 사업자의 개수 증가에는 많은 비용이 소요되고 그 개수 증가에 한계가 있다. 원방감시제어분야의 각 현장은 전국 곳곳에 존재하기 때문에 매우 많은 개수의 하위모뎀이 존재한다. 이에 따라 본 실시예는 매우 저렴한 비용으로 음성통신망의 하위모뎀 개수를 늘릴 수 있고, 종래기술에 비해 매우 저렴한 비용으로 현장 데이터의 전송 성공률을 대폭 향상시킬 수 있다.
도 3은 도 1에 도시된 각 하위모뎀(31~33)의 구성도이다. 도 3을 참조하면, 도 1에 도시된 각 하위모뎀(31~33)은 통신부(311), 입출력부(312), 복호화부(313), 프레임처리부(314), 프레임생성부(315), 암호화부(316), 타이머(317), 카운터(318), 비교부(319), 제어부(320), 및 스토리지(321)로 구성된다. 상위모뎀(40)도 이와 유사한 구성으로 구현될 수 있다. 도 1에 도시된 각 하위모뎀(31~33)에는 상기된 구성요소들 외에 또 다른 구성요소가 추가되거나 상기된 구성요소들 중 일부가 생략될 수도 있다. 예를 들어, 도 1에 도시된 각 하위모뎀(31~33)은 암호화부(316)와 복호화부(313)를 구비하지 않을 수도 있다. 각 구성요소의 상세한 동작은 도 5~8을 참조하면서 아래에서 설명하기로 한다.
통신부(311)는 프레임생성부(315)에 의해 생성된 SMS 프레임을 데이터통신망 또는 음성통신망을 통하여 전송하거나 데이터통신망 또는 음성통신망을 통하여 어떤 SMS 프레임을 수신할 수 있다. 이와 같이 통신부(311)에 의해 전송되거나 수신되는 SMS 프레임은 암호화된 형태의 SMS 프레임일 수 있다. 입출력부(312)는 프레임처리부(314)에 의해 추출된 데이터를 각 하위모뎀(31~33)에 연결된 원격단말유닛(21~23)에 출력하거나 그 원격단말유닛(21~23)으로부터 입력된 데이터를 제어부(320)에 전달한다.
복호화부(313)는 통신부(311)에 의해 수신된 암호화된 SMS 프레임을 복호화함으로써 SMS 프레임을 복원한다. 프레임처리부(314)는 도 4에 도시된 포맷에 따라 복호화부(313)에 의해 복원된 SMS 프레임으로부터 필드 값들과 데이터를 추출하고, 이와 같이 추출된 필드 값들을 제어부(320)에 전달하고, 이와 같이 추출된 데이터를 제어부(320)의 제어에 따라 입출력부(312)에 전달한다.
프레임생성부(315)는 제어부(320)의 제어에 따라 SMS 프레임을 생성한다. 암호화부(316)는 프레임생성부(315)에 의해 생성된 SMS 프레임을 암호화한다. 예를 들어, 암호화부(316)는 SEED-256 알고리즘 등을 사용하여 SMS 프레임을 암호화할 수 있다.
비교부(319)는 카운터(318)에 의해 카운트된 전송 시도 횟수와 최대 횟수를 비교한다. 타이머(317)는 그 내부에 설정된 주기마다 제어부(320)에 신호를 출력한다. 카운터(318)는 제어부(320)의 제어에 따라 SMS 프레임의 전송 시도 횟수를 카운트한다.
제어부(320)는 통신부(311)의 통신 상태, 프레임처리부(314)의 프레임 처리 결과, 및 타이머(317)의 동작 상태를 모니터링하고, 이러한 모니터링을 통해 통신부(311)의 유휴 여부, 어떤 SMS 프레임에 대한 응답프레임 수신 여부, 타이머(317)의 온/오프 여부를 확인할 수 있다. 제어부(320)는 이러한 확인 결과에 따라 프레임생성부(315), 타이머(317), 및 카운터(318)를 제어하고 스토리지(321)에 저장되어 있는 모뎀리스트와 요청리스트를 갱신한다. 스토리지(321)에는 상술한 바와 같은 모뎀리스트와 요청리스트가 저장된다.
도 4는 본 발명의 일 실시예에 따른 데이터 전송에 사용되는 SMS 프레임의 포맷을 나타낸다. 도 4를 참조하면, 본 실시예의 SMS 프레임은 제 1 아이디필드(41), 제 2 아이디필드(42), 타입필드(43), 커맨드필드(44), 데이터필드(45), 및 체크섬필드(46)로 구성된다. 제 1 아이디필드(41)에는 SMS 통신의 상대모뎀의 아이디로서 상대모뎀의 고유번호, 즉 전화번호가 기록된다. 제 2 아이디필드(42)에는 데이터를 수신할 모뎀의 아이디로서 수신모뎀의 고유번호, 즉 전화번호가 기록된다. 각 하위모뎀(31~33)의 SMS 통신 상대가 데이터를 수신하는 경우 등, 데이터의 수신모뎀이 별도로 존재하지 않는 경우라면 제 2 아이디필드(42)에는 널(null) 데이터가 기록된다.
타입필드(43)에는 본 실시예에 따른 SMS 프레임의 타입이 기록된다. 본 실시예에 따른 SMS 프레임의 타입에는 다른 모뎀과의 SMS 연결을 요청하기 위한 연결프레임(connection frame), 다른 모뎀에 데이터를 전송하기 위한 데이터프레임(data frame), 및 다른 모뎀에 어떤 요청을 하기 위한 요청프레임(request frame), 및 그 각각에 대한 응답프레임이 있다. 커맨드필드(44)에는 데이터필드(45)에 기록된 데이터에 대한 커맨드가 기록된다. 데이터필드(45)에는 각 하위모뎀(31~33)이 전송하고자 하는 데이터가 기록된다. 체크섬필드(46)에는 데이터필드(45)에 기록된 데이터의 오류를 검출하기 위한 체크섬 값이 기록된다. 커맨드필드(44)에 기록된 커맨드 값에 따라 데이터필드에 기록된 데이터가 처리된다.
도 5는 도 1에 도시된 하위모뎀(31~33)의 SMS 프레임 생성 전송 과정의 상세 흐름도이다. 도 5를 참조하면, 하위모뎀(31~33)의 SMS 프레임 생성 전송 과정은 제 1 하위모뎀(31)에서 시계열적으로 처리되는 단계들로 구성된다. 다른 하위모뎀 또는 상위모뎀(40)도 마찬가지로 이하에서 설명된 과정에 따라 SMS 프레임을 생성하여 전송할 수 있다.
51 단계에서 제 1 하위모뎀(31)의 프레임생성부(315)는 제어부(320)의 제어에 따라 도 4에 도시된 포맷에 따라 SMS 프레임을 생성한다. 23 단계의 경우, 제 1 하위모뎀(31)의 프레임생성부(315)는 상위모뎀(40)에 음성통신망의 SMS 연결을 요청하기 위한 연결프레임(connection frame)을 생성한다. 이 연결프레임은 상위모뎀(40)의 고유번호가 기록된 제 1 아이디필드(41), 널 데이터가 기록된 제 2 아이디필드(42), SMS 연결 요청을 나타내는 타입 값이 기록된 타입필드(43), 널 데이터가 기록된 커맨드필드(44), 널 데이터가 기록된 데이터필드(45), 및 널 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 SMS 프레임이다. 연결프레임에는 어떤 데이터의 수신모뎀이 존재하지 않기 때문에 제 2 아이디필드(42)에는 널 데이터가 기록된다.
25 단계의 경우, 제 1 하위모뎀(31)의 프레임생성부(315)는 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 전송하기 위한 데이터프레임(data frame)을 생성한다. 예를 들어, 프레임생성부(315)는 제어부(320)의 제어에 따라 연결프레임에 대한 응답프레임 수신에 성공한 경우에 이 데이터프레임을 생성할 수 있다. 이 데이터프레임은 상위모뎀(40)의 고유번호가 기록된 제 1 아이디필드(41), 널 데이터가 기록된 제 2 아이디필드(42), 데이터 전송을 나타내는 타입 값이 기록된 타입필드(43), 널 데이터가 기록된 커맨드필드(44), 제 1 현장의 데이터가 기록된 데이터필드(45), 제 1 현장의 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 SMS 프레임이다. 데이터프레임의 경우, SMS 통신의 상대모뎀과 데이터를 수신할 모뎀이 동일하기 때문에 제 2 아이디필드(42)에는 널 데이터가 기록된다.
26 단계의 경우, 제 1 하위모뎀(31)의 프레임생성부(315)는 제 2 하위모뎀(32)에 음성통신망의 SMS 연결을 요청하기 위한 연결프레임을 생성한다. 이 연결프레임은 제 2 하위모뎀(32)의 고유번호가 기록된 제 1 아이디필드(41), 널 데이터가 기록된 제 2 아이디필드(42), SMS 연결 요청을 나타내는 타입 값이 기록된 타입필드(43), 널 데이터가 기록된 커맨드필드(44), 널 데이터가 기록된 데이터필드(45), 및 널 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 SMS 프레임이다.
28 단계의 경우, 제 1 하위모뎀(31)의 프레임생성부(315)는 제 2 하위모뎀(32)에 제 1 하위모뎀(31)을 대신하여 상위모뎀(40)으로 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 전송하여 줄 것을 요청하기 위한 요청프레임(request frame)을 생성한다. 이 요청프레임은 제 2 하위모뎀(32)의 고유번호가 기록된 제 1 아이디필드(41), 상위모뎀(40)의 고유번호가 기록된 제 2 아이디필드(42), 요청을 나타내는 타입 값이 기록된 타입필드(43), 데이터 전송을 나타내는 커맨드 값이 기록되는 커맨드필드(44), 제 1 현장의 데이터가 기록된 데이터필드(45), 및 제 1 현장의 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 SMS 프레임이다.
211 단계의 경우, 제 1 하위모뎀(31)의 프레임생성부(315)는 제 3 하위모뎀(33)에 음성통신망의 SMS 연결을 요청하기 위한 연결프레임을 생성한다. 이 연결프레임은 제 3 하위모뎀(33)의 고유번호가 기록된 제 1 아이디필드(41), 널 데이터가 기록된 제 2 아이디필드(42), SMS 연결 요청을 나타내는 타입 값이 기록된 타입필드(43), 널 데이터가 기록된 커맨드필드(44), 널 데이터가 기록된 데이터필드(45), 및 널 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 SMS 프레임이다.
213 단계의 경우, 제 1 하위모뎀(31)의 프레임생성부(315)는 제 3 하위모뎀(33)에 제 1 하위모뎀(31)을 대신하여 상위모뎀(40)으로 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터를 전송하여 줄 것을 요청하기 위한 요청프레임을 생성한다. 이 요청프레임은 제 2 하위모뎀(32)의 고유번호가 기록된 제 1 아이디필드(41), 상위모뎀(40)의 고유번호가 기록된 제 2 아이디필드(42), 요청을 나타내는 타입 값이 기록된 타입필드(43), 데이터 전송을 나타내는 커맨드 값이 기록된 커맨드필드(44), 제 1 현장의 데이터가 기록된 데이터필드(45), 및 제 1 현장의 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 SMS 프레임이다.
이하의 과정에서 설명되는 SMS 프레임은 상술한 바와 같은 종류의 프레임 중 어느 한 종류의 프레임이 될 수 있다. 상술한 바와는 반대로, 제 1 하위모뎀(31)의 프레임생성부(315)는 다른 모뎀으로부터 어떤 요청프레임을 수신한 경우, 그 요청프레임에 대한 응답프레임을 생성할 수도 있다. 이 응답프레임은 그 요청프레임을 전송한 하위모뎀(31~33)의 고유번호가 기록된 제 1 아이디필드(41), 널 데이터가 기록된 제 2 아이디필드(42), 응답을 나타내는 타입 값이 기록된 타입필드(43), 널 데이터가 기록된 커맨드필드(44), 널 데이터가 기록된 데이터필드(45), 및 널 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 SMS 프레임이다.
52 단계에서 제 1 하위모뎀(31)의 제어부(320)는 51 단계에서 생성된 SMS 프레임을 반복적으로 전송하기 위해 타이머(317)를 온시킨다. 예를 들어, 타이머(317)의 주기는 10초일 수 있다. 이 경우, 51 단계에서 생성된 SMS 프레임의 전송은 10초마다 시도된다. 51 단계에서 생성된 SMS 프레임이 요청프레임인 경우, 제어부(320)는 타이머(317)를 온시킴과 동시에 요청리스트에 51 단계에서 생성된 요청프레임을 기록함으로써 요청리스트에 해당 요청을 등록한다.
53 단계에서 제 1 하위모뎀(31)의 통신부(311)는 51 단계에서 생성된 SMS 프레임을 음성통신망을 통하여 전송한다. 제 1 하위모뎀(31)의 암호화부(316)와 통신부(311)는 51 단계에서 생성된 SMS 프레임을 암호화하여 전송할 수도 있다. 기존의 SMS 통신은 통신 보안 기능을 제공하지 않기 때문에 데이터 보안에 취약하다는 약점이 있었다. 본 실시예는 두 모뎀간에 프레임을 암호화하여 전송함으로써 이러한 약점을 보완할 수 있다. 이와 같이 암호화된 SMS 프레임을 수신한 모뎀 또는 음성통신망의 노드는 그 SMS 프레임의 데이터를 추출하기 위해서는 이것을 복호화하는 과정이 필요하다.
51 단계에서 생성된 SMS 프레임의 제 1 아이디필드(41)에 상위모뎀(40)의 고유번호가 기록되어 있는 경우, 그 SMS 프레임은 음성통신망의 교환기 등에 의해 상위모뎀(40)으로 보내지게 된다. 이때, 제 1 하위모뎀(31)과 상위모뎀(40) 사이의 회선 설정 문제 등 SMS 통신 문제가 없으면 상위모뎀(40)은 연결프레임을 수신할 수 있다. 이 경우, 상위모뎀(40)은 이와 같이 수신된 연결프레임에 대한 응답프레임을 전송한다. 연결프레임이 암호화되어 있는 경우, 상위모뎀(40)은 암호화된 연결프레임을 복호화함으로써 연결프레임을 획득할 수도 있다. 응답프레임의 제 1 아이디필드(41)에는 제 1 하위모뎀(31)의 고유번호가 기록되며, 타입필드(43)에는 SMS 연결 요청의 응답을 나타내는 값이 기록된다. 제 2 아이디필드(42), 커맨드필드(44), 및 데이터필드(45)에는 널 데이터가 기록되고, 체크섬필드(46)에는 널 데이터에 대한 체크섬 값이 기록된다.
54 단계에서 제 1 하위모뎀(31)의 제어부(320)는 52 단계에서 온된 타이머의 주기마다 프레임처리부(314)에서의 프레임 처리 결과를 모니터링함으로써 53 단계에서 전송된 SMS 프레임에 대한 응답프레임의 수신 여부를 확인한다. 통신부(311)가 어떤 SMS 프레임을 수신하면, 프레임처리부(314)는 제어부(320)에 그 SMS 프레임의 필드 값들을 출력하게 되고, 제어부(320)는 그 SMS 프레임은 어떤 SMS 프레임인가를 알 수 있게 된다. 그 확인 결과, 53 단계에서 전송된 SMS 프레임에 대한 응답프레임 수신에 성공한 경우에는 58 단계로 진행되고 응답프레임 수신에 실패한 경우에는 54 단계로 진행된다.
55 단계에서 제 1 하위모뎀(31)의 카운터(318)는 53 단계에서의 SMS 프레임의 전송 시도 횟수를 카운트한다. 예를 들어, 53 단계에서 연결프레임이 처음으로 전송되고 응답프레임 수신에 실패한 경우라면 53 단계에서의 연결프레임의 전송 시도 횟수는 "1"이 된다. 그 후, 53 단계에서 연결프레임이 다시 전송되고 응답프레임 수신에 실패한 경우라면 53 단계에서의 연결프레임의 전송 시도 횟수는 "2"가 된다.
56 단계에서 제 1 하위모뎀(31)의 비교부(319)는 55 단계에서 카운트된 전송 시도 횟수와 최대 횟수를 비교한다. 그 비교 결과, 55 단계에서 카운트된 전송 시도 횟수가 최대 횟수를 초과한 경우에는 57 단계로 진행되고 54 단계에서 카운트된 전송 시도 횟수가 최대 횟수 이하인 경우에는 53 단계로 돌아가서 SMS 프레임의 전송이 다시 시도된다.
57 단계에서 제 1 하위모뎀(31)의 제어부(320)는 53 단계에서의 SMS 프레임의 전송 실패에 대한 로그(log)를 작성한다. 음성통신망의 SMS 통신의 특성상 상위모뎀(40)의 회선 점유는 일시적으로 발생하였다가 사라질 수 있기 때문에 본 실시예는 데이터 전송 성공률을 높이기 위해 SMS 연결을 여러 차례 시도한다.
55 단계에서 카운트된 전송 시도 횟수가 최대 횟수를 초과한 경우는 상위모뎀(40)의 회선 점유 문제보다는 제 1 하위모뎀(31)과 상위모뎀(40) 사이의 회선 일부에 트래픽이 집중되는 경우 등 다른 문제일 수 있다. 이 경우, 본 실시예는 제 1 하위모뎀(31)과 상위모뎀(40) 사이의 회선 설정을 반복 시도하지 않고 SMS 프레임을 전송하기 위한 다른 경로를 탐색함으로써 SMS 프레임의 전송 성공이 신속하게 이루어질 수 있다.
58 단계에서 제 1 하위모뎀(31)의 제어부(320)는 54 단계에서 수신된 응답프레임을 처리한다. 예를 들어 연결프레임에 대한 응답프레임인 경우, 제어부(320)는 SMS 연결이 완료된 이후의 작업을 진행함으로써 54 단계에서 수신된 응답프레임을 처리한다. 요청프레임에 대한 응답프레임인 경우, 제어부(320)는 요청리스트로부터 그것에 기록된 요청프레임을 삭제함으로써, 즉 그 요청프레임에 해당하는 요청의 등록을 삭제함으로써 54 단계에서 수신된 응답프레임을 처리한다.
59 단계에서 제 1 하위모뎀(31)의 제어부(320)는 타이머(317)를 오프시킨다. 제어부(320)는 통신부(311)의 유휴 상태와 타이머(317)의 온/오프 상태를 모니터링함으로써 통신부(311)를 통해 현재 전송되거나 수신되는 어떤 것도 없고 타이머(317)가 오프된 경우라면 요청리스트의 요청 등록 여부에 따라 52~58을 다시 반복할 수도 있다.
도 6은 도 1에 도시된 하위모뎀(31~33)으로부터 전송된 SMS 프레임 수신 처리 과정의 상세 흐름도이다. 도 6을 참조하면, 하위모뎀(31~33)으로부터 전송된 SMS 프레임 수신 처리 과정은 제 2 하위모뎀(32)에서 시계열적으로 처리되는 단계들로 구성된다. 다른 하위모뎀도 마찬가지로 이하에서 설명된 과정에 따라 하위모뎀(31~33)으로부터 전송된 SMS 프레임을 수신하여 처리할 수 있다.
61 단계에서 제 2 하위모뎀(32)의 통신부(311)는 SMS 프레임을 수신한다. SMS 프레임이 암호화되어 있는 경우, 제 2 하위모뎀(32)의 복호화부(313)는 통신부(311)에 의해 수신된 SMS 프레임을 복호화할 수 있다.
62 단계에서 제 2 하위모뎀(32)의 프레임처리부(314)는 61 단계에서 수신된 SMS 프레임이 도 4에 도시된 포맷에 따른 정상적인 포맷의 SMS 프레임인가를 확인한다. 그 확인 결과, 61 단계에서 수신된 SMS 프레임이 정상적인 포맷의 SMS 프레임이면 63 단계로 진행되고 그렇지 않으면 61 단계에서 수신된 SMS 프레임은 폐기된다. 예를 들어, SMS 프레임이 정상적으로 암호화되어 있지 않은 경우, 제 2 하위모뎀(32)은 61 단계에서의 복호화에 의해 정상적인 포맷의 SMS 프레임을 얻을 수 없다.
63 단계에서 제 2 하위모뎀(32)의 제어부(320)는 61 단계에서 수신된 SMS 프레임의 제 1 아이디필드(41)에 기록된 고유번호가 모뎀리스트에 등록된 모뎀의 고유번호인가를 확인한다. 그 확인 결과, SMS 프레임의 제 1 아이디필드(41)에 기록된 고유번호가 모뎀리스트에 등록된 모뎀의 고유번호이면 64 단계로 진행되고, 그렇지 않으면 61 단계에서 수신된 SMS 프레임은 폐기된다. 상술한 바와 같이, 모뎀리스트에는 각 HMI 서버(50)에 연결된 상위모뎀이 등록되어 있고, 각 원격단말유닛(21~23)에 연결된 하위모뎀이 등록되어 있다. 이와 같이, 본 실시예는 모뎀리스트에 등록된 모뎀으로부터 전송된 SMS 프레임만을 아래와 같이 처리함에 따라 음성통신망을 통해 전송되는 각종 데이터 중에서 본 실시예의 SMS 프레임이 아닌 데이터, 특히 악성코드가 심어져 있는 데이터를 차단할 수 있다.
64 단계에서 제 2 하위모뎀(32)의 제어부(320)는 61 단계에서 수신된 SMS 프레임의 타입필드(43)에 기록된 타입 값이 연결프레임의 타입 값인가를 확인한다. 그 확인 결과, SMS 프레임의 타입필드(43)에 기록된 타입 값이 연결프레임의 타입 값이면 65 단계로 진행되고, 그렇지 않으면 67 단계로 진행된다.
65 단계에서 제 2 하위모뎀(32)의 프레임생성부(315)는 61 단계에서 수신된 SMS 프레임인 연결프레임에 대한 응답프레임을 생성한다. 이 응답프레임은 제 1 하위모뎀(31)의 고유번호가 기록된 제 1 아이디필드(41), 널 데이터가 기록된 제 2 아이디필드(42), 널 데이터가 기록된 커맨드필드(44), SMS 연결 요청에 대한 응답을 나타내는 타입 값이 기록된 타입필드(43), 널 데이터가 기록된 데이터필드(45), 및 널 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 SMS 프레임이다.
66 단계에서 제 2 하위모뎀(32)의 통신부(311)는 65 단계에서 생성된 응답프레임을 전송한다. 제 2 하위모뎀(32)의 암호화부(316)와 통신부(311)는 응답프레임을 암호화하고 여 전송할 수 있다. 이 응답프레임은 상술한 바와 같은 SMS 프레임의 일종으로서 66~67 단계에서의 응답프레임 전송 과정은 도 5에 도시된 SMS 프레임 전송 과정과 동일하게 이루어진다. 66~67 단계에서의 응답프레임 전송 과정에 대한 상세한 설명은 SMS 프레임 전송 과정에 대한 설명으로 갈음하기로 한다.
67 단계에서 제 2 하위모뎀(32)의 제어부(320)는 61 단계에서 수신된 SMS 프레임의 타입필드(43)에 기록된 타입 값이 요청프레임의 타입 값이고 커맨드필드(44)에 기록된 커맨드 값이 데이터 전송을 나타내는가를 확인한다. 그 확인 결과, SMS 프레임의 타입필드(43)에 기록된 타입 값이 요청프레임의 타입 값이고 커맨드필드(44)에 기록된 커맨드 값이 데이터 전송을 나타내면 68 단계로 진행되고, 그렇지 않으면 610 단계로 진행된다.
68 단계에서 제 2 하위모뎀(32)의 제어부(320)는 요청리스트에 61 단계에서 수신된 SMS 프레임인 요청프레임을 기록함으로써 요청리스트에 해당 요청을 등록한다. 예를 들어, 제 2 하위모뎀(32)은 제 1 하위모뎀(31)으로부터 제 2 하위모뎀(32)의 고유번호가 기록된 제 1 아이디필드(41), 상위모뎀(40)의 고유번호가 기록된 제 2 아이디필드(42), 요청을 나타내는 타입 값이 기록된 타입필드(43), 데이터 전송을 나타내는 커맨드 값이 기록되는 커맨드필드(44), 제 1 현장의 데이터가 기록된 데이터필드(45), 및 제 1 현장의 데이터에 대한 체크섬 값이 기록된 체크섬필드(46)로 이루어진 요청프레임을 수신하고, 이것을 요청리스트에 기록함으로써 제 1 하위모뎀(31)에 의한 제 1 현장의 데이터 전송 요청을 기록할 수 있다.
69 단계에서 제 2 하위모뎀(32)은 61 단계에서 수신된 SMS 프레임인 요청프레임을 처리한다. 예를 들어, 제 2 하위모뎀(32)은 도 5에 도시된 SMS 프레임 전송 과정에 따라 상위모뎀(40)에 제 1 현장의 데이터를 전송함으로써 61 단계에서 수신된 SMS 프레임인 요청프레임을 처리할 수 있다.
610 단계에서 제 2 하위모뎀(32)은 61 단계에서 수신된 SMS 프레임의 타입필드(43)에 기록된 타입 값이 응답프레임의 타입 값인가를 확인한다. 그 확인 결과, SMS 프레임의 타입필드(43)에 기록된 타입 값이 응답프레임의 타입 값이면 611 단계로 진행되고, 그렇지 않으면 61 단계에서 수신된 SMS 프레임은 폐기된다.
69 단계에서 제 2 하위모뎀(32)은 61 단계에서 수신된 SMS 프레임인 응답프레임이 요청리스트에 등록된 요청의 응답에 해당하는 응답프레임인가를 확인한다. 즉, 제 2 하위모뎀(32)은 61 단계에서 수신된 응답프레임이 요청리스트에 기록된 요청프레임의 응답프레임인가를 확인한다. 그 확인 결과, 61 단계에서 수신된 프레임인 응답프레임이 요청리스트에 등록된 요청의 응답에 해당하는 응답프레임이면 611 단계로 진행되고, 그렇지 않으면 61 단계에서 수신된 응답프레임은 폐기된다.
610 단계에서 제 2 하위모뎀(32)은 응답을 처리한다. 예를 들어, 제 2 하위모뎀(32)은 도 5에 도시된 SMS 프레임 전송 과정에 따라 HMI 서버(50)를 목적지로 하는 제 1 현장의 데이터의 전송 요청에 성공하였음을 나타내는 응답프레임을 제 1 하위모뎀(31)으로 전송함으로써 응답을 처리할 수 있다.
611 단계에서 제 2 하위모뎀(32)은 요청리스트에 기록된 요청프레임을 삭제함으로써 요청리스트로부터 해당 요청의 등록을 삭제한다. 상술한 바와 같이, 제 1 하위모뎀(31)에 응답프레임이 전송되었기 때문에 제 1 하위모뎀(31)도 요청리스트로부터 해당 요청의 등록을 삭제한다. 결과적으로, 이 요청은 다시 반복해서 처리되지 않으며 그것에 대한 모든 프로세스는 종료된다.
도 7은 도 1에 도시된 하위모뎀(31~33)의 요청 재처리 과정의 상세 흐름도이다. 도 7을 참조하면, 하위모뎀(31~33)의 요청 재처리 과정은 제 1 하위모뎀(31)에서 시계열적으로 처리되는 단계들로 구성된다. 다른 하위모뎀 또는 상위모뎀(40)도 마찬가지로 이하에서 설명된 과정에 따라 요청을 재처리할 수 있다.
71 단계에서 제 1 하위모뎀(31)의 제어부(320)는 통신부(311)의 통신 상태와 타이머(317)의 동작 상태를 모니터링함으로써 통신부(311)를 통해 현재 전송되거나 수신되는 어떤 것도 없고 타이머(317)가 오프된 경우인가를 확인한다. 통신부(311)를 통해 현재 전송되거나 수신되는 어떤 것도 없고 타이머(317)가 오프된 경우이면 72 단계로 진행되고, 그렇지 않으면 하위모뎀(31~33)의 요청 재처리 과정은 시작되지 않는다.
72 단계에서 제 1 하위모뎀(31)의 제어부(320)는 요청리스트에 등록된 요청을 검색한다. 요청리스트에 어떤 요청도 등록되어 있지 않은 경우라면 하위모뎀(31~33)의 요청 재처리 과정은 시작되지 않는다. 73 단계에서 제 1 하위모뎀(31)의 제어부(320)는 타이머(317)를 온시킨다. 74 단계에서 제 1 하위모뎀(31)의 통신부(311)는 72 단계에서 검색된 요청에 해당하는 요청프레임을 음성통신망을 통하여 전송한다. 즉, 72 단계에서 검색된 요청에 요청리스트에 기록된 요청프레임을 음성통신망을 통하여 전송한다. 제 1 하위모뎀(31)은 요청리스트로부터 여러 요청이 검색된 경우에 전송 시도 횟수가 적은 요청부터 우선적으로 처리할 수 있다.
75 단계에서 제 1 하위모뎀(31)의 제어부(320)는 72 단계에서 온된 타이머의 주기마다 프레임처리부(314)에서의 프레임 처리 상태를 모니터링함으로써 73 단계에서 전송된 요청프레임에 대한 응답프레임의 수신 여부를 확인한다. 그 확인 결과, 74 단계에서 전송된 요청프레임에 대한 응답프레임 수신에 성공한 경우에는 79 단계로 진행되고 응답프레임 수신에 실패한 경우에는 76 단계로 진행된다.
76 단계에서 제 1 하위모뎀(31)의 카운터(318)는 74 단계에서의 요청프레임의 전송 시도 횟수를 카운트한다. 77 단계에서 제 1 하위모뎀(31)의 카운터(318)는 75 단계에서 카운트된 전송 시도 횟수와 최대 횟수를 비교한다. 그 비교 결과, 76 단계에서 카운트된 전송 시도 횟수가 최대 횟수를 초과한 경우에는 78 단계로 진행되고 76 단계에서 카운트된 전송 시도 횟수가 최대 횟수 이하인 경우에는 74 단계로 돌아가서 요청프레임의 전송이 다시 시도된다. 78 단계에서 제 1 하위모뎀(31)의 제어부(320)는 73 단계에서의 SMS 프레임의 전송 실패에 대한 로그를 작성한다.
79 단계에서 제 1 하위모뎀(31)의 제어부(320)는 요청리스트로부터 해당 요청의 등록을 삭제함으로써 75 단계에서 수신된 응답프레임을 처리한다. 710 단계에서 제 1 하위모뎀(31)의 제어부(320)는 타이머(317)를 오프시킨다. 73~710 단계는 52~59 단계와 동일하므로 이것에 대한 상세한 설명은 52~59 단계의 설명으로 갈음하기로 한다.
이와 같이, 요청리스트에 등록된 요청은 그 요청 사항이 처리될 때까지 하위모뎀에 의해 계속적으로 모니터링되고 그것을 먼저 처리할 수 있는 상태에 있게 된 모뎀이 신속하게 처리함으로써 각 현장의 데이터 전송 등과 같은 작업에 대해 현재 통신 상황에서 가장 먼저 처리가 가능한 회선이 자동으로 설정될 수 있고, 결과적으로 각 현장의 데이터 전송 등과 같은 작업이 거의 실패 없이 신속하게 처리될 수 있다.
도 8은 도 1에 도시된 상위모뎀(40)으로부터 전송된 SMS 프레임의 수신 처리 과정의 상세 흐름도이다. 도 8을 참조하면, 상위모뎀(40)으로부터 전송된 SMS 프레임의 수신 처리 과정은 제 1 하위모뎀(31)에서 시계열적으로 처리되는 단계들로 구성된다. 다른 하위모뎀도 마찬가지로 이하에서 설명된 과정에 따라 상위모뎀(40)으로부터 전송된 SMS 프레임을 수신하여 처리할 수 있다. 연결 프레임의 수신 처리 과정은 생략되며 도 6에 대한 설명으로 갈음하기로 한다.
81 단계에서 제 1 하위모뎀(31)의 통신부(311)는 상위모뎀(40)으로부터 SMS 프레임을 수신한다. SMS 프레임이 암호화되어 있는 경우, 제 1 하위모뎀(31)의 복호화부(313)는 SMS 프레임을 복호화할 수 있다.
82 단계에서 제 1 하위모뎀(31)의 프레임처리부(314)는 81 단계에서 수신된 SMS 프레임이 도 4에 도시된 포맷에 따른 정상적인 포맷의 SMS 프레임인가를 확인한다. 그 확인 결과, 81 단계에서 수신된 SMS 프레임이 정상적인 포맷의 SMS 프레임이면 83 단계로 진행되고 그렇지 않으면 81 단계에서 수신된 SMS 프레임은 폐기된다.
83 단계에서 제 1 하위모뎀(31)의 제어부(320)는 81 단계에서 수신된 SMS 프레임의 제 1 아이디필드(41)에 기록된 고유번호가 모뎀리스트에 등록된 모뎀의 고유번호인가를 확인한다. 그 확인 결과, SMS 프레임의 제 1 아이디필드(41)에 기록된 고유번호가 모뎀리스트에 등록된 모뎀의 고유번호이면 84 단계로 진행되고, 그렇지 않으면 81 단계에서 수신된 SMS 프레임은 폐기된다.
84 단계에서 제 1 하위모뎀(31)의 제어부(320)는 81 단계에서 수신된 SMS 프레임의 타입필드(43)에 기록된 타입 값이 데이터프레임의 타입 값이고, 커맨드필드(44)에 기록된 커맨드 값이 제 1 현장디바이스(11)의 제어를 나타내는가를 확인한다. 상위모뎀으로부터 전송된 SMS 프레임은 연결프레임과 데이터프레임 중 어느 하나이기 때문에 이하에서는 81 단계에서 수신된 SMS 프레임의 타입필드(43)에 기록된 타입 값이 데이터프레임의 타입 값인 경우만을 설명하기로 한다. 그 확인 결과, SMS 프레임의 커맨드필드(44)에 기록된 커맨드 값이 제 1 현장디바이스(11)의 제어를 나타내는 85 단계로 진행되고, 그렇지 않으면 86 단계로 진행된다.
85 단계에서 제 1 하위모뎀(31)의 제어부(320)는 81 단계에서 수신된 SMS 프레임인 데이터프레임의 데이터필드에 따라 제 1 원격단말유닛(21)이 그것에 연결된 제 1 현장디바이스(11)를 제어할 수 있도록 데이터필드에 기록된 데이터를 제 1 원격단말유닛(21)에 전달한다.
86 단계에서 제 1 하위모뎀(31)의 제어부(320)는 81 단계에서 수신된 SMS 프레임의 커맨드필드(44)에 기록된 커맨드 값이 제 1 원격단말유닛(21)의 입출력 제어를 나타내는가를 확인한다. 그 확인 결과, SMS 프레임의 커맨드필드(44)에 기록된 커맨드 값이 제 1 원격단말유닛(21)의 입출력 제어를 나타내면 87 단계로 진행되고, 그렇지 않으면 88 단계로 진행된다.
87 단계에서 제 1 하위모뎀(31)의 제어부(320)는 SMS 프레임의 데이터필드(45)에 기록된 데이터에 따라 제 1 원격단말유닛(21)의 입출력을 제어한다. 예를 들어, 제 1 현장디바이스(11)가 여러 개인 경우에 제 1 하위모뎀(31)은 그 중 어느 하나로부터 데이터를 입력받거나 어느 하나로 데이터를 출력하도록 제 1 원격단말유닛(21)의 입출력을 제어할 수 있다.
88 단계에서 제 1 하위모뎀(31)의 제어부(320)는 81 단계에서 수신된 SMS 프레임의 커맨드필드(44)에 기록된 커맨드 값이 제 1 원격단말유닛(21)의 파라미터 설정을 나타내는가를 확인한다. 그 확인 결과, SMS 프레임의 커맨드필드(44)에 기록된 커맨드 값이 제 1 원격단말유닛(21)의 파라미터 설정을 나타내면 89 단계로 진행되고, 그렇지 않으면 81 단계에서 수신된 SMS 프레임은 폐기된다.
89 단계에서 제 1 하위모뎀(31)의 제어부(320)는 81 단계에서 수신된 SMS 프레임인 데이터프레임의 데이터필드에 기록된 데이터에 따라 제 1 원격단말유닛(21)의 파라미터를 설정한다.
이제까지 본 발명에 대하여 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
11, 12, 13 ... 현장디바이스
21, 22, 23 ... 원격단말유닛
31, 32, 33 ... 하위모뎀
40 ... 상위모뎀
50 ... HMI 서버
311 ... 통신부
312 ... 입출력부
313 ... 복호화부
314 ... 프레임처리부
315 ... 프레임생성부
316 ... 암호화부
317 ... 타이머
318 ... 카운터
319 ... 비교부
320 ... 제어부
321 ... 스토리지

Claims (9)

  1. 원방감시제어시스템에서의 SMS 통신 기반의 데이터 전송 방법에 있어서,
    제 1 하위모뎀은 데이터통신망을 통한 서버와의 통신이 불능이면, 상기 서버와 음성통신망 사이의 통신 중계를 담당하는 상위모뎀에 상기 음성통신망의 SMS(Short Message Service) 연결을 요청하는 단계;
    상기 제 1 하위모뎀은 상기 상위모뎀으로부터 상기 SMS 연결 요청에 대한 응답 수신에 성공한 경우, 상기 음성통신망의 SMS 연결을 통하여 상기 서버를 목적지로 하는 제 1 현장의 데이터를 상기 상위모뎀에 전송하는 단계; 및
    상기 제 1 하위모뎀은 상기 상위모뎀으로부터 상기 SMS 연결 요청에 대한 응답 수신에 실패한 경우, 모뎀리스트에 등록된 하위모뎀들 중에서 제 2 현장의 설비와 상기 음성통신망 사이의 통신 중계를 담당하는 제 2 하위모뎀에 상기 제 1 하위모뎀을 대신하여 상기 서버를 목적지로 하는 제 1 현장의 데이터를 상기 상위모뎀에 전송하여 줄 것을 요청하는 단계를 포함하고,
    상기 제 1 하위모뎀은 상기 제 1 현장의 데이터의 전송 요청에 대한 응답 수신에 실패한 경우, 상기 제 1 현장의 데이터의 전송 요청에 대한 응답 수신에 성공할 때까지 상기 모뎀리스트에 등록된 하위모뎀들 중 나머지 하위모뎀에 대하여 상기 서버를 목적지로 하는 제 1 현장의 데이터를 상기 상위모뎀에 전송하여 줄 것을 요청하는 단계를 반복하고,
    상기 모뎀리스트에 등록된 하위모뎀들 각각은 상기 제 1 현장과 제 2 현장을 포함하는 서로 다른 복수 개의 현장 각각의 설비와 상기 음성통신망간의 통신 중계를 담당하고,
    상기 제 1 하위모뎀은 상기 제 1 현장의 설비와 상기 음성통신망간의 통신 중계를 담당하고,
    상기 제 2 하위모뎀은 상기 제 2 현장의 설비와 상기 음성통신망간의 통신 중계를 담당하는 것을 특징으로 하는 SMS 통신 기반의 데이터 전송 방법.
  2. 제 1 항에 있어서,
    상기 제 1 하위모뎀은 상기 제 2 하위모뎀의 전송 요청에 대한 응답 수신에 실패한 경우, 상기 모뎀리스트에 등록된 하위모뎀들 중에서 제 3 현장의 설비와 음성통신망간의 통신 중계를 담당하는 제 3 하위모뎀에 상기 제 1 하위모뎀을 대신하여 상기 상위모뎀으로 상기 제 1 현장의 데이터를 전송하여 줄 것을 요청하는 단계를 더 포함하는 것을 특징으로 하는 SMS 통신 기반의 데이터 전송 방법.
  3. 제 1 항에 있어서,
    상기 요청하는 단계는
    상기 제 1 하위모뎀은 상기 제 2 하위모뎀에 상기 제 1 하위모뎀을 대신하여 상기 상위모뎀으로 상기 서버를 목적지로 하는 제 1 현장의 데이터를 전송하여 줄 것을 요청하는 요청프레임을 생성하는 단계; 및
    상기 제 1 하위모뎀은 상기 생성된 요청프레임을 상기 음성통신망을 통하여 전송하는 단계를 포함하고,
    상기 생성된 요청프레임은 상기 제 2 하위모뎀의 고유번호가 기록된 제 1 아이디필드, 상기 상위모뎀의 고유번호가 기록된 제 2 아이디필드, 데이터 전송 요청을 나타내는 타입 값이 기록된 타입필드, 상기 제 1 현장의 데이터가 기록된 데이터필드를 포함하는 것을 특징으로 하는 SMS 통신 기반의 데이터 전송 방법.
  4. 제 3 항에 있어서,
    상기 요청하는 단계는
    상기 제 1 하위모뎀은 상기 전송된 요청프레임에 대한 응답프레임의 수신에 실패한 경우, 상기 생성된 요청프레임의 전송 시도 횟수를 카운트하는 단계;
    상기 제 1 하위모뎀은 상기 카운트된 전송 시도 횟수와 최대 횟수를 비교하는 단계; 및
    상기 제 1 하위모뎀은 상기 비교 결과에 따라 상기 생성된 요청프레임을 다시 전송하는 단계를 더 포함하는 것을 특징으로 하는 SMS 통신 기반의 데이터 전송 방법.
  5. 제 4 항에 있어서,
    상기 요청하는 단계는
    상기 제 1 하위모뎀은 타이머를 온시키는 단계; 및
    상기 제 1 하위모뎀은 상기 온된 타이머의 주기마다 상기 전송된 요청프레임에 대한 응답프레임의 수신 여부를 확인하는 단계를 더 포함하고,
    상기 카운트하는 단계는 상기 확인 결과, 상기 요청프레임에 대한 응답프레임의 수신에 실패한 경우에 상기 전송된 요청프레임의 전송 시도 횟수를 카운트하는 것을 특징으로 하는 SMS 통신 기반의 데이터 전송 방법.
  6. 제 5 항에 있어서,
    상기 타이머를 온시키는 단계는 타이머(317)를 온시킴과 동시에 요청리스트에 상기 생성된 요청프레임을 기록함으로써 상기 요청리스트에 상기 생성된 요청프레임에 해당하는 요청을 등록하고,
    상기 제 1 하위모뎀은 상기 전송된 요청프레임에 대한 응답프레임의 수신에 성공한 경우에 상기 요청리스트로부터 상기 생성된 요청프레임에 해당하는 요청의 등록을 삭제하는 단계를 더 포함하는 것을 특징으로 하는 SMS 통신 기반의 데이터 전송 방법.
  7. 제 6 항에 있어서,
    상기 제 1 하위모뎀은 상기 확인 결과, 상기 전송된 요청프레임에 대한 응답프레임의 수신에 성공한 경우에 상기 타이머를 오프시키는 단계;
    상기 제 1 하위모뎀은 상기 타이머가 오프된 경우, 상기 요청리스트에 등록된 요청을 검색하는 단계; 및
    상기 제 1 하위모뎀은 상기 검색된 요청에 해당하는 요청프레임을 상기 음성통신망을 통하여 전송하는 단계를 더 포함하는 것을 특징으로 하는 SMS 통신 기반의 데이터 전송 방법.
  8. 원방감시제어시스템의 제 1 현장의 설비와 음성통신망 사이의 통신 중계를 담당하는 제 1 하위모뎀에 있어서,
    데이터통신망을 통한 서버와의 통신 상태를 모니터링하는 제어부;
    상기 제어부의 제어에 따라 상기 데이터통신망을 통한 서버와의 통신이 불능이면, 서버와 음성통신망 사이의 통신 중계를 담당하는 상위모뎀에 상기 음성통신망의 SMS(Short Message Service) 연결을 요청하는 연결프레임을 생성하는 프레임생성부; 및
    상기 생성된 연결프레임을 상기 음성통신망을 통하여 전송하는 통신부를 포함하고,
    상기 제어부는 상기 전송된 연결프레임에 대한 응답프레임 수신 여부를 확인하고,
    상기 프레임생성부는 상기 제어부의 제어에 따라 상기 전송된 연결프레임에 대한 응답프레임 수신에 성공한 경우, 상기 서버를 목적지로 하는 제 1 현장의 데이터를 전송하기 위한 데이터프레임을 생성하고,
    상기 프레임 생성부는 상기 제어부의 제어에 따라 상기 전송된 연결프레임에 대한 응답프레임 수신에 실패한 경우, 모뎀 리스트에 등록된 하위모뎀들 중 제 2 하위모뎀에 상위모뎀으로 상기 서버를 목적지로 하는 제 1 현장의 데이터를 전송하여 줄 것을 요청하기 위한 요청프레임을 생성하고,
    상기 통신부는 상기 음성통신망의 SMS 연결을 통하여 상기 생성된 데이터프레임 또는 상기 생성된 요청프레임을 전송하고,
    상기 모뎀리스트에 등록된 하위모뎀들 각각은 상기 제 1 현장과 제 2 현장을 포함하는 서로 다른 복수 개의 현장 각각의 설비와 상기 음성통신망간의 통신 중계를 담당하고,
    상기 제 1 하위모뎀은 상기 제 1 현장의 설비와 상기 음성통신망간의 통신 중계를 담당하고,
    상기 제 2 하위모뎀은 상기 제 2 현장의 설비와 상기 음성통신망간의 통신 중계를 담당하는 것을 특징으로 하는 제 1 하위모뎀.
  9. 서로 다른 현장에 설치되는 복수 개의 설비;
    상기 각 현장의 데이터를 사용자에게 제공하는 서버;
    상기 각 현장의 설비와 음성통신망간의 통신 중계를 담당하는 복수 개의 하위모뎀; 및
    상기 서버와 상기 음성통신망간의 통신 중계를 담당하는 상위모뎀을 포함하고,
    상기 복수 개의 하위모뎀 중 적어도 하나는 제 1 항의 SMS 통신 기반의 데이터 전송 방법을 수행하는 것을 특징으로 하는 원방감시제어시스템.
KR1020190083456A 2019-07-10 2019-07-10 원방감시제어시스템에서의 sms 통신 기반의 데이터 전송 방법 KR102052552B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190083456A KR102052552B1 (ko) 2019-07-10 2019-07-10 원방감시제어시스템에서의 sms 통신 기반의 데이터 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190083456A KR102052552B1 (ko) 2019-07-10 2019-07-10 원방감시제어시스템에서의 sms 통신 기반의 데이터 전송 방법

Publications (1)

Publication Number Publication Date
KR102052552B1 true KR102052552B1 (ko) 2020-01-08

Family

ID=69154172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190083456A KR102052552B1 (ko) 2019-07-10 2019-07-10 원방감시제어시스템에서의 sms 통신 기반의 데이터 전송 방법

Country Status (1)

Country Link
KR (1) KR102052552B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130190023A1 (en) * 2009-06-01 2013-07-25 Jay Bhatt Direct sms message delivery over broadband data networks through an sms-c
KR101872648B1 (ko) * 2017-08-08 2018-06-28 주식회사 자이솜 고속통신을 위한 scada 시스템의 디바이스 연결 방법 및 그 장치
KR101975587B1 (ko) * 2019-01-17 2019-05-07 주식회사 아이씨티솔루션스 Rtu를 이용한 통합 계장 계측 제어시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130190023A1 (en) * 2009-06-01 2013-07-25 Jay Bhatt Direct sms message delivery over broadband data networks through an sms-c
KR101872648B1 (ko) * 2017-08-08 2018-06-28 주식회사 자이솜 고속통신을 위한 scada 시스템의 디바이스 연결 방법 및 그 장치
KR101975587B1 (ko) * 2019-01-17 2019-05-07 주식회사 아이씨티솔루션스 Rtu를 이용한 통합 계장 계측 제어시스템

Similar Documents

Publication Publication Date Title
EP1182819B1 (en) Home network controlling via e-mails
CN110753327B (zh) 一种基于无线自组网和LoRa的终端物联接入系统
US10515538B2 (en) Communication systems
KR20160002058A (ko) 모드버스 통신 패턴 학습에 기반한 비정상 트래픽 탐지 장치 및 방법
US10122688B2 (en) Communication system
US9871653B2 (en) System for cryptographic key sharing among networked key servers
CN107360154A (zh) 一种内网安全接入方法及系统
KR101538147B1 (ko) 보안모듈이 적용된 배전자동화 시스템 및 이를 이용한 보안방법
CN112291200A (zh) 一种边缘计算app可信接入物联边缘代理的方法及系统
CN112468592A (zh) 一种基于电力信息采集的终端在线状态侦测方法及系统
JP4750869B2 (ja) 通信制御装置及び監視装置
CN116455564A (zh) 基于量子加密的配电自动化防护方法和系统
US20150035681A1 (en) Point-to-Multipoint Polling in a Monitoring System for an Electric Power Distribution System
KR102052552B1 (ko) 원방감시제어시스템에서의 sms 통신 기반의 데이터 전송 방법
KR101449422B1 (ko) 스카다시스템에서 플랜트 자동복구 및 보안 시스템
US10708163B1 (en) Methods, systems, and computer readable media for automatic configuration and control of remote inline network monitoring probe
JP2006229835A (ja) 伝送ネットワークの制御・監視方式
CN106571937A (zh) 路由器、移动终端及告警信息发送和接收的方法
CN104320634A (zh) 一种输电线路远程智能巡线数据的快速传输方法
CN107018518B (zh) 一种获取链路检测信息的方法和系统
CN113382023A (zh) 一种专网跨网监管的方法和系统
CN113395191A (zh) 一种访问家庭网关的方法和系统以及家庭网关
CN113411180B (zh) 一种数据加密总线自适应的工业设备远程升级系统
CN115426392B (zh) 一种设备网络管理方法、装置、设备及存储介质
CN117527536A (zh) 一种智能双链路切换装置及网络链路智能切换方法

Legal Events

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