Доработка. Протокол JSON-Modbus обновлён (2 из 2)

This commit is contained in:
sasha80
2024-11-15 10:04:07 +03:00
parent 548dfeb609
commit 42469e31f7

View File

@@ -2,34 +2,41 @@
extends "res://scenes/контроль/элемент-я.gd"
## Дополнение №1 к протоколу №120-23900-18
## информационного взаимодействия изделия 5П-28
## с аппаратурой УА-РЭП на кораблях проекта 23900
func on_data_received(data): pass
func on_data_received(_data: PackedByteArray): pass
func _enter_tree() -> void:
if Engine.is_editor_hint(): return
var unit_key = settings.get_unit_key(unit_name)
var unit = network.units[unit_key]
unit.connect('responce_received', Callable(self, 'on_responce_received'))
unit.connect('resp_input', on_resp_input)
func _exit_tree() -> void:
if Engine.is_editor_hint(): return
var unit_key = settings.get_unit_key(unit_name)
var unit = network.units[unit_key]
unit.disconnect('responce_received', Callable(self, 'on_responce_received'))
unit.disconnect('resp_input', on_resp_input)
func on_line_changed(_unit):
var items = get_tree().get_nodes_in_group('bits_items')
var items = get_tree().get_nodes_in_group('bits_items_good')
for item in items:
item.texture = textures[STATE_VAL.ERROR]
func on_responce_received(addr: int, data: PackedByteArray):
if (addr != 0) or (data.size() != 4):
func on_resp_input(addr: int, data: PackedByteArray):
if (addr != 0) or (data.size() < 4):
return
var items = get_tree().get_nodes_in_group('bits_items')
# "Для контроля состояния управляющего элемента подачи электроэнергии на приборы ..."
# "Для контроля подачи электроэнергии на приборы ..."
# Таблицы 3.13 и 3.14. Ecли значения соответствующих битов в этих
# регистрах равны, то "исправно".
var items = get_tree().get_nodes_in_group('bits_items_good')
var cnt_good: int = 0
for item in items:
var bits: Array = item.get_meta('bits')