После отладки, добавление индикации состояний эмс ячеек
This commit is contained in:
@@ -18,9 +18,23 @@ func _ready() -> void:
|
|||||||
for temp in power_amplifier:
|
for temp in power_amplifier:
|
||||||
temp.value1 = -70
|
temp.value1 = -70
|
||||||
unit_prd_k.connect('control_is_over', Callable(self, 'on_press_device'))
|
unit_prd_k.connect('control_is_over', Callable(self, 'on_press_device'))
|
||||||
|
#unit_prd_k.power_amplify = power_amplifier
|
||||||
on_press_device()
|
on_press_device()
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
set_frame($input_0, unit_prd_k.ems_input_1)
|
||||||
|
set_frame($input_1, unit_prd_k.ems_input_2)
|
||||||
|
set_frame($input_2, unit_prd_k.ems_input_lit_1)
|
||||||
|
set_frame($output_0, unit_prd_k.ems_output_1)
|
||||||
|
set_frame($output_1, unit_prd_k.ems_output_2)
|
||||||
|
set_frame($output_2, unit_prd_k.ems_output_lit_1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func set_frame(node_frame: Node, val: int): node_frame.set_frame(val)
|
||||||
|
|
||||||
|
|
||||||
func start_control() -> void:
|
func start_control() -> void:
|
||||||
set_default_state()
|
set_default_state()
|
||||||
find_labels(self)
|
find_labels(self)
|
||||||
@@ -139,7 +153,7 @@ func on_control_result(for_result_dic: Dictionary) -> void:
|
|||||||
for_result_dic.dou_7.state = STATE_VAL.GOOD if result_dic.dou_7 else STATE_VAL.ERROR
|
for_result_dic.dou_7.state = STATE_VAL.GOOD if result_dic.dou_7 else STATE_VAL.ERROR
|
||||||
else:
|
else:
|
||||||
result_dic.fs_7 = 0
|
result_dic.fs_7 = 0
|
||||||
|
|
||||||
power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
|
power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
|
||||||
|
|
||||||
var result: bool = true
|
var result: bool = true
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://m5s87q7m66lj"]
|
[gd_scene load_steps=15 format=3 uid="uid://m5s87q7m66lj"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="1_8dmgr"]
|
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="1_8dmgr"]
|
||||||
[ext_resource type="Script" uid="uid://cwvikiygf8b1m" path="res://scenes/pribor-prd-k/pribor-prd-k.gd" id="1_tpdyp"]
|
[ext_resource type="Script" uid="uid://cwvikiygf8b1m" path="res://scenes/pribor-prd-k/pribor-prd-k.gd" id="1_tpdyp"]
|
||||||
@@ -9,6 +9,30 @@
|
|||||||
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="7_xpa2n"]
|
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="7_xpa2n"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dq31j24gv5vi4" path="res://scenes/контроль/кассета-п-2.tscn" id="8_6fdp7"]
|
[ext_resource type="PackedScene" uid="uid://dq31j24gv5vi4" path="res://scenes/контроль/кассета-п-2.tscn" id="8_6fdp7"]
|
||||||
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="8_la5yt"]
|
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="8_la5yt"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="10_c7lv8"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="11_wd1vi"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="12_bjebg"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dvl3sq036gn75" path="res://data/эмс-бланк-замыкание.png" id="13_kc77u"]
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_di0aa"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("10_c7lv8")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("11_wd1vi")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("12_bjebg")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("13_kc77u")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
[node name="pribor_prd_k" type="Control"]
|
[node name="pribor_prd_k" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
@@ -322,3 +346,42 @@ offset_bottom = 1003.0
|
|||||||
text = "Прибор ПРД- неисправен"
|
text = "Прибор ПРД- неисправен"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
||||||
|
[node name="input_0" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(234, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_di0aa")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="input_0"]
|
||||||
|
offset_left = -38.0
|
||||||
|
offset_top = 16.0
|
||||||
|
offset_right = 30.0
|
||||||
|
offset_bottom = 35.0
|
||||||
|
text = "Вход ЕМС"
|
||||||
|
|
||||||
|
[node name="input_1" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(277, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_di0aa")
|
||||||
|
|
||||||
|
[node name="input_2" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(188, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_di0aa")
|
||||||
|
|
||||||
|
[node name="output_0" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(421, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_di0aa")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="output_0"]
|
||||||
|
offset_left = -40.0
|
||||||
|
offset_top = 14.0
|
||||||
|
offset_right = 36.0
|
||||||
|
offset_bottom = 33.0
|
||||||
|
text = "Модуляция"
|
||||||
|
metadata/_edit_use_anchors_ = true
|
||||||
|
|
||||||
|
[node name="output_1" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(462, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_di0aa")
|
||||||
|
|
||||||
|
[node name="output_2" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(383, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_di0aa")
|
||||||
|
|||||||
@@ -18,9 +18,20 @@ func _ready() -> void:
|
|||||||
for temp in power_amplifier:
|
for temp in power_amplifier:
|
||||||
temp.value1 = -70
|
temp.value1 = -70
|
||||||
unit_prd_n.connect('control_is_over', Callable(self, 'on_press_device'))
|
unit_prd_n.connect('control_is_over', Callable(self, 'on_press_device'))
|
||||||
|
#unit_prd_n.power_amplify = power_amplifier
|
||||||
on_press_device()
|
on_press_device()
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
set_frame($input_0, unit_prd_n.ems_input_1)
|
||||||
|
set_frame($input_1, unit_prd_n.ems_input_2)
|
||||||
|
set_frame($output_0, unit_prd_n.ems_output_1)
|
||||||
|
set_frame($output_1, unit_prd_n.ems_output_2)
|
||||||
|
|
||||||
|
|
||||||
|
func set_frame(node_frame: Node, val: int): node_frame.set_frame(val)
|
||||||
|
|
||||||
|
|
||||||
func start_control() -> void:
|
func start_control() -> void:
|
||||||
set_default_state()
|
set_default_state()
|
||||||
find_labels(self)
|
find_labels(self)
|
||||||
@@ -129,7 +140,7 @@ func on_control_result(for_result_dic: Dictionary) -> void:
|
|||||||
for_result_dic.dou_3.state = STATE_VAL.GOOD if result_dic.dou_3 else STATE_VAL.ERROR
|
for_result_dic.dou_3.state = STATE_VAL.GOOD if result_dic.dou_3 else STATE_VAL.ERROR
|
||||||
else:
|
else:
|
||||||
result_dic.fs_3 = 0
|
result_dic.fs_3 = 0
|
||||||
|
|
||||||
power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
|
power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
|
||||||
|
|
||||||
var result: bool = true
|
var result: bool = true
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=8 format=3 uid="uid://dnuexoef2nnv5"]
|
[gd_scene load_steps=13 format=3 uid="uid://dnuexoef2nnv5"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cto2r4ipew65m" path="res://scenes/pribor-prd-n/pribor-prd-n.gd" id="1_bnnv3"]
|
[ext_resource type="Script" uid="uid://cto2r4ipew65m" path="res://scenes/pribor-prd-n/pribor-prd-n.gd" id="1_bnnv3"]
|
||||||
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_is25t"]
|
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_is25t"]
|
||||||
@@ -7,6 +7,30 @@
|
|||||||
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="6_b5wvk"]
|
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="6_b5wvk"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bcyxqni7gxvtq" path="res://scenes/контроль/блок-в.tscn" id="7_bnnv3"]
|
[ext_resource type="PackedScene" uid="uid://bcyxqni7gxvtq" path="res://scenes/контроль/блок-в.tscn" id="7_bnnv3"]
|
||||||
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="7_eoqf2"]
|
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="7_eoqf2"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="8_bnnv3"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="9_is25t"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="10_meukj"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dvl3sq036gn75" path="res://data/эмс-бланк-замыкание.png" id="11_xkifg"]
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_1wf07"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("8_bnnv3")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("9_is25t")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("10_meukj")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("11_xkifg")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
[node name="pribor_prd_n" type="Control"]
|
[node name="pribor_prd_n" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
@@ -350,3 +374,33 @@ offset_right = 649.0
|
|||||||
offset_bottom = 1003.0
|
offset_bottom = 1003.0
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
||||||
|
[node name="input_0" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(234, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_1wf07")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="input_0"]
|
||||||
|
offset_left = -15.0
|
||||||
|
offset_top = 15.0
|
||||||
|
offset_right = 53.0
|
||||||
|
offset_bottom = 34.0
|
||||||
|
text = "Вход ЕМС"
|
||||||
|
|
||||||
|
[node name="input_1" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(277, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_1wf07")
|
||||||
|
|
||||||
|
[node name="output_0" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(381, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_1wf07")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="output_0"]
|
||||||
|
offset_left = -19.0
|
||||||
|
offset_top = 14.0
|
||||||
|
offset_right = 57.0
|
||||||
|
offset_bottom = 33.0
|
||||||
|
text = "Модуляция"
|
||||||
|
|
||||||
|
[node name="output_1" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(422, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_1wf07")
|
||||||
|
|||||||
@@ -21,6 +21,18 @@ func _ready() -> void:
|
|||||||
on_press_device()
|
on_press_device()
|
||||||
|
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
if Engine.is_editor_hint():
|
||||||
|
return
|
||||||
|
set_frame($input_0, unit_prd_v.ems_input_1)
|
||||||
|
set_frame($input_1, unit_prd_v.ems_input_2)
|
||||||
|
set_frame($output_0, unit_prd_v.ems_output_1)
|
||||||
|
set_frame($output_1, unit_prd_v.ems_output_2)
|
||||||
|
|
||||||
|
|
||||||
|
func set_frame(node_frame: Node, val: int): node_frame.set_frame(val)
|
||||||
|
|
||||||
|
|
||||||
func start_control() -> void:
|
func start_control() -> void:
|
||||||
set_default_state()
|
set_default_state()
|
||||||
find_labels(self)
|
find_labels(self)
|
||||||
@@ -64,6 +76,53 @@ static func power_fill(pow_dic: Dictionary, fs_result: Dictionary, power_amplifi
|
|||||||
i_powapm.state = status
|
i_powapm.state = status
|
||||||
|
|
||||||
|
|
||||||
|
## Проверка температур УМ от УКП
|
||||||
|
static func check_temperature_um(status_prd: PackedByteArray, power_amplifier: Array) -> bool:
|
||||||
|
if power_amplifier.size() < 1: return false
|
||||||
|
const Constants: Dictionary = {
|
||||||
|
'CONST_MIN_TEMP': -25,
|
||||||
|
'MAXIMUM_CODE_ADC': 3796,
|
||||||
|
'MINIMUM_CODE_AD': 2660,
|
||||||
|
'TEMPERATURE_UKP_1': 47,
|
||||||
|
'TEMPERATURE_UKP_2': 79,
|
||||||
|
}
|
||||||
|
const TEMP: float = 115.0 / (Constants.MAXIMUM_CODE_ADC - Constants.MINIMUM_CODE_AD)
|
||||||
|
var ukp1_online: int = (status_prd[0] >> 2) & 1
|
||||||
|
var ukp2_online = (status_prd[0] >> 3) & 1
|
||||||
|
var all_temp_is_ok: bool = true
|
||||||
|
|
||||||
|
if ukp1_online:
|
||||||
|
var tmp_1: int
|
||||||
|
var temperature_ukp_1: int
|
||||||
|
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
|
||||||
|
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
|
||||||
|
if tmp_1>70:
|
||||||
|
all_temp_is_ok = false
|
||||||
|
|
||||||
|
if ukp2_online:
|
||||||
|
for i_temp in 6:
|
||||||
|
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
|
||||||
|
if tmp_2>70:
|
||||||
|
all_temp_is_ok = false
|
||||||
|
else:
|
||||||
|
power_amplifier[i_temp+6].value1 = tmp_2
|
||||||
|
if tmp_2>70:
|
||||||
|
all_temp_is_ok = false
|
||||||
|
return all_temp_is_ok
|
||||||
|
|
||||||
|
|
||||||
func on_press_device() -> void:
|
func on_press_device() -> void:
|
||||||
var nodes_y5: Array = get_tree().get_nodes_in_group('y-5')
|
var nodes_y5: Array = get_tree().get_nodes_in_group('y-5')
|
||||||
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
|
var node_ip_power_arr: Array = get_tree().get_nodes_in_group('power_supply')
|
||||||
@@ -128,7 +187,7 @@ static func on_control_result(for_result_dic: Dictionary) -> void:
|
|||||||
for_result_dic.dou_4.state = STATE_VAL.GOOD if result_dic.dou_4 else STATE_VAL.ERROR
|
for_result_dic.dou_4.state = STATE_VAL.GOOD if result_dic.dou_4 else STATE_VAL.ERROR
|
||||||
else:
|
else:
|
||||||
result_dic.fs_4 = 0
|
result_dic.fs_4 = 0
|
||||||
|
|
||||||
power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
|
power_fill(for_result_dic.power_dic, for_result_dic.result_dic, for_result_dic.power_amplifier, for_result_dic.POWER_THRESHOLD)
|
||||||
|
|
||||||
var result: bool = true
|
var result: bool = true
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=9 format=3 uid="uid://cvskpe1ti3p45"]
|
[gd_scene load_steps=14 format=3 uid="uid://cvskpe1ti3p45"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://cvuosuvjaci1h" path="res://scenes/pribor-prd-v/pribor-prd-v.gd" id="1_c20s6"]
|
[ext_resource type="Script" uid="uid://cvuosuvjaci1h" path="res://scenes/pribor-prd-v/pribor-prd-v.gd" id="1_c20s6"]
|
||||||
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_xpo4b"]
|
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_xpo4b"]
|
||||||
@@ -8,6 +8,30 @@
|
|||||||
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="6_os4mt"]
|
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="6_os4mt"]
|
||||||
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="7_38u2b"]
|
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="7_38u2b"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bcyxqni7gxvtq" path="res://scenes/контроль/блок-в.tscn" id="8_4e87c"]
|
[ext_resource type="PackedScene" uid="uid://bcyxqni7gxvtq" path="res://scenes/контроль/блок-в.tscn" id="8_4e87c"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="9_4e87c"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="10_g8fvp"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="11_gsby4"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dvl3sq036gn75" path="res://data/эмс-бланк-замыкание.png" id="12_vxfkm"]
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_s5gcy"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("9_4e87c")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("10_g8fvp")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("11_gsby4")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": ExtResource("12_vxfkm")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}]
|
||||||
|
|
||||||
[node name="pribor_prd_v" type="Control"]
|
[node name="pribor_prd_v" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
@@ -299,3 +323,33 @@ offset_right = 649.0
|
|||||||
offset_bottom = 1003.0
|
offset_bottom = 1003.0
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
metadata/_edit_lock_ = true
|
metadata/_edit_lock_ = true
|
||||||
|
|
||||||
|
[node name="input_0" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(234, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_s5gcy")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="input_0"]
|
||||||
|
offset_left = -15.0
|
||||||
|
offset_top = 15.0
|
||||||
|
offset_right = 53.0
|
||||||
|
offset_bottom = 34.0
|
||||||
|
text = "Вход ЕМС"
|
||||||
|
|
||||||
|
[node name="input_1" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(277, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_s5gcy")
|
||||||
|
|
||||||
|
[node name="output_0" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(381, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_s5gcy")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="output_0"]
|
||||||
|
offset_left = -19.0
|
||||||
|
offset_top = 14.0
|
||||||
|
offset_right = 57.0
|
||||||
|
offset_bottom = 33.0
|
||||||
|
text = "Модуляция"
|
||||||
|
|
||||||
|
[node name="output_1" type="AnimatedSprite2D" parent="."]
|
||||||
|
position = Vector2(422, 177)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_s5gcy")
|
||||||
|
|||||||
@@ -368,12 +368,12 @@ func _process(delta) -> void:
|
|||||||
_queue.erase(tile.i)
|
_queue.erase(tile.i)
|
||||||
req.request_completed.connect(_response.bind(req, tile))
|
req.request_completed.connect(_response.bind(req, tile))
|
||||||
|
|
||||||
#if req.request(tile.url) != OK:
|
if req.request(tile.url) != OK:
|
||||||
#tile.t = now
|
tile.t = now
|
||||||
#remove_child(req)
|
remove_child(req)
|
||||||
#req.queue_free()
|
req.queue_free()
|
||||||
#_req_count -= 1
|
_req_count -= 1
|
||||||
# push_error('запрос \"%s\" не отправлен' % tile.url) TODO: For Deugs
|
push_error('запрос \"%s\" не отправлен' % tile.url) #TODO: For Deugs
|
||||||
if _queue.is_empty():
|
if _queue.is_empty():
|
||||||
emit_signal('load_completed')
|
emit_signal('load_completed')
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ func on_settings_changed():
|
|||||||
color_closed = ProjectSettings.get_setting('application/interfer/closed_sectors', Color(0.0, 0.0, 0.0, 1.0))
|
color_closed = ProjectSettings.get_setting('application/interfer/closed_sectors', Color(0.0, 0.0, 0.0, 1.0))
|
||||||
color_emit_sel = color_select
|
color_emit_sel = color_select
|
||||||
color_closed_emit = color_closed
|
color_closed_emit = color_closed
|
||||||
|
|
||||||
color_select *= Color(1.0, 1.0, 1.0, 0.0)
|
color_select *= Color(1.0, 1.0, 1.0, 0.0)
|
||||||
color_ecm *= Color(1.0, 1.0, 1.0, 0.0)
|
color_ecm *= Color(1.0, 1.0, 1.0, 0.0)
|
||||||
color_emit_sel *= Color(1.0, 1.0, 1.0, 0.2)
|
color_emit_sel *= Color(1.0, 1.0, 1.0, 0.2)
|
||||||
@@ -529,7 +529,7 @@ func update_fs_colors():
|
|||||||
$btn_activate.self_modulate = Color.WHITE
|
$btn_activate.self_modulate = Color.WHITE
|
||||||
else:
|
else:
|
||||||
$btn_activate.self_modulate = Color.WHITE
|
$btn_activate.self_modulate = Color.WHITE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func unsel_fs_all(need_btns_off: bool):
|
func unsel_fs_all(need_btns_off: bool):
|
||||||
@@ -565,7 +565,7 @@ func set_btns_disabled(value: bool, btn):
|
|||||||
btn.set_disabled(value)
|
btn.set_disabled(value)
|
||||||
|
|
||||||
|
|
||||||
func on_interfer_prinuditelno (prenuditelno_sectors, btns):
|
func on_interfer_prinuditelno(prenuditelno_sectors, btns):
|
||||||
for key in prenuditelno_sectors:
|
for key in prenuditelno_sectors:
|
||||||
var sectors = []
|
var sectors = []
|
||||||
for sector in prenuditelno_sectors[key]:
|
for sector in prenuditelno_sectors[key]:
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit_instance) -> v
|
|||||||
thr.nmfs = nmfs
|
thr.nmfs = nmfs
|
||||||
if (thr.proto in gos_protocols) and thr.fflags.proto and (not gos_flag):
|
if (thr.proto in gos_protocols) and thr.fflags.proto and (not gos_flag):
|
||||||
gos_nmfs.append(nmfs)
|
gos_nmfs.append(nmfs)
|
||||||
|
|
||||||
thr.emit_state = 0
|
thr.emit_state = 0
|
||||||
for ecm in ecms.values():
|
for ecm in ecms.values():
|
||||||
if thr.nmfs == ecm.nmfs:
|
if thr.nmfs == ecm.nmfs:
|
||||||
@@ -278,7 +278,7 @@ func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit_instance) -> v
|
|||||||
ecm_active = false
|
ecm_active = false
|
||||||
if ecm_active and (prd.fs_caps_id[ecm.nmfs] in fs_closed):
|
if ecm_active and (prd.fs_caps_id[ecm.nmfs] in fs_closed):
|
||||||
interfer_off(ecm, unit_instance)
|
interfer_off(ecm, unit_instance)
|
||||||
|
|
||||||
var th_id = thr.id
|
var th_id = thr.id
|
||||||
for ecm_i in thrs.keys():
|
for ecm_i in thrs.keys():
|
||||||
if thrs[ecm_i] == th_id:
|
if thrs[ecm_i] == th_id:
|
||||||
@@ -675,4 +675,3 @@ func set_th_emit(th: threats.Threat, ecm: Interfer):
|
|||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
th.emit_state = 1
|
th.emit_state = 1
|
||||||
|
|
||||||
|
|||||||
@@ -182,7 +182,7 @@ class TestPRD extends Node:
|
|||||||
'ip5_25': [7, false],
|
'ip5_25': [7, false],
|
||||||
}
|
}
|
||||||
####
|
####
|
||||||
|
|
||||||
const RAY_m5:= 'RAY_m5'
|
const RAY_m5:= 'RAY_m5'
|
||||||
const RAY_5:= 'RAY_5'
|
const RAY_5:= 'RAY_5'
|
||||||
const RAY_15:= 'RAY_15'
|
const RAY_15:= 'RAY_15'
|
||||||
@@ -263,17 +263,16 @@ class TestPRD extends Node:
|
|||||||
var flag_si_fs_input: bool = false
|
var flag_si_fs_input: bool = false
|
||||||
var flag_si_fs_output: bool = false
|
var flag_si_fs_output: bool = false
|
||||||
var unit_prd: Object
|
var unit_prd: Object
|
||||||
var power_amplify: Array
|
|
||||||
var power_result: Dictionary
|
var power_result: Dictionary
|
||||||
#var control_label: Label
|
|
||||||
var control_timer: Timer = Timer.new()
|
var control_timer: Timer = Timer.new()
|
||||||
var ems_6666_timer: Timer = Timer.new()
|
var ems_6666_timer: Timer = Timer.new()
|
||||||
var machine_timer: Timer = Timer.new()
|
var machine_timer: Timer = Timer.new()
|
||||||
|
var cc: int = 0
|
||||||
|
var cmd_array: Array
|
||||||
|
|
||||||
signal control_is_over()
|
signal control_is_over()
|
||||||
signal update_progress(progress_value: float)
|
signal update_progress(progress_value: float)
|
||||||
signal update_max_value_progress(max_progress_value: int)
|
signal update_max_value_progress(max_progress_value: int)
|
||||||
var cc: int = 0
|
|
||||||
var cmd_array: Array
|
|
||||||
|
|
||||||
var progress_value: float:
|
var progress_value: float:
|
||||||
set(v):
|
set(v):
|
||||||
@@ -302,14 +301,14 @@ class TestPRD extends Node:
|
|||||||
|
|
||||||
## Пакеты от ЯУ-07
|
## Пакеты от ЯУ-07
|
||||||
func on_data_received(unit_pribor: Object) -> void:
|
func on_data_received(unit_pribor: Object) -> void:
|
||||||
|
var status: PackedByteArray = unit_pribor.status
|
||||||
|
socket_status_ems_g(status)
|
||||||
if machine_timer.is_stopped():
|
if machine_timer.is_stopped():
|
||||||
return
|
return
|
||||||
|
|
||||||
var status: PackedByteArray = unit_pribor.status
|
|
||||||
block_kasseta_y5_config = check_block_kasseta_y5(status, block_kasseta_y5_config)
|
block_kasseta_y5_config = check_block_kasseta_y5(status, block_kasseta_y5_config)
|
||||||
block_ip_config = check_block_ip(status, block_ip_config)
|
block_ip_config = check_block_ip(status, block_ip_config)
|
||||||
control_results.temperature = check_temperature_um(status, power_amplify)
|
|
||||||
socket_status_ems_g(status)
|
|
||||||
_process_dkm_status(status)
|
_process_dkm_status(status)
|
||||||
if current_litera != 0:
|
if current_litera != 0:
|
||||||
var tek_litera: Dictionary = power_for_litera[current_litera]
|
var tek_litera: Dictionary = power_for_litera[current_litera]
|
||||||
@@ -318,8 +317,29 @@ class TestPRD extends Node:
|
|||||||
tek_litera[_get_ray_key(state)] = power_um_ukp(status, current_litera, tek_litera[_get_ray_key(state)])
|
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
|
power_for_litera[current_litera] = tek_litera
|
||||||
|
|
||||||
|
var ems_input_1: int
|
||||||
|
var ems_input_2: int
|
||||||
|
var ems_input_lit_1: int
|
||||||
|
var ems_output_1: int
|
||||||
|
var ems_output_2: int
|
||||||
|
var ems_output_lit_1: int
|
||||||
|
|
||||||
func socket_status_ems_g(packet_form_yau_07: PackedByteArray) -> void:
|
func socket_status_ems_g(packet_form_yau_07: PackedByteArray) -> void:
|
||||||
|
if self_name in ['1н', '2н', '3н', '4н']:
|
||||||
|
ems_input_1 = (packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD) & (1 << 9)) != 0
|
||||||
|
ems_input_2 = (packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD) & (1 << 10)) != 0
|
||||||
|
if self_name in ['1в', '2в', '3в', '4в']:
|
||||||
|
ems_input_1 = (packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD) & (1 << 11)) != 0
|
||||||
|
ems_input_1 = (packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD) & (1 << 12)) != 0
|
||||||
|
if self_name in ['1к', '2к', '3к', '4к']:
|
||||||
|
ems_input_1 = (packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD) & (1 << 13)) != 0
|
||||||
|
ems_input_1 = (packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD) & (1 << 14)) != 0
|
||||||
|
ems_input_lit_1 = (packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD) & (1 << 8)) != 0
|
||||||
|
|
||||||
|
ems_output_1 = (packet_form_yau_07.decode_u16(DataIndices.OUT_BLANK_PRD) & (1 << 4)) != 0
|
||||||
|
ems_output_2 = (packet_form_yau_07.decode_u16(DataIndices.OUT_BLANK_PRD) & (1 << 5)) != 0
|
||||||
|
ems_output_lit_1 = (packet_form_yau_07.decode_u16(DataIndices.OUT_BLANK_PRD) & (1 << 3)) != 0
|
||||||
|
|
||||||
var number_socket_input: int
|
var number_socket_input: int
|
||||||
if current_litera >= 1 and current_litera <= 7:
|
if current_litera >= 1 and current_litera <= 7:
|
||||||
number_socket_input = current_litera + 7
|
number_socket_input = current_litera + 7
|
||||||
@@ -327,6 +347,8 @@ class TestPRD extends Node:
|
|||||||
var in_blank: int = packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD)
|
var in_blank: int = packet_form_yau_07.decode_u16(DataIndices.IN_BLANK_PRD)
|
||||||
flag_si_fs_input = (in_blank & (1 << number_socket_input)) != 0 ## Флаг СИ от ФС входа в ЭМС-Г для текущей литеры
|
flag_si_fs_input = (in_blank & (1 << number_socket_input)) != 0 ## Флаг СИ от ФС входа в ЭМС-Г для текущей литеры
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var number_socket_output: int
|
var number_socket_output: int
|
||||||
number_socket_output = 4 if current_litera in [2, 4, 6] else 3 if current_litera == 1 else 5
|
number_socket_output = 4 if current_litera in [2, 4, 6] else 3 if current_litera == 1 else 5
|
||||||
|
|
||||||
@@ -344,7 +366,7 @@ class TestPRD extends Node:
|
|||||||
fs_result = on_fs_state(packet_type_7, fs_mapping, fs_result)
|
fs_result = on_fs_state(packet_type_7, fs_mapping, fs_result)
|
||||||
control_results[fs_key] = fs_result[fs_key]
|
control_results[fs_key] = fs_result[fs_key]
|
||||||
flag_fs_status_ok = control_results[fs_key] == 1
|
flag_fs_status_ok = control_results[fs_key] == 1
|
||||||
|
|
||||||
##
|
##
|
||||||
func state_control_machine() -> void:
|
func state_control_machine() -> void:
|
||||||
match state:
|
match state:
|
||||||
@@ -354,11 +376,14 @@ class TestPRD extends Node:
|
|||||||
_handle_fs_turn_on_state()
|
_handle_fs_turn_on_state()
|
||||||
state = STATE_MACHINE.FS_WORK
|
state = STATE_MACHINE.FS_WORK
|
||||||
STATE_MACHINE.FS_WORK:
|
STATE_MACHINE.FS_WORK:
|
||||||
for key in ecms.keys():
|
var flag_ecm: bool = false
|
||||||
pass
|
for key in ecms:
|
||||||
#print([fs_parameters, current_litera])
|
var params = ecms[key].params.freq
|
||||||
#print('ecms: %s %s' % [ecms[key].kni, ecms[key].params.freq])
|
if fs_parameters[current_litera].freq == params:
|
||||||
if ecms.size() and flag_fs_status_ok:
|
var kni = ecms[key].kni
|
||||||
|
if pribor_config[self_name].angle == kni:
|
||||||
|
flag_ecm = true
|
||||||
|
if flag_ecm and flag_fs_status_ok:
|
||||||
ems_6666_timer.start()
|
ems_6666_timer.start()
|
||||||
_handle_fs_work_state()
|
_handle_fs_work_state()
|
||||||
STATE_MACHINE.CHEK_KASSETA_Y5:
|
STATE_MACHINE.CHEK_KASSETA_Y5:
|
||||||
@@ -490,13 +515,13 @@ class TestPRD extends Node:
|
|||||||
## Таймер отправки команды в ЭМС-Г для модуляции
|
## Таймер отправки команды в ЭМС-Г для модуляции
|
||||||
func _on_ems_6666_timer() -> void:
|
func _on_ems_6666_timer() -> void:
|
||||||
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]])
|
||||||
|
|
||||||
|
|
||||||
## Таймер вызова машины состояний
|
## Таймер вызова машины состояний
|
||||||
func on_state_mashine():
|
func on_state_mashine():
|
||||||
state_control_machine()
|
state_control_machine()
|
||||||
|
|
||||||
|
|
||||||
func progressbar_status() -> void:
|
func progressbar_status() -> void:
|
||||||
match state:
|
match state:
|
||||||
STATE_MACHINE.INIT:
|
STATE_MACHINE.INIT:
|
||||||
@@ -546,8 +571,8 @@ class TestPRD extends Node:
|
|||||||
|
|
||||||
func on_interfer_resized(ecms_dic: Dictionary) -> void:
|
func on_interfer_resized(ecms_dic: Dictionary) -> void:
|
||||||
ecms = ecms_dic
|
ecms = ecms_dic
|
||||||
|
|
||||||
|
|
||||||
func _on_start_contol_device()-> void:
|
func _on_start_contol_device()-> void:
|
||||||
_determine_self_name()
|
_determine_self_name()
|
||||||
machine_timer.wait_time = constants.STATE_MASHINE_TIMER
|
machine_timer.wait_time = constants.STATE_MASHINE_TIMER
|
||||||
@@ -601,13 +626,13 @@ class TestPRD extends Node:
|
|||||||
add_child(ems_6666_timer)
|
add_child(ems_6666_timer)
|
||||||
ems_6666_timer.timeout.connect(_on_ems_6666_timer)
|
ems_6666_timer.timeout.connect(_on_ems_6666_timer)
|
||||||
ems_6666_timer.wait_time = 1.0
|
ems_6666_timer.wait_time = 1.0
|
||||||
|
|
||||||
add_child(machine_timer)
|
add_child(machine_timer)
|
||||||
machine_timer.connect('timeout', Callable(self, 'on_state_mashine'))
|
machine_timer.connect('timeout', Callable(self, 'on_state_mashine'))
|
||||||
|
|
||||||
|
|
||||||
func on_mode_changed(in_tree: bool) -> void:
|
func on_mode_changed(in_tree: bool) -> void:
|
||||||
if not in_tree:
|
if not in_tree: ## TODO: Дополнительная проверка если контроль идет, если нет, то смысла вызывать нет
|
||||||
progress_value = 0
|
progress_value = 0
|
||||||
machine_timer.stop()
|
machine_timer.stop()
|
||||||
state = STATE_MACHINE.INIT
|
state = STATE_MACHINE.INIT
|
||||||
@@ -615,7 +640,7 @@ class TestPRD extends Node:
|
|||||||
#prd_v_module.cmd_array.append([unit_prd_v.CmdCode.WRITE_ISA, [constants_v.ADDR_UG_LITERA_1, ug_work_1, constants_v.ADDR_UG_LITERA_2, ug_work_2]])
|
#prd_v_module.cmd_array.append([unit_prd_v.CmdCode.WRITE_ISA, [constants_v.ADDR_UG_LITERA_1, ug_work_1, constants_v.ADDR_UG_LITERA_2, ug_work_2]])
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
func _process_dkm_status(status: PackedByteArray) -> void:
|
func _process_dkm_status(status: PackedByteArray) -> void:
|
||||||
if not control_results.has(_get_current_fs_key()):
|
if not control_results.has(_get_current_fs_key()):
|
||||||
@@ -722,7 +747,7 @@ class TestPRD extends Node:
|
|||||||
params.width,
|
params.width,
|
||||||
sectors[litera - 1] if litera == 1 else sectors[litera - 5] if litera > 5 else sectors[litera - 4] if litera > 3 else sectors[litera - 2]
|
sectors[litera - 1] if litera == 1 else sectors[litera - 5] if litera > 5 else sectors[litera - 4] if litera > 3 else sectors[litera - 2]
|
||||||
])
|
])
|
||||||
signaller.emit_signal('emit_changed', mode)
|
#signaller.emit_signal('emit_changed', mode)
|
||||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, power_um)
|
signaller.emit_signal('interfer_init', interfer_name, fs_arr, power_um)
|
||||||
|
|
||||||
|
|
||||||
@@ -749,52 +774,6 @@ class TestPRD extends Node:
|
|||||||
return y5_config
|
return y5_config
|
||||||
|
|
||||||
|
|
||||||
## Проверка температур УМ от УКП
|
|
||||||
static func check_temperature_um(status_prd: PackedByteArray, power_amplifier: Array) -> bool:
|
|
||||||
const Constants: Dictionary = {
|
|
||||||
'CONST_MIN_TEMP': -25,
|
|
||||||
'MAXIMUM_CODE_ADC': 3796,
|
|
||||||
'MINIMUM_CODE_AD': 2660,
|
|
||||||
'TEMPERATURE_UKP_1': 47,
|
|
||||||
'TEMPERATURE_UKP_2': 79,
|
|
||||||
}
|
|
||||||
const TEMP: float = 115.0 / (Constants.MAXIMUM_CODE_ADC - Constants.MINIMUM_CODE_AD)
|
|
||||||
var ukp1_online: int = (status_prd[0] >> 2) & 1
|
|
||||||
var ukp2_online = (status_prd[0] >> 3) & 1
|
|
||||||
var all_temp_is_ok: bool = true
|
|
||||||
|
|
||||||
if ukp1_online:
|
|
||||||
var tmp_1: int
|
|
||||||
var temperature_ukp_1: int
|
|
||||||
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
|
|
||||||
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
|
|
||||||
if tmp_1>70:
|
|
||||||
all_temp_is_ok = false
|
|
||||||
|
|
||||||
if ukp2_online:
|
|
||||||
for i_temp in 6:
|
|
||||||
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
|
|
||||||
if tmp_2>70:
|
|
||||||
all_temp_is_ok = false
|
|
||||||
else:
|
|
||||||
#power_amplifier[i_temp+6].value1 = tmp_2
|
|
||||||
if tmp_2>70:
|
|
||||||
all_temp_is_ok = false
|
|
||||||
return all_temp_is_ok
|
|
||||||
|
|
||||||
|
|
||||||
## Проверка ДКМ
|
## Проверка ДКМ
|
||||||
static func check_dkm(status_prd: PackedByteArray, bit_dkm: int) -> bool:
|
static func check_dkm(status_prd: PackedByteArray, bit_dkm: int) -> bool:
|
||||||
var dkm: int = 28
|
var dkm: int = 28
|
||||||
|
|||||||
Reference in New Issue
Block a user