Innovate With Data

데이터로 더 큰 가치를 제공합니다.

공장 자동화/통신

MODBUS 통신에서 Stop bit, Parity bit에 대해서 알아보자

데이터위자드 2024. 4. 3. 00:14
반응형

MODBUS 통신에서 Stop bit, Parity bit에 대해서 알아보자

MODBUS 통신설정에서 빠지지 않는 변수가 있습니다. 

 

 

 안녕하세요? 데이터위자드입니다.

 

이번 포스팅에서는 지난 필드버스 통신 bps내용에 이어서 통신설정에서 빠지지 않는 변수인 Stop bit와 Parity에 대한 내용을 소개하는 시간을 가져보도록 하겠습니다.

 

 

(*이전 필드버스 bps 관련 내용은 아래 내용 참조하여 주세요.)

 

필드버스 통신에서 bps의 의미 (a.k.a baud rate)

 

필드버스 통신에서 bps의 의미 (a.k.a baud rate)

MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데? 이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니

datawizard.co.kr

 

 

MODBUS RTU(흔히 RS-485 통신이라 불리죠)에서 각 통신 모듈 상호 간에 bps, Stop bit, Parity와 같은 것을 맞춰야 통신이 된다는 말씀을 드린 적이 있습니다.

 

 

이전 가스감지기 통신 연결 관련 내용을 다루면서 언급했었던 적이 있고요.

 

가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼
가스트론 GTC200A 통신 설정 @ 가스트론 매뉴얼

 

 

bps는 이전 포스팅에서 논하였으니 이번에는 Stop Bit와 Parity에 대해서 알아보겠습니다.

 

 

Stop bit와 Parity에 대해서 각각 알아보기보다는 MODBUS 통신의 전송 규칙에 대해서 먼저 알아볼 필요가 있습니다. 그것을 이해하면 Stop bit와 Parity에 대해서도 자연스럽게 이해하시게 될 테니까요.

 

 

그럼 본론으로 들어가 보겠습니다.

 

 

MODBUS 통신의 전송 규칙

 

 

모드버스 통신에 대해서 가장 깊숙이 알고 싶다면, 단순무식하지만 가장 효과적인 방법이 있습니다.

 

모드버스 통신의 총본산과 같은 modbus organization 홈페이지에서 관련 내용을 찾아보는 것인데요.

 

 

The Modbus Organization

 

The Modbus Organization

Note: You are seeing this text-only version of our site because you are using an older browser that is not standards-compliant. How to upgrade to a FREE standards-compliant browser. Some Netscape 7 and Mozilla users may see this warning in error. Click her

modbus.org

 

 

 해당 홈페이지는 너무 전문적인 내용이 많아 전문적으로 개발 업무를 수행하시는 분들에게는 크게 도움이 되겠는데요. 하지만, 저희와 같이  현장에서 통신 연결을 주무르게 되는 실사용자(End-User)에게는 오히려 너무 방대한 양의 정보가 심리적 압박을 줄 수 있을 것입니다.

 

 

 

 그러니,

 

'이런 내용이 있구나.'

 

하는 정도로 지나가면 맘이 편안해지실 겁니다.

 

 

때로는 빠른 포기가 정신 건강에 도움이 될 수도 있습니다.
때로는 빠른 포기가 정신 건강에 도움이 될 수도 있습니다.

 

 

하지만, '나는 모드버스 통신에 대해서 깊게 공부해 볼 거야.'라고 생각하는 유저분들이라면,  아래 modbus organization 사이트에서 Modbus 통신 설명서(Specification)를 참조해 보시면 도움이 되실 것입니다.

 

 

Modbus Specifications and Implementation Guides

 

Modbus Specifications and Implementation Guides

Modbus Specifications and Implementation Guides Please review the following license agreement before down loading any MODBUS protocol or related documents from this web site. If you agree to the terms herein then you must click the "I ACCEPT" button below

modbus.org

 

 

 

MODBUS Protocol Specification 다운로드

Modbus_Application_Protocol_V1_1b3.pdf
0.78MB

 

 

Modbus Serial Line Protocol and Implementation Guide V1.02 다운로드

Modbus_over_serial_line_V1_02.pdf
0.25MB

 

 

 

해당 설명서와 실행 가이드 내용 중에서 오늘 주제인 Stop bit와 parity에 대해서 알아보겠습니다.

 

먼저 Modbus Serial Line Protocol and Implementation Guide V1.02의 12 페이지 내용을 보시면, 

 

 

Modbus RTU 전송 모드 설명 @modbus.org
Modbus RTU 전송 모드 설명 @modbus.org

 

 

모드버스 통신으로 8 bit( 1 byte) 신호를 보낼 때, 실제 데이터인 8bit만 계속 보내는 것이 아니라,

 

 

  • Start bit = 1 bit

  • 실제 데이터 = 8 bit (1 Byte)

  • Parity bit = 1 bit

  • Stop bit = 1 bit

 

를 합쳐서 총 11 bit를 송신하게 되는 것입니다.

 

여기서 Start와 Stop bit는 통신 모듈 상호 간에 규약으로써, 통신 연결에 있어서 데이터만 계속 보내는 것이 아니라 시작과 끝을 Start & Stop bit로 포장하여 전송하여 상호 간 오류의 가능성을 줄여주는 역할을 하게 됩니다.

 

 비유하자면, 생산라인에서 포장되지 않은 제품을 계속 컨베이어로 흘려보내는 것이 아닌 Start & Stop bit라는 포장지로 묶음으로 보내주는 셈이라 할 수 있겠습니다. 따라서 받는 쪽에서는 제품 수량(데이터)에 이상이 없는지 더 확실하게 확인할 수 있을 것입니다.

 

 

Start & Stop bit 없는 데이터 전송 비유

 

Start & Stop bit 있는 데이터 전송 비유
Start & Stop bit 있는 데이터 전송 비유

 

 

결국 이것은, 원활한 통신을 위한 통신 연결 상호 간에 규약(Protocol)의 일환이라 하겠습니다.

 

 

다음으로 Parity입니다.

 

Parity의 역할은 통신 전송에 있어서 오류가 있는지를 감별하기 위한 안전장치입니다. 필드버스의 경우 외부환경에 의한 어떠한 노이즈나 장애가 발생할 수 있는 가능성이 있기 때문에 이러한 장치를 두어 오류를 검출하는 수단으로 사용하는 것입니다.

 

 그런 연유로 Parity bit는 Check bit라는 용어로도 불린다고 합니다. (하지만 Check bit라고 쓰여있는 제조사 문서는 실제로 본 적이 없네요. 😀)

 

Parity bit는 설정에 따라,

 

 

  • No Parity (N)  - Parity 사용 안 함. 대부분의 경우 기본값으로 사용

  • Even(E) - 짝수 Parity

  • Odd(O) - 홀수 Parity

 

 

 패리티에 대한 내용은 Wikipedia에 잘 정리되어 있습니다. 자세한 내용이 알고 싶으시다면 아래 페이지를 공부해 보시길 권해 드립니다.

 

 

Parity bit - Wikipedia

 

Parity bit - Wikipedia

From Wikipedia, the free encyclopedia Bit added to a binary string for error detection 7 bits of data (count of 1-bits) 8 bits including parity even odd 0000000 0 00000000 00000001 1010001 3 10100011 10100010 1101001 4 11010010 11010011 1111111 7 11111111

en.wikipedia.org

 

 

패리티 Even과 odd의 검출 방식에 대해서는, 위 페이지에서 예시로 설명하고 있습니다.

 

 

Even Parity & Odd Parity 예시 @ Wikipedia
Even Parity & Odd Parity 예시 @ Wikipedia

 

 

간단히 설명드리자면,  

 

 

Even(짝수) 패리티인 경우, 송신 측 데이터에 패리티 비트를 0 혹은 1로 설정하여 송신하고 수신 측에서 '데이터 + 패리티 비트'를 수신하였을 때 수신값이 항상 짝수가 되는지 확인하는 것이며, Odd(홀수) 패리티는 그 반대로 수신값이 항상 홀수가 되는지를 확인하는 것입니다.

 

 

사실 패리티에 대한 내용은 저희 같은 현장 사용자들에게는 깊게 알아야 할 부분은 아니라 생각됩니다. 그저, Parity bit 통신 오류를 검출하는 방식이고, 통신 모듈 상호 간에 맞춰야한다는 것만 이해하시면 될 것입니다. 

 

 

마치며,

 

 

 이번 포스팅에서는 현장에서 사용하는 MODBUS RTU 통신 모듈의 상호 간 연결을 하기 위한 설정중 하나인, Stop bit와 Parity bit에 대해서 알아보았습니다. 앞서 말씀드린 바와 같이, 현장 실사용자에게는 그런 기능이 있구나 정도로만 가볍게 이해하는 선에서 가져가면 되지 않을까 하는 생각입니다.

 

정리하자면,

 

Start & Stop Bit 데이터 전송의 시작과 끝을 알리는 Bit
Parity bit 송수신 과정에서 데이터에 오류가 없는지 확인하기 위한 Bit.
Even(짝수)와 Odd(홀수)가 있다.

 

 

정도로 이해하시면 되겠습니다.

 

그리고 또 하나의 변수인 bps에 대해서는 이전 포스팅을 참조하여 주시기 바랍니다.

 

필드버스 통신에서 bps의 의미 (a.k.a baud rate)

 

필드버스 통신에서 bps의 의미 (a.k.a baud rate)

MODBUS나 PROFIBUS와 같은 필드버스를 사용할 때 bps라는 게 나오던데? 이번 포스팅에서는 현업에서 필드버스 통신을 처음 접하게 되면 겪게 되는 여러 가지 용어에 대해서 이야기해 보도록 하겠습니

datawizard.co.kr

 

지금까지 데이터위자드였습니다. 다음으로는 MODBUS 통신에 대해서 더 자세히 알아보는 시간을 갖도록 하겠습니다.

 

 

* 본 포스팅에서 언급된 모듈이나 제조사, 단체는 필자와 무관함을 알립니다.

 

 

'💗' 도움이 되셨다면 공감 클릭 부탁드립니다. 감사합니다.

반응형