16 진수 형식으로 작성된 모드버스(Modbus) 레지스터 해석

업데이트 됨 Apr 3, 2023

해당 제품

소프트웨어

  • Lookout Server
  • Lookout Client
  • LabVIEW Datalogging and Supervisory Control Module

문의사항

Modbus 프로토콜을 통해 통신하는 장치가 있습니다. 장치 매뉴얼은 레지스터에 16 진수 형식을 제공합니다. LabVIEW와 Lookout은 레지스터 주소에 10 진수 형식을 사용합니다. 나는 16 진수에서 10 진수로 간단히 변환하려고 시도했지만 작동하지 않는 것 같습니다.

해결책

Modbus 프로토콜 주소 지정 체계에는 다양한 범위와 원시 주소(raw addresses)가 포함됩니다. 예를 들어, 30000 범위와 40000 범위가 있습니다. 각 범위에는 그 안에 원시 주소와 다른 데이터 유형이 있습니다 (일부는 불리언이지만 다른 것은 16 비트 숫자입니다). 16 진수 레지스터 값을 10 진수 값으로 변환하려면 먼저 주소가 포함될 것으로 예상되는 범위를 알아야 합니다. 그런 다음 16 진수를 10 진수로 변환하고 범위와 함께 추가하십시오. G7 Yasawa Drive 경우 아래 예를 참조하십시오.

Yasawa의 G7 Drive 설명서에서 구성 레지스터에 05Ah 주소를 사용한다고 말할 것입니다. G7 드라이브는 40000 범위 (읽기/쓰기 16 비트)를 사용합니다. 16 진수 (05A)를 10진수 값인 90으로 변환하십시오. 범위와 결합하면 40090의 주소를 얻습니다. Modbus를 통해 G7의 구성 레지스터를 제어하려면 이 레지스터에서 쓰기 또는 읽기를 수행하십시오.