Pump running status always 0, analog values in the same PLC read fine

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ProcessPilot
    Junior Member
    • 11.08.2025
    • 13

    #1

    Pump running status always 0, analog values in the same PLC read fine

    I'm connecting a new booster station to Omnivex SCADA over Modbus TCP. Pressure, flow and motor current come from holding registers and they read correctly.
    The pump running and fault signals are digital. The panel builder's list says "Discrete Inputs 10001–10008". I created a second frame with Start Address 10001, Quantity 8 and the same Function Type as my analog frame, and the tags in that frame are always 0, even when the pump is clearly running. There is no error on the channel.
    What am I doing wrong with the digital signals?
  • Technical Support
    Senior Member
    • 11.08.2025
    • 105

    #2
    The analog and digital signals are in different Modbus memory areas, so they need frames with different Function Type settings and a different start address notation.
    1. Function Type
    In Modbus, each data area is read with its own function:
    - Coils (often listed as 0xxxx) – function 1, read coils
    - Discrete Inputs (1xxxx) – function 2, read discrete inputs
    - Input Registers (3xxxx) – function 4
    - Holding Registers (4xxxx) – function 3
    Your analog frame uses the holding register function. For "Discrete Inputs 10001–10008" create the frame with the function for discrete inputs, and choose the bit/boolean option in the frame Data Type list, so each tag holds one signal.
    2. Start Address
    Lists such as "10001" use the old 5-digit notation, where the first digit only shows the area. On the wire, the address is the offset within that area: 10001 is usually offset 0, 10008 is offset 7. So set Start Address = 0 and Quantity = 8. Some devices count from 1; if your values look shifted by one signal, try Start Address 1.
    3. Tags
    Give each tag its ModbusAddress within the frame and check that Active is set on the channel, frame and tag.
    Why there was no error
    Depending on the device and its register mapping, a request to the wrong area can still return valid-looking zeros, so the channel looks healthy while the data is wrong.
    After the change, toggle the pump and watch the tag value. If it still stays 0, please post the frame settings and the panel builder's Modbus list.
    Documentation: https://greensoft.ai/documentation/o...ion-protocols/

    Comment

    Working...