Рефактор. Общий список прибор теперь использует имя прибора для индекса

This commit is contained in:
sasha80
2025-08-01 13:02:13 +03:00
parent 37e552d207
commit 56df30a3ba
22 changed files with 122 additions and 122 deletions

View File

@@ -25,6 +25,9 @@ class Sch3 extends unit.Unit:
var tick_fsm: int = 0
var mbc: = ModbusClientRtu.new()
var tick_fsm_delta: = reconnect_period
var port: String
var params: Array
func try_disconnect():
mbc.thread_stop()
@@ -33,8 +36,6 @@ class Sch3 extends unit.Unit:
mbc.close()
func try_connect() -> bool:
var port = settings.UnitProfiles[name][1] # TODO: убрать это отсюда (обращение к глобальным данным из экземпляра)
var params = settings.UnitProfiles[name][2] # TODO: убрать это отсюда (обращение к глобальным данным из экземпляра)
var rc = mbc.open(port, params[0], params[1], params[2], params[3], params[4])
if rc != Error.OK: # TODO: убрать это отсюда (неуместный вывод сообщения)
if not reconnect_failed:
@@ -102,8 +103,14 @@ class Sch3 extends unit.Unit:
if external_ctl and (step_fsm not in [Sch3Fsm.DISCONNECT, Sch3Fsm.IDLE]):
step_fsm = Sch3Fsm.DISCONNECT
elif (not external_ctl) and (step_fsm in [Sch3Fsm.DISCONNECT, Sch3Fsm.IDLE]):
var unit_sch3 = network.get_unit_instance('уарэп-щ3')
var unit_prof = ProjectSettings.get_setting('application/config/%s' % unit_sch3.name)
if unit_prof:
unit_sch3.port = unit_prof[0]
unit_sch3.params = unit_prof[1]
step_fsm = Sch3Fsm.CONNECT
func parse(return_code: Error, base_addr: int, data: Array, code: String):
if return_code == Error.OK:
rx_tick = Time.get_ticks_msec()