1
hwh
2024-08-23 3d1df57ccc06c0c84813fac71f19ee5a4187b3da
Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -12,32 +12,47 @@
        switch (mod.Type)
        {
            case PLCTypeEnum.StackingMachine:
                if (mod.Value == 820)
                //写死测试读string
                var (res, val) = mod.PLCUtil.GetPlcDBValue(PLCDataTypeEnum.String, "DB100", "64");
                Console.WriteLine("DB100.64----" + val);
                //测试批量读取
                Dictionary<string, PLCDataTypeEnum> listaddress = new Dictionary<string, PLCDataTypeEnum>();
                foreach (var modStation in mod.listStation)
                {
                    //测试写入830
                    var result = mod.PLCUtil.SetPlcDBValue(mod.PosType.Value, mod.DbNumber, mod.PlcPos, "830");
                    //写入是否成功
                    if (result.IsSucceed)
                    listaddress.Add(modStation.PlcPos, modStation.PosType.Value);
                }
                var result = mod.PLCUtil.GetPlcBatchDBValue(listaddress);
                if (result.Value.Count > 0)
                {
                    foreach (var value in result.Value)
                    {
                        Console.WriteLine("地址" + value.Key + "----值" + value, value);
                    }
                }
                if (!result.IsSucceed)
                {
                    foreach (var err in result.ErrList)
                    {
                        Console.WriteLine(err);
                    }
                    if (result.Value.Count > 0)//有错误的也有成功的
                    {
                    }
                }
                if (mod.Value == 820)
                {
                    //测试写入830
                    //var result = mod.PLCUtil.SetPlcDBValue(mod.PosType.Value, mod.DbNumber, mod.PlcPos, "830");
                    ////写入是否成功
                    //if (result.IsSucceed)
                    //{
                    //}
                }
                else if (mod.Value == 840)
                {
                    //测试批量读取
                    Dictionary<string, PLCDataTypeEnum> listaddress = new Dictionary<string, PLCDataTypeEnum>();
                    foreach (var modStation in mod.listStation)
                    {
                        listaddress.Add(modStation.PlcPos, modStation.PosType.Value);
                    }
                    var result = mod.PLCUtil.GetPlcBatchDBValue(listaddress);
                    if (!result.IsSucceed)
                    {
                        if (result.Value.Count > 0)//有错误的也有成功的
                        {
                        }
                    }
                }
                else if (mod.Value == 860)
                {