2017-04-24 23 views
0

Nmodbus4라는 라이브러리에서 float, string, double, long 및 short와 같은 데이터 유형을 허용합니다. 하지만 문자열 및 부동에 대한 구현 방법을 모르지만, 정수 및 부울 구현은 이미 완료되었습니다. 어느 누구나이 솔루션을 찾을 수 있도록 도와주십시오.Nmodbus4 라이브러리 사용

+0

플로트 및 문자열은 기본적으로 Modbus 프로토콜을 확장 한 것입니다. 리차드가 말했듯이 float은 스케일 된 정수로 구현되는 경우가 많지만 IEEE 754에 설명 된 것처럼 단일 제조업체와 배정 밀도 부동 소수점을 구현하는 제조업체가 많습니다. IEEE754에서는 단어 및 바이트 순서에 대해 아무 것도 말하지 않기 때문에 제조업체마다 다릅니다. 선적 서류 비치. 문자열이 지원되는 경우 이는 종종 인접한 여러 개의 이중 문자 (예 : 16 비트 단어로 묶인 2 개의 8 비트 문자)로 이루어 지므로 제조사마다 다를 수 있으므로 설명서를 확인해야합니다. – PaulF

+0

정확히, Modbus 문서를 살펴 봐야합니다. 이것이 바로 이것의 해결책이 될 것입니다. PaulF 감사합니다. – MANIKANDAN

답변

0

Modbus는 uint 및 bool 데이터 유형만 지원합니다. 이는 nmodbus4 라이브러리의 제한 사항이 아닙니다. 표준은 부동 소수점 또는 문자열 유형을 저장하는 것에 대해서는 아무 것도 말하지 않습니다.

대부분의 장치 구현은 부동 소수점을 10/100/1000 등분하여 나눕니다. 그러나이를 처리하기위한 라이브러리의 사용자는 귀하의 책임입니다. 각 값을 저장하는 방법을 찾으려면 장치의 레지스터 테이블을 조사해야합니다.

+0

예 Modbus TCP IP 이더넷에서 남은 데이터 유형을 허용하는 것은 나에게 달렸습니다.이 다른 데이터 유형에 대한 라이브러리를 보유 할 수 없기 때문에 이러한 다른 데이터 유형을 지원하는 방법을 찾아야합니다. Richard에게 감사드립니다. – MANIKANDAN