MODBUS_DATA

이 구조체는 Modbus 데이터를 저장하며, 다음 필드로 구성됩니다.

BYTE#

필드 이름

자료형

값

비고

0

_iType

unsigned char

0: TCP, 1: RTU

1

_tData

WRITE_MODBUS_TCP_DATA / WRITE_MODBUS_RTU_DATA의 공용체

_iType에 따라 다음 멤버 중 하나를 담습니다.

  • _tcp: 이더넷(TCP/IP)을 통한 Modbus 통신입니다. IP 주소, 포트, 슬레이브 ID, 레지스터 정보가 들어 있습니다.

  • _rtu: 시리얼 인터페이스(RS-485/RS-232)를 통한 Modbus 통신입니다. TTY 포트, 보드레이트, 패리티, 정지 비트, 레지스터 데이터가 들어 있습니다.

  • _szBuffer[70] : 직렬화, 바이트 단위 접근, 네트워크 데이터 패킹에 쓰는 unsigned char 70바이트 원시 메모리 버퍼입니다.

전체 크기: 71바이트

정의 위치: DRFS.h

typedef struct _MODBUS_DATA
{
    /* 0: TCP 방식, 1: RTU 방식 */
    unsigned char _iType;

    union {
        /* Modbus TCP(WRITE_MODBUS_DATA 참고) */
        WRITE_MODBUS_DATA     _tcp;   /* 일부 코드베이스에서는 WRITE_MODBUS_TCP_DATA라고도 합니다 */
        /* Modbus RTU(WRITE_MODBUS_RTU_DATA 참고) */
        WRITE_MODBUS_RTU_DATA _rtu;
        /* 패킹용 원시 버퍼 */
        unsigned char         _szBuffer[70];
    } _tData;

} MODBUS_DATA, *LPMODBUS_DATA;