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 AgvAndEquiWorkThreeHKZJ() { VOLContext Context = new VOLContext(); Idt_plcinfodetailRepository plcdetailRep = new dt_plcinfodetailRepository(Context); Idt_plcinfoheadRepository plcheadRep = new dt_plcinfoheadRepository(Context); PLCClient agvthreeplcthree = WCSService.Clients.Find(v => v.PLCName == "正极2号AGV"); PLCClient fagvthreeplcthree = WCSService.Clients.Find(v => v.PLCName == "负极2号AGV"); #region 正极6-10烘烤设备信号传递 int fornumthree = 1200; double agvthreedbaZGT1 = 1693.6; double agvthreedbaZGT2 = 1693.7; double agvthreedbaZGT3 = 293.6; double agvthreedbaZGT4 = 293.6; double agvthreedba = 1694.0; double agvthreedbb = 1695.0; double agvthreedbc = 1696.0; double agvthreedbd = 1697.0; double agvthreedbe = 1698.0; double agvthreedbf = 1794.0; double agvthreedbg = 1795.0; double agvthreedbh = 1796.0; double agvthreedbi = 1797.0; double agvthreedbj = 294.0; double agvthreedbk = 295.0; double agvthreedbl = 296.0; double agvthreedbm = 394.0; double agvthreedbq = 395.0; double agvthreedbr = 396.0; double agvthreedbs = 397.0; double agvthreedbt = 398.0; double agvthreedbx = 399.0; double agvthreedby = 1792.2; double agvthreedbz = 392.2; List ZHKFQSBMegthree = new List { "正极6号烘烤机" , "正极7号烘烤机", "正极8号烘烤机", "正极9号烘烤机", "正极10号烘烤机" }; foreach (var ZHKSBthree in ZHKFQSBMegthree) { PLCClient ZHSSBone = WCSService.Clients.Find(v => v.PLCName == ZHKSBthree); if (ZHSSBone == null) { fornumthree += 400; continue; } //读烘烤滚筒是否转动 OperateResult RHKupGTZ1 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YC"); OperateResult RHKupGTZ2 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YD"); OperateResult RHKupGTZ3 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YE"); OperateResult RHKupGTZ4 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YF"); //写AGV滚筒转动 OperateResult WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT1 + fornumthree), RHKupGTZ1.Content); WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT2 + fornumthree), RHKupGTZ2.Content); WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT3 + fornumthree), RHKupGTZ3.Content); WupresultGTZ1 = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZGT4 + fornumthree), RHKupGTZ4.Content); //入料口读烘箱 OperateResult RHKupa = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); OperateResult RHKupb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D15"); OperateResult RHKupc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1961"); OperateResult RHKupd = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1950"); OperateResult RHKupe = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1951"); //入料口写AGV OperateResult Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedba + fornumthree), byte.Parse(RHKupa.Content.ToString())); Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbb + fornumthree), byte.Parse(RHKupb.Content.ToString())); Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbc + fornumthree), byte.Parse(RHKupc.Content.ToString())); Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbd + fornumthree), byte.Parse(RHKupd.Content.ToString())); Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbe + fornumthree), byte.Parse(RHKupe.Content.ToString())); //入料口读agv OperateResult RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbf + fornumthree)); OperateResult RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbg + fornumthree)); OperateResult RAGVc = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbh + fornumthree)); OperateResult RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbi + fornumthree)); OperateResult RAGVe = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedby + fornumthree)); //入料口写烘箱 OperateResult Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVa.Content); Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVb.Content); Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1955", RAGVc.Content); Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1956", RAGVd.Content); Whkresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M691", RAGVe.Content); //下料口读烘箱 OperateResult RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960"); OperateResult RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35"); OperateResult RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962"); //下料口写AGV OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbj + fornumthree), byte.Parse(RHKdowna.Content.ToString())); Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbk + fornumthree), byte.Parse(RHKdownb.Content.ToString())); Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbl + fornumthree), byte.Parse(RHKdownc.Content.ToString())); //下料口读AGV OperateResult RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbm + fornumthree)); OperateResult RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbq + fornumthree)); OperateResult RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbr + fornumthree)); OperateResult RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbs + fornumthree)); OperateResult RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbt + fornumthree)); OperateResult RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbx + fornumthree)); OperateResult RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvthreedbz + fornumthree)); //下料口写烘箱 OperateResult Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1940", RAGVdowna.Content); Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1941", RAGVdownb.Content); Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1957", RAGVdownc.Content); Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1952", RAGVdownd.Content); Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1953", RAGVdowne.Content); Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("D1958", RAGVdownf.Content); Whkdownresult = ZHSSBone.MelsecPLCClient.readWriteNet.Write("M692", RAGVdowng.Content); fornumthree += 400; } #endregion WIDESEA_Common.Tools.WriteLog.GetLog("信号传递正极烘烤6-10").Write($"Info:{DateTime.Now}" + "烘烤设备一次循环完成", "信号传递正极烘烤6-10"); } } }