@@ -241,13 +241,13 @@ class TestPRD extends Node:
}
var power_for_litera : Dictionary = {
1 : { RAY_m5 : [ 560 , 400 , 330 , 560 , 400 , 330 ] , RAY_5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_15 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_25 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_35 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_45 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , } ,
2 : { RAY_m5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_15 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_25 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_35 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_45 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , } ,
3 : { RAY_m5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_15 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_25 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_35 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_45 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , } ,
4 : { RAY_m5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_15 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_25 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_35 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_45 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , } ,
5 : { RAY_m5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_15 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_25 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_35 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_45 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , } ,
6 : { RAY_m5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_15 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_25 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_35 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_45 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , } ,
7 : { RAY_m5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_5 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_15 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_25 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_35 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , RAY_45 : [ 560 , 400 , 330 , 560 , 400 , 330 , ] , } ,
1 : { RAY_m5 : [ ] , RAY_5 : [ ] , RAY_15 : [ ] , RAY_25 : [ ] , RAY_35 : [ ] , RAY_45 : [ ] , } ,
2 : { RAY_m5 : [ ] , RAY_5 : [ ] , RAY_15 : [ ] , RAY_25 : [ ] , RAY_35 : [ ] , RAY_45 : [ ] , } ,
3 : { RAY_m5 : [ ] , RAY_5 : [ ] , RAY_15 : [ ] , RAY_25 : [ ] , RAY_35 : [ ] , RAY_45 : [ ] , } ,
4 : { RAY_m5 : [ ] , RAY_5 : [ ] , RAY_15 : [ ] , RAY_25 : [ ] , RAY_35 : [ ] , RAY_45 : [ ] , } ,
5 : { RAY_m5 : [ ] , RAY_5 : [ ] , RAY_15 : [ ] , RAY_25 : [ ] , RAY_35 : [ ] , RAY_45 : [ ] , } ,
6 : { RAY_m5 : [ ] , RAY_5 : [ ] , RAY_15 : [ ] , RAY_25 : [ ] , RAY_35 : [ ] , RAY_45 : [ ] , } ,
7 : { RAY_m5 : [ ] , RAY_5 : [ ] , RAY_15 : [ ] , RAY_25 : [ ] , RAY_35 : [ ] , RAY_45 : [ ] , } ,
}
var constants : Dictionary
var pribor_config : Dictionary
@@ -263,7 +263,6 @@ class TestPRD extends Node:
var flag_si_fs_input : bool = false
var flag_si_fs_output : bool = false
var unit_prd : Object
var module_prd : Object
var power_amplify : Array
var power_result : Dictionary
#var control_label: Label
@@ -274,6 +273,7 @@ class TestPRD extends Node:
signal update_progress ( progress_value : float )
signal update_max_value_progress ( max_progress_value : int )
var cc : int = 0
var cmd_array : Array
var progress_value : float :
set ( v ) :
@@ -285,13 +285,14 @@ class TestPRD extends Node:
var ecms : Dictionary ## Словарь помеховых воздействий
## Инициализация аргуметнов
func _init ( init_data : Dictionary ) - > void :
func _init ( init_data : Dictionary , cmd_array_from_prd : Array ) - > void :
unit_prd = init_data [ ' unit_prd ' ]
cmd_array = cmd_array_from_prd
func _ready ( ) - > void :
initialize_connections ( )
_determine_self_name ( )
initialize_connections ( )
setup_timer ( )
@@ -301,7 +302,7 @@ class TestPRD extends Node:
## Пакеты от ЯУ-07
func on_data_received ( unit_pribor : Object ) - > void :
if not is_inside_tree ( ) :
if machine_timer . is_stopped ( ) :
return
var status : PackedByteArray = unit_pribor . status
@@ -369,7 +370,7 @@ class TestPRD extends Node:
state = STATE_MACHINE . READ_ISA
STATE_MACHINE . READ_ISA :
if ( unit_prd . cmd_state == unit_prd . CmdState . DONE ) or ( unit_prd . cmd_state == unit_prd . CmdState . FAIL ) :
_handle_read_isa ( module_prd , unit_prd, [ constants . ADDR_UG_LITERA_1 , constants . ADDR_UG_LITERA_2 , constants . ADDR_UG_LITERA_3 ] )
_handle_read_isa ( unit_prd , [ constants . ADDR_UG_LITERA_1 , constants . ADDR_UG_LITERA_2 , constants . ADDR_UG_LITERA_3 ] , cmd_array )
flag_write_isa = false
state = STATE_MACHINE . UG_SET_RAY
STATE_MACHINE . UG_SET_RAY :
@@ -483,15 +484,12 @@ class TestPRD extends Node:
elif self_name == ' 1н ' or self_name == ' 2н ' or self_name == ' 3н ' or self_name == ' 4н ' :
dic_att [ ' ATT_UM_1 ' ] = constants . ATT_UM_2
dic_att [ ' ATT_UM_2 ' ] = constants . ATT_UM_3
##var log_text = dic_att.ATT_UM_3 if current_litera == 1 else dic_att.ATT_UM_1 if current_litera in [2, 4, 6] else dic_att.ATT_UM_2
## 'Выполняется настройка угла (%s) и атт (0x0%s)' % [dic_att.RAY_DOU_NUM, log_text]
flag_write_isa = on_ug_setting ( module_prd , unit_prd , dic_att )
flag_write_isa = on_ug_setting ( unit_prd , dic_att , cmd_array )
## Таймер отправки команды в ЭМС-Г для модуляции
func _on_ems_6666_timer ( ) - > void :
module_prd . cmd_array. append ( [ unit_prd . CmdCode . WRITE_ISA , [ constants . BASE_ADDR_EMS_G , 6666 ] ] )
cmd_array . append ( [ unit_prd . CmdCode . WRITE_ISA , [ constants . BASE_ADDR_EMS_G , 6666 ] ] )
## Таймер вызова машины состояний
@@ -690,10 +688,10 @@ class TestPRD extends Node:
## Установка угла и аттенюации для У М
static func on_ug_setting ( prd_module : Object , prd_ unit : Object , settings_ug : Dictionary ) - > bool :
static func on_ug_setting ( prd_unit : Object , settings_ug : Dictionary , prd_cmd_array : Array ) - > bool :
var result_1 = ( ( settings_ug . ATT_UM_1 & 0x07 ) << 3 ) | ( settings_ug . RAY_DOU_NUM & 0x07 )
var result_2 = ( ( settings_ug . ATT_UM_2 & 0x07 ) << 3 ) | ( settings_ug . RAY_DOU_NUM & 0x07 )
prd_module . cmd_array . append ( [ prd_unit . CmdCode . WRITE_ISA , [ settings_ug . ADDR_UG_LITERA_1 , result_1 ,
prd_cmd_array . append ( [ prd_unit . CmdCode . WRITE_ISA , [ settings_ug . ADDR_UG_LITERA_1 , result_1 ,
settings_ug . ADDR_UG_LITERA_2 , result_2 ,
settings_ug . ADDR_UG_LITERA_3 , settings_ug . ATT_UM_3 ,
]
@@ -701,8 +699,8 @@ class TestPRD extends Node:
return true
static func _handle_read_isa ( prd_module : Object , prd_ unit : Object , read_isa_ports : Array ) - > void :
prd_module . cmd_array . append ( [ prd_unit . CmdCode . READ_ISA , read_isa_ports ] )
static func _handle_read_isa ( prd_unit : Object , read_isa_ports : Array , prd_cmd_array ) - > void :
prd_cmd_array . append ( [ prd_unit . CmdCode . READ_ISA , read_isa_ports ] )
## Управаление модулем фс (включить/отключить излучение)
@@ -771,14 +769,14 @@ class TestPRD extends Node:
for i_temp in 6 :
temperature_ukp_1 = status_prd . decode_u16 ( Constants . TEMPERATURE_UKP_1 + 2 * i_temp )
tmp_1 = round ( Constants . CONST_MIN_TEMP + ( Constants . MAXIMUM_CODE_ADC - temperature_ukp_1 ) * TEMP + 3 )
power_amplifier[ i_temp] . value1 = tmp_1
# power_amplifier[ i_temp].value1 = tmp_1
if tmp_1 > 70 :
all_temp_is_ok = false
if power_amplifier . size ( ) > 12 : # Темпуратура от У М литеры 1
temperature_ukp_1 = status_prd . decode_u16 ( Constants . TEMPERATURE_UKP_1 + 2 * 7 )
tmp_1 = round ( Constants . CONST_MIN_TEMP + ( Constants . MAXIMUM_CODE_ADC - temperature_ukp_1 ) * TEMP + 3 )
power_amplifier[ 6 ] . value1 = tmp_1
# power_amplifier[6].value1 = tmp_1
if tmp_1 > 70 :
all_temp_is_ok = false
@@ -787,11 +785,11 @@ class TestPRD extends Node:
var temperature_ukp_2 : int = status_prd . decode_u16 ( Constants . TEMPERATURE_UKP_2 + 2 * i_temp )
var tmp_2 : int = round ( Constants . CONST_MIN_TEMP + ( Constants . MAXIMUM_CODE_ADC - temperature_ukp_2 ) * TEMP + 3 )
if power_amplifier . size ( ) > 12 :
power_amplifier[ i_temp+ 7 ] . value1 = tmp_2
# power_amplifier[ i_temp+7].value1 = tmp_2
if tmp_2 > 70 :
all_temp_is_ok = false
else :
power_amplifier[ i_temp+ 6 ] . value1 = tmp_2
# power_amplifier[ i_temp+6].value1 = tmp_2
if tmp_2 > 70 :
all_temp_is_ok = false
return all_temp_is_ok