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) {

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.


-Greg Linder