Skip to main content
1-Visitor
March 2, 2026
Question

Modbus Driver - Master/Slave communication issue

  • March 2, 2026
  • 1 reply
  • 108 views

I have KepServer on PC IP 172.17.90.31 with Modbus TCP/IP Driver for Yokogawa DCS using ALE111 device with IP 172.17.90.30 communication. It seems comms is only established when Device ID in the project is <127.0.0.1>,0 and not with <172.17.90.30>,0. I understand this is due to ALE111 is Modbus Master in this case. I am facing issues where TAGs value are not accurately updating in some TAGs, but some are ok. I also have issue where the real parameter values in data type "float" always show "0" and do not update on live run. If I stop the KepServer service via Windows "runtime - End Task" and then restart KepSever project, the QC on initial handshake will display the last stopped value or stored value on the parameter TAGs, but on second update onwards, it will go back to "0" value and no update. I can successfully write to these parameter TAGs via QC and confirm the handshake with device. Can I please get support, if the Project configuration needs modification or Device property needs modification?

Regards, Ash

1 reply

18-Opal
March 10, 2026

Hi, 

 

From the description, two things stand out: the master/slave direction and the float values always returning 0. Both usually point to Modbus mapping and data format rather than a Kepware service issue.

 

First, about the Device ID behavior.
If communication only works with <127.0.0.1>,0, it usually means the ALE111 is acting as the Modbus master and Kepware is operating as a slave/server. In that case, the device in Kepware should be configured using the Modbus TCP Server driver, not the Modbus TCP/IP master driver. When Kepware is configured as a master while the DCS is also master, the communication pattern becomes inconsistent and tags may not update correctly.

 

Second, the float values always showing 0 is very commonly caused by word order or register mapping issues. Yokogawa systems often store floating point values using different byte/word order than the Modbus default.

 

Things worth checking:

  1. Verify the driver type
    If ALE111 is polling Kepware, switch the channel to Modbus TCP Server so Kepware behaves as the slave.

  2. Check float byte order
    In Kepware tag settings try different float formats such as:

    • Float (ABCD)

    • Float (CDAB)

    • Float (BADC)
      Yokogawa systems frequently require word-swapped floats.

  3. Confirm register alignment
    Float values require two consecutive registers. If the starting register is incorrect (off by one), Kepware will read zeros or invalid values.

  4. Verify scan rate vs device update cycle
    If the DCS only updates certain parameters cyclically, set a slower scan rate (for example 500–1000 ms) to avoid stale reads.

  5. Check address type
    Ensure the correct Modbus memory type is used (Holding Register vs Input Register). Some DCS parameters are read-only and only exist in Input Registers (3xxxx).

The key point is that the <127.0.0.1>,0 behavior strongly suggests the communication direction is reversed, so confirming whether ALE111 is master and Kepware must run as Modbus TCP Server would be the first thing to verify.

 

Thanks,

1-Visitor
March 11, 2026

Hi Shashi,

Thanks for your response. In my case, I have been informed by Yokogawa that ALE111 has limitation and cannot be configured as slave.

Hence, the only way I can establish comms between Kepware and ALE111 is via ID <127.0.0.1>,0

I also manage to get the float value sorted after troubleshooting on the addressing provided by Yokogawa for float. They word was overlapping on the other address linked to datatype " Dword Array".

 

I have another Yokogawa DCS with another ALE111 on the same network and have doubts on how will I be able to add another device on same KepServer project as the 1st ALE111 is using internal address of 127.0.0.1? In short, I wanted to know if I have to configure another ALE111 (which can be master only), how will I configure ID to secondary device where it can only communicate with 127.0.0.1 ??

 

Any support advice on above will be highly appriciated.

 

Regards, AK