hwh
2024-09-03 c56d28d684cee010f291295dbe851bab64c1b6a6
Admin.NET/WCS.Application/PLC/PLCUtil.cs
@@ -13,7 +13,7 @@
    public readonly long PlcId;
    private SiemensClient _client;
    private WcsPlc _modPlc;
    private readonly object OLock = new object();
    public PLCUtil(WcsPlc modPlc)
    {
        PlcId = modPlc.Id;
@@ -41,6 +41,8 @@
    /// <param name="Pos">偏移量/地址</param>
    /// <returns></returns>
    public (IoTClient.Result, dynamic value) GetPlcDBValue(PLCDataTypeEnum PosType, string DbNumber, string Pos)
    {
        lock (OLock)
    {
        string address;
        if (DbNumber.StartsWith("DB"))
@@ -89,11 +91,14 @@
        }
        return (result, result.Value);
    }
    }
    /// <summary>
    /// 批量读取PLC值
    /// </summary>
    /// <returns></returns>
    public Result<Dictionary<string, object>> GetPlcBatchDBValue(Dictionary<string, PLCDataTypeEnum> listaddress)
    {
        lock (OLock)
    {
        Dictionary<string, DataTypeEnum> addresses = new Dictionary<string, DataTypeEnum>();
        foreach (var address in listaddress)
@@ -139,6 +144,7 @@
        }
        return _client.BatchRead(addresses);
    }
    }
    /// <summary>
    /// 写入PLC值
    /// </summary>