отладка в кэн приборов прд с новой прошивкой фс
This commit is contained in:
@@ -26,25 +26,42 @@ const Constants = {
|
||||
"ADDR_UG_LITERA_3": 0x10A,
|
||||
"TEMP_THRESHOLD": 70,
|
||||
"POWER_THRESHOLD": 40,
|
||||
"TIMER_DELAY": 1.5,
|
||||
"TIMER_DELAY": 4.0,
|
||||
"dou_ray_nuber": 0x3,
|
||||
"attenutor_um_1": 0x7,
|
||||
"attenutor_um_2": 0x7,
|
||||
"attenutor_um_3": 0x7,
|
||||
"POWER_UM": 15,
|
||||
}
|
||||
enum STATE_VAL { NONE = 0, GOOD = 1, ERROR = 2 }
|
||||
enum STATE_MASHINE { INIT,
|
||||
FS_1_TURN_ON,
|
||||
FS_2_TURN_ON,
|
||||
FS_3_TURN_ON,
|
||||
FS_1_WORK,
|
||||
FS_2_WORK,
|
||||
FS_3_WORK,
|
||||
UM_RUN,
|
||||
READ_ISA,
|
||||
FS_1_TURN_OFF,
|
||||
FS_2_TURN_OFF,
|
||||
FS_3_TURN_OFF,
|
||||
STOP_CONTROL }
|
||||
# Основные переменные
|
||||
var state: int = STATE_MASHINE.INIT
|
||||
var count_packet_1:int = 0
|
||||
var count_packet_2:int = 0
|
||||
var power_array_1: Array = []
|
||||
var power_array_2: Array = []
|
||||
var currecnt_unit: String
|
||||
var ug_work_1: int
|
||||
var ug_work_2: int
|
||||
var ug_work_3: int
|
||||
# Флаги и таймеры
|
||||
var control_timer: Timer = Timer.new()
|
||||
var mashine_timer: Timer = Timer.new()
|
||||
var flag_timer_started: bool = false
|
||||
var flag_check_dkm_3: bool = false
|
||||
var pribor: String
|
||||
# Результаты контроля
|
||||
var _control_results: Dictionary = {
|
||||
"block_ip": false, # Проверка касет П1 и ИП МА2000
|
||||
@@ -64,16 +81,72 @@ func _ready() -> void:
|
||||
set_default_state()
|
||||
|
||||
|
||||
func on_state_mashine() -> void:
|
||||
match state:
|
||||
STATE_MASHINE.INIT:
|
||||
print('Стадия включения')
|
||||
state = STATE_MASHINE.FS_3_TURN_ON
|
||||
|
||||
STATE_MASHINE.FS_3_TURN_ON:
|
||||
print('Включение фс 3')
|
||||
_on_control_fs(true)
|
||||
control_timer.wait_time = Constants.TIMER_DELAY
|
||||
control_timer.start()
|
||||
state = STATE_MASHINE.FS_3_WORK
|
||||
|
||||
STATE_MASHINE.FS_3_WORK:
|
||||
print('FS 3 должен работать')
|
||||
flag_check_dkm_3 = true
|
||||
if _control_results["fs_3"] and not flag_timer_started:
|
||||
state = STATE_MASHINE.UM_RUN
|
||||
|
||||
STATE_MASHINE.UM_RUN:
|
||||
print('Должна идти жара')
|
||||
var unit_key = settings.get_unit_key(get_meta('unit_name')[0])
|
||||
var unit_prd = network.units[unit_key]
|
||||
var prd_module = prd.prd_dict[unit_prd.name]
|
||||
prd_module.cmd_array.append([unit_prd.CmdCode.WRITE_ISA, [Constants.BASE_ADDR_EMS_G, 6666]])
|
||||
flag_timer_started = true
|
||||
state = STATE_MASHINE.FS_3_WORK
|
||||
|
||||
STATE_MASHINE.READ_ISA:
|
||||
print('READ_ISA')
|
||||
var unit_key = settings.get_unit_key(get_meta('unit_name')[0])
|
||||
var unit_prd = network.units[unit_key]
|
||||
var prd_module = prd.prd_dict[unit_prd.name]
|
||||
prd_module.cmd_array.append([unit_prd.CmdCode.READ_ISA, [Constants.BASE_ADDR_EMS_G]])
|
||||
|
||||
STATE_MASHINE.FS_3_TURN_OFF:
|
||||
print('Отключение ФС')
|
||||
flag_check_dkm_3 = false
|
||||
_on_control_fs(false)
|
||||
power_control_result()
|
||||
on_control_result()
|
||||
state = STATE_MASHINE.STOP_CONTROL
|
||||
|
||||
STATE_MASHINE.STOP_CONTROL:
|
||||
print('STOP_CONTROL')
|
||||
|
||||
|
||||
|
||||
|
||||
func initialize_connections() -> void:
|
||||
signaller.conn(signaller.fs_update_state, Callable(self, 'on_fs_update_state'))
|
||||
var unit_key = settings.get_unit_key(get_meta('unit_name')[0])
|
||||
var unit_prd = network.units[unit_key]
|
||||
currecnt_unit = unit_prd.name
|
||||
var currecnt_unit = unit_prd.name
|
||||
var parts = currecnt_unit.split('-')
|
||||
pribor = parts[-1]
|
||||
unit_prd.connect('data_received', Callable(self, 'on_data_received'))
|
||||
unit_prd.connect('line_changed', Callable(self, 'on_line_changed'))
|
||||
|
||||
|
||||
func setup_timer() -> void:
|
||||
add_child(mashine_timer)
|
||||
mashine_timer.connect('timeout', Callable(self, 'on_state_mashine'))
|
||||
mashine_timer.wait_time = 0.5
|
||||
mashine_timer.start()
|
||||
|
||||
add_child(control_timer)
|
||||
control_timer.connect('timeout', Callable(self, 'on_stop_control'))
|
||||
control_timer.one_shot = true
|
||||
@@ -92,7 +165,6 @@ func set_default_state() -> void:
|
||||
func _enter_tree() -> void:
|
||||
$control_result.text = ''
|
||||
signaller.connect('режим_работа', Callable(self, 'on_mode_changed').bind(false))
|
||||
_on_control_fs(true)
|
||||
|
||||
|
||||
func _exit_tree() -> void:
|
||||
@@ -117,13 +189,17 @@ func on_data_received(unit_prd: Object) -> void:
|
||||
check_temperature_um(status)
|
||||
# Обработка данных ЭМС
|
||||
_process_ems_data(status)
|
||||
|
||||
if flag_timer_started:
|
||||
check_dkm(status, Constants.DKM_BIT_1)
|
||||
check_dkm(status, Constants.DKM_BIT_6)
|
||||
|
||||
if flag_check_dkm_3:
|
||||
check_dkm(status, Constants.DKM_BIT_7)
|
||||
# Обработка мощности от УКП
|
||||
_process_ukp_power(status)
|
||||
|
||||
|
||||
#if flag_timer_started:
|
||||
#check_dkm(status, Constants.DKM_BIT_1)
|
||||
#check_dkm(status, Constants.DKM_BIT_6)
|
||||
# Обработка мощности от УКП
|
||||
#_process_ukp_power(status)
|
||||
|
||||
|
||||
# Обрабатывает данные ЭМС и обновляет UI панели
|
||||
@@ -233,53 +309,59 @@ func check_dkm(status_prd: PackedByteArray, bit_dkm: int) -> void:
|
||||
$kasseta_fs_kd/ref_A7.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
|
||||
_control_results["dkm_3"] = status_dkm
|
||||
|
||||
|
||||
|
||||
func _process_ukp_power(status: PackedByteArray) -> void:
|
||||
## Мощность УМ от УКП 1
|
||||
var arr_power_ukp_1: Array = []
|
||||
|
||||
if (status[0] >> 2) & 1:
|
||||
var power_ukp_1: int
|
||||
for i_power in range(6):
|
||||
power_ukp_1 = status.decode_u16(Constants.POWER_UKP_1 + 2 * i_power)
|
||||
arr_power_ukp_1.append(power_ukp_1)
|
||||
# Мощность от УМ (УКП) литеры 3
|
||||
power_ukp_1 = status.decode_u16(Constants.POWER_UKP_1 + 2 * 7)
|
||||
arr_power_ukp_1.append(power_ukp_1)
|
||||
|
||||
if count_packet_1 == 0:
|
||||
power_array_1 = arr_power_ukp_1
|
||||
else:
|
||||
for i in arr_power_ukp_1.size():
|
||||
if arr_power_ukp_1[i] > power_array_1[i]:
|
||||
power_array_1[i] = arr_power_ukp_1[i]
|
||||
|
||||
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
|
||||
for i in 7:
|
||||
power_amplifier[i].value1 = '%d' % power_array_1[i]
|
||||
power_amplifier[i].state = STATE_VAL.GOOD if power_array_1[i] > 40 else STATE_VAL.ERROR
|
||||
count_packet_1 += 1
|
||||
if state == STATE_MASHINE.FS_1_WORK:
|
||||
pass
|
||||
elif state == STATE_MASHINE.FS_2_WORK:
|
||||
## Мощность УМ от УКП 1
|
||||
var arr_power_ukp_1: Array = []
|
||||
if (status[0] >> 2) & 1:
|
||||
var power_ukp_1: int
|
||||
for i_power in range(6):
|
||||
power_ukp_1 = status.decode_u16(Constants.POWER_UKP_1 + 2 * i_power)
|
||||
arr_power_ukp_1.append(power_ukp_1)
|
||||
# Мощность от УМ (УКП) литеры 3
|
||||
power_ukp_1 = status.decode_u16(Constants.POWER_UKP_1 + 2 * 7)
|
||||
arr_power_ukp_1.append(power_ukp_1)
|
||||
|
||||
## Мощность УМ от УКП 2
|
||||
var arr_power_ukp_2: Array = []
|
||||
if (status[0] >> 2) & 1:
|
||||
for i_power in range(6):
|
||||
var power_ukp_2 = status.decode_u16(Constants.POWER_UKP_2 + 2 * i_power)
|
||||
arr_power_ukp_2.append(power_ukp_2)
|
||||
if count_packet_1 == 0:
|
||||
power_array_1 = arr_power_ukp_1
|
||||
else:
|
||||
for i in arr_power_ukp_1.size():
|
||||
if arr_power_ukp_1[i] > power_array_1[i]:
|
||||
power_array_1[i] = arr_power_ukp_1[i]
|
||||
|
||||
if count_packet_2 == 0:
|
||||
power_array_2 = arr_power_ukp_2
|
||||
else:
|
||||
for i in arr_power_ukp_2.size():
|
||||
if arr_power_ukp_2[i] > power_array_2[i]:
|
||||
power_array_2[i] = arr_power_ukp_2[i]
|
||||
for i in 7:
|
||||
power_amplifier[i].value1 = '%d' % power_array_1[i]
|
||||
power_amplifier[i].state = STATE_VAL.GOOD if power_array_1[i] > Constants.TEMP_THRESHOLD else STATE_VAL.ERROR
|
||||
count_packet_1 += 1
|
||||
|
||||
elif state == STATE_MASHINE.FS_3_WORK:
|
||||
## Мощность УМ от УКП 2
|
||||
var arr_power_ukp_2: Array = []
|
||||
if (status[0] >> 2) & 1:
|
||||
for i_power in range(6):
|
||||
var power_ukp_2 = status.decode_u16(Constants.POWER_UKP_2 + 2 * i_power)
|
||||
arr_power_ukp_2.append(power_ukp_2)
|
||||
|
||||
for i in 6:
|
||||
power_amplifier[i+7].value1 = '%d' % power_array_2[i]
|
||||
power_amplifier[i+7].state = STATE_VAL.GOOD if power_array_2[i] > 40 else STATE_VAL.ERROR
|
||||
if count_packet_2 == 0:
|
||||
power_array_2 = arr_power_ukp_2
|
||||
else:
|
||||
for i in arr_power_ukp_2.size():
|
||||
if arr_power_ukp_2[i] > power_array_2[i]:
|
||||
power_array_2[i] = arr_power_ukp_2[i]
|
||||
|
||||
count_packet_2 += 1
|
||||
for i in 6:
|
||||
power_amplifier[i+7].value1 = '%d' % power_array_2[i]
|
||||
power_amplifier[i+7].state = STATE_VAL.GOOD if power_array_2[i] > Constants.TEMP_THRESHOLD else STATE_VAL.ERROR
|
||||
|
||||
count_packet_2 += 1
|
||||
|
||||
|
||||
func power_control_result() -> void:
|
||||
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
|
||||
_control_results["power_ukp"] = true
|
||||
for amp in power_amplifier:
|
||||
if amp.state != STATE_VAL.GOOD:
|
||||
@@ -288,58 +370,91 @@ func _process_ukp_power(status: PackedByteArray) -> void:
|
||||
|
||||
|
||||
func _on_control_fs(mode: bool) -> void:
|
||||
var interfer_name: String
|
||||
var fs_arr: Array
|
||||
if mode:
|
||||
interfer_name = 'k1'
|
||||
fs_arr = [[90.0, 2450.0, 1500.0, 23]]
|
||||
else:
|
||||
interfer_name = 'off'
|
||||
fs_arr = [[90.0, 2450.0, 1500.0, 23]]
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, 50.0)
|
||||
var angle: float = 0.0
|
||||
var sector_1: float = 0
|
||||
var sector_2: float = 20
|
||||
var sector_3: float = 24
|
||||
if pribor == '2к':
|
||||
angle = 90.0
|
||||
sector_1 = 3
|
||||
sector_2 = 23
|
||||
sector_3 = 27
|
||||
elif pribor == '3к':
|
||||
angle = 180.0
|
||||
sector_1 = 2
|
||||
sector_2 = 22
|
||||
sector_3 = 26
|
||||
elif pribor == '4к':
|
||||
angle = 270.0
|
||||
sector_1 = 1
|
||||
sector_2 = 21
|
||||
sector_3 = 25
|
||||
|
||||
var interfer_name: String = 'k1' if mode else 'off'
|
||||
var freq_1: float = 490.0 # ФС_1
|
||||
var freq_2: float = 2450.0 # ФС_2
|
||||
var freq_3: float = 5800.0 # ФС_3
|
||||
var width_1: float = 100.0 # ФС_1
|
||||
var width_2: float = 110.0 # ФС_2
|
||||
var width_3: float = 110.0 # ФС_3
|
||||
|
||||
var fs_arr: Array = []
|
||||
if state == STATE_MASHINE.FS_1_WORK:
|
||||
fs_arr.append([angle, freq_1, width_1, sector_1])
|
||||
elif state == STATE_MASHINE.FS_2_WORK:
|
||||
fs_arr.append([angle, freq_2, width_2, sector_2])
|
||||
elif STATE_MASHINE.FS_3_WORK:
|
||||
fs_arr.append([angle, freq_3, width_3, sector_3])
|
||||
|
||||
print('FS arr = ', fs_arr)
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, Constants.POWER_UM)
|
||||
|
||||
|
||||
func on_stop_control() -> void:
|
||||
print_debug('Отсановка контроля ПРД')
|
||||
_on_control_fs(false)
|
||||
on_control_result()
|
||||
if state == STATE_MASHINE.FS_1_WORK:
|
||||
state = STATE_MASHINE.FS_1_TURN_OFF
|
||||
elif state == STATE_MASHINE.FS_2_WORK:
|
||||
state = STATE_MASHINE.FS_2_TURN_OFF
|
||||
elif state == STATE_MASHINE.FS_3_WORK:
|
||||
state = STATE_MASHINE.FS_3_TURN_OFF
|
||||
print_debug('state = ', state)
|
||||
#_on_control_fs(false)
|
||||
#on_control_result()
|
||||
|
||||
|
||||
func on_fs_update_state(packet_type_7: Dictionary) -> void:
|
||||
var parts = currecnt_unit.split('-')
|
||||
var last_part = parts[-1] # Прибор
|
||||
|
||||
# Словарь для маппинга: ключ - номер FS, значение - целевая нода и условие прибора
|
||||
var fs_mapping = {
|
||||
0: { "node": $kasseta_fs_kd/ref_A3, "condition": last_part == '1к' },
|
||||
1: { "node": $kasseta_fs_kd/ref_A3, "condition": last_part == '4к' },
|
||||
2: { "node": $kasseta_fs_kd/ref_A3, "condition": last_part == '3к' },
|
||||
3: { "node": $kasseta_fs_kd/ref_A3, "condition": last_part == '2к' },
|
||||
20: { "node": $kasseta_fs_kd/ref_A6, "condition": last_part == '1к' },
|
||||
21: { "node": $kasseta_fs_kd/ref_A6, "condition": last_part == '4к' },
|
||||
22: { "node": $kasseta_fs_kd/ref_A6, "condition": last_part == '3к' },
|
||||
23: { "node": $kasseta_fs_kd/ref_A6, "condition": last_part == '2к' },
|
||||
24: { "node": $kasseta_fs_kd/ref_A5, "condition": last_part == '1к' },
|
||||
25: { "node": $kasseta_fs_kd/ref_A5, "condition": last_part == '4к' },
|
||||
26: { "node": $kasseta_fs_kd/ref_A5, "condition": last_part == '3к' },
|
||||
27: { "node": $kasseta_fs_kd/ref_A5, "condition": last_part == '2к' },
|
||||
0: { "node": $kasseta_fs_kd/ref_A3, "condition": pribor == '1к' },
|
||||
1: { "node": $kasseta_fs_kd/ref_A3, "condition": pribor == '4к' },
|
||||
2: { "node": $kasseta_fs_kd/ref_A3, "condition": pribor == '3к' },
|
||||
3: { "node": $kasseta_fs_kd/ref_A3, "condition": pribor == '2к' },
|
||||
20: { "node": $kasseta_fs_kd/ref_A6, "condition": pribor == '1к' },
|
||||
21: { "node": $kasseta_fs_kd/ref_A6, "condition": pribor == '4к' },
|
||||
22: { "node": $kasseta_fs_kd/ref_A6, "condition": pribor == '3к' },
|
||||
23: { "node": $kasseta_fs_kd/ref_A6, "condition": pribor == '2к' },
|
||||
24: { "node": $kasseta_fs_kd/ref_A5, "condition": pribor == '1к' },
|
||||
25: { "node": $kasseta_fs_kd/ref_A5, "condition": pribor == '4к' },
|
||||
26: { "node": $kasseta_fs_kd/ref_A5, "condition": pribor == '3к' },
|
||||
27: { "node": $kasseta_fs_kd/ref_A5, "condition": pribor == '2к' },
|
||||
}
|
||||
for fs in packet_type_7:
|
||||
if fs in fs_mapping and fs_mapping[fs]["condition"]:
|
||||
var data = packet_type_7[fs]
|
||||
var state = STATE_VAL.GOOD if data.isg == 1 else STATE_VAL.ERROR if data.isg == 0 else STATE_VAL.NONE
|
||||
fs_mapping[fs]["node"].state = state
|
||||
var state_fs = STATE_VAL.GOOD if data.isg == 1 else STATE_VAL.ERROR if data.isg == 0 else STATE_VAL.NONE
|
||||
fs_mapping[fs]["node"].state = state_fs
|
||||
if fs < 4:
|
||||
_control_results["fs_1"] = (data.isg == 1)
|
||||
elif fs <24:
|
||||
_control_results["fs_2"] = (data.isg == 1)
|
||||
else:
|
||||
_control_results["fs_3"] = (data.isg == 1)
|
||||
if _control_results['fs_1'] and _control_results["fs_2"] and _control_results["fs_3"] and not flag_timer_started:
|
||||
on_ug_setting()
|
||||
control_timer.wait_time = Constants.TIMER_DELAY
|
||||
control_timer.start()
|
||||
flag_timer_started = true
|
||||
#if _control_results["fs_1"] and _control_results["fs_2"] and _control_results["fs_3"] and not flag_timer_started:
|
||||
#on_ug_setting()
|
||||
#control_timer.wait_time = Constants.TIMER_DELAY
|
||||
#control_timer.start()
|
||||
#flag_timer_started = true
|
||||
|
||||
|
||||
func on_ug_setting() -> void:
|
||||
@@ -382,13 +497,11 @@ func on_control_result() -> void:
|
||||
result = false
|
||||
print_debug('%s false' % key)
|
||||
|
||||
var parts = currecnt_unit.split('-')
|
||||
var last_part = parts[-1] # Прибор
|
||||
if result:
|
||||
$control_result.text = 'Прибор ПРД-%s исправен' % last_part
|
||||
$control_result.text = 'Прибор ПРД-%s исправен' % pribor
|
||||
$control_result.add_theme_color_override("font_color", Color.AQUAMARINE)
|
||||
else:
|
||||
$control_result.text = 'Прибор ПРД-%s неисправен' % last_part
|
||||
$control_result.text = 'Прибор ПРД-%s неисправен' % pribor
|
||||
$control_result.add_theme_color_override("font_color", Color.CRIMSON)
|
||||
await get_tree().create_timer(Constants.TIMER_DELAY).timeout
|
||||
flag_timer_started = false
|
||||
|
||||
@@ -356,7 +356,6 @@ offset_right = 649.0
|
||||
offset_bottom = 1003.0
|
||||
theme_override_colors/font_color = Color(0.862745, 0.0784314, 0.235294, 1)
|
||||
theme_override_font_sizes/font_size = 28
|
||||
text = "Прибор ПРД- неисправен"
|
||||
horizontal_alignment = 1
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
|
||||
@@ -16,7 +16,8 @@ const Constants = {
|
||||
"ADDR_UG_LITERA_2": 0x108,
|
||||
"TEMP_THRESHOLD": 70,
|
||||
"POWER_THRESHOLD": 40,
|
||||
"TIMER_DELAY": 1.0
|
||||
"TIMER_DELAY": 1.4,
|
||||
"POWER_UM": 70,
|
||||
}
|
||||
enum STATE_VAL { NONE = 0, GOOD = 1, ERROR = 2 }
|
||||
# Основные переменные
|
||||
@@ -71,7 +72,7 @@ func set_default_state() -> void:
|
||||
|
||||
for group in get_tree().get_nodes_in_group('power_amplifier'):
|
||||
group.state = STATE_VAL.NONE
|
||||
|
||||
|
||||
|
||||
func _enter_tree() -> void:
|
||||
$control_result.text = ''
|
||||
@@ -178,13 +179,17 @@ func check_temperature_um(status_prd: PackedByteArray) -> void:
|
||||
var temperature_ukp_1: int = status_prd.decode_u16(TEMPERATURE_UKP_1 + 2 * i_temp)
|
||||
var tmp_1: int = round(CONST_MIN_TEMP + (MAXIMUM_CODE_ADC - temperature_ukp_1) * TEMP + 3)
|
||||
power_amplifier[i_temp].value0 = tmp_1
|
||||
|
||||
if tmp_1 > Constants.TEMP_THRESHOLD:
|
||||
_control_results["temperature"] = false
|
||||
var ukp2_online = (status_prd[0] >> 3) & 1
|
||||
if ukp2_online:
|
||||
for i_temp in range(6):
|
||||
var temperature_ukp_2: int = status_prd.decode_u16(TEMPERATURE_UKP_2 + 2 * i_temp)
|
||||
var tmp_2: int = round(CONST_MIN_TEMP + (MAXIMUM_CODE_ADC - temperature_ukp_2) * TEMP + 3)
|
||||
power_amplifier[i_temp+6].value0 = tmp_2
|
||||
if tmp_2 > Constants.TEMP_THRESHOLD:
|
||||
_control_results["temperature"] = false
|
||||
|
||||
|
||||
|
||||
## Проверка ДКМ
|
||||
@@ -221,7 +226,7 @@ func _process_ukp_power(status: PackedByteArray) -> void:
|
||||
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
|
||||
for i in 6:
|
||||
power_amplifier[i].value1 = '%d' % power_array_1[i]
|
||||
power_amplifier[i].state = STATE_VAL.GOOD if power_array_1[i] > 40 else STATE_VAL.ERROR
|
||||
power_amplifier[i].state = STATE_VAL.GOOD if power_array_1[i] > Constants.POWER_THRESHOLD else STATE_VAL.ERROR
|
||||
count_packet_1 += 1
|
||||
|
||||
## Мощность УМ от УКП 2
|
||||
@@ -241,7 +246,7 @@ func _process_ukp_power(status: PackedByteArray) -> void:
|
||||
|
||||
for i in 6:
|
||||
power_amplifier[i+6].value1 = '%d' % power_array_2[i]
|
||||
power_amplifier[i+6].state = STATE_VAL.GOOD if power_array_2[i] > 40 else STATE_VAL.ERROR
|
||||
power_amplifier[i+6].state = STATE_VAL.GOOD if power_array_2[i] > Constants.POWER_THRESHOLD else STATE_VAL.ERROR
|
||||
|
||||
count_packet_2 += 1
|
||||
|
||||
@@ -253,16 +258,33 @@ func _process_ukp_power(status: PackedByteArray) -> void:
|
||||
|
||||
|
||||
func _on_control_fs(mode: bool) -> void:
|
||||
var interfer_name: String
|
||||
var fs_arr: Array
|
||||
if mode:
|
||||
interfer_name = 'k1'
|
||||
fs_arr = [[90.0, 2450.0, 1500.0, 23]]
|
||||
else:
|
||||
interfer_name = 'off'
|
||||
fs_arr = [[90.0, 2450.0, 1500.0, 23]]
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, 100.0)
|
||||
var parts = currecnt_unit.split('-')
|
||||
var last_part = parts[-1]
|
||||
var angle: float = 0.0 # -> ПРД-Н1; 90.0 -> ПРД-Н2; 180.0 -> ПРД-Н3; 270.0 -> ПРД-Н4
|
||||
var sector_1: float = 4 # -> ПРД-Н1; 7 -> ПРД-Н2; 6 -> ПРД-Н3; 5 -> ПРД-Н4;
|
||||
var sector_2: float = 8 # -> ПРД-Н1; 11 -> ПРД-Н2; 10 -> ПРД-Н3; 9 -> ПРД-Н4;
|
||||
if last_part == '2н':
|
||||
angle = 90.0
|
||||
sector_1 = 7
|
||||
sector_2 = 11
|
||||
elif last_part == '3н':
|
||||
angle = 180.0
|
||||
sector_1 = 6
|
||||
sector_2 = 10
|
||||
elif last_part == '4н':
|
||||
angle = 270.0
|
||||
sector_1 = 5
|
||||
sector_2 = 9
|
||||
|
||||
var interfer_name: String = 'k1' if mode else 'off'
|
||||
var freq_1: float = 860.0 # ФС_1
|
||||
var freq_2: float = 1137.0 # ФС_2
|
||||
var width_1: float = 110.0 # ФС_1
|
||||
var width_2: float = 110.0 # ФС_2
|
||||
|
||||
var fs_arr: Array = [[angle, freq_1, width_1, sector_1], [angle, freq_2, width_2, sector_2]]
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, Constants.POWER_UM)
|
||||
|
||||
|
||||
func on_stop_control() -> void:
|
||||
print_debug('Отсановка контроля ПРД')
|
||||
|
||||
@@ -285,10 +285,10 @@ func _on_control_fs(mode: bool) -> void:
|
||||
var interfer_name: String = 'k1' if mode else 'off'
|
||||
var freq_1: float = 1227.0 # ФС_1
|
||||
var freq_2: float = 1575.0 # ФС_2
|
||||
var hz_1: float = 340.0 # ФС_1
|
||||
var hz_2: float = 510.0 # ФС_2
|
||||
var width_1: float = 110.0 # ФС_1
|
||||
var width_2: float = 110.0 # ФС_2
|
||||
|
||||
var fs_arr: Array = [[angle, freq_1, hz_1, sector_1], [angle, freq_2, hz_2, sector_2]]
|
||||
var fs_arr: Array = [[angle, freq_1, width_1, sector_1], [angle, freq_2, width_2, sector_2]]
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, Constants.POWER_UM)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user