Исправление. Состояние Щ3 отображается неверно после переключения на другой прибор.

This commit is contained in:
sasha80
2025-03-14 15:53:20 +03:00
parent 7886339ab6
commit 5f15e64562

View File

@@ -51,10 +51,8 @@ func _on_timeout(unit_sch3, mbc: ModbusClientRtu) -> void:
step_fsm = Sch3Fsm.READ_INPUT
elif step_fsm == Sch3Fsm.READ_INPUT:
unit_sch3.read_input(base_input_address, regs_input_count)
step_fsm = Sch3Fsm.READ_HOLDING
elif step_fsm == Sch3Fsm.READ_HOLDING:
unit_sch3.read_holding(base_holding_address, regs_holding_count)
step_fsm = Sch3Fsm.WRITE
elif step_fsm == Sch3Fsm.CONNECT:
mbc.queue_clear()
mbc.flush()
@@ -129,13 +127,13 @@ func on_line_changed(unit_sch3: sch_3.Sch3):
step_fsm = Sch3Fsm.CONNECT
else:
timer.wait_time = request_period
step_fsm = Sch3Fsm.WRITE
## Вызывается по сигналу "приняты данные чтения регистров хранения"[br]
## [param base_addr] - Начальный адрес регистров.[br]
## [param data] - Массив значений прочитанных из регистров.
func on_resp_holding(base_addr: int, data: Array):
step_fsm = Sch3Fsm.WRITE
if (base_addr != base_holding_address) or (data.size() < regs_holding_count):
return
for i in data.size():
@@ -160,6 +158,7 @@ func on_resp_holding(base_addr: int, data: Array):
## [param base_addr] - Начальный адрес регистров.[br]
## [param data] - Массив значений прочитанных из регистров.[br]
func on_resp_input(base_addr: int, data: Array):
step_fsm = Sch3Fsm.READ_HOLDING
if !is_inside_tree():
return
if (base_addr != base_input_address) or (data.size() < regs_input_count):