Author Topic: Modbus Addressing  (Read 5246 times)


  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Modbus Addressing
« Reply #15 on: October 09, 2017, 10:30:09 AM »
Some hints when using Modbus with AdvancedHMI.....

The most common addressing is supported such as:


The default are signed integers, but you can force it to use unsigned by preceding the address by a "U". For example:


32 bit integers and 32 bit floating point are also supported by using the following prefixes:


Keep in mind that you are using 4 bytes, so L40001 may overlap L40002. Based on the device you are using. The consecutive 32 bit values may be L40001 and L40003

If you want to force a particular function number, then specify the function followed by a ":". for example:


As of version 3.99b, a new prefix is supported for BCD. For example:


understand that, u is uword, L is long, F is float.
i saw a table that is a modbus register of a device included "ULONG", at this point what should i do to read that register. i can get that and convert with c# its ok but i wonder that is there any other type of decleration in plcadressvalue section ?

if i need to read an unsigned long, what decleration should i use in PlcAddressValue? UL or LU is not working. eg. UL30001 or LU30001.


  • Administrator
  • Hero Member
  • *****
  • Posts: 3705
    • View Profile
    • AdvancedHMI
Re: Modbus Addressing
« Reply #16 on: October 09, 2017, 02:29:08 PM »
The current Modbus driver does not support more than one modifier prefix, so it will not directly return an unsigned long. This would have to be done in code. You could use a DataSubscriber to read 2 consecutive unsigned words, then combine then into a single long in the DataReturned event handler.