From 2e889843b4c171f2d6ad8e0d53084040703d11f6 Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 09 十一月 2026 13:18:21 +0800
Subject: [PATCH] docs: CAN 总线级应答器 + 硬件调试页多标签多会话 设计规格

---
 SimpleUtil/HMI.Simple.Util/ParameterUtil.cs |   91 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 72 insertions(+), 19 deletions(-)

diff --git a/SimpleUtil/HMI.Simple.Util/ParameterUtil.cs b/SimpleUtil/HMI.Simple.Util/ParameterUtil.cs
index 25b24ae..8e1054e 100644
--- a/SimpleUtil/HMI.Simple.Util/ParameterUtil.cs
+++ b/SimpleUtil/HMI.Simple.Util/ParameterUtil.cs
@@ -9,11 +9,11 @@
     public class ParameterUtil
     {
         /// <summary>
-        /// 
+        /// 鏍规嵁璺緞鍜屽弬鏁板悕鑾峰彇鍙傛暟鍊�
         /// </summary>
-        /// <param name="path"></param>
-        /// <param name="name"></param>
-        /// <returns></returns>
+        /// <param name="path">璺緞</param>
+        /// <param name="name">鍙傛暟鍚�</param>
+        /// <returns>鍙傛暟鍊�</returns>
         public static string GetCommonParameterValue(string path, string name)
         {
             if (!File.Exists(path)) return null;
@@ -26,8 +26,8 @@
         /// <summary>
         /// 鑾峰彇HMI閲岄厤缃殑鍙傛暟
         /// </summary>
-        /// <param name="name"></param>
-        /// <returns></returns>
+        /// <param name="name">鍙傛暟鍚�</param>
+        /// <returns>鍙傛暟鍊�</returns>
         public static string GetCommonParameterValue(string name, out string errMsg)
         {
             errMsg = string.Empty;
@@ -59,21 +59,72 @@
         private static void WriteParameterData(SequenceContext context, ParameterData data)
         {
             string prefix = "SystemSetting";
-            if (data.Type == "Bool")
+
+            if (data.IsArray)
             {
-                context.StationGlobals.SetValBoolean($"{prefix}.{data.Name}", 1, bool.Parse(data.Value));
-            }
-            else if (data.Type == "Int")
-            {
-                context.StationGlobals.SetValNumber($"{prefix}.{data.Name}", 1, int.Parse(data.Value));
-            }
-            else if (data.Type == "Double")
-            {
-                context.StationGlobals.SetValNumber($"{prefix}.{data.Name}", 1, double.Parse(data.Value));
+                PropertyValueTypes type;
+                if (data.Type == "Bool")
+                {
+                    type = PropertyValueTypes.PropValType_Boolean;
+                }
+                else if (data.Type == "Int")
+                {
+                    type = PropertyValueTypes.PropValType_Number;
+                }
+                else if (data.Type == "Double")
+                {
+                    type = PropertyValueTypes.PropValType_Number;
+                }
+                else
+                {
+                    type = PropertyValueTypes.PropValType_String;
+                }
+                string[] arr = data.Value?.Split(',') ?? new string[0];
+                if (arr.Length > 0)
+                {
+                    context.StationGlobals.DeleteSubProperty($"{prefix}.{data.Name}", 2);
+
+                    context.StationGlobals.NewSubProperty($"{prefix}.{data.Name}", type, true, null, 1);
+                    context.StationGlobals.GetPropertyObject($"{prefix}.{data.Name}", 0).SetNumElements(arr.Length);
+                    for (int i = 0; i < arr.Length; i++)
+                    {
+                        if (type == PropertyValueTypes.PropValType_String)
+                        {
+                            context.StationGlobals.SetValString($"{prefix}.{data.Name}[{i}]", 0, arr[i]);
+                        }
+                        if (data.Type == "Int")
+                        {
+                            context.StationGlobals.SetValNumber($"{prefix}.{data.Name}[{i}]", 0, int.Parse(arr[i]));
+                        }
+                        if (data.Type == "Double")
+                        {
+                            context.StationGlobals.SetValNumber($"{prefix}.{data.Name}[{i}]", 0, double.Parse(arr[i]));
+                        }
+                        if (data.Type == "Bool")
+                        {
+                            context.StationGlobals.SetValBoolean($"{prefix}.{data.Name}[{i}]", 0, bool.Parse(arr[i]));
+                        }
+                    }
+                }
             }
             else
             {
-                context.StationGlobals.SetValString($"{prefix}.{data.Name}", 1, data.Value);
+                if (data.Type == "Bool")
+                {
+                    context.StationGlobals.SetValBoolean($"{prefix}.{data.Name}", 1, bool.Parse(data.Value));
+                }
+                else if (data.Type == "Int")
+                {
+                    context.StationGlobals.SetValNumber($"{prefix}.{data.Name}", 1, int.Parse(data.Value));
+                }
+                else if (data.Type == "Double")
+                {
+                    context.StationGlobals.SetValNumber($"{prefix}.{data.Name}", 1, double.Parse(data.Value));
+                }
+                else
+                {
+                    context.StationGlobals.SetValString($"{prefix}.{data.Name}", 1, data.Value);
+                }
             }
         }
 
@@ -101,8 +152,10 @@
         /// <summary>
         /// 灏嗗弬鏁板啓杩汦ngine鐨凷tationGlobals.StationState
         /// </summary>
-        /// <param name="name"></param>
-        /// <returns></returns>
+        /// <param name="xmlPath">缁濆璺緞</param>
+        /// <param name="instance">TestStand涓婁笅鏂�</param>
+        /// <param name="errMsg">寮傚父淇℃伅</param>
+        /// <returns>鏄惁鎴愬姛</returns>
         public static bool WriteConfigToContext(string xmlPath, object instance, out string errMsg)
         {
             errMsg = string.Empty;

--
Gitblit v1.9.1