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
130
131
132
133
134
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 AgvAndEquiWorkThreeHKFJ()
        {
            VOLContext Context = new VOLContext();
            Idt_plcinfodetailRepository plcdetailRep = new dt_plcinfodetailRepository(Context);
            Idt_plcinfoheadRepository plcheadRep = new dt_plcinfoheadRepository(Context);
            PLCClient fagvthreeplchk = WCSService.Clients.Find(v => v.PLCName == "负极2号AGV");
 
            #region 负极6-10烘烤设备信号传递
            int hkfornumthree = 1200;
            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<string> FHKFQSBMegthree = new List<string> {  "负极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("信号传递负极烘烤6-10").Write($"Info:“设备未连接”+{FHKSBthree}", "信号传递负极烘烤6-10");
                    continue;
                }
                //读烘烤滚筒是否转动
                OperateResult<bool> RHKupGTZ1 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YC");
                OperateResult<bool> RHKupGTZ2 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YD");
                OperateResult<bool> RHKupGTZ3 = FHSSBone.MelsecPLCClient.readWriteNet.ReadBool("YE");
                OperateResult<bool> 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<short> RFHKupa = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
 
                if (!RFHKupa.IsSuccess)
                {
                    continue;
                }
                OperateResult<short> RFHKupb = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D15");
                OperateResult<short> RFHKupc = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1961");
                OperateResult<short> RFHKupd = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1950");
                OperateResult<short> 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<byte> RFAGVa = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFf + hkfornumthree));
                OperateResult<byte> RFAGVb = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFg + hkfornumthree));
                OperateResult<byte> RFAGVc = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFh + hkfornumthree));
                OperateResult<byte> RFAGVd = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFi + hkfornumthree));
                OperateResult<bool> 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<short> RFHKdowna = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D1960");
                OperateResult<short> RFHKdownb = FHSSBone.MelsecPLCClient.readWriteNet.ReadInt16("D35");
                OperateResult<short> 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<byte> RFAGVdowna = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFm + hkfornumthree));
                OperateResult<byte> RFAGVdownb = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFq + hkfornumthree));
                OperateResult<byte> RFAGVdownc = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFr + hkfornumthree));
                OperateResult<byte> RFAGVdownd = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFs + hkfornumthree));
                OperateResult<byte> RFAGVdowne = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFt + hkfornumthree));
                OperateResult<byte> RFAGVdownf = fagvthreeplchk.SiemensPLCClient.SiemensS7NetClient.ReadByte("DB1002." + (agvthreedbFx + hkfornumthree));
                OperateResult<bool> 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("信号传递负极烘烤6-10").Write($"Info:“结束”+{DateTime.Now}", "信号传递负极烘烤6-10");
        }
    }
}