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 AgvAndEquiWorkThree()
|
{
|
VOLContext Context = new VOLContext();
|
Idt_plcinfodetailRepository plcdetailRep = new dt_plcinfodetailRepository(Context);
|
Idt_plcinfoheadRepository plcheadRep = new dt_plcinfoheadRepository(Context);
|
//PLCClient agvplcthree = WCSService.Clients.Find(v => v.PLCName == "正极1号AGV");
|
//PLCClient fagvplcthree = WCSService.Clients.Find(v => v.PLCName == "负极1号AGV");
|
PLCClient agvthreeplcthree = WCSService.Clients.Find(v => v.PLCName == "正极2号AGV");
|
PLCClient fagvthreeplcthree = WCSService.Clients.Find(v => v.PLCName == "负极2号AGV");
|
//int Rheat = 0;
|
//int RequNo = 2;
|
//int Rinmatertype = 24;
|
//int RinboxNo = 26;
|
//int Rbarcode = 58;
|
//int Rbz = 90;
|
//double Rerror = 92.0;
|
//double R92_1 = 92.1;
|
//double R92_2 = 92.2;
|
//double R92_3 = 92.3;
|
//double R92_4 = 92.4;
|
//double R92_5 = 92.5;
|
//double R92_6 = 92.6;
|
//double R92_7 = 92.7;
|
//double R93_0 = 93.0;
|
//double R93_1 = 93.1;
|
//double R93_2 = 93.2;
|
//double R93_3 = 93.3;
|
//double R93_4 = 93.4;
|
//double R93_5 = 93.5;
|
//double R93_6 = 93.6;
|
//double R93_7 = 93.7;
|
//int R94 = 94;
|
//int R95 = 95;
|
//int R96 = 96;
|
//int R97 = 97;
|
//int R98 = 98;
|
//int R99 = 99;
|
|
|
|
|
#region 正极1-2烘烤设备信号传递
|
int fornum = 0;
|
double agvthreedbaZFGT1 = 8093.6;
|
double agvthreedbaZFGT2 = 8093.7;
|
double agvthreedbaZFGT3 = 3493.6;
|
double agvthreedbaZFGT4 = 3493.7;
|
double agvdba = 8094.0;
|
double agvdbb = 8095.0;
|
double agvdbc = 8096.0;
|
double agvdbd = 8097.0;
|
double agvdbe = 8098.0;
|
double agvdbf = 8194.0;
|
double agvdbg = 8195.0;
|
double agvdbh = 8196.0;
|
double agvdbi = 8197.0;
|
double agvdbj = 3494.0;
|
double agvdbk = 3495.0;
|
double agvdbl = 3496.0;
|
double agvdbm = 3594.0;
|
double agvdbq = 3595.0;
|
double agvdbr = 3596.0;
|
double agvdbs = 3597.0;
|
double agvdbt = 3598.0;
|
double agvdbx = 3599.0;
|
double agvdby = 8192.2;
|
double agvdbz = 3592.2;
|
List<string> ZHKFQSBMegS = new List<string> { "正极1号烘烤机", "正极2号烘烤机" };
|
foreach (var ZHKSB in ZHKFQSBMegS)
|
{
|
PLCClient ZHSSBone = WCSService.Clients.Find(v => v.PLCName == ZHKSB);
|
if (ZHSSBone == null)
|
{
|
fornum += 400;
|
continue;
|
}
|
//读烘烤滚筒是否转动
|
OperateResult<bool> RHKupZFGTZ1 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YC");
|
OperateResult<bool> RHKupZFGTZ2 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YD");
|
OperateResult<bool> RHKupZFGTZ3 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YE");
|
OperateResult<bool> RHKupZFGTZ4 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YF");
|
//写AGV滚筒转动
|
OperateResult WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZFGT1 + fornum), RHKupZFGTZ1.Content);
|
WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZFGT2 + fornum), RHKupZFGTZ2.Content);
|
WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZFGT3 + fornum), RHKupZFGTZ3.Content);
|
WupresultGTZ1 = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvthreedbaZFGT4 + fornum), RHKupZFGTZ4.Content);
|
|
//入料口读烘箱
|
OperateResult<short> RHKupa = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
|
if (!RHKupa.IsSuccess)
|
{
|
continue;
|
}
|
OperateResult<short> RHKupb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D15");
|
OperateResult<short> RHKupc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1961");
|
OperateResult<short> RHKupd = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1950");
|
OperateResult<short> RHKupe = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1951");
|
//入料口写AGV
|
OperateResult Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdba + fornum), byte.Parse(RHKupa.Content.ToString()));
|
Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbb + fornum), byte.Parse(RHKupb.Content.ToString()));
|
Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbc + fornum), byte.Parse(RHKupc.Content.ToString()));
|
Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbd + fornum), byte.Parse(RHKupd.Content.ToString()));
|
Wupresult = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbe + fornum), byte.Parse(RHKupe.Content.ToString()));
|
//入料口读agv
|
OperateResult<byte> RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbf + fornum));
|
OperateResult<byte> RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbg + fornum));
|
OperateResult<byte> RAGVc = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbh + fornum));
|
OperateResult<byte> RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbi + fornum));
|
OperateResult<bool> RAGVe = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdby + fornum));
|
//入料口写烘箱
|
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<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
|
OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35");
|
OperateResult<short> RHKdownc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1962");
|
//下料口写AGV
|
OperateResult Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbj + fornum), byte.Parse(RHKdowna.Content.ToString()));
|
Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbk + fornum), byte.Parse(RHKdownb.Content.ToString()));
|
Wdownresult = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.Write("DB1002." + (agvdbl + fornum), byte.Parse(RHKdownc.Content.ToString()));
|
//下料口读AGV
|
OperateResult<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbm + fornum));
|
OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbq + fornum));
|
OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbr + fornum));
|
OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbs + fornum));
|
OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbt + fornum));
|
OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvdbx + fornum));
|
OperateResult<bool> RAGVdowng = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002." + (agvdbz + fornum));
|
//下料口写烘箱
|
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);
|
|
fornum += 400;
|
}
|
#endregion
|
|
#region 正极3-5烘烤设备信号传递
|
int fornumthree = 0;
|
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<string> ZHKFQSBMegthree = new List<string> { "正极3号烘烤机", "正极4号烘烤机", "正极5号烘烤机" };
|
foreach (var ZHKSBthree in ZHKFQSBMegthree)
|
{
|
PLCClient ZHSSBone = WCSService.Clients.Find(v => v.PLCName == ZHKSBthree);
|
if (ZHSSBone == null)
|
{
|
fornumthree += 400;
|
continue;
|
}
|
//读烘烤滚筒是否转动
|
OperateResult<bool> RHKupGTZ1 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YC");
|
OperateResult<bool> RHKupGTZ2 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YD");
|
OperateResult<bool> RHKupGTZ3 = ZHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YE");
|
OperateResult<bool> 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<short> RHKupa = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
|
OperateResult<short> RHKupb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D15");
|
OperateResult<short> RHKupc = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1961");
|
OperateResult<short> RHKupd = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1950");
|
OperateResult<short> 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<byte> RAGVa = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbf + fornumthree));
|
OperateResult<byte> RAGVb = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbg + fornumthree));
|
OperateResult<byte> RAGVc = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbh + fornumthree));
|
OperateResult<byte> RAGVd = fagvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbi + fornumthree));
|
OperateResult<bool> 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<short> RHKdowna = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
|
OperateResult<short> RHKdownb = ZHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35");
|
OperateResult<short> 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<byte> RAGVdowna = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbm + fornumthree));
|
OperateResult<byte> RAGVdownb = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbq + fornumthree));
|
OperateResult<byte> RAGVdownc = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbr + fornumthree));
|
OperateResult<byte> RAGVdownd = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbs + fornumthree));
|
OperateResult<byte> RAGVdowne = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbt + fornumthree));
|
OperateResult<byte> RAGVdownf = agvthreeplcthree.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbx + fornumthree));
|
OperateResult<bool> 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("信号传递正极烘烤1-5").Write($"Info:{DateTime.Now}" + "烘烤设备一次循环完成", "信号传递正极烘烤1-5");
|
}
|
}
|
|
}
|