KR102091445B1 - 데이터 수신 장치 및 방법 - Google Patents

데이터 수신 장치 및 방법 Download PDF

Info

Publication number
KR102091445B1
KR102091445B1 KR1020180042274A KR20180042274A KR102091445B1 KR 102091445 B1 KR102091445 B1 KR 102091445B1 KR 1020180042274 A KR1020180042274 A KR 1020180042274A KR 20180042274 A KR20180042274 A KR 20180042274A KR 102091445 B1 KR102091445 B1 KR 102091445B1
Authority
KR
South Korea
Prior art keywords
data
size
receiving
received
request
Prior art date
Application number
KR1020180042274A
Other languages
English (en)
Other versions
KR20190118855A (ko
Inventor
김재국
Original Assignee
엘에스산전 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스산전 주식회사 filed Critical 엘에스산전 주식회사
Priority to KR1020180042274A priority Critical patent/KR102091445B1/ko
Publication of KR20190118855A publication Critical patent/KR20190118855A/ko
Application granted granted Critical
Publication of KR102091445B1 publication Critical patent/KR102091445B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1166Create optimum data blocks for transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 데이터 수신 장치 및 방법에 관한 것이다. 본 발명의 일 실시예에 따른 데이터 수신 방법은, 첫 번째 데이터를 수신하는 단계, 상기 첫 번째 데이터가 미리 설정된 제1 기준 데이터이면, 두 번째 데이터를 수신하는 단계, 상기 첫 번째 데이터와 상기 두 번째 데이터가 구성하는 헤드 데이터가 미리 설정된 제2 기준 데이터이면, 상기 제2 기준 데이터에 대응되는 사이즈를 갖는 세 번째 데이터를 수신하는 단계, 상기 세 번째 데이터를 사용하여 추가로 수신할 데이터의 사이즈를 결정하고, 결정된 추가로 수신할 데이터의 사이즈에 기초하여 데이터 통신 방식을 결정하는 단계 및 결정된 상기 데이터 통신 방식에 따라 데이터 수신을 수행하는 단계를 포함한다.

Description

데이터 수신 장치 및 방법{DATA RECEIVING APPARATUS AND METHOD THEREOF}
본 발명은 데이터 수신 장치 및 방법에 관한 것이다.
PLC(Programmable logic Controller)는 각종 기계나 프로세서 등의 제어를 위하여 로직(Logic), 시퀀싱(Sequencing), 타이밍(Timing) 또는 카운팅(Counting)과 같은 연산기능을 내장하고 있으며, 프로그램을 작성할 수 있는 메모리를 갖춘 제어장치이다.
PLC를 사용하는 자동화 시스템은 일반적으로 하나의 PLC CPU에 복수의 증설 모듈을 장착하여 연결하는 통신 구조를 사용한다. 이때 PLC 시스템은 분산제어 시스템에서 발생하는 데이터를 전달하기 위해 여러 통신 규격을 적용한 통신 모듈을 증설 모듈로 사용할 수 있다.
증설 모듈은 PLC CPU와 통신 시, 모듈 리프레시(Refresh)를 통해 PLC CPU가 처리한 데이터와 PLC CPU가 처리해야 할 데이터를 주고받는다. 이와 같은 모듈 리프레시는 PLC CPU와 증설 모듈의 직렬 통신 방식을 통해 이루어지므로, 데이터가 길어질수록 통신 시간 또한 길어지게 된다.
따라서 증설 모듈과 PLC CPU는 효율적인 데이터 통신을 위해 생산/소비(Producer/Consumer) 통신 방식 및 요청/응답(Request/Response) 통신 방식을 선택적으로 사용할 수 있다.
도 1은 PLC CPU와 증설 모듈이 생산/소비 통신 방식을 통해 데이터를 주고받는 과정을 나타낸 설명도이다.
도 1을 참조하면, 생산/소비 통신 방식을 사용하는 PLC CPU(11)는 미리 설정된 주기로 증설 모듈(12)에게 데이터를 송신할 수 있다. 이때 PLC CPU(11)의 모듈 리프레시 데이터 송신(101)은 모듈 리프레시 데이터에 대한 증설 모듈(12)의 수신을 기다리지 않고 계속하여 이루어질 수 있다(103).
도 2는 PLC CPU와 증설 모듈이 요청/응답 통신 방식을 통해 데이터를 주고받는 과정을 나타낸 설명도이다.
도 2를 참조하면, 요청/응답 통신 방식을 사용하는 PLC CPU(21)는 증설 모듈(22)에게 데이터를 송신한 후, 다음 데이터를 송신하기 전까지 증설 모듈로부터 응답 데이터의 수신을 기다릴 수 있다.
즉, PLC CPU(21)로부터 데이터를 수신한 증설 모듈(22)은 수신한 데이터를 처리하여 응답 데이터를 생성하고, 생성된 응답 데이터를 PLC CPU에게 송신할 수 있다(202). 이때 PLC CPU는 증설 모듈로부터 응답 데이터를 수신한 후, 다음 데이터를 증설 모듈로 송신할 수 있다(203).
도 1 및 도 2를 참조하면, 생산/소비 통신 방식에 비해 요청/응답 통신 방식은 데이터 통신에 더 많은 시간을 소요하게 된다.
따라서 모듈 리프레시 데이터와 같이 증설 모듈의 제어와 관련된 데이터는 생산/소비 통신 방식을 통해, 펌웨어(Firmware) 업데이트 데이터와 같이 증설 모듈의 제어와 관계없는 데이터는 요청/응답 통신 방식을 통해 전달되는 것이 효율적이다.
종래의 PLC CPU와 증설 모듈은 생산/소비 통신 방식 및 요청/응답 통신 방식을 선택적으로 사용하기 위해, 서로 다른 헤더를 사용한 데이터 프레임을 사용하여 데이터를 주고받는다.
예를 들어, 종래의 생산/소비 통신 방식을 통해 전달되는 데이터 프레임 헤더(Header)는 총 4바이트(Byte)의 사이즈를 갖지만, 요청/응답 통신 방식을 통해 전달되는 데이터 프레임 헤더는 총 18바이트의 사이즈를 갖는다.
도 3은 종래의 증설 모듈이 수신 데이터를 처리하는 과정을 나타낸 흐름도이다.
도 3에는 생산/소비 통신 방식으로 전송되는 수신 데이터의 데이터 프레임 헤더의 첫 2바이트(Byte)에 기록되는 값이 A5A5로 정의되고, 1 프레임의 데이터 사이즈가 58바이트로 설정된 증설 모듈의 데이터 처리 과정이 나타나 있다.
종래의 증설 모듈은 PLC CPU가 송신한 데이터를 시리얼 통신 버퍼로부터 8바이트씩 수신한다.
증설 모듈은 시리얼 버퍼로부터 8바이트의 데이터를 먼저 전달받은 후, 전달된 8바이트 중 첫 2바이트, 즉 첫 번째 바이트 및 두 번째 바이트에 기록된 값을 통해 정상적인 데이터 프레임인지 여부를 확인하고, 정상적인 데이터라면 데이터 프레임 헤더의 세 번째 바이트에 기록된 사이즈 정보 데이터를 통해 통신 방식을 판단한 후, PLC CPU로부터 나머지 데이터를 수신받아 처리할 수 있다.
예를 들어, 증설 모듈은 첫 번째 8바이트 데이터를 수신한 후(301), 수신한 8바이트 데이터에 포함된 첫 2바이트의 헤드가 A5A5와 같은 값을 갖는지 확인하여 데이터 프레임의 정상 여부를 판단할 수 있다(302).
데이터 프레임이 정상으로 판단 될 경우, 증설 모듈은 다음의 1바이트, 즉 세 번째 바이트에 기록된 값을 확인하고, 확인된 값 및 미리 저장된 기준 데이터 사이즈를 사용하여, 필요한 통신 방식을 판단할 수 있다(303).
예를 들어, 생산/소비 통신 방식은 주고받는 데이터의 사이즈가 고정되어 있으므로, 세 번째 바이트에 기록된 값이 기준 데이터 사이즈(50바이트)와 동일한 경우, 증설 모듈은 생산/소비 통신 방식을 통해 데이터를 처리할 수 있다(305).
반면, 세 번째 바이트의 사이즈 정보 데이터를 분석한 결과 데이터의 사이즈가 기준 데이터 사이즈와 동일하지 않은 경우, 증설 모듈은 수신된 데이터 프레임이 요청/응답 통신 방식에 의해 송신된 프레임인 것으로 판단한다. 이에 따라 증설 모듈은 여덟 번째 바이트에 기록된 값에 대응되는 커맨드를 확인하고(304) 확인된 커맨드에 따라서 나머지 50바이트의 데이터를 수신하여 요청/응답 통신 방식을 통해 데이터를 처리한다(306).
이처럼 증설 모듈이 전달받은 데이터 프레임 헤더, 즉 첫 8바이트 데이터를 통해 데이터의 정상 여부를 판단할 경우, 노이즈 등으로 인해 헤더의 데이터가 손상되면 증설 모듈은 다시 8바이트 사이즈의 데이터를 수신받아 전술한 과정을 반복한다.
즉, 증설 모듈은 정상적인 헤더 데이터가 검색될 때까지 계속하여 데이터를 8바이트씩 나누어 전달받는다. 만약 첫 8바이트 데이터가 손상되어 계속해서 8바이트씩 데이터를 수신할 경우, 58바이트 데이터 프레임의 마지막 2바이트와 새로운 데이터 프레임의 첫 6바이트가 합쳐져 새로운 8바이트 데이터를 구성하게 된다.
이때 58바이트 데이터 프레임의 마지막 부분과 새로운 데이터 프레임의 시작 부분이 구성하는 8바이트 데이터는 정상적인 헤드 데이터를 구성하지 못한다. 따라서 증설 모듈은 헤드 데이터 손상으로 인해 한 프레임의 데이터를 놓치는 경우 이후의 프레임을 연속적으로 놓치게 되며, 상황에 따라 복수의 프레임의 데이터를 잃어버리게 될 수도 있다.
결국, 비정상적인 데이터 프레임을 수신한 경우, 이후에 수신되는 데이터 프레임의 처리에 영향을 주지 않는 데이터 수신 방법이 요구된다.
본 발명은 수신한 데이터 프레임의 구조에 따라 서로 다른 통신 방식을 사용하여 효율적으로 데이터를 처리할 수 있는 데이터 수신 장치 및 방법을 제공하는 것을 목적으로 한다.
또한 본 발명은 비정상적인 데이터 프레임을 수신한 경우 이후에 수신되는 데이터 프레임에 영향을 주지 않도록 하여 데이터 처리 신뢰성을 높일 수 있는 데이터 수신 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이러한 목적을 달성하기 위한 본 발명은 첫 번째 데이터를 수신하는 단계, 상기 첫 번째 데이터가 미리 설정된 제1 기준 데이터이면, 두 번째 데이터를 수신하는 단계, 상기 첫 번째 데이터와 상기 두 번째 데이터로 구성되는 헤드 데이터가 미리 설정된 제2 기준 데이터이면, 상기 제2 기준 데이터에 대응되는 사이즈를 갖는 세 번째 데이터를 수신하는 단계, 상기 세 번째 데이터를 사용하여 추가로 수신할 데이터의 사이즈 및 데이터 통신 방식을 결정하는 단계 및 결정된 상기 데이터 통신 방식에 따라 상기 추가로 수신할 데이터의 사이즈와 동일한 사이즈의 데이터를 추가로 수신하는 단계를 포함하고, 상기 첫 번째 데이터 및 상기 두 번째 데이터는 각각 1바이트의 사이즈를 갖는 다.
본 발명의 일 실시예에서, 상기 두 번째 데이터를 수신하는 단계는 상기 첫 번째 데이터가 상기 제1 기준 데이터이면 상기 첫 번째 데이터를 정상 데이터 프레임에 포함된 데이터로 판단하는 단계 및 상기 첫 번째 데이터가 상기 제1 기준 데이터가 아니면 새로운 첫 번째 데이터를 수신하는 단계를 포함한다.
또한 본 발명의 일 실시예에서, 상기 세 번째 데이터를 수신하는 단계는 상기 헤드 데이터가 상기 제2 기준 데이터이면 상기 헤드 데이터를 정상 데이터로 판단하는 단계 및 상기 헤드 데이터가 상기 제2 기준 데이터가 아니면 새로운 첫 번째 데이터를 수신하는 단계를 포함한다.
또한 본 발명의 일 실시예에서, 상기 제1 기준 데이터는 제1 요청/응답 방식 기준 데이터 및 제1 생산/소비 방식 기준 데이터를 포함하고, 상기 제2 기준 데이터는 제2 요청/응답 방식 기준 데이터 및 제2 생산/소비 방식 기준 데이터를 포함한다.
또한 본 발명의 일 실시예에서, 상기 세 번째 데이터를 수신하는 단계는 상기 첫 번째 데이터가 상기 제1 요청/응답 방식 기준 데이터이고 상기 헤드 데이터가 제2 요청/응답 방식 기준 데이터이면, 상기 세 번째 데이터의 사이즈를 제1 사이즈로 결정하는 단계 및 상기 첫 번째 데이터가 상기 제1 생산/소비 방식 기준 데이터이고 상기 헤드 데이터가 제2 생산/소비 방식 기준 데이터이면, 상기 세 번째 데이터의 사이즈를 제2 사이즈로 결정하는 단계를 포함한다.
또한 본 발명의 일 실시예에서, 상기 세 번째 데이터의 사이즈가 제1 사이즈로 결정될 경우, 상기 추가로 수신할 데이터의 사이즈는 상기 세 번째 데이터에 기록된 값에 따라서 결정된다.
또한 본 발명의 일 실시예에서, 상기 세 번째 데이터의 사이즈가 제2 사이즈로 결정될 경우, 상기 추가로 수신할 데이터의 사이즈는 상기 세 번째 데이터에 포함된 커맨드 바이트에 기록된 값에 따라서 결정된다.
전술한 바와 같은 본 발명에 의하면, 수신한 데이터 프레임의 구조에 따라 서로 다른 통신 방식을 사용하여 효율적으로 데이터를 처리할 수 있는 장점이 있다.
또한 본 발명에 의하면, 비정상적인 데이터 프레임을 수신한 경우 이후에 수신되는 데이터 프레임에 영향을 주지 않도록 하여 데이터 처리 신뢰성을 높일 수 있는 장점이 있다.
도 1은 생산/소비 통신 방식을 통해 데이터를 주고받는 PLC CPU와 증설 모듈을 나타낸 설명도이다.
도 2는 요청/응답 통신 방식을 통해 데이터를 주고받는 PLC CPU와 증설 모듈을 나타낸 설명도이다.
도 3은 종래의 증설 모듈이 수신 데이터를 처리하는 과정을 나타낸 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 수신 장치의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 수신 장치의 데이터 처리 과정을 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 데이터 수신 장치가 복수의 기준 데이터를 통해 데이터를 처리하는 과정을 나타낸 흐름도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
도 4는 본 발명의 일 실시예에 따른 데이터 수신 장치의 구성을 나타낸 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 데이터 수신 장치(4)는 데이터 수신부(42), 데이터 비교부(44) 및 제어부(46)를 포함한다.
데이터 수신부(42)는 첫 번째 데이터를 수신한다.
본 발명의 데이터 수신 장치(4)는 PLC CPU가 송신한 데이터를 1바이트씩 순차적으로 수신할 수 있으며, 여기서 첫 번째 데이터는 정상 데이터 프레임의 수신이 끝난 뒤 새로 수신되는 데이터 중 첫 번째로 수신되는 1바이트 사이즈의 데이터를 의미한다.
만약 수신된 첫 번째 데이터에 오류가 존재할 경우, 본 발명의 데이터 수신 장치(4)는 오류가 존재하는 1바이트 데이터 다음으로 수신되는 1바이트 사이즈의 데이터를 새로운 첫 번째 데이터로 사용하여 데이터 프레임의 정상 여부를 확인할 수 있다.
데이터 수신부(42)는 첫 번째 데이터가 상기 제1 기준 데이터이면 두 번째 데이터를 수신한다.
본 발명의 일 실시예에서, 미리 설정된 제1 기준 데이터는 데이터 수신부(42)가 수신한 첫 번째 데이터가 정상 데이터 프레임에 포함된 데이터인지 판단하기 위한 기준이 될 수 있다.
즉, 본 발명의 데이터 수신 장치(4)는 PLC CPU로부터 전달받은 첫 번째 데이터 및 미리 설정된 제1 기준 데이터를 기초로 데이터 프레임의 정상 여부를 판단할 수 있다.
본 발명의 일 실시예에서, 두 번째 데이터는 첫 번째 데이터가 정상 데이터 프레임에 포함된 데이터로 판단된 후, 첫 번째 데이터 다음으로 수신되는 1바이트 사이즈의 데이터를 의미한다.
데이터 수신부(42)는 첫 번째 데이터 및 두 번째 데이터가 구성하는 헤드 데이터가 상기 제2 기준 데이터이면 제2 기준 데이터에 대응되는 사이즈를 갖는 세 번째 데이터를 수신한다.
본 발명의 일 실시예에서, 미리 설정된 제2 기준 데이터는 데이터 수신부(42)가 수신한 첫 번째 데이터와 두 번째 데이터가 구성하는 헤드 데이터가 정상 헤드 데이터인지 판단하기 위한 기준이 될 수 있다.
본 발명에서는 데이터 수신부(42)가 수신한 첫 번째 데이터(1바이트) 및 두 번째 데이터(1바이트)로 구성된 2바이트의 데이터를 '헤드 데이터'로 정의한다. 데이터 수신부(42)는 첫 번째 데이터 및 두 번째 데이터가 구성하는 헤드 데이터가 정상적인 헤드 데이터일 경우 제2 기준 데이터에 대응되는 사이즈를 갖는 세 번째 데이터를 수신할 수 있다.
데이터 비교부(44)는 첫 번째 데이터가 미리 설정된 제1 기준 데이터와 동일한지 판단하고, 헤드 데이터가 미리 설정된 제2 기준 데이터와 동일한지 판단한다.
본 발명의 일 실시예에서, 미리 설정된 제1 기준 데이터 및 미리 설정된 제2 기준 데이터는 데이터 프레임이 사용하는 통신 방식의 종류 따라 다르게 설정될 수 있다. 통신 방식의 종류에 따라 서로 다른 기준 데이터를 설정하는 실시예에 대해서는 도 5 및 도 6을 통해 상세히 후술한다.
제어부(46)는 세 번째 데이터를 사용하여 추가로 수신할 데이터의 사이즈를 결정하고, 결정된 추가로 수신할 데이터의 사이즈에 기초하여 데이터 통신 방식을 결정한다.
본 발명의 일 실시예에서, 세 번째 데이터는 수신 데이터 프레임의 사이즈에 관한 정보를 포함할 수 있다.
전술한 것과 같이, 생산/소비 통신 방식은 주고받는 데이터의 사이즈가 고정되어 있으나 요청/응답 통신 방식은 주고받는 데이터의 사이즈가 고정되어 있지 않으므로, 제어부(46)는 세 번째 데이터를 통해 수신 데이터 프레임의 사이즈 및 추가로 수신할 데이터의 사이즈를 판단하여 어떠한 데이터 통신 방식을 사용할지 결정할 수 있다.
본 발명의 일 실시예에서, 제어부(46)는 첫 번째 데이터가 상기 제1 기준 데이터이면 첫 번째 데이터를 정상 데이터 프레임에 포함된 데이터로 판단할 수 있다.
반대로, 제어부(46)는 첫 번째 데이터가 상기 제1 기준 데이터가 아니면 데이터 수신부(42)를 통해 새로운 첫 번째 데이터를 수신할 수 있다.
즉, 제어부(46)는 수신된 첫 번째 데이터에 오류가 있을 경우, 첫 번째 데이터 다음으로 수신되는 1바이트 사이즈의 데이터를 새로운 첫 번째 데이터로 사용하여 데이터 프레임의 정상 여부를 확인할 수 있다.
본 발명의 일 실시예에서, 제어부(46)는 헤드 데이터가 상기 제2 기준 데이터이면 첫 번째 데이터와 두 번째 데이터가 구성하는 헤드 데이터를 정상 헤드 데이터로 판단할 수 있다.
반대로, 제어부(46)는 헤드 데이터가 상기 제2 기준 데이터가 아니면 데이터 수신부(42)를 통해 새로운 첫 번째 데이터를 수신할 수 있다.
즉, 제어부(46)는 헤드 데이터에 오류가 있을 경우, 첫 번째 데이터 및 두 번째 데이터가 구성하는 헤드 데이터가 정상 헤드 데이터가 아닌 것으로 판단하고, 두 번째 데이터 다음으로 수신되는 1바이트 사이즈의 데이터를 새로운 첫 번째 데이터로 사용하여 데이터 프레임의 정상 여부를 확인할 수 있다.
본 발명의 일 실시예에서, 미리 설정된 제1 기준 데이터는 제1 요청/응답 방식 기준 데이터 및 제1 생산/소비 방식 기준 데이터를 포함하고, 미리 설정된 제2 기준 데이터는 제2 요청/응답 방식 기준 데이터 및 제2 생산/소비 방식 기준 데이터를 포함할 수 있다.
이때 제어부(46)는 첫 번째 데이터가 제1 요청/응답 방식 기준 데이터이고 첫 번째 데이터와 두 번째 데이터가 구성하는 헤드 데이터가 제2 요청/응답 방식 기준 데이터이면, 세 번째 데이터의 사이즈를 제1 사이즈로 결정할 수 있다.
반대로, 제어부(46)는 첫 번째 데이터가 제1 생산/소비 방식 기준 데이터이고 첫 번째 데이터와 두 번째 데이터가 구성하는 헤드 데이터가 제2 생산/소비 방식 기준 데이터이면, 세 번째 데이터의 사이즈를 제2 사이즈로 결정할 수 있다.
즉, 본 발명의 데이터 수신 장치(4)는 제1 기준 데이터를 제1 요청/응답 방식 기준 데이터 및 제1 생산/소비 방식 기준 데이터로 구성하고, 제2 기준 데이터를 제2 요청/응답 방식 기준 데이터 및 제2 생산/소비 방식 기준 데이터로 구성함으로써, 첫 번째 데이터 및 두 번째 데이터를 통해 통신 방식의 종류를 파악할 수 있다.
제어부(46)는 첫 번째 데이터가 제1 요청/응답 방식 기준 데이터이고 첫 번째 데이터와 두 번째 데이터가 구성하는 헤드 데이터가 제2 요청/응답 방식 기준 데이터와 동일할 경우, 데이터 프레임에 포함된 커맨드 데이터를 수신하기 위해 미리 설정된 제1 사이즈의 사이즈를 갖는 세 번째 데이터를 수신할 수 있다.
반대로, 제어부(46)는 첫 번째 데이터가 제1 생산/소비 방식 기준 데이터이고 첫 번째 데이터와 두 번째 데이터가 구성하는 헤드 데이터가 제2 생산/소비 방식 기준 데이터와 동일할 경우, 데이터 프레임에 포함된 사이즈 정보 데이터를 수신하기 위해, 미리 설정된 제2 사이즈의 사이즈를 갖는 세 번째 데이터를 수신할 수 있다.
도 5는 본 발명의 일 실시예에 따른 데이터 수신 장치의 데이터 처리 과정을 나타낸 흐름도이다.
먼저, 데이터 수신부(42)는 첫 번째 데이터를 수신한다(501).
데이터 비교부(44)는 첫 번째 데이터가 미리 설정된 제1 기준 데이터(예컨대, A5)와 동일한지 판단한다(502).
판단(502) 결과, 첫 번째 데이터가 상기 제1 기준 데이터가 아니면, 데이터 수신부(42)는 다시 새로운 첫 번째 데이터를 수신한다(501).
반대로, 판단 결과(502) 첫 번째 데이터가 상기 제1 기준 데이터이면, 데이터 수신부(42)는 두 번째 데이터를 수신한다(503).
이때 제어부(46)는 첫 번째 데이터가 상기 제1 기준 데이터이면 첫 번째 데이터를 정상 데이터 프레임에 포함된 데이터로 판단할 수 있다.
데이터 수신부(42)가 두 번째 데이터를 수신하면, 데이터 비교부(44)는 첫 번째 데이터와 두 번째 데이터가 구성하는 헤드 데이터가 미리 설정된 제2 기준 데이터(예컨대, A5A5)와 동일한지 판단한다(504).
판단 결과(504), 헤드 데이터가 상기 제2 기준 데이터가 아니면 데이터 수신부(42)는 다시 새로운 첫 번째 데이터를 수신한다(501).
반대로, 판단 결과(504) 헤드 데이터가 상기 제2 기준 데이터이면, 데이터 수신부(42)는 제2 기준 데이터에 대응되는 사이즈, 즉 6바이트의 사이즈를 갖는 세 번째 데이터를 수신한다(505).
데이터 수신부(42)가 세 번째 데이터를 수신하면, 제어부(46)는 세 번째 데이터 중 첫 1바이트에 기록된 값을 미리 설정된 기준 데이터 사이즈와 비교하여 데이터 통신 방식을 결정한다(506).
예를 들어, 세 번째 데이터결정에 기록된 값이 미리 설정된 기준 데이터 사이즈(예컨대, 55)와 동일할 경우, 제어부(46)는 데이터 수신부(42)를 제어하여 55바이트만큼의 나머지 데이터를 생산/소비 통신 방식을 통해 수신한다(508).
반면, 세 번째 데이터에 기록된 값이 미리 설정된 기준 데이터와 동일하지 않을 경우, 제어부(46)는 세 번째 데이터에 포함된 커맨드를 확인한다(507). 예를 들어 제어부(46)는 세 번째 데이터 중 미리 설정된 커맨드 바이트, 예컨대 세 번째 데이터의 맨 마지막 1바이트에 기록된 값을 확인하고, 세 번째 데이터의 맨 마지막 1바이트에 기록된 값과 대응되는 커맨드를 확인한다. 이 커맨드를 확인하기 위하여 제어부(46)는 세 번째 데이터의 맨 마지막 1바이트에 기록된 값과 각각 대응되는 커맨드를 포함하는 테이블을 참조할 수 있다.
커맨드를 확인한 제어부(46)는 데이터 수신부(42)를 제어하여 확인된 커맨드에 의해 지정된 데이터 사이즈만큼의 나머지 데이터를 요청/응답 통신 방식을 통해 수신한다(509). 예를 들어 단계(507)에서 확인된 커맨드가 "40바이트의 데이터 수신"인 것으로 확인되면, 제어부(46)는 40바이트의 데이터를 요청/응답 통신 방식을 통해 수신한다.
확인 결과(507) 세 번째 데이터의 맨 마지막 1바이트에 기록된 값과 대응되는 커맨드가 존재하지 않을 경우, 데이터 수신부(42)는 다시 새로운 첫 번째 데이터를 수신한다(501).
이처럼 본 발명의 데이터 수신 장치는 수신한 데이터 프레임의 구조에 따라 서로 다른 통신 방식을 사용함으로써, 효율적으로 데이터를 처리할 수 있는 장점을 갖는다.
또한, 전술한 것과 같이 본 발명의 데이터 수신 장치는 1바이트씩 데이터를 수신하고, 수신된 데이터를 통해 데이터 프레임의 정상 여부를 판단할 수 있다. 따라서 첫 번째 데이터가 손상되어 오류가 존재할 경우, 본 발명의 데이터 수신 장치는 정상적인 첫 번째 데이터가 수신될 때까지 데이터를 1바이트씩 계속하여 수신할 수 있다.
결국, 본 발명의 데이터 수신 장치는 첫 번째 데이터의 손상으로 인해 데이터 프레임의 헤더가 손상되어 한 데이터 프레임의 수신을 놓치더라도, 다음 데이터 프레임의 시작 부분에 포함된 헤드를 첫 번째 데이터로 수신할 수 있으므로, 다음 데이터 프레임을 놓치지 않고 수신할 수 있다.
즉, 본 발명의 데이터 수신 장치는 데이터를 1바이트씩 수신하여 처리함으로써, 먼저 수신한 비정상적인 데이터 프레임이 이후 수신되는 데이터 프레임에 영향을 주지 않도록 하여 데이터 처리 신뢰성을 높일 수 있는 장점을 갖는다.
도 6은 본 발명의 일 실시예에 따른 데이터 수신 장치가 복수의 기준 데이터를 통해 데이터를 처리하는 과정을 나타낸 흐름도이다.
먼저, 데이터 수신부(42)는 첫 번째 데이터를 수신한다(601).
데이터 비교부(44)는 첫 번째 데이터가 미리 설정된 제1 기준 데이터와 동일한지 판단한다.
이때, 미리 설정된 제1 기준 데이터는 제1 요청/응답 방식 기준 데이터 및 제1 생산/소비 방식 기준 데이터를 포함할 수 있다.
도 6을 참조하면, 본 발명의 일 실시예에서 데이터 비교부(44)는 첫 번째 데이터가 제1 생산/소비 방식 기준 데이터(예컨대, A5)와 동일한지 여부를 먼저 판단할 수 있다(602).
판단 결과(602), 첫 번째 데이터가 미리 설정된 제1 생산/소비 방식 기준 데이터이면, 데이터 수신부(42)는 두 번째 데이터를 수신한다(604).
이때 제어부(46)는 첫 번째 데이터가 미리 설정된 제1 생산/소비 방식 기준 데이터이면 첫 번째 데이터를 정상 데이터 프레임에 포함된 데이터로 판단할 수 있다.
반대로, 판단 결과(602) 첫 번째 데이터가 미리 설정된 제1 생산/소비 방식 기준 데이터와 동일하지 않으면, 데이터 비교부(44)는 첫 번째 데이터가 제1 요청/응답 방식 기준 데이터(예컨대, A7)와 동일한지 판단한다(603).
판단 결과(603), 첫 번째 데이터가 미리 설정된 제1 요청/응답 방식 기준 데이터이면, 데이터 수신부(42)는 두 번째 데이터를 수신한다(605).
이때 제어부(46)는 첫 번째 데이터가 미리 설정된 제1 요청/응답 방식 기준 데이터이면 첫 번째 데이터를 정상 데이터 프레임에 포함된 데이터로 판단할 수 있다.
반대로, 판단 결과(603) 첫 번째 데이터가 미리 설정된 제1 요청/응답 방식 기준 데이터와 동일하지 않으면, 데이터 수신부(42)는 새로운 첫 번째 데이터를 수신한다(601).
도 6에 도시되어 있지 않으나, 본 발명의 일 실시예에서 데이터 비교부(44)는 첫 번째 데이터가 제1 요청/응답 방식 기준 데이터와 동일한지를 먼저 판단할 수 있다.
만약 첫 번째 데이터가 미리 설정된 제1 요청/응답 방식 기준 데이터와 동일하지 않으면, 데이터 비교부(44)는 첫 번째 데이터가 제1 생산/소비 방식 기준 데이터와 동일한지 판단한다.
즉, 본 발명의 일 실시예에서 데이터 비교부(44)는 첫 번째 데이터를 제1 생산/소비 방식 기준 데이터 및 제1 요청/응답 방식 기준 데이터와 모두 비교할 수 있으며, 이와 같은 비교의 순서는 어느 하나의 순서에 한정되지 않는다.
데이터 수신부(42)가 제1 생산/소비 방식 기준 데이터를 기초로 두 번째 데이터를 수신하면(604), 데이터 비교부(44)는 첫 번째 데이터와 두 번째 데이터가 구성하는 헤드 데이터를 미리 설정된 제2 생산/소비 방식 기준 데이터(예컨대, A5A5)와 동일한지 판단한다(606).
판단 결과(606), 헤드 데이터가 미리 설정된 제2 생산/소비 방식 기준 데이터이면, 데이터 수신부(42)는 제2 생산/소비 방식 기준 데이터에 대응되는 제2 사이즈, 즉 1바이트의 사이즈를 갖는 세 번째 데이터를 수신한다(608).
반대로, 판단 결과(606) 헤드 데이터가 미리 설정된 제2 생산/소비 방식 기준 데이터와 동일하지 않으면 데이터 비교부(44)는 헤드 데이터가 제2 요청/응답 방식 기준 데이터(예컨대, A7A7)와 동일한지 판단한다(607).
이와 같은 데이터 동일 여부 판단은, 데이터 수신부(42)가 제1 요청/응답 방식 기준 데이터를 기초로 두 번째 데이터를 수신한 경우(605)에도 동일하게 이루어진다.
판단 결과(607), 헤드 데이터가 미리 설정된 제2 요청/응답 방식 기준 데이터이면, 데이터 수신부(42)는 제2 요청/응답 방식 기준 데이터에 대응되는 제1 사이즈, 즉 6바이트의 사이즈를 갖는 세 번째 데이터를 수신한다(609).
반대로, 판단 결과(607) 헤드 데이터가 미리 설정된 제2 요청/응답 방식 기준 데이터와 동일하지 않으면 데이터 수신부(42)는 새로운 첫 번째 데이터를 수신한다(601).
이처럼 본 발명의 데이터 수신 장치는 데이터 통신 방식에 따라 데이터 프레임 정상 판단의 기준이 되는 기준 데이터를 서로 다르게 설정함으로써, 통신 방식 판단의 신뢰성을 높일 수 있는 효과를 갖는다.
데이터 수신부(42)가 세 번째 데이터를 수신하면, 제어부(46)는 수신된 세 번째 데이터를 사용하여 추가로 수신할 데이터의 사이즈를 결정하고, 결정된 추가로 수신할 데이터의 사이즈에 기초하여 데이터 통신 방식을 결정한다.
예를 들어, 데이터 수신부(42)가 제1 사이즈의 세 번째 데이터를 수신하면(608), 제어부(46)는 세 번째 데이터에 기록된 값이 미리 설정된 기준 데이터 사이즈(예컨대, 55)와 동일한지 판단한다(610).
판단 결과(610), 세 번째 데이터에 기록된 값이 미리 설정된 기준 데이터 사이즈와 동일할 경우, 제어부(46)는 추가로 수신할 데이터의 사이즈를 55바이트로 설정하고 생산/소비 통신 방식을 통해 55바이트의 데이터를 추가로 수신한다(612).
반대로, 세 번째 데이터에 기록된 값이 미리 설정된 기준 데이터 사이즈와 동일하지 않을 경우, 데이터 수신부(42)는 새로운 첫 번째 데이터를 수신한다(601).
한편, 데이터 수신부(42)가 제2 사이즈(예컨대, 6바이트)의 세 번째 데이터를 수신하면(609), 제어부(46)는 세 번째 데이터에 포함된 커맨드를 확인한다(611). 예를 들어 제어부(46)는 세 번째 데이터 중 미리 설정된 커맨드 바이트, 예컨대 세 번째 데이터의 맨 마지막 1바이트에 기록된 값을 확인하고, 세 번째 데이터의 맨 마지막 1바이트에 기록된 값과 대응되는 커맨드를 확인한다. 이 커맨드를 확인하기 위하여 제어부(46)는 세 번째 데이터의 맨 마지막 1바이트에 기록된 값과 각각 대응되는 커맨드를 포함하는 테이블을 참조할 수 있다.
커맨드를 확인한 제어부(46)는 데이터 수신부(42)를 제어하여 확인된 커맨드에 의해 지정된 데이터 사이즈만큼의 나머지 데이터를 요청/응답 통신 방식을 통해 수신할 수 있다(613). 예를 들어 단계(611)에서 확인된 커맨드가 "40바이트의 데이터 수신"인 것으로 확인되면, 제어부(46)는 40바이트의 추가 데이터를 요청/응답 통신 방식을 통해 수신한다.
확인 결과(611) 세 번째 데이터의 맨 마지막 1바이트에 기록된 값과 대응되는 커맨드가 존재하지 않을 경우, 데이터 수신부(42)는 다시 새로운 첫 번째 데이터를 수신한다(601).
이처럼 본 발명의 데이터 수신 장치는 수신한 데이터 프레임의 구조에 따라 서로 다른 통신 방식을 사용함으로써 효율적으로 데이터를 처리할 수 있는 장점을 갖는다.
또한, 본 발명의 데이터 수신 장치는 데이터를 1바이트씩 수신하여 통신 방식을 확인함으로써, 먼저 수신한 비정상적인 데이터 프레임이 이후 수신되는 데이터 프레임에 영향을 주지 않도록 하여 데이터 처리 신뢰성을 높일 수 있는 장점을 갖는다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.

Claims (7)

  1. 첫 번째 데이터를 수신하는 단계;
    상기 첫 번째 데이터가 미리 설정된 제1 기준 데이터이면, 두 번째 데이터를 수신하는 단계;
    상기 첫 번째 데이터와 상기 두 번째 데이터로 구성되는 헤드 데이터가 미리 설정된 제2 기준 데이터이면, 상기 제2 기준 데이터에 대응되는 사이즈를 갖는 세 번째 데이터를 수신하는 단계;
    상기 세 번째 데이터를 사용하여 추가로 수신할 데이터의 사이즈 및 데이터 통신 방식을 결정하는 단계; 및
    결정된 상기 데이터 통신 방식에 따라 상기 추가로 수신할 데이터의 사이즈와 동일한 사이즈의 데이터를 추가로 수신하는 단계를 포함하고,
    상기 첫 번째 데이터 및 상기 두 번째 데이터는 각각 1바이트의 사이즈를 갖는 것을 특징으로 하는
    데이터 수신 방법.
  2. 제1항에 있어서,
    상기 두 번째 데이터를 수신하는 단계는
    상기 첫 번째 데이터가 상기 제1 기준 데이터이면 상기 첫 번째 데이터를 정상 데이터 프레임에 포함된 데이터로 판단하는 단계; 및
    상기 첫 번째 데이터가 상기 제1 기준 데이터가 아니면 새로운 첫 번째 데이터를 수신하는 단계를 포함하는
    데이터 수신 방법.
  3. 제1항에 있어서,
    상기 세 번째 데이터를 수신하는 단계는
    상기 헤드 데이터가 상기 제2 기준 데이터이면 상기 헤드 데이터를 정상 데이터로 판단하는 단계; 및
    상기 헤드 데이터가 상기 제2 기준 데이터가 아니면 새로운 첫 번째 데이터를 수신하는 단계를 포함하는
    데이터 수신 방법.
  4. 제1항에 있어서,
    상기 제1 기준 데이터는
    제1 요청/응답 방식 기준 데이터 및 제1 생산/소비 방식 기준 데이터를 포함하고,
    상기 제2 기준 데이터는
    제2 요청/응답 방식 기준 데이터 및 제2 생산/소비 방식 기준 데이터를 포함하는
    데이터 수신 방법.
  5. 제4항에 있어서,
    상기 세 번째 데이터를 수신하는 단계는
    상기 첫 번째 데이터가 상기 제1 요청/응답 방식 기준 데이터이고 상기 헤드 데이터가 제2 요청/응답 방식 기준 데이터이면, 상기 세 번째 데이터의 사이즈를 제1 사이즈로 결정하는 단계; 및
    상기 첫 번째 데이터가 상기 제1 생산/소비 방식 기준 데이터이고 상기 헤드 데이터가 제2 생산/소비 방식 기준 데이터이면, 상기 세 번째 데이터의 사이즈를 제2 사이즈로 결정하는 단계를 포함하는
    데이터 수신 방법.
  6. 제5항에 있어서,
    상기 세 번째 데이터의 사이즈가 제1 사이즈로 결정될 경우, 상기 추가로 수신할 데이터의 사이즈는 상기 세 번째 데이터에 기록된 값에 따라서 결정되는
    데이터 수신 방법.
  7. 제5항에 있어서,
    상기 세 번째 데이터의 사이즈가 제2 사이즈로 결정될 경우, 상기 추가로 수신할 데이터의 사이즈는 상기 세 번째 데이터에 포함된 커맨드 바이트에 기록된 값에 따라서 결정되는
    데이터 수신 방법.
KR1020180042274A 2018-04-11 2018-04-11 데이터 수신 장치 및 방법 KR102091445B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180042274A KR102091445B1 (ko) 2018-04-11 2018-04-11 데이터 수신 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180042274A KR102091445B1 (ko) 2018-04-11 2018-04-11 데이터 수신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190118855A KR20190118855A (ko) 2019-10-21
KR102091445B1 true KR102091445B1 (ko) 2020-03-20

Family

ID=68460213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180042274A KR102091445B1 (ko) 2018-04-11 2018-04-11 데이터 수신 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102091445B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390867B1 (ko) * 2000-05-30 2003-07-10 주식회사 마이크로랩스 네트웍상에서 소프트웨어를 효율적으로 갱신하는 방법
KR100379404B1 (ko) * 2001-02-01 2003-04-10 엘지전자 주식회사 케이블 모뎀의 헤더 데이터 구조 및 압축 방법
KR101854469B1 (ko) * 2011-11-30 2018-05-04 삼성전자주식회사 오디오 컨텐츠의 비트레이트 판단장치 및 방법

Also Published As

Publication number Publication date
KR20190118855A (ko) 2019-10-21

Similar Documents

Publication Publication Date Title
CN100366029C (zh) 通信控制器、主机端控制器、通信设备、通信系统和方法
US9374194B2 (en) Transmission system error detection and correction system and method
WO2016123936A1 (zh) 一种测试接口板流量的方法、装置、测试板及系统
CN107025203B (zh) 第一板卡、第二板卡及一种设备
US20120327950A1 (en) Method for Transmitting Data Packets
US9178757B2 (en) Serial link fault detection system and method
KR100778114B1 (ko) 통신에러를 개선하기 위한 통신방법 및 그 통신방법이적용된 전자장치
CN105137842A (zh) 一种舞台自适应匹配装置
CN105472377A (zh) 电视机调试方法及装置
JP2019125066A (ja) 車両検査装置及び車両検査方法
KR102091445B1 (ko) 데이터 수신 장치 및 방법
US20030154288A1 (en) Server-client system and data transfer method used in the same system
JP6762546B1 (ja) シリアル通信方法及びシリアル通信システム
CN205015660U (zh) 一种舞台自适应匹配装置
US10013304B2 (en) Electrical apparatus, control device and communication method that control communications performed at different communication rates
KR101810196B1 (ko) 인버터의 통신모듈
CN204925762U (zh) 一种舞台多模块协同系统
US20150278262A1 (en) Data processing device and method for controlling the same
CN113824955B (zh) 一种多路视频分时复用编码方法和系统
JP2000227803A (ja) プログラマブルコントローラのデータリンクシステムの伝送制御方法および伝送制御システム
JP3648996B2 (ja) Faシステム
CN107850873B (zh) 双重化过程控制装置
JP3483738B2 (ja) データ通信装置
JP4666369B2 (ja) Usbデバイス
JP6286259B2 (ja) ネットワーク機器、ネットワーク機器の制御プログラム

Legal Events

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