7. [XPANEL][통신] Modbus MasterSlave 구성에서 Scaleoffset 기능 관련 주의사항이 있나요
2011.05.12

2024.03 리뉴얼

안녕하세요, CIMON입니다.
Modbus Master/Slave 구성에서 Scale/offset 기능 관련 주의사항입니다.
내용은 아래와 같습니다.

XAPNEL은 Modbus Master 기능 (I/O 디바이스 설정)과 Slave(데이터서버) 기능을 제공합니다.
만약 2개의 XPANEL을 가지고 Master와 Slave를 구성할 경우 Scale/Offset에 관한 다음의
주의사항을 숙지하시기 바랍니다.

1. Modbus Master설정

1) I/O디바이스에서 Modbus를 등록합니다. (TCP/IP 혹은 RTU)

2) TAG 등록 시 Slave의 값을 스케일 처리하기 위해 임의의 Scale/Offset 기능을 사용합니다.

*. Scale 기능 체크, Scale/Offset 각각 2, 0 위와 같이 설정할 경우 Slave의 해당 어드레스 영역의 데이터를 요청할 때 Data * 2 + 0 으로 처리됩니다.

*. Slave XPANEL의 Holding Register 1번지의 워드 값이 100일 경우 Master에서 요청 시 100 * 2 + 0 이 되어 200으로 표현됩니다.

2. Modbus Slave 설정

1) 다른 XPANEL에서 Modbus Slave를 설정합니다. (마스터의 TCP/IP, RTU 여부에 따라 맞게 설정합니다.)

2) 서버로 사용할 데이터 하나를 CIMON PLC와 통신하는 실 태그로 등록하고, Slave의 Holding Register 영역 1번지로 등록합니다.

*. 현재 설정에서 Modbus Master XPANEL이 Slave XPANEL의 40001 어드레스 번지의 값을 읽을 경우

CIMON PLC의 데이터에 SCALE이 풀린 PLC RAW 데이터를 읽습니다.

즉, Modbus Master가 요청한 태그 값과 Modbus Slave의 태그 값이 일치하지 않게 됩니다.

따라서 Modbus Master가 PLC값을 정확히 읽어야 경우, Slave로 등록된 CIMON PLC의

실태그 값을 Master에서 설정한 Scale/Offset과 동일하게 설정을 합니다.

*. 위 그림과 같이 설정할 경우 CIMON PCL의 데이터를 요청할 때 DTAT * 2 + 0 으로 처리됩니다.

*. CIMON PLC의 특정 어드레스 워드값이 100일 경우 값 요청 시 100 * 2 + 0이 되어 200으로 표현됩니다.

따라서, 다시 Modbus Master에서 현재 Slave에서 Scale/Offset 처리된 값을 읽는 것이 아니라

CIMON PLC의 RAW 데이터를 넘겨주기 때문에 Scale/Offset 처리를 동일하게 해줘야 원래 값을 읽습니다.

언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.