diff --git a/EXE/温湿度传感器预设.mbs b/EXE/温湿度传感器预设.mbs
new file mode 100644
index 0000000..4a2a27e
Binary files /dev/null and b/EXE/温湿度传感器预设.mbs differ
diff --git a/Mods/工业数据采集与分析应用分享/Scripts/IDIS_THService.cs b/Mods/工业数据采集与分析应用分享/Scripts/IDIS_THService.cs
index 5d17cc9..01ae597 100644
--- a/Mods/工业数据采集与分析应用分享/Scripts/IDIS_THService.cs
+++ b/Mods/工业数据采集与分析应用分享/Scripts/IDIS_THService.cs
@@ -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;
diff --git a/Mods/工业数据采集与分析应用分享/Scripts/温湿度Reader.cs b/Mods/工业数据采集与分析应用分享/Scripts/温湿度Reader.cs
index 7c64d29..e51b0ea 100644
--- a/Mods/工业数据采集与分析应用分享/Scripts/温湿度Reader.cs
+++ b/Mods/工业数据采集与分析应用分享/Scripts/温湿度Reader.cs
@@ -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;
}
-
- if (ipEdit is not null)
+ ipEdit.TextChanged+=s=>ip=s;
+ portEdit.TextChanged+=s=>
{
- ipEdit.TextChanged += s => ip = s;
- ipEdit.TextSubmitted +=s=> UpdatePortAndIP();
- }
- if(portEdit is not null)
- {
- portEdit.TextSubmitted += OnPortChanged;
- void OnPortChanged(string s)
+ try
{
- UpdatePortAndIP();
- if (int.TryParse(s,out var newPort))
- {
- }
- else
- {
- portEdit.Text=string.Empty;
- portEdit.PlaceholderText = "请输入正确的端口号";
- }
+ port = int.Parse(s);
}
- }
-
- UpdatePortAndIP();
+ catch (Exception e)
+ {
+ hintsLabel.SetTextAsync(e.Message);
+ }
+ };
+ connectToModbusButton.Pressed += Connect;
+
+ Connect();
timer = new Timer();
timer.Interval = interval;
@@ -86,9 +78,9 @@ public partial class 温湿度Reader : Node
timer.Stop();
}
///
- /// 内部方法,用于更新IP和端口
+ /// 连接到Modbus
///
- 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);
}
-
}
///
/// 内部方法,定时器回调用于读取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();
diff --git a/Mods/工业数据采集与分析应用分享/Templates/TrackContainer.tscn b/Mods/工业数据采集与分析应用分享/Templates/TrackContainer.tscn
index 9f72f5a..c200408 100644
--- a/Mods/工业数据采集与分析应用分享/Templates/TrackContainer.tscn
+++ b/Mods/工业数据采集与分析应用分享/Templates/TrackContainer.tscn
@@ -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 = []
diff --git a/Mods/工业数据采集与分析应用分享/Templates/传感器数据模板.tscn b/Mods/工业数据采集与分析应用分享/Templates/传感器数据模板.tscn
index 3333643..95504ed 100644
--- a/Mods/工业数据采集与分析应用分享/Templates/传感器数据模板.tscn
+++ b/Mods/工业数据采集与分析应用分享/Templates/传感器数据模板.tscn
@@ -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
diff --git a/Mods/工业数据采集与分析应用分享/Templates/关联标识.tscn b/Mods/工业数据采集与分析应用分享/Templates/关联标识.tscn
index e172da3..880da54 100644
--- a/Mods/工业数据采集与分析应用分享/Templates/关联标识.tscn
+++ b/Mods/工业数据采集与分析应用分享/Templates/关联标识.tscn
@@ -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
diff --git a/Mods/工业数据采集与分析应用分享/Templates/标识引用模板.tscn b/Mods/工业数据采集与分析应用分享/Templates/标识引用模板.tscn
index 0bd49a2..7425f4b 100644
--- a/Mods/工业数据采集与分析应用分享/Templates/标识引用模板.tscn
+++ b/Mods/工业数据采集与分析应用分享/Templates/标识引用模板.tscn
@@ -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)
diff --git a/Mods/工业数据采集与分析应用分享/标识注册与解析.tscn b/Mods/工业数据采集与分析应用分享/标识注册与解析.tscn
index 43832b8..76ca0af 100644
--- a/Mods/工业数据采集与分析应用分享/标识注册与解析.tscn
+++ b/Mods/工业数据采集与分析应用分享/标识注册与解析.tscn
@@ -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"]
diff --git a/ReadMe/工业互联网标识解析与注册/标识解析演讲稿.md b/ReadMe/工业互联网标识解析与注册/标识解析演讲稿.md
index e30d10d..997b46d 100644
--- a/ReadMe/工业互联网标识解析与注册/标识解析演讲稿.md
+++ b/ReadMe/工业互联网标识解析与注册/标识解析演讲稿.md
@@ -38,8 +38,8 @@
### 接下来,我们将基于刚刚创建的标识模板,为温湿度传感器进行标识注册
* 点击侧边栏的`标识注册`
* 点击`刷新`按钮
-* 点击已创建的`温湿度记录模板`
-* 在标识中添加温湿度记录的标识,例如:`8.123.99/sensorRecord`
+* 点击已创建的`温湿度传感器模板`
+* 在标识中添加温湿度记录的标识,例如:`8.123.99/th.sensor`
* 根据已定义的表单,填写需要的信息
> 当然了,温湿度传感器的温度和湿度不需要填写,因为是基于设备自动注册的
* 点击`注册`按钮