рефактор
This commit is contained in:
@@ -64,13 +64,13 @@ class TestPRD extends Node:
|
||||
var state: int = STATE_MASHINE.INIT
|
||||
var current_fs: int
|
||||
var flag_timer_started: bool = false
|
||||
#var ug_online: bool
|
||||
var unit_prd: Object
|
||||
var module_prd: Object
|
||||
var power_amplify: Array
|
||||
var control_label: Label
|
||||
var control_timer: Timer = Timer.new()
|
||||
var ems_6666_timer: Timer = Timer.new()
|
||||
signal control_is_over(control_results)
|
||||
|
||||
|
||||
## Инициализация аргуметнов
|
||||
@@ -85,9 +85,9 @@ class TestPRD extends Node:
|
||||
block_ip_config = init_data['block_ip_prd_config']
|
||||
block_dkm_config = init_data['block_dkm_prd_config']
|
||||
block_fs_config = init_data['block_fs_prd_config']
|
||||
block_kasseta_y5_config = init_data['block_kasseta_y5_prd_config']
|
||||
control_results = init_data['control_results']
|
||||
current_fs = init_data['current_fs']
|
||||
block_kasseta_y5_config = init_data['block_kasseta_y5_prd_config']
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -171,6 +171,8 @@ class TestPRD extends Node:
|
||||
elif unit_prd.isa_ports[addr] & 0x07 == 4:
|
||||
state = STATE_MASHINE.UG_SET_RAY_5
|
||||
elif unit_prd.isa_ports[addr] & 0x07 == 5:
|
||||
if not current_fs == 1:
|
||||
control_results = check_dou_result(control_results, power_result, self_name, current_fs, constants)
|
||||
state = STATE_MASHINE.IN_EMS_STOP
|
||||
elif unit_prd.isa_ports[addr] & 0x07 == 6:
|
||||
state = STATE_MASHINE.UG_SET_RAY_0
|
||||
@@ -209,9 +211,9 @@ class TestPRD extends Node:
|
||||
state = STATE_MASHINE.FS_TURN_ON
|
||||
#state = STATE_MASHINE.STOP_CONTROL
|
||||
else:
|
||||
control_results = on_control_result(block_ip_config, block_dkm_config, block_fs_config, control_results, power_result, self_name, constants)
|
||||
control_results = on_control_result(block_ip_config, block_dkm_config, block_fs_config, control_results)
|
||||
emit_signal('control_is_over', control_results)
|
||||
state = STATE_MASHINE.AWAIT
|
||||
#print_debug(power_result)
|
||||
|
||||
|
||||
func _handle_fs_turn_on_state() -> void:
|
||||
@@ -312,7 +314,7 @@ class TestPRD extends Node:
|
||||
control_timer.one_shot = true
|
||||
control_timer.wait_time = 15.0
|
||||
control_timer.start()
|
||||
|
||||
|
||||
add_child(ems_6666_timer)
|
||||
ems_6666_timer.timeout.connect(_on_ems_6666_timer)
|
||||
ems_6666_timer.wait_time = 1.5
|
||||
@@ -341,18 +343,6 @@ class TestPRD extends Node:
|
||||
_: return -1
|
||||
|
||||
|
||||
func _get_dkm_key_for_current_fs() -> String:
|
||||
match current_fs:
|
||||
1: return 'dkm_1'
|
||||
2: return 'dkm_2'
|
||||
3: return 'dkm_3'
|
||||
4: return 'dkm_4'
|
||||
5: return 'dkm_5'
|
||||
6: return 'dkm_6'
|
||||
7: return 'dkm_7'
|
||||
_: return ''
|
||||
|
||||
|
||||
static func _get_ray_key(machine_state: int) -> String:
|
||||
match machine_state:
|
||||
STATE_MASHINE.UG_SET_RAY_0: return RAY_m5
|
||||
@@ -368,11 +358,10 @@ class TestPRD extends Node:
|
||||
state = STATE_MASHINE.FS_TURN_OFF
|
||||
|
||||
|
||||
static func on_control_result(ip_config: Dictionary, dkm_config: Dictionary, fs_config: Dictionary, ctrl_results: Dictionary, power_config: Dictionary, pribor: String, cnstnt: Dictionary) -> Dictionary:
|
||||
static func on_control_result(ip_config: Dictionary, dkm_config: Dictionary, fs_config: Dictionary, ctrl_results: Dictionary) -> Dictionary:
|
||||
var all_blocks_ip_ok = true
|
||||
var all_blocks_dkm_ok = true
|
||||
var all_blocks_fs_ok = true
|
||||
var all_dou_ok = true
|
||||
|
||||
for block in ip_config:
|
||||
if not ip_config[block][1]:
|
||||
@@ -388,31 +377,6 @@ class TestPRD extends Node:
|
||||
if not fs_config[block]:
|
||||
all_blocks_fs_ok = false
|
||||
ctrl_results['fs'] = all_blocks_fs_ok
|
||||
|
||||
var arr_liters = [2, 3]
|
||||
if pribor == '1к' or pribor == '2к' or pribor == '3к' or pribor == '4к':
|
||||
arr_liters = [1, 6, 7]
|
||||
elif pribor == '1в' or pribor == '2в' or pribor == '3в' or pribor == '4в':
|
||||
arr_liters = [4, 5]
|
||||
|
||||
for i_liter in arr_liters:
|
||||
var amp_array = power_config[i_liter]
|
||||
if amp_array[RAY_m5].size() == 0 or \
|
||||
amp_array[RAY_5].size() == 0 or \
|
||||
amp_array[RAY_15].size() == 0 or \
|
||||
amp_array[RAY_25].size() == 0 or \
|
||||
amp_array[RAY_35].size() == 0 or \
|
||||
amp_array[RAY_45].size() == 0:
|
||||
all_dou_ok = false
|
||||
|
||||
for i_powers in amp_array.values():
|
||||
for k_pow in i_powers.size():
|
||||
if i_powers[k_pow] < cnstnt.POWER_THRESHOLD:
|
||||
print_debug(i_powers[k_pow])
|
||||
all_dou_ok = false
|
||||
|
||||
print([i_liter, amp_array])
|
||||
ctrl_results['dou'] = all_dou_ok
|
||||
return ctrl_results
|
||||
|
||||
|
||||
@@ -655,3 +619,33 @@ class TestPRD extends Node:
|
||||
max_power_values[i] = power_data[i]
|
||||
|
||||
return max_power_values.duplicate()
|
||||
|
||||
|
||||
static func check_dou_result(control_dic: Dictionary, power_dic: Dictionary, pribor: String, cur_prd: int, cnst: Dictionary) -> Dictionary:
|
||||
var all_dou_ok = true
|
||||
var dou: String = 'dou_2' if cur_prd == 2 else 'dou_3'
|
||||
if pribor == '1к' or pribor == '2к' or pribor == '3к' or pribor == '4к':
|
||||
dou = 'dou_6' if cur_prd == 6 else 'dou_7'
|
||||
elif pribor == '1в' or pribor == '2в' or pribor == '3в' or pribor == '4в':
|
||||
dou = 'dou_4' if cur_prd == 5 else 'dou_5'
|
||||
|
||||
var ray_dic: Dictionary = power_dic[cur_prd]
|
||||
if ray_dic[RAY_m5].size() == 0 or \
|
||||
ray_dic[RAY_5 ].size() == 0 or \
|
||||
ray_dic[RAY_15].size() == 0 or \
|
||||
ray_dic[RAY_25].size() == 0 or \
|
||||
ray_dic[RAY_35].size() == 0 or \
|
||||
ray_dic[RAY_45].size() == 0:
|
||||
control_dic[dou] = false
|
||||
return control_dic
|
||||
|
||||
for i_pow_arr in ray_dic.values():
|
||||
for i_pow in i_pow_arr.size():
|
||||
if i_pow_arr[i_pow] < cnst.POWER_THRESHOLD:
|
||||
print_debug('dou_%s: false' % cur_prd)
|
||||
all_dou_ok = false
|
||||
|
||||
print([cur_prd, ray_dic])
|
||||
control_dic[dou] = all_dou_ok
|
||||
|
||||
return control_dic
|
||||
|
||||
Reference in New Issue
Block a user