From ef52fd6fd07508883dce4eb002acda59f0169e59 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 23 四月 2026 10:19:33 +0800
Subject: [PATCH] 优化;
---
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 7b86228..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.SetValInteger64($"{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