|
@@ -9,6 +9,7 @@ using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
using Kede;
|
|
|
using Newtonsoft.Json.Linq;
|
|
|
+using System.IO;
|
|
|
namespace TestAgreement.utils
|
|
|
{
|
|
|
internal class OpcUaUtils
|
|
@@ -63,7 +64,64 @@ namespace TestAgreement.utils
|
|
|
List<string> valuesList = new List<string>();
|
|
|
for (int i = 0; i < values.Count; i++)
|
|
|
{
|
|
|
- valuesList.Add(values[i].ToString());
|
|
|
+ if (values[i].ToString().Contains(";")){
|
|
|
+ string[] parts = values[i].ToString().Split(";");
|
|
|
+ // 创建字典来存储解析后的数据
|
|
|
+ Dictionary<string, string> data = new Dictionary<string, string>();
|
|
|
+ string mon = null;
|
|
|
+ // 逐个处理键值对
|
|
|
+ foreach (string part in parts)
|
|
|
+ {
|
|
|
+ if (part.StartsWith("MON"))//0-关闭;1-时间;2-磨损量;3-计件
|
|
|
+ {
|
|
|
+ mon = part.Substring(3);
|
|
|
+ data["mon"] = part.Substring(3);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (part.StartsWith("NUM"))//刀具号
|
|
|
+ {
|
|
|
+ data["number"] = part.Substring(3);
|
|
|
+ }
|
|
|
+ else if (part.StartsWith("NAM"))//刀具名
|
|
|
+ {
|
|
|
+ data["name"] = part.Substring(3);
|
|
|
+ }
|
|
|
+ else if (part.StartsWith("LIF"))//刀具磨损量
|
|
|
+ {
|
|
|
+ data["wear"] = part.Substring(3);
|
|
|
+ }
|
|
|
+ else if (part.StartsWith("ALM") && mon == "1")//刀具寿命预警
|
|
|
+ {
|
|
|
+ data["warnLife"] = part.Substring(3);
|
|
|
+ }
|
|
|
+ else if (part.StartsWith("TAR"))//刀具寿命目标值
|
|
|
+ {
|
|
|
+ data["targetLife"] = part.Substring(3);
|
|
|
+ }
|
|
|
+ else if (part.StartsWith("STR"))//刀具半径
|
|
|
+ {
|
|
|
+ data["toolRadius"] = part.Substring(3);
|
|
|
+ }
|
|
|
+ else if (part.StartsWith("EDP")) //刀具位置
|
|
|
+ {
|
|
|
+ data["toolPosition"] = part.Substring(3);
|
|
|
+ }
|
|
|
+ else if (part.StartsWith("ALM") && mon == "2")//刀具磨损量预警
|
|
|
+ {
|
|
|
+ data["wearWarn"] = part.Substring(3);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // 将字典转换为JSON格式的字符串
|
|
|
+ string json = JsonConvert.SerializeObject(data, Formatting.Indented);
|
|
|
+ valuesList.Add(json);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ valuesList.Add(values[i].ToString());
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|
|
|
responseBody.values = valuesList;
|