Modbus API 레퍼런스
API 64개
PDCOMM_MODBUS_ASCII시리얼 회선 위의 Modbus ASCII입니다(Modbus over Serial Line 사양).PDCOMM_MODBUS_BUFFER_TOO_SMALL출력 용량이 데이터보다 작습니다. 필요한 크기를 보고하며 출력은 변경하지 않습니다.PDCOMM_MODBUS_INTERNAL_ERROR격리된 패닉(panic)이나 오염(poisoned)된 엔드포인트 잠금 같은 내부 실패입니다. 엔드포인트를 해제하고 새로 만듭니다.PDCOMM_MODBUS_INVALID_HANDLE핸들이 0이거나, 이미 해제되었거나, 알 수 없거나, 종류가 잘못되었습니다.PDCOMM_MODBUS_INVALID_INPUT포인터, 크기 또는 JSON 문서가 잘못되었습니다. 아무것도 변경하지 않았습니다.PDCOMM_MODBUS_OK호출이 성공했습니다.PDCOMM_MODBUS_RTU시리얼 회선 위의 Modbus RTU입니다(Modbus over Serial Line 사양).PDCOMM_MODBUS_SECURITYModbus/TCP Security입니다. X.509 인증서를 사용하는 TLS와 역할 기반 권한 부여를 제공합니다.PDCOMM_MODBUS_SERVICE_ERROR명령이 실행되었지만 실패했습니다. 예를 들어 시간 초과(timeout), 연결 거부, 잘못된 구성이 원인입니다. 소유된 오류 버퍼를 반환합니다.PDCOMM_MODBUS_TCPModbus TCP(TCP 위의 MBAP 헤더)이며 클라이언트, 서버, 게이트웨이 리스너를 지원합니다.pdcomm_modbus_abi_version로드된 라이브러리의 ABI 버전을 반환합니다.pdcomm_modbus_buffer_copyJSON 응답 버퍼를 종료 문자 없는 UTF-8로 복사합니다.pdcomm_modbus_call엔드포인트에서 JSON 명령 하나를 실행하고 JSON 응답을 반환합니다.pdcomm_modbus_capabilities로드된 라이브러리에 컴파일된 기능을 반환합니다.pdcomm_modbus_capabilitypdcomm_modbus_capabilities()가 보고하는 기능 비트입니다.pdcomm_modbus_endpoint_create기본 구성으로 연결되지 않은 엔드포인트를 만듭니다.pdcomm_modbus_handle엔드포인트나 JSON 버퍼를 가리키는, 라이브러리 내부에서만 유효한 불투명 핸들입니다.pdcomm_modbus_logging_configure이 라이브러리의 선택형 진단 로그를 구성합니다.pdcomm_modbus_logging_flush큐에 있는 로그 레코드가 싱크(sink)에 기록될 때까지 기다립니다.pdcomm_modbus_logging_status진단 로그 상태를 종료 문자 없는 UTF-8 JSON으로 복사합니다.pdcomm_modbus_release엔드포인트나 JSON 버퍼를 해제합니다.pdcomm_modbus_status모든 int32_t Modbus C ABI 함수가 반환하는 상태 코드입니다.modbusModbus C++ API입니다. RAII 핸들, JSON 명령 엔드포인트와 진단 로그를 제공하며, bindings/에 Qt 및 MFC 어댑터가 있습니다.DiagnosticLoggingModbus 라이브러리의 선택형 JSON Lines 진단 로그(diagnostic log)를 설정, 조회, 플러시하는 정적 함수 모음입니다.DiagnosticLogging::configure로깅 설정을 적용합니다.DiagnosticLogging::flush큐에 있는 레코드가 기록될 때까지 최대 2초 동안 기다립니다.DiagnosticLogging::status로깅 상태를 JSON으로 반환합니다.EndpointJSON 명령을 실행하는 Modbus 엔드포인트(endpoint) 하나입니다.Endpoint::Endpoint기본 구성으로 연결되지 않은 엔드포인트를 만듭니다.Endpoint::callJSON 명령 하나를 실행하고 전체 응답을 반환합니다.Handle::pdcomm_modbus_handle 하나를 소유하는 이동 전용(move-only) 소유자입니다.Handle::Handle소유권을 이동합니다. other는 비게 됩니다.Handle::Handle복사할 수 없습니다. 핸들의 소유자는 정확히 하나입니다.Handle::Handle핸들의 소유권을 가져옵니다.Handle::get소유권을 넘기지 않고 소유한 핸들을 반환합니다.Handle::operator=현재 핸들을 해제한 뒤 other에서 소유권을 가져옵니다.Handle::operator=복사 대입을 할 수 없습니다. 핸들의 소유자는 정확히 하나입니다.Handle::~Handle소유한 핸들이 있으면 해제합니다.LicenseModbus 라이브러리에 라이선스 텍스트를 설치하고, 라이선스 상태와 이 호스트의 ID를 읽는 정적 함수입니다.License::hostId이 호스트의 ID PDH1-XXXX-XXXX-XXXX-XXXX를 반환합니다.License::install라이선스 텍스트를 설치하고, 이전에 설치한 텍스트를 교체합니다.License::status라이선스 상태를 JSON으로 반환합니다.MfcEndpointCString JSON 명령을 실행하는 Modbus 엔드포인트(endpoint)입니다.MfcEndpoint::CallJSON 명령 하나를 실행하고 완전한 응답을 반환합니다.QtEndpointQJsonObject 명령을 받아 응답의 result 객체를 반환하는 Modbus 엔드포인트입니다.QtEndpoint::callJSON 명령 하나를 실행하고 결과 객체를 반환합니다.DiagnosticLogging.Configure진단 로그 구성을 교체합니다.DiagnosticLogging.Flush큐에 쌓인 로그 레코드가 모두 기록될 때까지 기다립니다.DiagnosticLogging.Status현재 로깅 상태와 카운터를 가져옵니다.Endpoint.Endpoint네이티브 Modbus 엔드포인트를 만듭니다.Endpoint.Call엔드포인트에서 JSON 명령 하나를 실행하고 그 결과를 반환합니다.Endpoint.Dispose네이티브 엔드포인트를 해제합니다.Endpoint.pdcomm_modbus_capabilities로드된 네이티브 라이브러리에 컴파일된 기능을 가져옵니다.License.HostId호스트에 묶인 라이선스(SECS/GEM 런타임 라이선스)가 지정하는 이 머신의 호스트 ID를 가져옵니다.License.Install라이선스 텍스트를 설치하고, 이전에 설치한 텍스트를 교체합니다.License.StatusModbus 라이브러리의 라이선스 상태를 가져옵니다.ModbusModbusCommandException.Code기계가 읽을 수 있는 오류 코드를 가져오며, 코드가 없는 오류이면 null입니다. 코드는 license_required(modbus, 또는 보안을 구성했을 때 modbus-security의 유효한 라이선스가 없어 거부된 connect), license_invalid(검증되는 라이선스가 없는 license_install), host_id_unavailable입니다.ModbusCommandException.Detailslicense_required 응답의 license 객체를 가져옵니다. 이 객체에는 거부된 module, 그 라이선스 state(예: missing, expired), 판단에 쓰인 license_id가 들어 있습니다. 그 밖의 경우에는 null입니다.ModbusCommandException.LicenseRequiredPDComm 라이선스가 없어 명령이 거부되었는지 가져옵니다(ModbusCommandException.Code가 license_required). 이미 열린 연결은 영향을 받지 않습니다.DiagnosticLoggingPDComm Modbus 네이티브 라이브러리의 선택형 진단 로그를 제어합니다.EndpointJSON 명령으로 구동하는 PDComm Modbus 엔드포인트입니다. Modbus TCP, RTU 또는 ASCII 클라이언트나 서버(시뮬레이터)로 동작합니다.LicenseModbus 네이티브 라이브러리의 PDComm 라이선스를 설치하고 확인합니다.ModbusCommandExceptionModbus 엔드포인트가 명령을 거부할 때(네이티브 상태 SERVICE_ERROR) 던지는 예외입니다.
조건에 맞는 API가 없습니다.