From 5f15e6456263525bc7ffeedf653e6fda02b1370f Mon Sep 17 00:00:00 2001 From: sasha80 Date: Fri, 14 Mar 2025 15:53:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5.=20=D0=A1=D0=BE=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D1=8F=D0=BD=D0=B8=D0=B5=20=D0=A93=20=D0=BE=D1=82=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B6=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BD=D0=BE=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BD=D0=B0=20=D0=B4=D1=80=D1=83=D0=B3=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=BF=D1=80=D0=B8=D0=B1=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/pribor-uyep/sch3-view.gd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scenes/pribor-uyep/sch3-view.gd b/scenes/pribor-uyep/sch3-view.gd index 7a54fc9..6438139 100644 --- a/scenes/pribor-uyep/sch3-view.gd +++ b/scenes/pribor-uyep/sch3-view.gd @@ -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):