2400 series modbus comm help

Hello,

new to this forum with a question.  I am communicating with an Allen-Bradley ML1100 plc to a 2400 series transmitter via modbus connected to the service port.  I have successful communication as i am able to read the values in holding registers 40039-40046.  when attempting to read the process variables in the transmitter 30002-30011, i receive values of "-1" for those registers.  Since i can connect via prolink to the 2400, i see that there are values stored in those registers, for example 30008 mass total has 633 in prolink but that does not make it to plc.  any help would be greatly appreciated.

thank you,

Ric

  • Hi Ric,

    I have checked with our application engineers and here are the insights they shared with me about the Modbus map:

    1. Registers 40039 through 40046 are holding register (R/W) process variable unit codes.
    2. Registers 30002 through 30011 are input registers (RO) process variables as scaled integers.

    Potential causes of the problem:
    • The PLC may not be forming Modbus messages correctly for the input registers. These can actually be read as holding registers, too. Please avoid writing the RO registers.
    • The PLC may not know how to correctly interpret the scaled integers. This is most likely the issue.
    • If possible, have the PLC read process variables as floating point values starting at register 30247. Please let us know if you need help or guidance reading scaled integers.
    • This may not be needed in this case, but try to map process variables of interest to slot registers and have the PLC pick them up from there as a block read.

    Please don't hesitate to let us know if you have any further questions or if you need to get in touch with our technical support team.

    Khadra Helminski

  • Hi Ric,

    In addition to my previous response, I would like to note that the scaled integers at address 2 – 11 (the 30000 is just a read only nomenclature) are 16 bit scaled integers. If the value is above the 65535 maximum or if the transmitter is in a critical fault, then the registers will show Maximum Integer -1. Which is often shown as -1. It is possible that the transmitter has a critical fault.

    To better read the scaled integers at 2 – 11, it is recommended to read the process variables as Floating Point numbers. The two word, single precision, floating point address start at address 247 and go through 266.

    If you don't already have the MODBUS Interface Tool (MIT), you can find it on the Emerson website here www.emerson.com/.../66752.zip

    For technical support or to speak directly to our flow support team, please contact us at flow.support@emerson.com or just call the 1-800-522-6277 customer support line and select the ‘technical support’ option.

    Best regards,

    Khadra Helminski