Отладка для астры

This commit is contained in:
Maxim
2025-06-20 13:44:18 +03:00
parent d850f49e65
commit cd46491a1f
12 changed files with 107 additions and 400 deletions

View File

@@ -22,7 +22,7 @@ offset_left = 5.0
offset_top = 7.0
offset_right = 303.0
offset_bottom = 33.0
text = "Кассета"
text = "Кассета ФС-КД"
horizontal_alignment = 1
vertical_alignment = 1
@@ -31,23 +31,23 @@ offset_left = 5.0
offset_top = 33.0
offset_right = 55.0
offset_bottom = 183.0
fname = "Модуль ФС"
rname = "A1"
fname = "Блок ФС-1"
rname = "A4"
[node name="ref_A3" parent="." instance=ExtResource("3_kqnvt")]
offset_left = 55.0
offset_top = 33.0
offset_right = 105.0
offset_bottom = 183.0
fname = "Блок ФС-1"
rname = "A4"
fname = "Модуль ФС"
rname = "A1"
[node name="ref_A4" parent="." instance=ExtResource("3_kqnvt")]
offset_left = 105.0
offset_top = 33.0
offset_right = 155.0
offset_bottom = 183.0
fname = "Модуль ФС"
fname = "Блок ФС-2"
rname = "A2"
[node name="ref_A6" parent="." instance=ExtResource("3_kqnvt")]
@@ -55,7 +55,7 @@ offset_left = 155.0
offset_top = 33.0
offset_right = 205.0
offset_bottom = 183.0
fname = "Блок ФС-6"
fname = "Модуль ФС"
rname = "A5"
[node name="ref_A5" parent="." instance=ExtResource("3_kqnvt")]
@@ -71,5 +71,5 @@ offset_left = 255.0
offset_top = 33.0
offset_right = 305.0
offset_bottom = 183.0
fname = "Блок ФС-2"
fname = "Блок ФС-6"
rname = "A6"

View File

@@ -36,7 +36,7 @@ offset_top = 907.0
offset_right = 652.0
offset_bottom = 949.0
fname = "MAA2000"
rname = "A27"
rname = "A28"
[node name="dou2_A7" parent="." instance=ExtResource("1_8dmgr")]
layout_mode = 0
@@ -54,7 +54,7 @@ offset_top = 907.0
offset_right = 175.0
offset_bottom = 949.0
fname = "MAA2000"
rname = "A28"
rname = "A27"
[node name="dou2_A8" parent="." instance=ExtResource("1_8dmgr")]
layout_mode = 0
@@ -95,12 +95,6 @@ offset_left = 485.0
offset_top = 242.0
offset_right = 652.0
offset_bottom = 337.0
value0 = 28.0
value1 = 70.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -114,12 +108,6 @@ offset_left = 485.0
offset_top = 337.0
offset_right = 652.0
offset_bottom = 432.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -133,12 +121,6 @@ offset_left = 485.0
offset_top = 432.0
offset_right = 652.0
offset_bottom = 527.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -152,12 +134,6 @@ offset_left = 485.0
offset_top = 527.0
offset_right = 652.0
offset_bottom = 622.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -171,12 +147,6 @@ offset_left = 485.0
offset_top = 622.0
offset_right = 652.0
offset_bottom = 717.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -190,12 +160,6 @@ offset_left = 485.0
offset_top = 717.0
offset_right = 652.0
offset_bottom = 812.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -209,12 +173,6 @@ offset_left = 485.0
offset_top = 812.0
offset_right = 652.0
offset_bottom = 907.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -228,12 +186,6 @@ offset_left = 8.0
offset_top = 242.0
offset_right = 175.0
offset_bottom = 337.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -247,12 +199,6 @@ offset_left = 8.0
offset_top = 337.0
offset_right = 173.0
offset_bottom = 432.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -266,12 +212,6 @@ offset_left = 8.0
offset_top = 432.0
offset_right = 175.0
offset_bottom = 527.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -285,12 +225,6 @@ offset_left = 8.0
offset_top = 527.0
offset_right = 175.0
offset_bottom = 622.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -304,12 +238,6 @@ offset_left = 8.0
offset_top = 622.0
offset_right = 175.0
offset_bottom = 717.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -323,12 +251,6 @@ offset_left = 8.0
offset_top = 717.0
offset_right = 175.0
offset_bottom = 812.0
value0 = 28.0
value1 = 57.0
max_value0 = 99.0
max_value1 = 99.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -363,8 +285,8 @@ offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
offset_bottom = 183.0
fname = "ИП12-50"
rname = "A26"
fname = "ИП9-50"
rname = "A23"
[node name="ref_A23" parent="kasseta_p_1" instance=ExtResource("8_la5yt")]
offset_left = 59.0
@@ -379,8 +301,8 @@ offset_left = 109.0
offset_top = 33.0
offset_right = 159.0
offset_bottom = 183.0
fname = "ИП9-50"
rname = "A23"
fname = "ИП12-50"
rname = "A26"
[node name="lbl_fname" type="Label" parent="kasseta_p_1"]
self_modulate = Color(1, 1, 1, 0.62)

View File

@@ -1,10 +1,5 @@
@tool
extends "res://scenes/контроль/прибор.gd"
var timer_03: Timer = Timer.new()
var count_packet_1:int = 0
var power_array_1: Array = []
var count_packet_2:int = 0
var power_array_2: Array = []
enum STATE_VAL {
NONE = 0,
@@ -13,170 +8,25 @@ enum STATE_VAL {
func _ready() -> void:
var unit_key = settings.get_unit_key(get_meta('unit_name')[0])
var unit_prd = network.units[unit_key]
unit_prd.connect('data_received', Callable(self, 'on_data_received'))
unit_prd.connect('line_changed', Callable(self, 'on_line_changed'))
set_default_state()
self.add_child(timer_03)
timer_03.connect('timeout', Callable(self, 'on_timer_03'))
#on_timer_03(unit_key)
pass
#var unit_key = settings.get_unit_key(get_meta('unit_name')[0])
#var unit_prd = network.units[unit_key]
#unit_prd.connect('data_received', Callable(self, 'on_data_received'))
#unit_prd.connect('line_changed', Callable(self, 'on_line_changed'))
#set_default_state()
func set_default_state() -> void:
for group in get_tree().get_nodes_in_group('power_amplifier'):
group.state = STATE_VAL.NONE
func on_line_changed(unit_prd: Object):
if not unit_prd.online:
set_default_state()
func on_data_received(unit_prd: Object):
var tree = get_tree()
if not tree:
return
check_block_ip(unit_prd.status)
check_temperature_um(unit_prd.status)
## Контроль ЭМС
const IN_BLANK_PRD: int = 1
const OUT_BLANK_PRD: int = 13
const CI_2_OT_FS: int = 9
const CI_3_OT_FS: int = 10
const CI_2_B_UF: int = 1
const CI_3_B_UF: int = 2
var in_blank: int = unit_prd.status.decode_u16(IN_BLANK_PRD)
var out_blank: int = unit_prd.status.decode_u16(OUT_BLANK_PRD)
$Monitoring_panel/in_fs_1.frame = (in_blank >> CI_2_OT_FS) & 1
$Monitoring_panel/in_fs_2.frame = (in_blank >> CI_3_OT_FS) & 1
$Monitoring_panel/out_ems_1.frame = (out_blank >> CI_2_B_UF) & 1
$Monitoring_panel/out_ems_2.frame = (out_blank >> CI_3_B_UF) & 1
## Мощность УМ от УКП 1
if (in_blank >> CI_2_OT_FS) & 1:
const bit_dkm_1: int = 1
check_dkm(unit_prd.status, bit_dkm_1)
const POWER_UKP_1: int = 31
var arr_power_ukp_1: Array = []
if (unit_prd.status[0] >> 2) & 1:
for i_power in range(6):
var power_ukp_1 = unit_prd.status.decode_u16(POWER_UKP_1 + 2 * i_power)
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 6:
power_amplifier[i].value1 = '%d' % power_array_1[i]
count_packet_1 += 1
## Мощность УМ от УКП 2
if (in_blank >> CI_3_OT_FS) & 1:
const bit_dkm_2: int = 2
check_dkm(unit_prd.status, bit_dkm_2)
const POWER_UKP_2: int = 63
var arr_power_ukp_2: Array = []
if (unit_prd.status[0] >> 2) & 1:
for i_power in range(6):
var power_ukp_2 = unit_prd.status.decode_u16(POWER_UKP_2 + 2 * i_power)
arr_power_ukp_2.append(power_ukp_2)
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]
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
for i in 6:
power_amplifier[i+6].value1 = '%d' % power_array_2[i]
count_packet_2 += 1
## Проверка касет П1 и ИП МА2000
func check_block_ip(status_prd: PackedByteArray) -> void :
var ug_online: bool = (status_prd[0] >> 1) & 1
if ug_online:
const BYTE_DRY_CONTACT: int = 27
const BIT_MAA2000_1: int = 0
const BIT_MAA2000_2: int = 1
const BIT_IP9_50_1: int = 2
const BIT_IP9_50_2: int = 3
const BIT_IP12_50_1: int = 4
var maa2000_1 = status_prd[BYTE_DRY_CONTACT] >> BIT_MAA2000_1 & 1
var maa2000_2 = status_prd[BYTE_DRY_CONTACT] >> BIT_MAA2000_2 & 1
var ip9_50_1 = status_prd[BYTE_DRY_CONTACT] >> BIT_IP9_50_1 & 1
var ip9_50_2 = status_prd[BYTE_DRY_CONTACT] >> BIT_IP9_50_2 & 1
var ip12_50_1 = status_prd[BYTE_DRY_CONTACT] >> BIT_IP12_50_1 & 1
$maa2000_A23.state = STATE_VAL.ERROR if maa2000_1 else STATE_VAL.GOOD
$maa2000_A22.state = STATE_VAL.ERROR if maa2000_2 else STATE_VAL.GOOD
$kasseta_P_1/ref_A20.state = STATE_VAL.ERROR if ip9_50_1 else STATE_VAL.GOOD
$kasseta_P_1/ref_A21.state = STATE_VAL.ERROR if ip9_50_2 else STATE_VAL.GOOD
$kasseta_P_1/ref_A19.state = STATE_VAL.ERROR if ip12_50_1 else STATE_VAL.GOOD
else:
$maa2000_A23.state = STATE_VAL.NONE
$maa2000_A22.state = STATE_VAL.NONE
$kasseta_P_1/ref_A19.state = STATE_VAL.NONE
$kasseta_P_1/ref_A20.state = STATE_VAL.NONE
$kasseta_P_1/ref_A21.state = STATE_VAL.NONE
## Проверка температур УМ от УКП
func check_temperature_um(status_prd: PackedByteArray) -> void:
const CONST_MIN_TEMP: int = -25
const MAXIMUM_CODE_ADC: int = 3796
const MINIMUM_CODE_AD: int = 2660
const TEMP: float = 115.0 / (MAXIMUM_CODE_ADC - MINIMUM_CODE_AD)
const TEMPERATURE_UKP_1: int = 47
const TEMPERATURE_UKP_2: int = 79
var power_amplifier: Array = get_tree().get_nodes_in_group('power_amplifier')
var ukp1_online: int = (status_prd[0] >> 2) & 1
if ukp1_online:
for i_temp in range(6):
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
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
## Проверка ДКМ
func check_dkm(status_prd: PackedByteArray, bit_dkm: int) -> void:
const DKM: int = 28
var status_dkm = status_prd[DKM] >> bit_dkm & 1
if bit_dkm == 1:
$dou2_A5.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
$kasseta_FS_ND/ref_A4.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
elif bit_dkm == 2:
$dou2_A6.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
$kasseta_FS_ND/ref_A3.state = STATE_VAL.GOOD if status_dkm else STATE_VAL.ERROR
#func on_timer_03(unit_name):
#print(unit_name)
func set_default_state():
$utm80_A9.state = STATE_VAL.NONE
$um1535_A10.state = STATE_VAL.NONE
$um1535_A11.state = STATE_VAL.NONE
$um1535_A12.state = STATE_VAL.NONE
$um1535_A13.state = STATE_VAL.NONE
$um1535_A14.state = STATE_VAL.NONE
$um1535_A15.state = STATE_VAL.NONE
$um1535_A16.state = STATE_VAL.NONE
$um1535_A17.state = STATE_VAL.NONE
$um1535_A18.state = STATE_VAL.NONE
$um1535_A19.state = STATE_VAL.NONE
$um1535_A20.state = STATE_VAL.NONE
$um1535_A21.state = STATE_VAL.NONE

View File

@@ -22,7 +22,7 @@ offset_left = 5.0
offset_top = 7.0
offset_right = 303.0
offset_bottom = 33.0
text = "Кассета"
text = "Кассета ФС-ВД"
horizontal_alignment = 1
vertical_alignment = 1
@@ -31,16 +31,16 @@ offset_left = 55.0
offset_top = 32.0
offset_right = 105.0
offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A1"
fname = "Блок ФС-3"
rname = "A3"
[node name="ref_A3" parent="." instance=ExtResource("2_mkgdh")]
offset_left = 105.0
offset_top = 32.0
offset_right = 155.0
offset_bottom = 182.0
fname = "Блок ФС-3"
rname = "A3"
fname = "Модуль ФС"
rname = "A1"
[node name="ref_A4" parent="." instance=ExtResource("2_mkgdh")]
offset_left = 155.0

View File

@@ -1,16 +1,16 @@
[gd_scene load_steps=14 format=3 uid="uid://dnuexoef2nnv5"]
[ext_resource type="Script" uid="uid://cto2r4ipew65m" path="res://scenes/pribor-prd-n/pribor-prd-n.gd" id="1_td743"]
[ext_resource type="PackedScene" uid="uid://d3iqb5e4g81m5" path="res://scenes/контроль/элемент-г.tscn" id="2_lpj3d"]
[ext_resource type="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="4_i1no5"]
[ext_resource type="PackedScene" uid="uid://bk1655p4e8y4u" path="res://scenes/контроль/кассета-у-5-нв.tscn" id="5_ej152"]
[ext_resource type="Script" uid="uid://dow4nqi6hbak8" path="res://scenes/контроль/кассета-у-5.gd" id="5_hne5j"]
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="6_b1cob"]
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="7_dqc3e"]
[ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/блок-а.tscn" id="8_u7eqo"]
[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="9_bnnv3"]
[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="10_is25t"]
[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="11_meukj"]
[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="Texture2D" uid="uid://c4mdrmk7h638f" path="res://data/nine-patch-round.png" id="3_meukj"]
[ext_resource type="PackedScene" uid="uid://bk1655p4e8y4u" path="res://scenes/контроль/кассета-у-5-нв.tscn" id="4_xkifg"]
[ext_resource type="Script" uid="uid://dow4nqi6hbak8" path="res://scenes/контроль/кассета-у-5.gd" id="5_1wf07"]
[ext_resource type="Script" uid="uid://crpedygm3gohi" path="res://scenes/контроль/кассета.gd" id="6_b5wvk"]
[ext_resource type="PackedScene" uid="uid://p2suppildvq0" path="res://scenes/контроль/элемент-в.tscn" id="7_eoqf2"]
[ext_resource type="PackedScene" uid="uid://bkxblfoj7ejv0" path="res://scenes/контроль/блок-а.tscn" id="8_sia5h"]
[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="9_k1x0o"]
[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="10_7dcjd"]
[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="11_ius1v"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_bnnv3"]
@@ -18,13 +18,13 @@
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("9_bnnv3")
"texture": ExtResource("9_k1x0o")
}, {
"duration": 1.0,
"texture": ExtResource("10_is25t")
"texture": ExtResource("10_7dcjd")
}, {
"duration": 1.0,
"texture": ExtResource("11_meukj")
"texture": ExtResource("11_ius1v")
}, {
"duration": 1.0,
"texture": null
@@ -41,9 +41,9 @@ offset_left = 15.0
offset_top = 30.0
offset_right = 15.0
offset_bottom = 30.0
script = ExtResource("1_td743")
script = ExtResource("1_bnnv3")
[node name="maa2000_A23" parent="." instance=ExtResource("2_lpj3d")]
[node name="maa2000_A23" parent="." instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 8.0
offset_top = 877.0
@@ -52,7 +52,7 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A23"
[node name="maa2000_A22" parent="." instance=ExtResource("2_lpj3d")]
[node name="maa2000_A22" parent="." instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 485.0
offset_top = 877.0
@@ -61,7 +61,7 @@ offset_bottom = 949.0
fname = "MAA2000"
rname = "A22"
[node name="dou2_A5" parent="." instance=ExtResource("2_lpj3d")]
[node name="dou2_A5" parent="." instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 485.0
offset_top = 812.0
@@ -70,7 +70,7 @@ offset_bottom = 877.0
fname = "ДОУ-2"
rname = "A5"
[node name="dou2_A6" parent="." instance=ExtResource("2_lpj3d")]
[node name="dou2_A6" parent="." instance=ExtResource("2_is25t")]
layout_mode = 2
offset_left = 8.0
offset_top = 812.0
@@ -85,7 +85,7 @@ offset_left = 175.0
offset_top = 812.0
offset_right = 485.0
offset_bottom = 949.0
texture = ExtResource("4_i1no5")
texture = ExtResource("3_meukj")
patch_margin_left = 16
patch_margin_top = 16
patch_margin_right = 16
@@ -103,13 +103,13 @@ text = "Панель
horizontal_alignment = 1
vertical_alignment = 1
[node name="kasseta_U5" parent="." instance=ExtResource("5_ej152")]
[node name="kasseta_U5" parent="." instance=ExtResource("4_xkifg")]
layout_mode = 0
offset_left = 175.0
offset_top = 242.0
offset_right = 485.0
offset_bottom = 432.0
script = ExtResource("5_hne5j")
script = ExtResource("5_1wf07")
fname = "Кассета У5"
[node name="kasseta_FS_ND" type="NinePatchRect" parent="."]
@@ -118,12 +118,12 @@ offset_left = 175.0
offset_top = 432.0
offset_right = 485.0
offset_bottom = 622.0
texture = ExtResource("4_i1no5")
texture = ExtResource("3_meukj")
patch_margin_left = 16
patch_margin_top = 16
patch_margin_right = 16
patch_margin_bottom = 16
script = ExtResource("6_b1cob")
script = ExtResource("6_b5wvk")
fname = "Кассета ФС-НД"
metadata/Fname = ""
@@ -138,7 +138,7 @@ text = "Кассета ФС-НД"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ref_A3" parent="kasseta_FS_ND" instance=ExtResource("7_dqc3e")]
[node name="ref_A3" parent="kasseta_FS_ND" instance=ExtResource("7_eoqf2")]
offset_left = 55.0
offset_top = 32.0
offset_right = 105.0
@@ -146,7 +146,7 @@ offset_bottom = 182.0
fname = "Блок ФС-3"
rname = "A3"
[node name="ref_A1" parent="kasseta_FS_ND" instance=ExtResource("7_dqc3e")]
[node name="ref_A1" parent="kasseta_FS_ND" instance=ExtResource("7_eoqf2")]
offset_left = 105.0
offset_top = 32.0
offset_right = 155.0
@@ -154,7 +154,7 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A1"
[node name="ref_A2" parent="kasseta_FS_ND" instance=ExtResource("7_dqc3e")]
[node name="ref_A2" parent="kasseta_FS_ND" instance=ExtResource("7_eoqf2")]
offset_left = 155.0
offset_top = 32.0
offset_right = 205.0
@@ -162,7 +162,7 @@ offset_bottom = 182.0
fname = "Модуль ФС"
rname = "A2"
[node name="ref_A4" parent="kasseta_FS_ND" instance=ExtResource("7_dqc3e")]
[node name="ref_A4" parent="kasseta_FS_ND" instance=ExtResource("7_eoqf2")]
offset_left = 205.0
offset_top = 32.0
offset_right = 255.0
@@ -176,15 +176,15 @@ offset_left = 175.0
offset_top = 622.0
offset_right = 485.0
offset_bottom = 812.0
texture = ExtResource("4_i1no5")
texture = ExtResource("3_meukj")
patch_margin_left = 16
patch_margin_top = 16
patch_margin_right = 16
patch_margin_bottom = 16
script = ExtResource("6_b1cob")
script = ExtResource("6_b5wvk")
fname = "Кассета П-1"
[node name="ref_A21" parent="kasseta_P_1" instance=ExtResource("7_dqc3e")]
[node name="ref_A21" parent="kasseta_P_1" instance=ExtResource("7_eoqf2")]
offset_left = 9.0
offset_top = 33.0
offset_right = 59.0
@@ -192,7 +192,7 @@ offset_bottom = 183.0
fname = "ИП12-50"
rname = "A21"
[node name="ref_A20" parent="kasseta_P_1" instance=ExtResource("7_dqc3e")]
[node name="ref_A20" parent="kasseta_P_1" instance=ExtResource("7_eoqf2")]
offset_left = 59.0
offset_top = 33.0
offset_right = 109.0
@@ -200,7 +200,7 @@ offset_bottom = 183.0
fname = "ИП9-50"
rname = "A20"
[node name="ref_A19" parent="kasseta_P_1" instance=ExtResource("7_dqc3e")]
[node name="ref_A19" parent="kasseta_P_1" instance=ExtResource("7_eoqf2")]
offset_left = 109.0
offset_top = 33.0
offset_right = 159.0
@@ -219,7 +219,7 @@ text = "Кассета П-1"
horizontal_alignment = 1
vertical_alignment = 1
[node name="um1535_A7" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A7" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 485.0
offset_top = 242.0
@@ -232,7 +232,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A7"
[node name="um1535_A8" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A8" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 485.0
offset_top = 337.0
@@ -245,7 +245,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A8"
[node name="um1535_A9" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A9" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 485.0
offset_top = 432.0
@@ -258,7 +258,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A9"
[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A10" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 485.0
offset_top = 527.0
@@ -271,7 +271,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A10"
[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A11" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 485.0
offset_top = 622.0
@@ -284,7 +284,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A11"
[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A12" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 485.0
offset_top = 717.0
@@ -297,7 +297,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A12"
[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A13" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 8.0
offset_top = 242.0
@@ -310,7 +310,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A13"
[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A14" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 8.0
offset_top = 337.0
@@ -323,7 +323,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A14"
[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A15" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 8.0
offset_top = 432.0
@@ -336,7 +336,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A15"
[node name="um1535_A16" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A16" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 8.0
offset_top = 527.0
@@ -349,7 +349,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A16"
[node name="um1535_A17" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A17" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 8.0
offset_top = 622.0
@@ -362,7 +362,7 @@ name_min_size1 = Vector2i(35, 20)
fname = "УМ1535А"
rname = "A17"
[node name="um1535_A18" parent="." groups=["power_amplifier"] instance=ExtResource("8_u7eqo")]
[node name="um1535_A18" parent="." groups=["power_amplifier"] instance=ExtResource("8_sia5h")]
layout_mode = 0
offset_left = 8.0
offset_top = 717.0

View File

@@ -1,5 +1,15 @@
@tool
extends "res://scenes/контроль/прибор.gd"
const IN_BLANK_PRD: int = 1
const OUT_BLANK_PRD: int = 13
const CI_2_OT_FS: int = 9
const CI_3_OT_FS: int = 10
const CI_2_B_UF: int = 1
const CI_3_B_UF: int = 2
const POWER_UKP_1: int = 31
const POWER_UKP_2: int = 63
var timer_03: Timer = Timer.new()
var count_packet_1:int = 0
var power_array_1: Array = []
@@ -34,19 +44,14 @@ func on_line_changed(unit_prd: Object):
func on_data_received(unit_prd: Object):
if get_tree() == null:
if not is_inside_tree():
return
check_block_ip(unit_prd.status)
check_temperature_um(unit_prd.status)
## Контроль ЭМС
const IN_BLANK_PRD: int = 1
const OUT_BLANK_PRD: int = 13
const CI_2_OT_FS: int = 9
const CI_3_OT_FS: int = 10
const CI_2_B_UF: int = 1
const CI_3_B_UF: int = 2
#_process_ems_data(unit_prd)
var in_blank: int = unit_prd.status.decode_u16(IN_BLANK_PRD)
var out_blank: int = unit_prd.status.decode_u16(OUT_BLANK_PRD)
@@ -61,7 +66,7 @@ func on_data_received(unit_prd: Object):
if (in_blank >> CI_2_OT_FS) & 1:
const bit_dkm_1: int = 1
check_dkm(unit_prd.status, bit_dkm_1)
const POWER_UKP_1: int = 31
var arr_power_ukp_1: Array = []
if (unit_prd.status[0] >> 2) & 1:
@@ -86,7 +91,7 @@ func on_data_received(unit_prd: Object):
if (in_blank >> CI_3_OT_FS) & 1:
const bit_dkm_2: int = 2
check_dkm(unit_prd.status, bit_dkm_2)
const POWER_UKP_2: int = 63
var arr_power_ukp_2: Array = []
if (unit_prd.status[0] >> 2) & 1:

View File

@@ -151,10 +151,6 @@ offset_left = 485.0
offset_top = 242.0
offset_right = 652.0
offset_bottom = 337.0
value0 = 91.0
value1 = 22.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
@@ -170,12 +166,6 @@ offset_left = 485.0
offset_top = 337.0
offset_right = 652.0
offset_bottom = 432.0
value0 = 91.0
value1 = 22.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -189,12 +179,6 @@ offset_left = 485.0
offset_top = 432.0
offset_right = 652.0
offset_bottom = 527.0
value0 = 91.0
value1 = 22.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -208,12 +192,6 @@ offset_left = 485.0
offset_top = 527.0
offset_right = 652.0
offset_bottom = 622.0
value0 = 91.0
value1 = 22.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -227,12 +205,6 @@ offset_left = 485.0
offset_top = 622.0
offset_right = 652.0
offset_bottom = 717.0
value0 = 91.0
value1 = 22.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -246,12 +218,6 @@ offset_left = 485.0
offset_top = 717.0
offset_right = 652.0
offset_bottom = 812.0
value0 = 91.0
value1 = 22.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -265,12 +231,6 @@ offset_left = 8.0
offset_top = 242.0
offset_right = 175.0
offset_bottom = 337.0
value0 = 91.0
value1 = 33.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -284,12 +244,6 @@ offset_left = 8.0
offset_top = 337.0
offset_right = 175.0
offset_bottom = 432.0
value0 = 91.0
value1 = 33.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -303,12 +257,6 @@ offset_left = 8.0
offset_top = 432.0
offset_right = 175.0
offset_bottom = 527.0
value0 = 91.0
value1 = 33.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -322,12 +270,6 @@ offset_left = 8.0
offset_top = 527.0
offset_right = 175.0
offset_bottom = 622.0
value0 = 91.0
value1 = 33.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -341,12 +283,6 @@ offset_left = 8.0
offset_top = 622.0
offset_right = 175.0
offset_bottom = 717.0
value0 = 91.0
value1 = 33.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)
@@ -360,12 +296,6 @@ offset_left = 8.0
offset_top = 717.0
offset_right = 175.0
offset_bottom = 812.0
value0 = 91.0
value1 = 33.0
max_value0 = 100.0
max_value1 = 100.0
step0 = 1.0
step1 = 1.0
value_name0 = "°C"
value_name1 = "P, %"
name_min_size0 = Vector2i(35, 20)

View File

@@ -19,16 +19,16 @@ offset_left = 10.0
offset_top = 30.0
offset_right = 60.0
offset_bottom = 180.0
fname = "ИП12-50"
rname = "A25"
fname = "ИП9-50"
rname = "A22"
[node name="ref_A23" parent="." instance=ExtResource("3_4a27g")]
offset_left = 60.0
offset_top = 30.0
offset_right = 110.0
offset_bottom = 180.0
fname = "ИП9-50"
rname = "A22"
fname = "ИП12-50"
rname = "A25"
[node name="lbl_fname" type="Label" parent="."]
self_modulate = Color(1, 1, 1, 0.62)

View File

@@ -21,7 +21,7 @@ offset_left = 5.0
offset_top = 7.0
offset_right = 305.0
offset_bottom = 35.0
text = "Кассета"
text = "Кассета У5"
horizontal_alignment = 1
vertical_alignment = 1
@@ -63,7 +63,7 @@ offset_top = 32.0
offset_right = 255.0
offset_bottom = 182.0
fname = "УКП"
rname = "A36"
rname = "A35"
[node name="ref_A29" parent="." instance=ExtResource("3_wtlpi")]
offset_left = 254.0
@@ -71,4 +71,4 @@ offset_top = 32.0
offset_right = 304.0
offset_bottom = 182.0
fname = "УКП"
rname = "A35"
rname = "A36"

View File

@@ -21,7 +21,7 @@ offset_left = 5.0
offset_top = 7.0
offset_right = 305.0
offset_bottom = 35.0
text = "Кассета"
text = "Кассета У5"
horizontal_alignment = 1
vertical_alignment = 1

View File

@@ -78,7 +78,7 @@ class Sch3 extends unit.Unit:
step_fsm = Sch3Fsm.WRITE
elif step_fsm == Sch3Fsm.CONNECT:
try_disconnect()
try_connect()
#try_connect()
mbc.request_read_input(base_input_address, regs_input_count)
cmd_state = CmdState.WAIT
tx_tick = tick