Свчетчик пакетов при ДКМ

This commit is contained in:
TotMaxim
2025-11-23 16:44:18 +03:00
parent 831b2e0ea8
commit 63de1118b0

View File

@@ -42,7 +42,6 @@ enum STATE_MACHINE {
INIT,
FS_TURN_ON,
FS_WORK,
WRITE_ISA,
READ_ISA,
CHEK_KASSETA_Y5,
CHEK_BLOCK_IP,
@@ -53,6 +52,7 @@ enum STATE_MACHINE {
UG_SET_RAY_3,
UG_SET_RAY_4,
UG_SET_RAY_5,
UG_SET_RAY_CTRL,
IN_EMS_RUN,
IN_EMS_STOP,
FS_TURN_OFF,
@@ -104,6 +104,7 @@ var power_for_litera: Dictionary
var self_name: String
var state: int = STATE_MACHINE.INIT
var current_litera: int
var count_packets_power: int = 0
## Флаги состояния системы
var flag_write_isa: bool = false
@@ -248,6 +249,7 @@ func _initialize_ray_mapping() -> void:
STATE_MACHINE.UG_SET_RAY_3: 'RAY_25',
STATE_MACHINE.UG_SET_RAY_4: 'RAY_35',
STATE_MACHINE.UG_SET_RAY_5: 'RAY_45',
STATE_MACHINE.UG_SET_RAY_CTRL: 'RAY_CTRL',
}
@@ -264,7 +266,6 @@ func _initialize_ray_state_enums() -> void:
func _process(_delta: float) -> void:
pass
var count_packets_power: int = 0
## Обработка данных от ЯУ-07
func on_data_received(unit_pribor: Object) -> void:
@@ -291,7 +292,9 @@ func on_data_received(unit_pribor: Object) -> void:
if current_litera != 0:
var tek_litera: Dictionary = power_for_litera[current_litera]
var interes = _get_ray_key(state)
if interes != '':
if interes == 'RAY_CTRL':
count_packets_power += 1
elif interes != '':
tek_litera[_get_ray_key(state)] = power_um_ukp(status, current_litera, tek_litera[_get_ray_key(state)])
power_for_litera[current_litera] = tek_litera
count_packets_power += 1
@@ -351,8 +354,8 @@ func state_control_machine() -> void:
STATE_MACHINE.FS_WORK: _handle_fs_work_state()
STATE_MACHINE.CHEK_KASSETA_Y5: _handle_check_kasseta_state() # Проверка Кассеты У5
STATE_MACHINE.CHEK_BLOCK_IP: _handle_check_block_ip_state() # Проверка ИП
STATE_MACHINE.WRITE_ISA: _handle_write_isa_state()
STATE_MACHINE.READ_ISA: _handle_read_isa_state()
STATE_MACHINE.UG_SET_RAY_CTRL: _handle_ray_operation(6)
STATE_MACHINE.UG_SET_RAY: _handle_ray_operation() # Режим чтения
STATE_MACHINE.UG_SET_RAY_0: _handle_ray_operation(0)
STATE_MACHINE.UG_SET_RAY_1: _handle_ray_operation(1)
@@ -459,16 +462,10 @@ func _handle_check_block_ip_state() -> void:
if not block_ip_config[ip][1]:
block_ip = false
if block_ip:
state = STATE_MACHINE.WRITE_ISA
state = STATE_MACHINE.UG_SET_RAY_CTRL
elif flag_only_fs:
state = STATE_MACHINE.IN_EMS_STOP
## Обработка состояния WRITE_ISA - запись в УГ
func _handle_write_isa_state() -> void:
if not flag_write_isa:
_handle_ug_set_state(0x6)
state = STATE_MACHINE.READ_ISA
## Обработка состояния READ_ISA - чтение из УГ
func _handle_read_isa_state() -> void:
@@ -657,7 +654,7 @@ func progressbar_status() -> void:
base_progress = PROGRESS_FS_WORK
STATE_MACHINE.CHEK_KASSETA_Y5:
base_progress = PROGRESS_CHECK_KASSETA
STATE_MACHINE.WRITE_ISA:
STATE_MACHINE.UG_SET_RAY_CTRL:
base_progress = PROGRESS_WRITE_ISA
STATE_MACHINE.READ_ISA:
base_progress = PROGRESS_READ_ISA