using HslCommunication; using System; using System.Collections.Generic; using System.Text; using WIDESEA_Core.EFDbContext; using WIDESEA_Services.IRepositories; using WIDESEA_Services.Repositories; using WIDESEA_WCS.WCSClient; namespace WIDESEA_WCS.SchedulerExecute.AGV { public partial class AGVSchedulerExecute { public static void AgvAndEquiWorkHKF() { WIDESEA_Common.Tools.WriteLog.GetLog("信号传递HKF").Write($"Info:“开始”+{DateTime.Now}", "信号传递HKF"); VOLContext Context = new VOLContext(); Idt_plcinfodetailRepository plcdetailRep = new dt_plcinfodetailRepository(Context); Idt_plcinfoheadRepository plcheadRep = new dt_plcinfoheadRepository(Context); //PLCClient agvplc = WCSService.Clients.Find(v => v.PLCName == "正极1号AGV"); //PLCClient fagvplc = WCSService.Clients.Find(v => v.PLCName == "负极1号AGV"); //PLCClient agvthreeplc = WCSService.Clients.Find(v => v.PLCName == "正极2号AGV"); PLCClient fagvthreeplchk = WCSService.Clients.Find(v => v.PLCName == "负极2号AGV"); #region 负极1-2烘烤设备信号传递 int hkfornum = 0; double agvthreedbaFGT1 = 8893.6; double agvthreedbaFGT2 = 8893.7; double agvthreedbaFGT3 = 9093.6; double agvthreedbaFGT4 = 9093.7; double agvdbFa = 8894.0; double agvdbFb = 8895.0; double agvdbFc = 8896.0; double agvdbFd = 8897.0; double agvdbFe = 8898.0; double agvdbFf = 8994.0; double agvdbFg = 8995.0; double agvdbFh = 8996.0; double agvdbFi = 8997.0; double agvdbFj = 9094.0; double agvdbFk = 9095.0; double agvdbFl = 9096.0; double agvdbFm = 9194.0; double agvdbFq = 9195.0; double agvdbFr = 9196.0; double agvdbFs = 9197.0; double agvdbFt = 9198.0; double agvdbFx = 9199.0; double agvdbFy = 8992.2; double agvdbFz = 9192.2; List FHKFQSBMegS = new List { "负极1号烘烤机", "负极2号烘烤机" }; foreach (var FHKSB in FHKFQSBMegS) { if (fagvthreeplchk == null) break; PLCClient FHSSBone = WCSService.Clients.Find(v => v.PLCName == FHKSB); if (FHSSBone == null) { hkfornum += 400; WIDESEA_Common.Tools.WriteLog.GetLog("信号传递HKF").Write($"Info:“设备未连接”+{FHKSB}", "信号传递HKF"); continue; } //读烘烤滚筒是否转动 OperateResult RHKupFGTZ1 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YC"); OperateResult RHKupFGTZ2 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YD"); OperateResult RHKupFGTZ3 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YE"); OperateResult RHKupFGTZ4 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YF"); //写AGV滚筒转动 OperateResult WupresultGTZ1 = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaFGT1 + hkfornum), RHKupFGTZ1.Content); WupresultGTZ1 = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaFGT2 + hkfornum), RHKupFGTZ2.Content); WupresultGTZ1 = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaFGT3 + hkfornum), RHKupFGTZ3.Content); WupresultGTZ1 = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaFGT4 + hkfornum), RHKupFGTZ4.Content); //读烘烤入料 OperateResult RFHKupa = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); if (!RFHKupa.IsSuccess) { continue; } OperateResult RFHKupb = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D15"); OperateResult RFHKupc = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1961"); OperateResult RFHKupd = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1950"); OperateResult RFHKupe = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1951"); //写AGV入料 OperateResult Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbFa + hkfornum), byte.Parse(RFHKupa.Content.ToString())); Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbFb + hkfornum), byte.Parse(RFHKupb.Content.ToString())); Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbFc + hkfornum), byte.Parse(RFHKupc.Content.ToString())); Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbFd + hkfornum), byte.Parse(RFHKupd.Content.ToString())); Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbFe + hkfornum), byte.Parse(RFHKupe.Content.ToString())); //读AGV入料 OperateResult RFAGVa = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFf + hkfornum)); OperateResult RFAGVb = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFg + hkfornum)); OperateResult RFAGVc = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFh + hkfornum)); OperateResult RFAGVd = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFi + hkfornum)); OperateResult RFAGVe = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdbFy + hkfornum)); //写烘烤入料 OperateResult Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RFAGVa.Content); Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RFAGVb.Content); Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RFAGVc.Content); Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RFAGVd.Content); Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RFAGVe.Content); //读烘烤出料 OperateResult RFHKdowna = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); OperateResult RFHKdownb = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35"); OperateResult RFHKdownc = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962"); //写AGV出料 OperateResult Wdownresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbFj + hkfornum), byte.Parse(RFHKdowna.Content.ToString())); Wdownresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbFk + hkfornum), byte.Parse(RFHKdownb.Content.ToString())); Wdownresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbFl + hkfornum), byte.Parse(RFHKdownc.Content.ToString())); //读AGV出料 OperateResult RFAGVdowna = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFm + hkfornum)); OperateResult RFAGVdownb = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFq + hkfornum)); OperateResult RFAGVdownc = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFr + hkfornum)); OperateResult RFAGVdownd = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFs + hkfornum)); OperateResult RFAGVdowne = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFt + hkfornum)); OperateResult RFAGVdownf = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbFx + hkfornum)); OperateResult RFAGVdowng = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdbFz + hkfornum)); //写烘烤出料 OperateResult Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RFAGVdowna.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RFAGVdownb.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RFAGVdownc.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RFAGVdownd.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RFAGVdowne.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RFAGVdownf.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RFAGVdowng.Content); hkfornum += 400; } #endregion #region 负极3-10烘烤设备信号传递 int hkfornumthree = 0; double agvthreedbaGT1 = 4893.6; double agvthreedbaGT2 = 4893.7; double agvthreedbaGT3 = 5093.6; double agvthreedbaGT4 = 5093.6; double agvthreedbFa = 4894.0; double agvthreedbFb = 4895.0; double agvthreedbFc = 4896.0; double agvthreedbFd = 4897.0; double agvthreedbFe = 4898.0; double agvthreedbFf = 4994.0; double agvthreedbFg = 4995.0; double agvthreedbFh = 4996.0; double agvthreedbFi = 4997.0; double agvthreedbFj = 5094.0; double agvthreedbFk = 5095.0; double agvthreedbFl = 5096.0; double agvthreedbFm = 5194.0; double agvthreedbFq = 5195.0; double agvthreedbFr = 5196.0; double agvthreedbFs = 5197.0; double agvthreedbFt = 5198.0; double agvthreedbFx = 5199.0; double agvthreedbFy = 4992.2; double agvthreedbFz = 5192.2; List FHKFQSBMegthree = new List { "负极3号烘烤机", "负极4号烘烤机", "负极5号烘烤机", "负极6号烘烤机", "负极7号烘烤机", "负极8号烘烤机", "负极9号烘烤机", "负极10号烘烤机" }; foreach (var FHKSBthree in FHKFQSBMegthree) { if (fagvthreeplchk == null) break; PLCClient FHSSBone = WCSService.Clients.Find(v => v.PLCName == FHKSBthree); if (FHSSBone == null) { hkfornumthree += 400; WIDESEA_Common.Tools.WriteLog.GetLog("信号传递HKF").Write($"Info:“设备未连接”+{FHKSBthree}", "信号传递HKF"); continue; } //读烘烤滚筒是否转动 OperateResult RHKupGTZ1 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YC"); OperateResult RHKupGTZ2 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YD"); OperateResult RHKupGTZ3 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YE"); OperateResult RHKupGTZ4 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YF"); //写AGV滚筒转动 OperateResult WupresultGTZ1 = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaGT1 + hkfornumthree), RHKupGTZ1.Content); WupresultGTZ1 = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaGT2 + hkfornumthree), RHKupGTZ2.Content); WupresultGTZ1 = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaGT3 + hkfornumthree), RHKupGTZ3.Content); WupresultGTZ1 = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaGT4 + hkfornumthree), RHKupGTZ4.Content); //读烘烤入料 OperateResult RFHKupa = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); if (!RFHKupa.IsSuccess) { continue; } OperateResult RFHKupb = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D15"); OperateResult RFHKupc = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1961"); OperateResult RFHKupd = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1950"); OperateResult RFHKupe = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1951"); //写AGV入料 OperateResult Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbFa + hkfornumthree), byte.Parse(RFHKupa.Content.ToString())); Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbFb + hkfornumthree), byte.Parse(RFHKupb.Content.ToString())); Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbFc + hkfornumthree), byte.Parse(RFHKupc.Content.ToString())); Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbFd + hkfornumthree), byte.Parse(RFHKupd.Content.ToString())); Wupresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbFe + hkfornumthree), byte.Parse(RFHKupe.Content.ToString())); //读AGV入料 OperateResult RFAGVa = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFf + hkfornumthree)); OperateResult RFAGVb = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFg + hkfornumthree)); OperateResult RFAGVc = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFh + hkfornumthree)); OperateResult RFAGVd = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFi + hkfornumthree)); OperateResult RFAGVe = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedbFy + hkfornumthree)); //写烘烤入料 OperateResult Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RFAGVa.Content); Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RFAGVb.Content); Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RFAGVc.Content); Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RFAGVd.Content); Whkresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RFAGVe.Content); //读烘烤出料 OperateResult RFHKdowna = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); OperateResult RFHKdownb = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35"); OperateResult RFHKdownc = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962"); //写AGV出料 OperateResult Wdownresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbFj + hkfornumthree), byte.Parse(RFHKdowna.Content.ToString())); Wdownresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbFk + hkfornumthree), byte.Parse(RFHKdownb.Content.ToString())); Wdownresult = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbFl + hkfornumthree), byte.Parse(RFHKdownc.Content.ToString())); //读AGV出料 OperateResult RFAGVdowna = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFm + hkfornumthree)); OperateResult RFAGVdownb = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFq + hkfornumthree)); OperateResult RFAGVdownc = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFr + hkfornumthree)); OperateResult RFAGVdownd = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFs + hkfornumthree)); OperateResult RFAGVdowne = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFt + hkfornumthree)); OperateResult RFAGVdownf = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFx + hkfornumthree)); OperateResult RFAGVdowng = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedbFz + hkfornumthree)); //写烘烤出料 OperateResult Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RFAGVdowna.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RFAGVdownb.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RFAGVdownc.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RFAGVdownd.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RFAGVdowne.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RFAGVdownf.Content); Whkdownresult = FHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RFAGVdowng.Content); hkfornumthree += 400; } #endregion WIDESEA_Common.Tools.WriteLog.GetLog("信号传递HKF").Write($"Info:“结束”+{DateTime.Now}", "信号传递HKF"); } } }