Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

using set in Scripting for modbus Writes-- (Mango 3.7.7)


  • Greetings, all:

    Busy day here in our world headquarters.

    I'm trying to do some basic automation here: I've got a device that reliable gets modbus holding register write commands when using the "set" button on the data point details screen.

    However, in the script I'm working on, doing the VariableName.set(100) doesn't seem to trigger the Modbus write. This is automatically operated by a context update. When it does, I expect it to write 100 to the external context point mapped to VariableName.

    So: Here's what's happening:
    (1) The Script is firing properly, and the Set command is running: The graph on the point details screen shows the value being set to 100.
    (2) The connected modbus device never gets the value 100
    (3) If I manually click "set" on the Details Screen, the connected modbus device gets the command, and operates as expected.

    So: What am I doing wrong? The Modbus data point is set for "settable", and since the unit responds as expected using the SET button, I expect that that my modbus serial is working correct.

    Everything is set to superadmin, so I don't think there's a roll issue here. I have the current alarms enabled, and I'm not getting any alarms when the set command runs.

    My script is literally two lines:
    if(PC1.value > 0) {
    ModbusOutput.set(100);
    }

    I just need the number 100 to get written out to the register mapped as ModbusOutput when the PC1 value (which comes in from another modbus point) is > 0.

    This is literally the most basic thing ever, and I'm annoyed with myself that it doesn't appear to work.

    Thanks!

    Cheers,
    -Greg Linder