Posts: 4
Threads: 2
Joined: Dec 2022
Reputation:
0
Hello,
In my project, I have an LM5 as the Master and another as the Slave.
The Slave is intended to switch on if the connection to the Master fails. Both should perform the same function.
I have KNX, DALI, BACnet, and Modbus communication.
Is there a way for the Slave to only activate when the connection to the Master has failed?
The Slave should, however, always listen in on all communications so that it is up-to-date in case of a Master failure.
Thank you very much for your help.
Posts: 4653
Threads: 24
Joined: Aug 2017
Reputation:
208
Can you provide more info how the DALI, BACnet and modbus is done?
------------------------------
Ctrl+F5
Posts: 4653
Threads: 24
Joined: Aug 2017
Reputation:
208
the DALI - is it KNX DALI gateway?
LM communicates with the Schneider Gateway via BACnet - what do you mean here? Is LM bacnet server or client?
Modbus - is it RTU or IP?
Two LMs can't have same IP so in any case this will need to be manually switched to new url.
------------------------------
Ctrl+F5
Posts: 4653
Threads: 24
Joined: Aug 2017
Reputation:
208
OK so we don't care about DALI as for LM it is a KNX anyway
You can connect two LMs to the same TP but you must change multicast on one of them to avoid loops. You could disable KNX IP if it is not needed.
Bacnet IP can be enabled/disabled like this:
Code:
-- disable
os.execute('uci set bacnet.server.enabled=0 && uci commit bacnet &&
/etc/init.d/bacnet stop')
-- enable
os.execute('uci set bacnet.server.enabled=1 && uci commit bacnet &&
/etc/init.d/bacnet start')
The client most likely well cache the IP and it might not work straight on, it should expire after some time.
Modbus RTU, if you have both enabled at the same time nothing will work,
Use this event script to emulate a web request to enable/disable RTU. Attach it to a boolean object.
Code:
value = event.getvalue()
require('uci')
require('json')
function getvar()
return 'config-save'
end
function json.data()
return { enabled = value }
end
dofile('/lib/genohm-scada/plugins/modbus/web.lua')
You need to create a script which will monitor if main LM is al live and if not apply the above. An example here but you need to be careful, If LM is still working and you enable both then modbus will not work and probably bacnet too.
https://openrb.com/master-slave-logicmachine/
See also this
https://forum.logicmachine.net/showthrea...8#pid10348
------------------------------
Ctrl+F5