qinchulong
2025-03-29 039a4a5433e7f80adc88b491b549e5d9486e4f9a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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<string> ZHKFQSBMegthree = new List<string> { "正极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<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("信号传递正极烘烤6-10").Write($"Info:{DateTime.Now}" + "烘烤设备一次循环完成", "信号传递正极烘烤6-10");
        }
    }
}