breakpoint1

This commit is contained in:
CortexCore 2023-07-20 01:40:20 +08:00
parent a1ac6bada2
commit 907e037d0d
9 changed files with 284 additions and 245 deletions

Binary file not shown.

View File

@ -29,6 +29,7 @@ public partial class IDIS_THService : Node
[ExportCategory("UI 绑定")]
[Export] private Button submitButton;
[Export] private CheckButton autoUpdateButton;
[Export] private OptionButton updateModeButton;
[Export] private LineEdit handleEdit;

View File

@ -26,14 +26,15 @@ public partial class 温湿度Reader : Node
[Export]public double temperature = 26.0;
[ExportCategory("UI 绑定")]
[Export] private UXContainer temperatureContaier;
[Export] private Button connectToModbusButton;
[Export] private UXContainer temperatureContainer;
[Export] private UXContainer humidityContainer;
[Export] private LineEdit ipEdit;
[Export] private LineEdit portEdit;
[Export] private RichTextLabel hintsLabel;
private ModbusMaster _modbus;
private System.Timers.Timer timer;
private Timer timer;
private CancellationTokenSource _CancellationTokenSource;
public override void _Ready()
@ -48,30 +49,21 @@ public partial class 温湿度Reader : Node
hintsLabel.Text = e.Message;
}
ipEdit.TextChanged+=s=>ip=s;
portEdit.TextChanged+=s=>
{
try
{
port = int.Parse(s);
}
catch (Exception e)
{
hintsLabel.SetTextAsync(e.Message);
}
};
connectToModbusButton.Pressed += Connect;
if (ipEdit is not null)
{
ipEdit.TextChanged += s => ip = s;
ipEdit.TextSubmitted +=s=> UpdatePortAndIP();
}
if(portEdit is not null)
{
portEdit.TextSubmitted += OnPortChanged;
void OnPortChanged(string s)
{
UpdatePortAndIP();
if (int.TryParse(s,out var newPort))
{
}
else
{
portEdit.Text=string.Empty;
portEdit.PlaceholderText = "请输入正确的端口号";
}
}
}
UpdatePortAndIP();
Connect();
timer = new Timer();
timer.Interval = interval;
@ -86,9 +78,9 @@ public partial class 温湿度Reader : Node
timer.Stop();
}
/// <summary>
/// 内部方法,用于更新IP和端口
/// 连接到Modbus
/// </summary>
private void UpdatePortAndIP()
private void Connect()
{
_modbus?.Dispose();
try
@ -100,7 +92,6 @@ public partial class 温湿度Reader : Node
BIT4Log.Log<湿Reader>(e.Message);
hintsLabel.SetTextAsync(e.Message);
}
}
/// <summary>
/// 内部方法,定时器回调用于读取Modbus
@ -140,7 +131,7 @@ public partial class 温湿度Reader : Node
hintsLabel.SetTextAsync("已获取到温湿度数据:"+DateTime.Now);
temperatureContaier.label.SetTextAsync(temperature.ToString(CultureInfo.InvariantCulture)); ;
temperatureContainer.label.SetTextAsync(temperature.ToString(CultureInfo.InvariantCulture)); ;
humidityContainer.label.SetTextAsync(humidity.ToString(CultureInfo.InvariantCulture));
timer.Start();

View File

@ -93,60 +93,44 @@ layout_mode = 2
theme_type_variation = &"WhitePanel"
text = "订单信息"
[node name="关联标识" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels", "buttons", "optionButtons") instance=ExtResource("2_so2ho")]
[node name="关联标识" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels") instance=ExtResource("2_so2ho")]
layout_mode = 2
labels = []
buttons = []
optionButtons = []
[node name="Label2" type="Label" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"WhitePanel"
text = "生产设备"
[node name="关联标识2" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels", "buttons", "optionButtons") instance=ExtResource("2_so2ho")]
[node name="关联标识2" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels") instance=ExtResource("2_so2ho")]
layout_mode = 2
labels = []
buttons = []
optionButtons = []
[node name="关联标识3" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels", "buttons", "optionButtons") instance=ExtResource("2_so2ho")]
[node name="关联标识3" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels") instance=ExtResource("2_so2ho")]
layout_mode = 2
labels = []
buttons = []
optionButtons = []
[node name="Label3" type="Label" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"WhitePanel"
text = "生产环境"
[node name="关联标识4" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels", "buttons", "optionButtons") instance=ExtResource("2_so2ho")]
[node name="关联标识4" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels") instance=ExtResource("2_so2ho")]
layout_mode = 2
labels = []
buttons = []
optionButtons = []
[node name="关联标识5" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels", "buttons", "optionButtons") instance=ExtResource("2_so2ho")]
[node name="关联标识5" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels") instance=ExtResource("2_so2ho")]
layout_mode = 2
labels = []
buttons = []
optionButtons = []
[node name="关联标识6" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels", "buttons", "optionButtons") instance=ExtResource("2_so2ho")]
[node name="关联标识6" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels") instance=ExtResource("2_so2ho")]
layout_mode = 2
labels = []
buttons = []
optionButtons = []
[node name="关联标识7" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels", "buttons", "optionButtons") instance=ExtResource("2_so2ho")]
[node name="关联标识7" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels") instance=ExtResource("2_so2ho")]
layout_mode = 2
labels = []
buttons = []
optionButtons = []
[node name="关联标识8" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels", "buttons", "optionButtons") instance=ExtResource("2_so2ho")]
[node name="关联标识8" parent="VFlex/MarginContainer/HBoxContainer/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer" node_paths=PackedStringArray("labels") instance=ExtResource("2_so2ho")]
layout_mode = 2
labels = []
buttons = []
optionButtons = []

View File

@ -2,12 +2,15 @@
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXContainer.cs" id="1_6fjlu"]
[node name="传感器数据模板" type="PanelContainer" node_paths=PackedStringArray("label", "titleLabel", "labels", "lineEdits")]
[node name="传感器数据模板" type="PanelContainer" node_paths=PackedStringArray("label", "titleLabel", "labels", "buttons", "lineEdits", "optionButtons")]
custom_minimum_size = Vector2(100, 100)
script = ExtResource("1_6fjlu")
label = NodePath("VBoxContainer/MarginContainer/HBoxContainer/Label")
titleLabel = NodePath("VBoxContainer/Label")
labels = []
buttons = []
lineEdits = []
optionButtons = []
[node name="VBoxContainer" type="VBoxContainer" parent="."]
layout_mode = 2

View File

@ -2,17 +2,17 @@
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXContainer.cs" id="1_312jo"]
[node name="关联标识" type="HBoxContainer" node_paths=PackedStringArray("label", "titleLabel", "updateTimeLabel", "createTimeLabel", "labels", "lineEdits")]
offset_right = 651.0
[node name="关联标识" type="HBoxContainer" node_paths=PackedStringArray("label", "titleLabel", "labels", "buttons", "lineEdits", "optionButtons")]
offset_right = 491.0
offset_bottom = 64.0
theme_override_constants/separation = 8
script = ExtResource("1_312jo")
label = NodePath("GridContainer/Labels[1]")
titleLabel = NodePath("GridContainer/Labels[0]")
updateTimeLabel = NodePath("GridContainer/HBoxContainer/label[2]")
createTimeLabel = NodePath("GridContainer/HBoxContainer2/labels[3]")
labels = [NodePath("GridContainer/Labels[0]"), NodePath("GridContainer/Labels[1]"), NodePath("GridContainer/HBoxContainer/label[2]"), NodePath("GridContainer/HBoxContainer2/labels[3]")]
buttons = []
lineEdits = []
optionButtons = []
[node name="Control3" type="Control" parent="."]
custom_minimum_size = Vector2(16, 0)
@ -40,7 +40,7 @@ layout_mode = 2
[node name="Label" type="Label" parent="GridContainer/HBoxContainer"]
layout_mode = 2
text = "最后更新时间:"
text = "更新时间:"
[node name="label[2]" type="Label" parent="GridContainer/HBoxContainer"]
layout_mode = 2
@ -56,7 +56,7 @@ layout_mode = 2
[node name="Label" type="Label" parent="GridContainer/HBoxContainer2"]
layout_mode = 2
text = "创建标识时间:"
text = "创建时间:"
[node name="labels[3]" type="Label" parent="GridContainer/HBoxContainer2"]
layout_mode = 2

View File

@ -2,16 +2,19 @@
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXContainer.cs" id="1_v6r4n"]
[node name="标识引用模板" type="HBoxContainer" node_paths=PackedStringArray("label", "button", "labels", "lineEdits")]
[node name="标识引用模板" type="HBoxContainer" node_paths=PackedStringArray("label", "labels", "button", "buttons", "lineEdits", "optionButtons")]
script = ExtResource("1_v6r4n")
label = NodePath("Label")
button = NodePath("Button")
labels = []
button = NodePath("Button")
buttons = []
lineEdits = []
optionButtons = []
[node name="Label" type="Label" parent="."]
layout_mode = 2
text = "88.123.99/xxxxxxxxxxxxxxxx"
size_flags_horizontal = 3
text = "88.123.99/xxxxxxxx"
[node name="Button" type="Button" parent="."]
custom_minimum_size = Vector2(128, 0)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=70 format=3 uid="uid://cngf2h2a5ne4a"]
[gd_scene load_steps=67 format=3 uid="uid://cngf2h2a5ne4a"]
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXPanel.cs" id="1_c78kh"]
[ext_resource type="PackedScene" uid="uid://d1po2qljd0jh2" path="res://Mods/教育平台/教程header.tscn" id="2_mn1rn"]
@ -30,11 +30,10 @@
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_SearchService.cs" id="16_14syv"]
[ext_resource type="PackedScene" uid="uid://btc6smeueu517" path="res://Artists/Templates/LineEditTemplate.tscn" id="16_il4as"]
[ext_resource type="Script" path="res://BITKit/Scripts/Components/OpenPath.cs" id="16_p2d60"]
[ext_resource type="Texture2D" uid="uid://dhws1cqlkdixm" path="res://Artists/Art/Icons/icon_folder.png" id="17_ikr0s"]
[ext_resource type="Script" path="res://BITKit/Scripts/Resource/StringResource.cs" id="17_vci8w"]
[ext_resource type="PackedScene" uid="uid://dghty7km181mc" path="res://Mods/工业数据采集与分析应用分享/Templates/关联标识.tscn" id="19_abuse"]
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXLineEdit.cs" id="19_egw0i"]
[ext_resource type="PackedScene" uid="uid://d1rpv4oovnljv" path="res://Mods/工业数据采集与分析应用分享/Templates/传感器数据模板.tscn" id="19_qxvds"]
[ext_resource type="Script" path="res://BITKit/Scripts/Text/RegularExpressionResource.cs" id="20_h53sw"]
[ext_resource type="PackedScene" uid="uid://cccx8fmmfttth" path="res://Mods/工业数据采集与分析应用分享/Templates/标识数据模板.tscn" id="20_kicyn"]
[ext_resource type="VideoStream" path="res://Mods/工业数据采集与分析应用分享/Arts/Videos/生产过程模拟.ogv" id="27_laoxb"]
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/温湿度Reader.cs" id="27_q8j7q"]
@ -64,16 +63,6 @@ bg_color = Color(1, 1, 1, 0.0313726)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1rin1"]
[sub_resource type="Resource" id="Resource_dtmqv"]
script = ExtResource("20_h53sw")
regex = "^\\d{3,5}$"
errorReason = "输入1-4位整数"
[sub_resource type="Resource" id="Resource_di31i"]
script = ExtResource("20_h53sw")
regex = "^\\d{1,2}$"
errorReason = "输入不是数字"
[sub_resource type="Resource" id="Resource_ktam2"]
script = ExtResource("17_vci8w")
value = "Panel"
@ -156,7 +145,6 @@ windows = [NodePath("Horizontal Layout/内容/MarginContainer/标识解析"), No
[node name="Horizontal Layout" type="HBoxContainer" parent="Layout/UX Window Service"]
layout_mode = 2
theme_override_constants/separation = 32
[node name="导航栏" type="PanelContainer" parent="Layout/UX Window Service/Horizontal Layout"]
layout_mode = 2
@ -309,7 +297,7 @@ text = "打开用户手册"
icon = ExtResource("12_2u0af")
expand_icon = true
script = ExtResource("13_6a13i")
url = "http://server.bitfall.icu:3000/root/iFactory.Godot/src/branch/main/ReadMe/工业互联网标识解析与注册/标识解析步骤.md"
url = "http://server.bitfall.icu:3000/root/iFactory.Godot/src/branch/main/ReadMe/%E5%B7%A5%E4%B8%9A%E4%BA%92%E8%81%94%E7%BD%91%E6%A0%87%E8%AF%86%E8%A7%A3%E6%9E%90%E4%B8%8E%E6%B3%A8%E5%86%8C/%E6%A0%87%E8%AF%86%E8%A7%A3%E6%9E%90%E6%BC%94%E8%AE%B2%E7%A8%BF.md"
[node name="Button2" type="Button" parent="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout"]
layout_mode = 2
@ -320,6 +308,15 @@ expand_icon = true
script = ExtResource("16_p2d60")
path = "EXE"
[node name="Button3" type="Button" parent="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout"]
layout_mode = 2
theme_type_variation = &"SideTab"
text = "打开配置文件夹"
icon = ExtResource("17_ikr0s")
expand_icon = true
script = ExtResource("16_p2d60")
path = "%appdata%\\iFactory"
[node name="HSeparator" type="HSeparator" parent="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout"]
layout_mode = 2
@ -340,9 +337,9 @@ theme_override_styles/panel = SubResource("StyleBoxEmpty_clkje")
[node name="MarginContainer" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容"]
layout_mode = 2
theme_override_constants/margin_left = 64
theme_override_constants/margin_left = 32
theme_override_constants/margin_top = 64
theme_override_constants/margin_right = 64
theme_override_constants/margin_right = 32
theme_override_constants/margin_bottom = 64
[node name="标识模板" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer"]
@ -910,6 +907,7 @@ layout_mode = 2
theme_override_styles/panel = ExtResource("13_6i2vs")
[node name="Control" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Search/PanelContainer"]
visible = false
layout_mode = 2
theme_override_constants/separation = 0
@ -942,45 +940,44 @@ visible = false
z_index = 1
layout_mode = 2
[node name="ScrollContainer" type="ScrollContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析"]
custom_minimum_size = Vector2(1024, 0)
layout_mode = 2
size_flags_vertical = 3
[node name="Layout" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer"]
[node name="Layout" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_constants/separation = 16
[node name="标识解析结果" type="PanelContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout"]
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout"]
layout_mode = 2
size_flags_horizontal = 3
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果"]
[node name="标识解析结果" type="PanelContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer"]
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"Header"
text = "标识解析结果"
[node name="UXContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer"]
[node name="UXContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer"]
clip_children = 2
layout_mode = 2
theme_override_constants/separation = 0
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer"]
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer"]
visible = false
layout_mode = 2
theme_type_variation = &"Header"
text = "标识信息"
[node name="TextureRect2" type="TextureRect" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer"]
custom_minimum_size = Vector2(256, 256)
[node name="TextureRect2" type="TextureRect" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer"]
visible = false
custom_minimum_size = Vector2(128, 128)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/TextureRect2"]
[node name="TextureRect" type="TextureRect" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/TextureRect2"]
visible = false
layout_mode = 1
anchors_preset = 15
@ -990,7 +987,7 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("14_sy0v3")
[node name="Default_Icon" type="TextureRect" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/TextureRect2"]
[node name="Default_Icon" type="TextureRect" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/TextureRect2"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@ -1005,7 +1002,7 @@ grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("15_i4f2k")
[node name="Icon" type="TextureRect" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/TextureRect2"]
[node name="Icon" type="TextureRect" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/TextureRect2"]
visible = false
custom_minimum_size = Vector2(256, 256)
layout_mode = 1
@ -1018,114 +1015,151 @@ texture = ExtResource("13_jkuq8")
expand_mode = 1
stretch_mode = 6
[node name="Margin" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer"]
[node name="Margin" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"Margin_16px"
[node name="GridContainer" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin"]
[node name="GridContainer" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin"]
visible = false
layout_mode = 2
columns = 2
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer"]
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin"]
layout_mode = 2
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "标识码:"
[node name="HBoxContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer"]
layout_mode = 2
[node name="copy-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer/HBoxContainer"]
layout_mode = 2
text = "复制"
[node name="label[0]" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer/HBoxContainer"]
[node name="label[0]" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"HeaderSmall"
text = "88.123.99/xxxxxxxxxxxxxxxx"
text = "88.123.99/"
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer"]
[node name="copy-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "复制"
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "创建时间:"
[node name="label[1]" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer"]
[node name="label[1]" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"HeaderSmall"
text = "2023年7月9日14:29:10"
[node name="Label3" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer"]
[node name="Label3" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "更新时间:"
[node name="label[2]" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer"]
[node name="label[2]" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"HeaderSmall"
text = "2023年7月9日14:29:13"
[node name="Margin2" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer"]
[node name="标识解析引用" type="PanelContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"Header"
text = "标识解析引用"
[node name="Margin2" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_type_variation = &"Margin_16px"
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2"]
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2"]
visible = false
layout_mode = 2
theme_type_variation = &"HeaderSmall"
text = "引用的标识"
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2"]
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2"]
layout_mode = 2
[node name="ScrollContainer" type="ScrollContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2/VBoxContainer"]
[node name="ScrollContainer" type="ScrollContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
horizontal_scroll_mode = 0
[node name="引用标识" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2/VBoxContainer/ScrollContainer"]
[node name="引用标识" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="标识引用模板" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" instance=ExtResource("14_0l0dn")]
layout_mode = 2
[node name="标识引用模板" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("buttons", "optionButtons") instance=ExtResource("14_0l0dn")]
[node name="标识引用模板2" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" instance=ExtResource("14_0l0dn")]
layout_mode = 2
buttons = []
optionButtons = []
[node name="标识引用模板2" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("buttons", "optionButtons") instance=ExtResource("14_0l0dn")]
[node name="标识引用模板3" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" instance=ExtResource("14_0l0dn")]
layout_mode = 2
buttons = []
optionButtons = []
[node name="标识引用模板3" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("buttons", "optionButtons") instance=ExtResource("14_0l0dn")]
[node name="标识引用模板4" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" instance=ExtResource("14_0l0dn")]
layout_mode = 2
buttons = []
optionButtons = []
[node name="标识引用模板4" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("buttons", "optionButtons") instance=ExtResource("14_0l0dn")]
[node name="标识引用模板5" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" instance=ExtResource("14_0l0dn")]
layout_mode = 2
buttons = []
optionButtons = []
[node name="标识引用模板5" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("buttons", "optionButtons") instance=ExtResource("14_0l0dn")]
[node name="标识引用模板6" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("label", "button") instance=ExtResource("14_0l0dn")]
layout_mode = 2
buttons = []
optionButtons = []
label = NodePath("../标识引用模板5/Label")
button = NodePath("../标识引用模板5/Button")
[node name="标识解析数据" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout"]
[node name="标识引用模板7" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("label", "button") instance=ExtResource("14_0l0dn")]
layout_mode = 2
label = NodePath("../标识引用模板5/Label")
button = NodePath("../标识引用模板5/Button")
[node name="标识引用模板8" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("label", "button") instance=ExtResource("14_0l0dn")]
layout_mode = 2
label = NodePath("../标识引用模板5/Label")
button = NodePath("../标识引用模板5/Button")
[node name="标识引用模板9" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("label", "button") instance=ExtResource("14_0l0dn")]
layout_mode = 2
label = NodePath("../标识引用模板5/Label")
button = NodePath("../标识引用模板5/Button")
[node name="标识引用模板10" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识" node_paths=PackedStringArray("label", "button") instance=ExtResource("14_0l0dn")]
layout_mode = 2
label = NodePath("../标识引用模板5/Label")
button = NodePath("../标识引用模板5/Button")
[node name="ScrollContainer" type="ScrollContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout"]
layout_mode = 2
size_flags_horizontal = 3
[node name="标识解析数据" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/ScrollContainer"]
layout_mode = 2
theme_override_constants/h_separation = 32
theme_override_constants/v_separation = 16
columns = 2
[node name="温湿度传感器" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer"]
visible = false
layout_mode = 2
theme_override_constants/margin_left = 0
theme_override_constants/margin_top = 0
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 0
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器"]
layout_mode = 2
size_flags_horizontal = 0
theme_override_constants/separation = 32
[node name="标题栏Template" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer" instance=ExtResource("13_7vm0l")]
@ -1138,106 +1172,130 @@ text = "温湿度传感器数据采集"
text = "我们可以通过输入地址和IP快速从Modbus采集温湿度传感器的数据
也可以手动更新温湿度的标识,取决于你的使用场景"
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer"]
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderLarge"
size_flags_horizontal = 3
[node name="PanelContainer" type="PanelContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"Header"
theme_override_colors/font_color = Color(0.509804, 0.509804, 0.509804, 1)
text = "配置传感器参数"
[node name="GridContainer2" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer"]
[node name="MarginContainer" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer"]
layout_mode = 2
columns = 3
[node name="Label-0" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2"]
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 16
[node name="GridContainer2" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
columns = 2
[node name="Label-0" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
layout_mode = 2
text = "标识码:"
[node name="LineEdit-0" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2"]
custom_minimum_size = Vector2(384, 0)
[node name="LineEdit-0" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "88.123.99/xxxxxxxxxxxxxxxx"
[node name="hints-2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2"]
layout_mode = 2
text = "88.123.99开头"
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2"]
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
layout_mode = 2
text = "IP:"
[node name="LineEdit" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2"]
[node name="LineEdit" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "传感器的IP"
[node name="hints-0" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2"]
custom_minimum_size = Vector2(128, 0)
layout_mode = 2
bbcode_enabled = true
fit_content = true
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2"]
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
layout_mode = 2
text = "Port:"
[node name="LineEdit2" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2" node_paths=PackedStringArray("hints")]
[node name="LineEdit2" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "传感器的端口"
script = ExtResource("19_egw0i")
textValidation = SubResource("Resource_dtmqv")
hints = NodePath("../hints-1")
[node name="hints-1" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2"]
custom_minimum_size = Vector2(256, 0)
[node name="connect_to_modbus-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
bbcode_enabled = true
size_flags_horizontal = 3
size_flags_vertical = 3
text = "连接到Modbus"
[node name="GridContainer" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer"]
[node name="RichTextLabel" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
custom_minimum_size = Vector2(128, 0)
layout_mode = 2
theme_override_constants/h_separation = 32
theme_override_constants/v_separation = 32
columns = 3
text = "等待连接..."
fit_content = true
[node name="传感器数据模板" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer" node_paths=PackedStringArray("buttons", "optionButtons") instance=ExtResource("19_qxvds")]
[node name="HBoxContainer2" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer"]
layout_mode = 2
buttons = []
optionButtons = []
[node name="传感器数据模板2" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer" node_paths=PackedStringArray("buttons", "optionButtons") instance=ExtResource("19_qxvds")]
[node name="传感器数据模板" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/HBoxContainer2" instance=ExtResource("19_qxvds")]
layout_mode = 2
buttons = []
optionButtons = []
size_flags_horizontal = 3
[node name="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer/传感器数据模板2/VBoxContainer" index="0"]
[node name="传感器数据模板2" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/HBoxContainer2" instance=ExtResource("19_qxvds")]
layout_mode = 2
size_flags_horizontal = 3
[node name="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/HBoxContainer2/传感器数据模板2/VBoxContainer" index="0"]
text = "湿度"
[node name="Label2" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer/传感器数据模板2/VBoxContainer/MarginContainer/HBoxContainer" index="1"]
[node name="Label2" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/HBoxContainer2/传感器数据模板2/VBoxContainer/MarginContainer/HBoxContainer" index="1"]
text = "%"
[node name="自动更新提示-label" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer"]
[node name="PanelContainer2" type="PanelContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2"]
layout_mode = 2
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"Header"
text = "自动操作"
[node name="MarginContainer" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer"]
layout_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer"]
layout_mode = 2
[node name="自动更新提示-label" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
text = "正在等待自动更新"
fit_content = true
[node name="RichTextLabel" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer"]
layout_mode = 2
text = "正在等待连接到温湿度传感器..."
fit_content = true
[node name="HBoxContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer"]
[node name="HBoxContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="自动更新-button" type="CheckButton" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/HBoxContainer"]
[node name="自动更新-button" type="CheckButton" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "自动更新"
[node name="更新模式-button" type="OptionButton" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/HBoxContainer"]
[node name="更新模式-button" type="OptionButton" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
item_count = 2
selected = 0
popup/item_0/text = "更新记录"
@ -1245,75 +1303,72 @@ popup/item_0/id = 0
popup/item_1/text = "添加记录"
popup/item_1/id = 1
[node name="Control" type="Control" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/HBoxContainer"]
[node name="生成数据-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="生成数据-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "生成256条数据"
[node name="更新温湿度-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer"]
[node name="更新温湿度-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "更新温湿度"
text = "更新已获取的温湿度数据到标识"
[node name="VBoxContainer2" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer"]
[node name="PanelContainer3" type="PanelContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="VBoxContainer2" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3"]
layout_mode = 2
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2"]
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2"]
layout_mode = 2
theme_type_variation = &"HeaderLarge"
theme_type_variation = &"Header"
theme_override_colors/font_color = Color(0.509804, 0.509804, 0.509804, 1)
text = "手动提交数据"
[node name="GridContainer2" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2"]
[node name="MarginContainer" type="MarginContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2"]
layout_mode = 2
columns = 3
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/GridContainer2"]
[node name="VBoxContainer" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer"]
layout_mode = 2
[node name="Label" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer"]
layout_mode = 2
text = "有时候我们会需要手动提交一些数据"
[node name="HBoxContainer" type="HBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="GridContainer2" type="GridContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
columns = 2
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
layout_mode = 2
text = "温度:"
[node name="LineEdit2" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/GridContainer2" node_paths=PackedStringArray("hints")]
[node name="LineEdit2" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
custom_minimum_size = Vector2(384, 0)
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "42"
script = ExtResource("19_egw0i")
textValidation = SubResource("Resource_di31i")
hints = NodePath("../hints-1")
[node name="hints-1" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/GridContainer2"]
custom_minimum_size = Vector2(128, 0)
layout_mode = 2
bbcode_enabled = true
text = "输入正确的温度"
fit_content = true
[node name="Label3" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/GridContainer2"]
[node name="Label3" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
layout_mode = 2
text = "湿度:"
[node name="LineEdit3" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/GridContainer2" node_paths=PackedStringArray("hints")]
[node name="LineEdit3" type="LineEdit" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2"]
custom_minimum_size = Vector2(384, 0)
layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "50"
script = ExtResource("19_egw0i")
textValidation = SubResource("Resource_di31i")
hints = NodePath("../hints-2")
[node name="hints-2" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/GridContainer2"]
custom_minimum_size = Vector2(128, 0)
[node name="更新温湿度-button2" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
bbcode_enabled = true
text = "提交温湿度"
[node name="更新温湿度-button2" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2"]
layout_mode = 2
text = "更新温湿度标识"
[node name="Label3" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2"]
[node name="Label3" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer"]
layout_mode = 2
text = "等待更新中"
fit_content = true
@ -1831,12 +1886,12 @@ searchCandidateContainer = NodePath("../Layout/UX Window Service/Horizontal Layo
searchButtonVariation = SubResource("Resource_ktam2")
searchEditPadding = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/占位符")
searchButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Search/SearchEdit/HBoxContainer/refresh-button")
copyHandleButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer/HBoxContainer/copy-button")
handleLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer/HBoxContainer/label[0]")
createTimeLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer/label[1]")
updateTimeLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin/GridContainer/label[2]")
valueContainer = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析数据")
referenceContainer = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/ScrollContainer/Layout/标识解析结果/VBoxContainer/UXContainer/Margin2/VBoxContainer/ScrollContainer/引用标识")
copyHandleButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer/HBoxContainer/copy-button")
handleLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer/HBoxContainer/label[0]")
createTimeLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer/label[1]")
updateTimeLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析结果/VBoxContainer/UXContainer/Margin/VBoxContainer/label[2]")
valueContainer = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/ScrollContainer/标识解析数据")
referenceContainer = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识解析/Layout/VBoxContainer/标识解析引用/VBoxContainer/Margin2/VBoxContainer/ScrollContainer/引用标识")
valueTemplate = ExtResource("19_abuse")
referenceTemplate = ExtResource("14_0l0dn")
categoryTemplate = ExtResource("20_kicyn")
@ -1845,23 +1900,24 @@ categoryTemplate = ExtResource("20_kicyn")
script = ExtResource("30_jn688")
service = NodePath("../标识解析服务")
thReader = NodePath("../温湿度传感器Reader")
submitButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/更新温湿度-button2")
autoUpdateButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/HBoxContainer/自动更新-button")
updateModeButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/HBoxContainer/更新模式-button")
handleEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2/LineEdit-0")
temperatureEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/GridContainer2/LineEdit2")
humidityEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/GridContainer2/LineEdit3")
hintsLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer2/Label3")
autoUpdateLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/自动更新提示-label")
submitButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer/更新温湿度-button2")
autoUpdateButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/自动更新-button")
updateModeButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/更新模式-button")
handleEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2/LineEdit-0")
temperatureEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2/LineEdit2")
humidityEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2/LineEdit3")
hintsLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/PanelContainer3/VBoxContainer2/MarginContainer/VBoxContainer/Label3")
autoUpdateLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer/自动更新提示-label")
[node name="温湿度传感器Reader" type="Node" parent="." node_paths=PackedStringArray("temperatureContaier", "humidityContainer", "ipEdit", "portEdit", "hintsLabel")]
[node name="温湿度传感器Reader" type="Node" parent="." node_paths=PackedStringArray("connectToModbusButton", "temperatureContainer", "humidityContainer", "ipEdit", "portEdit", "hintsLabel")]
script = ExtResource("27_q8j7q")
interval = 1000
temperatureContaier = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer/传感器数据模板")
humidityContainer = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer/传感器数据模板2")
ipEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2/LineEdit")
portEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2/LineEdit2")
hintsLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/RichTextLabel")
connectToModbusButton = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/connect_to_modbus-button")
temperatureContainer = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/HBoxContainer2/传感器数据模板")
humidityContainer = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/HBoxContainer2/传感器数据模板2")
ipEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2/LineEdit")
portEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2/LineEdit2")
hintsLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/RichTextLabel")
[node name="标识模板生成器" type="Node" parent="." node_paths=PackedStringArray("indexBuilder", "formBuilder", "createTemplateButton", "templateBody")]
script = ExtResource("38_fhmdw")
@ -1902,7 +1958,7 @@ logLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/Margin
[node name="温湿度数据生成" type="Node" parent="." node_paths=PackedStringArray("_lineEdit")]
script = ExtResource("45_pngx2")
count = 256
_lineEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2/LineEdit-0")
_lineEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/GridContainer2/LineEdit-0")
[node name="模拟生产任务服务" type="Node" parent="."]
script = ExtResource("50_1qkmw")
@ -1921,8 +1977,9 @@ templateName = "订单信息"
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button" to="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button" method="Execute"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button2" to="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button2" method="Execute"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button3" to="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button3" method="Execute"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button5" to="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button5" method="Return"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/HBoxContainer/生成数据-button" to="温湿度数据生成" method="Excute"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer2/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/生成数据-button" to="温湿度数据生成" method="Excute"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板注册器/HBoxContainer/VBoxContainer3/Button" to="标识模板注册器" method="Rebuild"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/start-button" to="自动注册标识" method="Register"]
@ -1933,7 +1990,7 @@ templateName = "订单信息"
[editable path="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标注注册/VBoxContainer/HBoxContainer/VBoxContainer2/HBoxContainer/注册标识-标识码"]
[editable path="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识更新/Layout/HBoxContainer/VBoxContainer/LineEditTemplate"]
[editable path="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/标题栏Template"]
[editable path="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer/传感器数据模板2"]
[editable path="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/HBoxContainer/VBoxContainer/HBoxContainer2/传感器数据模板2"]
[editable path="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/标题栏Template"]
[editable path="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板注册器/标题栏Template"]
[editable path="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/标题栏Template"]

View File

@ -38,8 +38,8 @@
### 接下来,我们将基于刚刚创建的标识模板,为温湿度传感器进行标识注册
* 点击侧边栏的`标识注册`
* 点击`刷新`按钮
* 点击已创建的`温湿度记录模板`
* 在标识中添加温湿度记录的标识,例如:`8.123.99/sensorRecord`
* 点击已创建的`温湿度传感器模板`
* 在标识中添加温湿度记录的标识,例如:`8.123.99/th.sensor`
* 根据已定义的表单,填写需要的信息
> 当然了,温湿度传感器的温度和湿度不需要填写,因为是基于设备自动注册的
* 点击`注册`按钮