From d930588fc2f2e791676d22b5ae605d495ae120f4 Mon Sep 17 00:00:00 2001
From: hanqiangqiang <1364346467@qq.com>
Date: Mon, 6 Jul 2026 16:55:42 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86PLC=20DB=E5=9D=97=E5=AF=B9?=
=?UTF-8?q?=E5=BA=94=E5=85=B3=E7=B3=BB=EF=BC=8C=E6=95=B4=E7=90=86IO?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E4=B8=AD=E5=B1=82=E7=BA=A7=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../SicModules/Config/PM/PM1/_ioDefinePM1.xml | 258 +--
.../SicModules/Config/PM/PM2/_ioDefinePM2.xml | 1791 ++++++++---------
App/SicRT/Config/IoProviderConfig.xml | 24 -
.../Common/IOCore/NotifiableIoItem.cs | 47 +-
.../Controls/ModuleStatusIndicator.xaml | 94 +-
.../DeviceControl/AITSignalTower.xaml | 136 +-
6 files changed, 1138 insertions(+), 1212 deletions(-)
diff --git a/App/Modules/SicModules/Config/PM/PM1/_ioDefinePM1.xml b/App/Modules/SicModules/Config/PM/PM1/_ioDefinePM1.xml
index 40a80f3..fce4e2f 100644
--- a/App/Modules/SicModules/Config/PM/PM1/_ioDefinePM1.xml
+++ b/App/Modules/SicModules/Config/PM/PM1/_ioDefinePM1.xml
@@ -591,53 +591,56 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -776,85 +779,88 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/App/Modules/SicModules/Config/PM/PM2/_ioDefinePM2.xml b/App/Modules/SicModules/Config/PM/PM2/_ioDefinePM2.xml
index 9c45c58..fce4e2f 100644
--- a/App/Modules/SicModules/Config/PM/PM2/_ioDefinePM2.xml
+++ b/App/Modules/SicModules/Config/PM/PM2/_ioDefinePM2.xml
@@ -1,933 +1,866 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/App/SicRT/Config/IoProviderConfig.xml b/App/SicRT/Config/IoProviderConfig.xml
index 4cd56ee..028b7b5 100644
--- a/App/SicRT/Config/IoProviderConfig.xml
+++ b/App/SicRT/Config/IoProviderConfig.xml
@@ -33,12 +33,6 @@
-
-
-
-
-
-
@@ -54,12 +48,6 @@
-
-
-
-
-
-
@@ -86,12 +74,6 @@
-
-
-
-
-
-
@@ -104,12 +86,6 @@
-
-
-
-
-
-
diff --git a/Framework/MECF.Framework.Common/MECF/Framework/Common/IOCore/NotifiableIoItem.cs b/Framework/MECF.Framework.Common/MECF/Framework/Common/IOCore/NotifiableIoItem.cs
index 32ce0c7..60c34e2 100644
--- a/Framework/MECF.Framework.Common/MECF/Framework/Common/IOCore/NotifiableIoItem.cs
+++ b/Framework/MECF.Framework.Common/MECF/Framework/Common/IOCore/NotifiableIoItem.cs
@@ -59,26 +59,35 @@ namespace MECF.Framework.Common.IOCore
public object Clone()
{
- return new NotifiableIoItem
+ try
{
- Address = Address,
- BlockIndex = BlockIndex,
- BlockOffset = BlockOffset,
- BoolValue = BoolValue,
- Description = Description,
- Display_En = Display_En,
- Display_Zh = Display_Zh,
- AltName = AltName,
- HoldValue = HoldValue,
- Index = Index,
- Name = Name,
- Provider = Provider,
- ShortValue = ShortValue,
- FloatValue = FloatValue,
- IntValue = IntValue,
- StringValue = StringValue,
- Visible = Visible
- };
+ return new NotifiableIoItem
+ {
+ Address = Address,
+ BlockIndex = BlockIndex,
+ BlockOffset = BlockOffset,
+ BoolValue = BoolValue,
+ Description = Description,
+ Display_En = Display_En,
+ Display_Zh = Display_Zh,
+ AltName = AltName,
+ HoldValue = HoldValue,
+ Index = Index,
+ Name = Name,
+ Provider = Provider,
+ ShortValue = ShortValue,
+ FloatValue = FloatValue,
+ IntValue = IntValue,
+ StringValue = StringValue,
+ Visible = Visible
+ };
+ }
+ catch (Exception ex)
+ {
+
+ throw;
+ }
+
}
}
}
diff --git a/Framework/MECF.Framework.UI.Client/Ctrlib/Controls/ModuleStatusIndicator.xaml b/Framework/MECF.Framework.UI.Client/Ctrlib/Controls/ModuleStatusIndicator.xaml
index 6c19701..e811929 100644
--- a/Framework/MECF.Framework.UI.Client/Ctrlib/Controls/ModuleStatusIndicator.xaml
+++ b/Framework/MECF.Framework.UI.Client/Ctrlib/Controls/ModuleStatusIndicator.xaml
@@ -1,73 +1,75 @@
-
+
-
-
-
-
+
+
+
+
-
+
-
+ Visibility="{Binding HasWarning, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter=True}" />
+ TextWrapping="Wrap" />
-
+
diff --git a/Framework/MECF.Framework.UI.Core/DeviceControl/AITSignalTower.xaml b/Framework/MECF.Framework.UI.Core/DeviceControl/AITSignalTower.xaml
index 43125b1..7d3bbe0 100644
--- a/Framework/MECF.Framework.UI.Core/DeviceControl/AITSignalTower.xaml
+++ b/Framework/MECF.Framework.UI.Core/DeviceControl/AITSignalTower.xaml
@@ -8,7 +8,7 @@
d:DesignWidth="30"
mc:Ignorable="d">
-
+
@@ -19,105 +19,105 @@
+ Name="rectangle1"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Width="30"
+ Height="20"
+ VerticalAlignment="Top"
+ Source="pack://application:,,,/MECF.Framework.UI.Core;component/Resources/red.png"
+ Stretch="Fill">
+ BlurRadius="20"
+ Opacity="1"
+ RenderingBias="Performance"
+ ShadowDepth="0"
+ Color="Red" />
+ Name="rectangle2"
+ Grid.Row="1"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Width="30"
+ Height="20"
+ VerticalAlignment="Bottom"
+ PreviewMouseDown="rectangle2_PreviewMouseDown"
+ Source="pack://application:,,,/MECF.Framework.UI.Core;component/Resources/yellow.png"
+ Stretch="Fill">
+ BlurRadius="20"
+ Opacity="1"
+ RenderingBias="Performance"
+ ShadowDepth="0"
+ Color="Green" />
+ Name="rectangle3"
+ Grid.Row="2"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Width="30"
+ Source="pack://application:,,,/MECF.Framework.UI.Core;component/Resources/Lime.png"
+ Stretch="Fill">
+ BlurRadius="20"
+ Opacity="1"
+ RenderingBias="Performance"
+ ShadowDepth="0"
+ Color="Green" />
+ Name="rectangle4"
+ Grid.Row="3"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Width="30"
+ Height="20"
+ Source="pack://application:,,,/MECF.Framework.UI.Core;component/Resources/Blue.png"
+ Stretch="Fill"
+ Visibility="Hidden">
+ BlurRadius="20"
+ Opacity="1"
+ RenderingBias="Performance"
+ ShadowDepth="0"
+ Color="Green" />
+ Name="rectangle5"
+ Grid.Row="3"
+ Canvas.Left="0"
+ Canvas.Top="0"
+ Width="30"
+ Height="30"
+ Source="pack://application:,,,/MECF.Framework.UI.Core;component/Resources/lights.png"
+ Stretch="Fill">
+ BlurRadius="20"
+ Opacity="1"
+ RenderingBias="Performance"
+ ShadowDepth="0"
+ Color="White" />