Logic Machine Forum
Status delay Modbus. - Printable Version

+- Logic Machine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Visualization (https://forum.logicmachine.net/forumdisplay.php?fid=9)
+--- Thread: Status delay Modbus. (/showthread.php?tid=4423)



Status delay Modbus. - Long - 05.12.2022

Hi All!
Currently I am having problems creating visuals on LM. Modbus RTU response status is slow, making it difficult to control. Is there a way to speed up object status? Thank you for your help!


RE: Status delay Modbus. - admin - 05.12.2022

You can set the poll interval to a lower value.


RE: Status delay Modbus. - Long - 06.12.2022

(05.12.2022, 07:30)admin Wrote: You can set the poll interval to a lower value.
Thank you for the very quick response!
I have set the poll interval to the lowest value of 1 but the status does not update faster. If I increase baud rate to 19200 don't know the state will respond faster? The device parameter can be upgraded to 19200 baud rate but in the LM log it gives an error: (RTU 1 slave 1) read failed: Invalid CRC.


RE: Status delay Modbus. - admin - 06.12.2022

It won't be much faster at higher bitrate. Modbus is not meant for fast communication due to polling.
As a work-around you can map an event script to the control object to update the status immediately.


RE: Status delay Modbus. - Long - 06.12.2022

(06.12.2022, 07:42)admin Wrote: It won't be much faster at higher bitrate. Modbus is not meant for fast communication due to polling.
As a work-around you can map an event script to the control object to update the status immediately.
Thanks admin!
I can write it directly in 6.1.2 as the on/off control address for state updates:
if event.getvalue()
  then
grp.write('6/1/1', true) --Status on/off
  else
grp.write('6/1/1', false) --Status on/off
end
Admin have any better ideas?


RE: Status delay Modbus. - admin - 06.12.2022

Script can be made a bit shorter, but the general idea is correct.
Code:
value = event.getvalue()
grp.write('6/1/1', value)



RE: Status delay Modbus. - Long - 06.12.2022

(06.12.2022, 10:47)admin Wrote: Script can be made a bit shorter, but the general idea is correct.
Code:
value = event.getvalue()
grp.write('6/1/1', value)
Thank you so much admin!