Files
PRD_TU_MP550/scripts/constants.gd
2025-01-31 11:27:18 +03:00

307 lines
11 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

extends Node
const UNICAST_PORT: int = 50003
const UNICAST_ADDRESS: String = '10.1.1.3'
const BROADCAST_PORT: int = 50000
const DEFAULT_ADDRESS: String = '10.1.1.11'
const DEFAULT_PORT: String = '50011'
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 TableNode = preload("res://table/node.tscn")
const TableList = preload("res://table/node_list.tscn")
const Switch = preload("res://table/switch.tscn")
const SocketStatus = preload("res://table/socket_status.tscn")
const SELECT_DEVICE: Array = [[TableNode, TableList]]
const ROWS_REGS_DATA: Array = [
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode]]
const ROWS_UKP2_DATA: Array = [
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode],
[TableNode, TableNode]]
const ADDRESSES: Array = [
['ПРД-Н1', '10.1.1.11', 50011, MODE.PRD_H, '10.1.2.18', '10.1.2.19', ''],
['ПРД-Н2', '10.1.1.21', 50021, MODE.PRD_H, '10.1.2.34', '10.1.2.35', ''],
['ПРД-Н3', '10.1.1.31', 50031, MODE.PRD_H, '10.1.2.50', '10.1.2.51', ''],
['ПРД-Н4', '10.1.1.41', 50041, MODE.PRD_H, '10.1.2.67', '10.1.2.67', ''],
['ПРД-В1', '10.1.1.12', 50012, MODE.PRD_B, '10.1.2.20', '10.1.2.21', ''],
['ПРД-В2', '10.1.1.22', 50022, MODE.PRD_B, '10.1.2.36', '10.1.2.37', ''],
['ПРД-В3', '10.1.1.32', 50032, MODE.PRD_B, '10.1.2.52', '10.1.2.53', ''],
['ПРД-В4', '10.1.1.42', 50042, MODE.PRD_B, '10.1.2.68', '10.1.2.69', ''],
['ПРД-К1', '10.1.1.13', 50013, MODE.PRD_K, '10.1.2.22', '10.1.2.23', '10.1.2.17'],
['ПРД-К2', '10.1.1.23', 50023, MODE.PRD_K, '10.1.2.38', '10.1.2.39', '10.1.2.33'],
['ПРД-К3', '10.1.1.33', 50033, MODE.PRD_K, '10.1.2.54', '10.1.2.55', '10.1.2.49'],
['ПРД-К4', '10.1.1.43', 50043, MODE.PRD_K, '10.1.2.70', '10.1.2.71', '10.1.2.65']]
const INPUT_EMS_G: Array = [
'01 :34',
'02 :35',
'03 :36',
'04 :37',
'05 :38',
'06 :39',
'07 :40',
'08 :41',
'18 :34',
'19 :35',
'20 :36',
'21 :37',
'22 :38',
'23 :39',
'24 :40',
'25 :41',]
const OUT_EMS_G: Array = [
[47, '10 :43'],
[48, '11 :44'],
[49, '12 :45'],
[50, '13 :46'],
[51, '14 :47'],
[52, '15 :48'],
[53, '16 :49'],
[54, '17 :50'],
[55, '26 :43'],
[56, '27 :44'],
[57, '28 :45'],
[58, '29 :46'],
[59, '30 :47'],
[60, '31 :48'],
[61, '32 :49'],
[62, '33 :50']]
const OUT_x128: Array = [
'Р',
'К',
'0',
'1',]
const RAY_DICT: Array = [
' Контроль',
' -5°',
'',
' 15°',
' 25°',
' 35°',
' 45°',
]
const ATT_DICT: Array = [
' 0 db',
' 0.5 db',
' 2 db',
' 2.5 db',
' 8 db',
' 8.5 db',
' 10 db',
' 10.5 db',
]
const SIGNS_PRD: Array = [
## ПРК-К
[
' Запрет СИ6',
' Запрет СИ7',
' Запрет СИ1',
'ЛИТЕРА 6! ПРД-К',
'ЛИТЕРА 7! ПРД-К',
'СЗИ6 от УФ',
'СЗИ7 от УФ',
'СИ6 от ФС',
'СИ7 от ФС',
'СИ6 в УФ',
'СИ7 в УФ',
'Мод. УМ 6',
'Мод. УМ 7',
'ФГОЗ 6',
'Мод. УМ 1',
'МАА №1',
'МАА №2',
'ИП9-50 №1',
'ИП9-50 №2',
'ИП12-50 №1',
'ИП9-50 №3',
'ИП12-50 №2',
'ИП5-25',
],
## ПРК-В
[
' Запрет СИ4',
' Запрет СИ5',
'',
'ЛИТЕРА 4! ПРД-В',
'ЛИТЕРА 5! ПРД-В',
'СЗИ4 от УФ',
'СЗИ5 от УФ',
'СИ4 от ФС',
'СИ5 от ФС',
'СИ4 в УФ',
'СИ5 в УФ',
'Мод. УМ 4',
'Мод. УМ 5',
'ФГОЗ 4',
'ФГОЗ 5',
'МАА №1',
'МАА №2',
'ИП9-50 №1',
'ИП9-50 №2',
'ИП12-50 №1',
'-',
'-',
'ИП5-25',
],
## ПРК-Н
[
' Запрет СИ2',
' Запрет СИ3',
'',
'ЛИТЕРА 2! ПРД-Н',
'ЛИТЕРА 3! ПРД-Н',
'СЗИ2 от УФ',
'СЗИ3 от УФ',
'СИ2 от ФС',
'СИ3 от ФС',
'СИ2 в УФ',
'СИ3 в УФ',
'Мод. УМ 2',
'Мод. УМ 3',
'ФГОЗ 3',
'-',
'МАА №1',
'МАА №2',
'ИП9-50 №1',
'ИП9-50 №2',
'ИП12-50 №1',
'-',
'-',
'ИП5-25',
],
]
var NODE_MAP = {
'TabContainer/PRD/Grid/Zapret': 0,
'TabContainer/PRD/Grid/Zapret2': 1,
'TabContainer/PRD/Grid/LABEL': 3,
'TabContainer/PRD/Grid/LABEL2': 4,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A22': 5,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A23': 6,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A26': 7,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A27': 8,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A28': 9,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A29': 10,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A31': 11,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A32': 12,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A33': 13,
'TabContainer/ControlPanel/Signal_EMS_G/ref_A34': 14,
'TabContainer/ControlPanel/soc_P1/ref_A23': 15,
'TabContainer/ControlPanel/soc_P1/ref_A24': 16,
'TabContainer/ControlPanel/soc_P1/ref_A25': 17,
'TabContainer/ControlPanel/soc_P1/ref_A26': 18,
'TabContainer/ControlPanel/soc_P1/ref_A27': 19,
'TabContainer/ControlPanel/soc_P1/ref_A28': 20,
'TabContainer/ControlPanel/soc_P1/ref_A29': 21,
'TabContainer/ControlPanel/soc_P1/ref_A30': 22,
}
enum BASE_PORTS {
UG = 0x100,
EMS_G = 0x120,
UKP_1 = 0x130,
UKP_2 = 0x140,
}
enum MODE {
PRD_K,
PRD_B,
PRD_H,
}
enum Frame {
WORK, ## В работе
CONSTANT, ## Постоянный сигнал
VARIABLE, ## Переменный сигнал
NULL,
}
enum DataIndices {
STATUS_BOARD = 0,
IN_BLANK_PRD = 1,
IN_IMPULS_PRD = 7,
OUT_BLANK_PRD = 13,
OUT_IMPULS_PRD = 19,
DRY_CONTACT = 27,
DKM = 29,
POWER_UKP_1 = 31,
TEMPERATURE_UKP_1 = 47,
POWER_UKP_2 = 63,
TEMPERATURE_UKP_2 = 79,
}
enum STATE {
WAIT,
READ_ISA,
WRITE_ISA,
DONE,
IDLE,
SEND,
}
var EMS_G_PORT_DATA_HOLDER: Array = []
# Таблица CRC-32 для модуля ФС
const CRC32_TABLE: Array = [
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D]
const PORT_FS = 1201
const INIT: int = 0xFFFFFFFF
const FINAL_XOR_VALUE: int = 0x00000000
enum GROUP {
BASE = 0x00,
GENERATOR = 0x03,
RF = 0x06,
}
enum CMD {
START_SESSION = 0x0,
READ_CARRIER = 0x1F,
SET_CARRIER = 0x1E,
READ_ATT = 0x1A,
SET_ATT = 0x1B,
READ_GEN_STATUS = 0x05,
SET_GEN_STATUS = 0x06,
BASE_GET_CURRENT_TEMP = 0x36,
}