이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

add_modbus_signal

이 함수는 Modbus I/O 신호를 미리 등록해 사용할 수 있게 합니다. 이 함수로 등록한 Modbus I/O 신호는 메모리에 저장되므로, 재부팅한 후에는 다시 설정해야 합니다. 단, T/P 애플리케이션에서 등록한 신호는 초기화 과정에서 추가되므로 다시 사용할 수 있습니다.

정의
DRFLEx.h, CDRFLEx 클래스의 public 섹션

bool add_modbus_signal(string strSymbol,
                       string strIpAddress,
                       unsigned short nPort,
                       MODBUS_REGISTER_TYPE eRegType,
                       unsigned short iRegIndex,
                       unsigned short nRegValue = 0,
                       unsigned char nSlaiveId = 255)
{
    return _add_modbus_signal(_rbtCtrl,
                              strSymbol.c_str(),
                              strIpAddress.c_str(),
                              nPort,
                              eRegType,
                              iRegIndex,
                              nRegValue,
                              nSlaiveId);
};

매개변수

매개변수 이름

자료형

기본값

설명

strSymbol

string

Modbus 신호 이름

strIpAddress

string

Modbus 모듈 IP 주소

nPort

unsigned short

Modbus 모듈 포트 번호

eRegType

MODBUS_REGISTER_TYPE

Modbus 레지스터 유형 정의

iRegIndex

unsigned short

접근할 Modbus 레지스터 번호

nRegValue

unsigned short

0

유형이 MODBUS_REGISTER_TYPE_COILS 또는 MODBUS_REGISTER_TYPE_HOLDING_REGISTER일 때의 출력 값(다른 유형에서는 무시)

nSlaiveId

unsigned char

255

대상 Modbus 장치의 슬레이브 ID(기본값: 브로드캐스트)

반환값

값

설명

0

오류 — Modbus 신호를 등록하지 못했습니다

1

성공 — Modbus 신호를 추가했습니다

예제

// Modbus I/O를 연결하고 접점을 할당하는 예
// Modbus IP 주소: 192.168.127.254
// 접점 2개 추가: "di1", "di2"

drfl.add_modbus_signal("di1", "192.168.127.254", 502,
                       MODBUS_REGISTER_TYPE_DISCRETE_INPUTS, 0, 0);
drfl.add_modbus_signal("di2", "192.168.127.254", 502,
                       MODBUS_REGISTER_TYPE_DISCRETE_INPUTS, 0, 0);

이 예제는 IP 192.168.127.254, 포트 502의 TCP로 연결된 외부 Modbus 모듈에 di1과 di2라는 Modbus 디지털 입력 점 2개를 등록합니다. 등록한 신호는 이후 API 호출에서 모니터링하거나 제어할 수 있습니다.