using HslCommunication;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Threading;
|
using System.Threading.Tasks;
|
using WIDESEA_Common.Tools;
|
using WIDESEA_Core.EFDbContext;
|
using WIDESEA_Services.IRepositories;
|
using WIDESEA_Services.Repositories;
|
using WIDESEA_WCS.WCSClient;
|
|
namespace WIDESEA_WCS.SchedulerExecute.AGV
|
{
|
public partial class heartbeatFJGF
|
{
|
public static async void heartbeatWork()
|
{
|
WriteLog.GetLog().Write($"开始时间:{DateTime.Now} --------------", $"心跳时间");
|
VOLContext Context = new VOLContext();
|
Idt_plcinfodetailRepository plcdetailRep = new dt_plcinfodetailRepository(Context);
|
Idt_plcinfoheadRepository plcheadRep = new dt_plcinfoheadRepository(Context);
|
PLCClient agvplcZ = WCSService.Clients.Find(v => v.PLCName == "正极AGV调度");
|
PLCClient agvplcF = WCSService.Clients.Find(v => v.PLCName == "负极AGV调度");
|
PLCClient agvplc = WCSService.Clients.Find(v => v.PLCName == "组装AGV调度");
|
List<Task> taskList = new List<Task>();
|
var tokenSource = new CancellationTokenSource();
|
var token = tokenSource.Token;
|
#region 负级辊分机信号传递
|
#region 负级辊分机一号信号传递
|
await Task.Run(() =>
|
{
|
try
|
{
|
var tbsb = "辊分机负极1";
|
|
if (WCSService.Clients == null)
|
{
|
return;
|
}
|
PLCClient tbplc = WCSService.Clients.Find(v => v.PLCName == tbsb);
|
if (tbplc == null)
|
{
|
return;
|
}
|
if (agvplc == null)
|
{
|
return;
|
}
|
#region 负级辊分机一号信号心跳
|
WriteLog.GetLog().Write($"--------------{tbsb}心跳传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//// 读取辊分机正极1号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5400.0");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D5400.0, 读取值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//辊分机正极1号设备心跳—写入—》组装AGV调度心跳
|
OperateResult W_AGV_XT = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1800.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入组装AGV调度心跳信息成功,DB偏移值:DB1002.1800.0, 写入值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//// 读取组装AGV调度心跳
|
OperateResult<bool> R_AGV_XT = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1900.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"// 读取组装AGV调度心跳信息成功,DB偏移值:DB1002.1900.0, 读取值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
|
Int16 tf = Convert.ToInt16(R_AGV_XT.Content);
|
//组装AGV调度—写入—》辊分机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5500", tf);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D5500, 写入值:{tf},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}心跳传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}心跳传递");
|
#endregion
|
#region 上料口
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}上料口信息传递");
|
//辊分机1号口报警
|
OperateResult<bool> GYC_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5492.0");
|
if (GYC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5492.0,读取值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGVC_WBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1892", GYC_RBJ.Content);
|
if (AGVC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口1报警信号成功,DB偏移值:DB1002.1892,写入值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGVC_RBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1992");
|
|
if (AGVC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName},{tbsb}号设备上料料口1对接报警信号成功,DB偏移值:DB1002.1992,读取值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
|
int RBJ = Convert.ToInt32(AGVC_RBJ.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFC_WBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5592", RBJ);
|
if (GFC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口1AGV报警信号成功,DB偏移值:D5592,写入值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
|
////获取辊分设备上料口偏移方向
|
OperateResult<bool> GYR_RFX_Up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5493.2");
|
if (GYR_RFX_Up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口偏移方向信息成功,DB偏移值:D5493.2,读取值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//辊分设备上料口偏移方向写入至AGV
|
OperateResult GYR_WFX_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1893.2", GYR_RFX_Up.Content);
|
if (GYR_WFX_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口偏移方向信息成功,DB偏移值:DB1002.1893.2,写入值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
////获取辊分设备上料口偏移量
|
OperateResult<short> GFR_PYL_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5494");
|
if (GFR_PYL_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口偏移量信息成功,DB偏移值:D5494,读取值:{GFR_PYL_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
int py = Convert.ToInt32(GFR_PYL_up.Content / 10);
|
Byte a3 = Convert.ToByte(py);
|
OperateResult W_ProcessSteps_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1894", a3);////写入辊分设备偏移量
|
if (W_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}辊分设备上料口偏移量信息成功,DB偏移值:DB1002.1894,写入值:{a3},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//获取辊分上料口运行状态
|
OperateResult<bool> GFR_Run_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("M2309");
|
if (GFR_Run_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口运行状态信息成功,DB偏移值:M2309,读取值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//将辊分上料口运行状态写入AGV中
|
OperateResult AGV_WRun_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1892.2", GFR_Run_up.Content);
|
if (AGV_WRun_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口1运行状态成功,DB偏移值:DB1002.1892.2,写入值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//AB轴
|
OperateResult<bool> R_up_AB = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5493.1");
|
if (R_up_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口AB轴方向信息成功,DB偏移值:D5493.1,读取值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
OperateResult W_AB3 = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1893.1", R_up_AB.Content);
|
if (W_AB3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}辊分设备上料口AB轴信息成功,DB偏移值:DB1002.1893.1,写入值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 读取agv上料口逻辑
|
OperateResult<UInt16> R_up_bzR = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.1990");
|
if (R_up_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName}辊分设备上料口AGV请求进入信息成功,DB偏移值:DB1002.1990,读取值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 写入辊压机上料口对接流程步骤
|
OperateResult W_ProcessStep_up = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5590", R_up_bzR.Content);
|
if (W_ProcessStep_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D5590,写入值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 读取辊压步序
|
OperateResult<Int16> R_ProcessSteps_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5490");
|
if (R_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D5490,读取值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 将步序写入agv
|
OperateResult W_stationDockSteps_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1890", R_ProcessSteps_up.Content);
|
if (W_stationDockSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.1890,写入值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
#endregion
|
#region 下料口
|
#region 设备下料一号信号通讯
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}下料一口信息传递");
|
//辊分机1号口报警
|
OperateResult<bool> GYR_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5692.0");
|
if (GYR_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5692.0,读取值:{GYR_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGV_WBJ = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1692", GYR_RBJ.Content);
|
if (AGV_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.1692,写入值:{GYR_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGV_RBJ = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1792");
|
|
if (AGV_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.1792,读取值:{AGV_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
int WBJ = Convert.ToInt32(AGV_RBJ.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFR_WBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5792", WBJ);
|
if (GFR_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV报警信号成功,DB偏移值:D5792,写入值:{AGV_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口1偏移方向
|
OperateResult<bool> GYR_RFX = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5693.2");
|
if (GYR_RFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:D5693.2,读取值:{GYR_RFX.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 辊分设备下料口1偏移方向写入至AGV
|
OperateResult GYR_WFX = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1693.2", GYR_RFX.Content);
|
if (GYR_WFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:DB1002.1693.2,写入值:{GYR_RFX.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
////获取// 辊分设备下料口1AB轴方向
|
OperateResult<bool> R_Down1_AB = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5693.1");
|
if (R_Down1_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1AB轴方向信息成功,DB偏移值:D5693.1,读取值:{R_Down1_AB.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 辊分设备下料口1AB轴方向写入至AGV
|
OperateResult W_AB = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1693.1", R_Down1_AB.Content);
|
if (W_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1AB轴信息成功,DB偏移值:DB1002.1693.1,写入值:{R_Down1_AB.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口1偏移量
|
OperateResult<float> GFR_PYL = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadFloat("D5694");
|
if (GFR_PYL.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1偏移量信息成功,DB偏移值:D5694,读取值:{GFR_PYL.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
Byte a = Convert.ToByte(GFR_PYL.Content);
|
OperateResult W_ProcessSteps = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1694", a);////写入辊分设备偏移量
|
if (W_ProcessSteps.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1偏移量信息成功,DB偏移值:DB1002.1694,写入值:{a},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// // 读取agv下料口1请求进入
|
OperateResult<UInt16> R_Down1_bzR = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.1790");
|
if (R_Down1_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取组装AGV调度// 辊分设备下料口1AGV请求进入信息成功,DB偏移值:DB1002.1790,读取值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 写入辊压机下料口1 AGV请求进入
|
OperateResult W_ProcessSteps1 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5790", R_Down1_bzR.Content);
|
if (W_ProcessSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV请求进入信息成功,DB偏移值:D5790,写入值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 读取辊压机下料口1 是否允许AGV请求进入
|
OperateResult<Int16> R_ProcessSteps1 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5690");
|
if (R_ProcessSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1允许AGV请求进入信息成功,DB偏移值:D5690,读取值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
OperateResult W_stationDockSteps1 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1690", R_ProcessSteps1.Content);
|
if (W_stationDockSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1允许AGV进入信息成功,DB偏移值:DB1002.1690,写入值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
#endregion
|
#region 设备下料二号信号通讯
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}下料二口信息传递");
|
//辊分机2号口报警
|
OperateResult<bool> GYR_RBJ2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5892.0");
|
if (GYR_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5892.0,读取值:{GYR_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGV_WBJ2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1892", GYR_RBJ2.Content);
|
if (AGV_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.1892,写入值:{GYR_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGV_RBJ2 = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1992");
|
|
if (AGV_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.1992,读取值:{AGV_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
int WBJ2 = Convert.ToInt32(AGV_RBJ2.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFR_WBJ2 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5992", WBJ2);
|
if (GFR_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV报警信号成功,DB偏移值:D5992,写入值:{AGV_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口2偏移方向
|
OperateResult<bool> GYR_RFX2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5893.2");
|
if (GYR_RFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:D5893.2,读取值:{GYR_RFX2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
////写入// 辊分设备下料口2偏移方向至AGV
|
OperateResult GYR_WFX2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1893.2", GYR_RFX2.Content);
|
if (GYR_WFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:DB1002.1893.2,写入值:{GYR_RFX2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
////获取// 辊分设备下料口2偏移量
|
OperateResult<float> GFR_PYL2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadFloat("D5894");
|
if (GFR_PYL2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2偏移量信息成功,DB偏移值:D5894,读取值:{GFR_PYL2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
Byte a2 = Convert.ToByte(GFR_PYL2.Content);
|
OperateResult W_ProcessSteps2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.294", a2);////写入辊分设备偏移量
|
if (W_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2偏移量信息成功,DB偏移值:DB1002.294,写入值:{a2},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//AB轴
|
OperateResult<bool> R_Down1_AB2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5893.1");
|
if (R_Down1_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2// AB轴方向信息成功,DB偏移值:D5893.1,读取值:{R_Down1_AB2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
OperateResult W_AB2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1893.1", R_Down1_AB2.Content);
|
if (W_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}辊分设备下料口2 AB轴信息成功,DB偏移值:DB1002.1893.1,写入值:{R_Down1_AB2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//// 读取agv下料口2请求进入
|
OperateResult<UInt16> R_Down1_bzR2 = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.1990"); //// 读取agv下料口2逻辑
|
|
if (R_Down1_bzR2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:DB1002.1990,读取值:{R_Down1_bzR2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//// 写入辊压机下料口2 AGV请求进入
|
OperateResult W_ProcessSteps3 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5990", R_Down1_bzR2.Content);
|
if (W_ProcessSteps3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:D5990,写入值:{R_Down1_bzR2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
//// 读取辊压机下料口1 是否允许AGV请求进入
|
OperateResult<Int16> R_ProcessSteps2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5890");
|
if (R_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:D5890,读取值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
OperateResult W_stationDockSteps2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1890", R_ProcessSteps2.Content);
|
if (W_stationDockSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:DB1002.1890,写入值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
|
#endregion
|
#endregion
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
}, token);
|
|
#endregion
|
#region 负级辊分机二号信号传递
|
await Task.Run(() =>
|
{
|
try
|
{
|
var tbsb = "辊分机负极2";
|
if (WCSService.Clients == null)
|
{
|
return;
|
}
|
PLCClient tbplc = WCSService.Clients.Find(v => v.PLCName == tbsb);
|
if (tbplc == null)
|
{
|
return;
|
}
|
if (agvplc == null)
|
{
|
return;
|
}
|
#region 负级辊分机二号信号心跳
|
WriteLog.GetLog().Write($"--------------{tbsb}心跳传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//// 读取辊分机正极2号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5400.0");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,读取值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//辊分机正极1号设备心跳—写入—》组装AGV调度心跳
|
OperateResult W_AGV_XT = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2000.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入组装AGV调度心跳信息成功,写入值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//// 读取组装AGV调度心跳
|
OperateResult<bool> R_AGV_XT = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2100.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"// 读取组装AGV调度心跳信息成功,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
Int16 tf = Convert.ToInt16(R_AGV_XT.Content);
|
//组装AGV调度—写入—》辊分机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5500", tf);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,写入值:{tf},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}心跳传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}心跳传递");
|
#endregion
|
#region 上料口
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}上料口信息传递");
|
OperateResult<bool> GYC_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5492.0");
|
if (GYC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5492.0,读取值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGVC_WBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2092", GYC_RBJ.Content);
|
if (AGVC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口1报警信号成功,DB偏移值:DB1002.2092,写入值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGVC_RBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2192");
|
|
if (AGVC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName},{tbsb}号设备上料料口1对接报警信号成功,DB偏移值:DB1002.2192,读取值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
int RBJ = Convert.ToInt32(AGVC_RBJ.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFC_WBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5592", RBJ);
|
if (GFC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口1AGV报警信号成功,DB偏移值:D5592,写入值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
|
////获取辊分设备上料口偏移方向
|
OperateResult<bool> GYR_RFX_Up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5493.2");
|
if (GYR_RFX_Up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口偏移方向信息成功,DB偏移值:D5493.2,读取值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//辊分设备上料口偏移方向写入至AGV
|
OperateResult GYR_WFX_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2093.2", GYR_RFX_Up.Content);
|
if (GYR_WFX_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口偏移方向信息成功,DB偏移值:DB1002.2093.2,写入值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
////获取辊分设备上料口偏移量
|
OperateResult<short> GFR_PYL_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5494");
|
if (GFR_PYL_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口偏移量信息成功,DB偏移值:D5494,读取值:{GFR_PYL_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
int py = Convert.ToInt32(GFR_PYL_up.Content / 10);
|
Byte a3 = Convert.ToByte(py);
|
OperateResult W_ProcessSteps_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2094", a3);////写入辊分设备偏移量
|
if (W_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}辊分设备上料口偏移量信息成功,DB偏移值:DB1002.2094,写入值:{a3},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//获取辊分上料口运行状态
|
OperateResult<bool> GFR_Run_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("M2309");
|
if (GFR_Run_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口运行状态信息成功,DB偏移值:M2309,读取值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//将辊分上料口运行状态写入AGV中
|
OperateResult AGV_WRun_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2092.2", GFR_Run_up.Content);
|
if (AGV_WRun_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口1运行状态成功,DB偏移值:DB1002.2092.2,写入值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//AB轴
|
OperateResult<bool> R_up_AB = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5493.1");
|
if (R_up_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口AB轴方向信息成功,DB偏移值:D5493.1,读取值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
OperateResult W_AB3 = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2093.1", R_up_AB.Content);
|
if (W_AB3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}辊分设备上料口AB轴信息成功,DB偏移值:DB1002.2093.1,写入值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 读取agv上料口逻辑
|
OperateResult<UInt16> R_up_bzR = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2190");
|
if (R_up_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName}辊分设备上料口AGV请求进入信息成功,DB偏移值:DB1002.2190,读取值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 写入辊压机上料口对接流程步骤
|
OperateResult W_ProcessStep_up = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5590", R_up_bzR.Content);
|
if (W_ProcessStep_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D5590,写入值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 读取辊压步序
|
OperateResult<Int16> R_ProcessSteps_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5490");
|
if (R_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D5490,读取值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 将步序写入agv
|
OperateResult W_stationDockSteps_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2090", R_ProcessSteps_up.Content);
|
if (W_stationDockSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.2090,写入值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
#endregion
|
#region 下料口
|
#region 设备下料一号信号通讯
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}下料一口信息传递");
|
//辊分机1号口报警
|
OperateResult<bool> GYR_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5692.0");
|
if (GYR_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5692.0,读取值:{GYR_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGV_WBJ = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2092", GYR_RBJ.Content);
|
if (AGV_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.2092,写入值:{GYR_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGV_RBJ = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2192");
|
|
if (AGV_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.2192,读取值:{AGV_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
int WBJ = Convert.ToInt32(AGV_RBJ.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFR_WBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5792", WBJ);
|
if (GFR_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV报警信号成功,DB偏移值:D5792,写入值:{AGV_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口1偏移方向
|
OperateResult<bool> GYR_RFX = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5693.2");
|
if (GYR_RFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:D5693.2,读取值:{GYR_RFX.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 辊分设备下料口1偏移方向写入至AGV
|
OperateResult GYR_WFX = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2093.2", GYR_RFX.Content);
|
if (GYR_WFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:DB1002.2093.2,写入值:{GYR_RFX.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
////获取// 辊分设备下料口1AB轴方向
|
OperateResult<bool> R_Down1_AB = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5693.1");
|
if (R_Down1_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1AB轴方向信息成功,DB偏移值:D5693.1,读取值:{R_Down1_AB.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 辊分设备下料口1AB轴方向写入至AGV
|
OperateResult W_AB = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2093.1", R_Down1_AB.Content);
|
if (W_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1AB轴信息成功,DB偏移值:DB1002.2093.1,写入值:{R_Down1_AB.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口1偏移量
|
OperateResult<float> GFR_PYL = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadFloat("D5694");
|
if (GFR_PYL.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1偏移量信息成功,DB偏移值:D5694,读取值:{GFR_PYL.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
Byte a = Convert.ToByte(GFR_PYL.Content);
|
OperateResult W_ProcessSteps = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2094", a);////写入辊分设备偏移量
|
if (W_ProcessSteps.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1偏移量信息成功,DB偏移值:DB1002.2094,写入值:{a},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// // 读取agv下料口1请求进入
|
OperateResult<UInt16> R_Down1_bzR = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2190");
|
if (R_Down1_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取组装AGV调度// 辊分设备下料口1AGV请求进入信息成功,DB偏移值:DB1002.2190,读取值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 写入辊压机下料口1 AGV请求进入
|
OperateResult W_ProcessSteps1 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5790", R_Down1_bzR.Content);
|
if (W_ProcessSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV请求进入信息成功,DB偏移值:D5790,写入值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 读取辊压机下料口1 是否允许AGV请求进入
|
OperateResult<Int16> R_ProcessSteps1 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5690");
|
if (R_ProcessSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1允许AGV请求进入信息成功,DB偏移值:D5690,读取值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
OperateResult W_stationDockSteps1 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2090", R_ProcessSteps1.Content);
|
if (W_stationDockSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1允许AGV进入信息成功,DB偏移值:DB1002.2090,写入值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
#endregion
|
#region 设备下料二号信号通讯
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}下料二口信息传递");
|
//辊分机2号口报警
|
OperateResult<bool> GYR_RBJ2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5892.0");
|
if (GYR_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5892.0,读取值:{GYR_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGV_WBJ2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2292", GYR_RBJ2.Content);
|
if (AGV_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.2292,写入值:{GYR_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGV_RBJ2 = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2392");
|
|
if (AGV_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.2392,读取值:{AGV_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
int WBJ2 = Convert.ToInt32(AGV_RBJ2.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFR_WBJ2 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5992", WBJ2);
|
if (GFR_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV报警信号成功,DB偏移值:D5992,写入值:{AGV_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口2偏移方向
|
OperateResult<bool> GYR_RFX2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5893.2");
|
if (GYR_RFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:D5893.2,读取值:{GYR_RFX2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
////写入// 辊分设备下料口2偏移方向至AGV
|
OperateResult GYR_WFX2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2293.2", GYR_RFX2.Content);
|
if (GYR_WFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:DB1002.2293.2,写入值:{GYR_RFX2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
////获取// 辊分设备下料口2偏移量
|
OperateResult<float> GFR_PYL2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadFloat("D5894");
|
if (GFR_PYL2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2偏移量信息成功,DB偏移值:D5894,读取值:{GFR_PYL2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
Byte a2 = Convert.ToByte(GFR_PYL2.Content);
|
OperateResult W_ProcessSteps2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2294", a2);////写入辊分设备偏移量
|
if (W_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2偏移量信息成功,DB偏移值:DB1002.2294,写入值:{a2},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//AB轴
|
OperateResult<bool> R_Down1_AB2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5893.1");
|
if (R_Down1_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2 AB轴方向信息成功,DB偏移值:D5893.1,读取值:{R_Down1_AB2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
OperateResult W_AB2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2293.1", R_Down1_AB2.Content);
|
if (W_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName} 辊分设备下料口2 AB轴信息成功,DB偏移值:DB1002.2293.1,写入值:{R_Down1_AB2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//// 读取agv下料口2请求进入
|
///
|
|
OperateResult<UInt16> R_Down1_bzR2 = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2390"); //// 读取agv下料口2逻辑
|
|
if (R_Down1_bzR2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:DB1002.2390,读取值:{R_Down1_bzR2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
}
|
//// 写入辊压机下料口2 AGV请求进入
|
OperateResult W_ProcessSteps3 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5990", R_Down1_bzR2.Content);
|
if (W_ProcessSteps3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:D5990,写入值:{R_Down1_bzR2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
}
|
|
//// 读取辊压机下料口1 是否允许AGV请求进入
|
OperateResult<Int16> R_ProcessSteps2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5890");
|
if (R_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:D5890,读取值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
}
|
|
OperateResult W_stationDockSteps2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2290", R_ProcessSteps2.Content);
|
if (W_stationDockSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:DB1002.2290,写入值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
|
#endregion
|
#endregion
|
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
}, token);
|
#endregion
|
#region 负级辊分机三号信号传递
|
await Task.Run(() =>
|
{
|
try
|
{
|
var tbsb = "辊分机负极3";
|
if (WCSService.Clients == null)
|
{
|
return;
|
}
|
PLCClient tbplc = WCSService.Clients.Find(v => v.PLCName == tbsb);
|
if (tbplc == null)
|
{
|
return;
|
}
|
if (agvplc == null)
|
{
|
return;
|
}
|
#region 负级辊分机三号信号心跳
|
WriteLog.GetLog().Write($"--------------{tbsb}心跳传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//// 读取辊分机正极3号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5400.0");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D5400.0,读取值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//辊分机正极1号设备心跳—写入—》组装AGV调度心跳
|
OperateResult W_AGV_XT = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2200.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入组装AGV调度心跳信息成功,DB偏移值:DB1002.2200.0,写入值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//// 读取组装AGV调度心跳
|
OperateResult<bool> R_AGV_XT = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2300.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"// 读取组装AGV调度心跳信息成功,DB偏移值:DB1002.2300.0,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
|
Int16 tf = Convert.ToInt16(R_AGV_XT.Content);
|
//组装AGV调度—写入—》辊分机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5500", tf);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D5500,写入值:{tf},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}心跳传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}心跳传递");
|
#endregion
|
#region 上料口
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}上料口信息传递");
|
OperateResult<bool> GYC_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5492.0");
|
if (GYC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5492.0,读取值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGVC_WBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2292", GYC_RBJ.Content);
|
if (AGVC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口1报警信号成功,DB偏移值:DB1002.2292,写入值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGVC_RBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2392");
|
|
if (AGVC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName},{tbsb}号设备上料料口1对接报警信号成功,DB偏移值:DB1002.2392,读取值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
int RBJ = Convert.ToInt32(AGVC_RBJ.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFC_WBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5592", RBJ);
|
if (GFC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口1AGV报警信号成功,DB偏移值:D5592,写入值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
|
////获取辊分设备上料口偏移方向
|
OperateResult<bool> GYR_RFX_Up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5493.2");
|
if (GYR_RFX_Up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口偏移方向信息成功,DB偏移值:D5493.2,读取值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//辊分设备上料口偏移方向写入至AGV
|
OperateResult GYR_WFX_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2293.2", GYR_RFX_Up.Content);
|
if (GYR_WFX_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口偏移方向信息成功,DB偏移值:DB1002.2293.2,写入值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
////获取辊分设备上料口偏移量
|
OperateResult<short> GFR_PYL_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5494");
|
if (GFR_PYL_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口偏移量信息成功,DB偏移值:D5494,读取值:{GFR_PYL_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
int py = Convert.ToInt32(GFR_PYL_up.Content / 10);
|
Byte a3 = Convert.ToByte(py);
|
OperateResult W_ProcessSteps_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2294", a3);////写入辊分设备偏移量
|
if (W_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}辊分设备上料口偏移量信息成功,DB偏移值:DB1002.2294,写入值:{a3},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//获取辊分上料口运行状态
|
OperateResult<bool> GFR_Run_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("M2309");
|
if (GFR_Run_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口运行状态信息成功,DB偏移值:M2309,读取值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//将辊分上料口运行状态写入AGV中
|
OperateResult AGV_WRun_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2292.2", GFR_Run_up.Content);
|
if (AGV_WRun_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口1运行状态成功,DB偏移值:DB1002.2292.2,写入值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//AB轴
|
OperateResult<bool> R_up_AB = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5493.1");
|
if (R_up_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口AB轴方向信息成功,DB偏移值:D5493.1,读取值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
OperateResult W_AB3 = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2293.1", R_up_AB.Content);
|
if (W_AB3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}辊分设备上料口AB轴信息成功,DB偏移值:DB1002.2293.1,写入值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 读取agv上料口逻辑
|
OperateResult<UInt16> R_up_bzR = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2390");
|
if (R_up_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName}辊分设备上料口AGV请求进入信息成功,DB偏移值:DB1002.2390,读取值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 写入辊压机上料口对接流程步骤
|
OperateResult W_ProcessStep_up = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5590", R_up_bzR.Content);
|
if (W_ProcessStep_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D5590,写入值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 读取辊压步序
|
OperateResult<Int16> R_ProcessSteps_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5490");
|
if (R_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D5490,读取值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 将步序写入agv
|
OperateResult W_stationDockSteps_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2290", R_ProcessSteps_up.Content);
|
if (W_stationDockSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.2290,写入值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
#endregion
|
#region 下料口
|
#region 设备下料一号信号通讯
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}下料一口信息传递");
|
//辊分机1号口报警
|
OperateResult<bool> GYR_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5692.0");
|
if (GYR_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5692.0,读取值:{GYR_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGV_WBJ = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2492", GYR_RBJ.Content);
|
if (AGV_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.2492,写入值:{GYR_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGV_RBJ = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2592");
|
|
if (AGV_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.2592,读取值:{AGV_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
int WBJ = Convert.ToInt32(AGV_RBJ.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFR_WBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5792", WBJ);
|
if (GFR_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV报警信号成功,DB偏移值:D5792,写入值:{AGV_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
|
|
////获取// 辊分设备下料口1偏移方向
|
OperateResult<bool> GYR_RFX = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5693.2");
|
if (GYR_RFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:D5693.2,读取值:{GYR_RFX.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 辊分设备下料口1偏移方向写入至AGV
|
OperateResult GYR_WFX = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2493.2", GYR_RFX.Content);
|
if (GYR_WFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:DB1002.2493.2,写入值:{GYR_RFX.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
////获取// 辊分设备下料口1AB轴方向
|
OperateResult<bool> R_Down1_AB = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5693.1");
|
if (R_Down1_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1AB轴方向信息成功,DB偏移值:D5693.1,读取值:{R_Down1_AB.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 辊分设备下料口1AB轴方向写入至AGV
|
OperateResult W_AB = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2493.1", R_Down1_AB.Content);
|
if (W_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1AB轴信息成功,DB偏移值:DB1002.2493.1,写入值:{R_Down1_AB.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口1偏移量
|
OperateResult<float> GFR_PYL = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadFloat("D5694");
|
if (GFR_PYL.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1偏移量信息成功,DB偏移值:D5694,读取值:{GFR_PYL.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
Byte a = Convert.ToByte(GFR_PYL.Content);
|
OperateResult W_ProcessSteps = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2494", a);////写入辊分设备偏移量
|
if (W_ProcessSteps.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1偏移量信息成功,DB偏移值:DB1002.2494,写入值:{a},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// // 读取agv下料口1请求进入
|
OperateResult<UInt16> R_Down1_bzR = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2590");
|
if (R_Down1_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取组装AGV调度// 辊分设备下料口1AGV请求进入信息成功,DB偏移值:DB1002.2590,读取值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 写入辊压机下料口1 AGV请求进入
|
OperateResult W_ProcessSteps1 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5790", R_Down1_bzR.Content);
|
if (W_ProcessSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV请求进入信息成功,DB偏移值:D5790,写入值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 读取辊压机下料口1 是否允许AGV请求进入
|
OperateResult<Int16> R_ProcessSteps1 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5690");
|
if (R_ProcessSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1允许AGV请求进入信息成功,DB偏移值:D5690,读取值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
OperateResult W_stationDockSteps1 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2490", R_ProcessSteps1.Content);
|
if (W_stationDockSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1允许AGV进入信息成功,DB偏移值:DB1002.2490,写入值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
#endregion
|
#region 设备下料二号信号通讯
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}下料二口信息传递");
|
//辊分机2号口报警
|
OperateResult<bool> GYR_RBJ2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5892.0");
|
if (GYR_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5892.0,读取值:{GYR_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGV_WBJ2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2692", GYR_RBJ2.Content);
|
if (AGV_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.2692,写入值:{GYR_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGV_RBJ2 = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2792");
|
|
if (AGV_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.2792,读取值:{AGV_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
int WBJ2 = Convert.ToInt32(AGV_RBJ2.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFR_WBJ2 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5992", WBJ2);
|
if (GFR_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV报警信号成功,DB偏移值:D5992,写入值:{AGV_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口2偏移方向
|
OperateResult<bool> GYR_RFX2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5893.2");
|
if (GYR_RFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:D5893.2,读取值:{GYR_RFX2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
////写入// 辊分设备下料口2偏移方向至AGV
|
OperateResult GYR_WFX2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2693.2", GYR_RFX2.Content);
|
if (GYR_WFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:DB1002.2693.2,写入值:{GYR_RFX2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
////获取// 辊分设备下料口2偏移量
|
OperateResult<float> GFR_PYL2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadFloat("D5894");
|
if (GFR_PYL2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2偏移量信息成功,DB偏移值:D5894,读取值:{GFR_PYL2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
Byte a2 = Convert.ToByte(GFR_PYL2.Content);
|
OperateResult W_ProcessSteps2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2694", a2);////写入辊分设备偏移量
|
if (W_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2偏移量信息成功,DB偏移值:DB1002.2694,写入值:{a2},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//AB轴
|
OperateResult<bool> R_Down1_AB2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5893.1");
|
if (R_Down1_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2// AB轴方向信息成功,DB偏移值:D5893.1,读取值:{R_Down1_AB2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
OperateResult W_AB2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2693.1", R_Down1_AB2.Content);
|
if (W_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2// AB轴信息成功,DB偏移值:DB1002.2693.1,写入值:{R_Down1_AB2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//// 读取agv下料口2请求进入
|
OperateResult<UInt16> R_Down1_bzR2 = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2790"); //// 读取agv下料口2逻辑
|
|
if (R_Down1_bzR2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:DB1002.2790,读取值:{R_Down1_bzR2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//// 写入辊压机下料口2 AGV请求进入
|
OperateResult W_ProcessSteps3 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5990", R_Down1_bzR2.Content);
|
if (W_ProcessSteps3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:D5990,写入值:{R_Down1_bzR2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
//// 读取辊压机下料口1 是否允许AGV请求进入
|
OperateResult<Int16> R_ProcessSteps2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5890");
|
if (R_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:D5890,读取值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
OperateResult W_stationDockSteps2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2690", R_ProcessSteps2.Content);
|
if (W_stationDockSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:DB1002.2690,写入值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
#endregion
|
#endregion
|
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
}, token);
|
#endregion
|
#region 负级辊分机四号信号传递
|
await Task.Run(() =>
|
{
|
try
|
{
|
var tbsb = "辊分机负极4";
|
if (WCSService.Clients == null)
|
{
|
return;
|
}
|
PLCClient tbplc = WCSService.Clients.Find(v => v.PLCName == tbsb);
|
if (tbplc == null)
|
{
|
return;
|
}
|
if (agvplc == null)
|
{
|
return;
|
}
|
#region 负级辊分机四号信号心跳
|
WriteLog.GetLog().Write($"--------------{tbsb}心跳传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//读取辊分机正极4号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5400.0");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D5400.0,读取值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//辊分机正极1号设备心跳—写入—》组装AGV调度心跳
|
OperateResult W_AGV_XT = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2400.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入组装AGV调度心跳信息成功,DB偏移值:DB1002.2400.0,写入值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//// 读取组装AGV调度心跳
|
OperateResult<bool> R_AGV_XT = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2500.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"// 读取组装AGV调度心跳信息成功,DB偏移值:DB1002.2500.0,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
Int16 tf = Convert.ToInt16(R_AGV_XT.Content);
|
//组装AGV调度—写入—》辊分机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5500", tf);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D5500,写入值:{tf},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}心跳传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}心跳传递");
|
#endregion
|
#region 上料口
|
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}上料口信息传递");
|
OperateResult<bool> GYC_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5492.0");
|
if (GYC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5492.0,读取值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGVC_WBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2492", GYC_RBJ.Content);
|
if (AGVC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口1报警信号成功,DB偏移值:DB1002.2492,写入值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGVC_RBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2592");
|
|
if (AGVC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName},{tbsb}号设备上料料口1对接报警信号成功,DB偏移值:DB1002.2592, 读取值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
int RBJ = Convert.ToInt32(AGVC_RBJ.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFC_WBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5592", RBJ);
|
if (GFC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口1AGV报警信号成功,DB偏移值:D5592,写入值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
|
////获取辊分设备上料口偏移方向
|
OperateResult<bool> GYR_RFX_Up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5493.2");
|
if (GYR_RFX_Up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口偏移方向信息成功,DB偏移值:D5493.2,读取值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//辊分设备上料口偏移方向写入至AGV
|
OperateResult GYR_WFX_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2493.2", GYR_RFX_Up.Content);
|
if (GYR_WFX_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口偏移方向信息成功,DB偏移值:DB1002.2493.2,写入值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
////获取辊分设备上料口偏移量
|
OperateResult<short> GFR_PYL_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5494");
|
if (GFR_PYL_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口偏移量信息成功,DB偏移值:D5494,读取值:{GFR_PYL_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
int py = Convert.ToInt32(GFR_PYL_up.Content / 10);
|
Byte a3 = Convert.ToByte(py);
|
OperateResult W_ProcessSteps_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2494", a3);////写入辊分设备偏移量
|
if (W_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}辊分设备上料口偏移量信息成功,DB偏移值:DB1002.2494,写入值:{a3},时间:{DateTime.Now}", $"{tbsb}信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//获取辊分上料口运行状态
|
OperateResult<bool> GFR_Run_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("M2309");
|
if (GFR_Run_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口运行状态信息成功,DB偏移值:M2309,读取值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//将辊分上料口运行状态写入AGV中
|
OperateResult AGV_WRun_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2492.2", GFR_Run_up.Content);
|
if (AGV_WRun_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口1运行状态成功,DB偏移值:DB1002.2492.2,写入值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//AB轴
|
OperateResult<bool> R_up_AB = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5493.1");
|
if (R_up_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口AB轴方向信息成功,DB偏移值:D5493.1,读取值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
OperateResult W_AB3 = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2493.1", R_up_AB.Content);
|
if (W_AB3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}辊分设备上料口AB轴信息成功,DB偏移值:DB1002.2493.1,写入值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 读取agv上料口逻辑
|
OperateResult<UInt16> R_up_bzR = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2590");
|
if (R_up_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName}辊分设备上料口AGV请求进入信息成功,DB偏移值:DB1002.2590,读取值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 写入辊压机上料口对接流程步骤
|
OperateResult W_ProcessStep_up = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5590", R_up_bzR.Content);
|
if (W_ProcessStep_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D5590,写入值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 读取辊压步序
|
OperateResult<Int16> R_ProcessSteps_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5490");
|
if (R_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D5490,读取值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//// 将步序写入agv
|
OperateResult W_stationDockSteps_up = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2490", R_ProcessSteps_up.Content);
|
if (W_stationDockSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.2490,写入值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
#endregion
|
#region 下料口
|
#region 设备下料一号信号通讯
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}下料一口信息传递");
|
//辊分机1号口报警
|
OperateResult<bool> GYR_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5692.0");
|
if (GYR_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5692.0,读取值:{GYR_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGV_WBJ = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2892", GYR_RBJ.Content);
|
if (AGV_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.2892,写入值:{GYR_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGV_RBJ = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2992");
|
|
if (AGV_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.2992,读取值:{AGV_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
int WBJ = Convert.ToInt32(AGV_RBJ.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFR_WBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5792", WBJ);
|
if (GFR_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV报警信号成功,DB偏移值:D5792,写入值:{AGV_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口1偏移方向
|
OperateResult<bool> GYR_RFX = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5693.2");
|
if (GYR_RFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:D5693.2,读取值:{GYR_RFX.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 辊分设备下料口1偏移方向写入至AGV
|
OperateResult GYR_WFX = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2893.2", GYR_RFX.Content);
|
if (GYR_WFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:DB1002.2893.2,写入值:{GYR_RFX.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
////获取// 辊分设备下料口1AB轴方向
|
OperateResult<bool> R_Down1_AB = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5693.1");
|
if (R_Down1_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1AB轴方向信息成功,DB偏移值:D5693.1,读取值:{R_Down1_AB.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 辊分设备下料口1AB轴方向写入至AGV
|
OperateResult W_AB = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2893.1", R_Down1_AB.Content);
|
if (W_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1AB轴信息成功,DB偏移值:DB1002.2893.1,写入值:{R_Down1_AB.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口1偏移量
|
OperateResult<float> GFR_PYL = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadFloat("D5694");
|
if (GFR_PYL.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1偏移量信息成功,DB偏移值:D5694,读取值:{GFR_PYL.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
Byte a = Convert.ToByte(GFR_PYL.Content);
|
OperateResult W_ProcessSteps = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2894", a);////写入辊分设备偏移量
|
if (W_ProcessSteps.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1偏移量信息成功,DB偏移值:DB1002.2894,写入值:{a},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// // 读取agv下料口1请求进入
|
OperateResult<UInt16> R_Down1_bzR = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2990");
|
if (R_Down1_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取组装AGV调度// 辊分设备下料口1AGV请求进入信息成功,DB偏移值:DB1002.2990,读取值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 写入辊压机下料口1 AGV请求进入
|
OperateResult W_ProcessSteps1 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5790", R_Down1_bzR.Content);
|
if (W_ProcessSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV请求进入信息成功,DB偏移值:D5790,写入值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
//// 读取辊压机下料口1 是否允许AGV请求进入
|
OperateResult<Int16> R_ProcessSteps1 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5690");
|
if (R_ProcessSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1允许AGV请求进入信息成功,DB偏移值:D5690,读取值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
OperateResult W_stationDockSteps1 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2890", R_ProcessSteps1.Content);
|
if (W_stationDockSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1允许AGV进入信息成功,DB偏移值:DB1002.2890,写入值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
#endregion
|
#region 设备下料二号信号通讯
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}下料二口信息传递");
|
//辊分机2号口报警
|
OperateResult<bool> GYR_RBJ2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5892.0");
|
if (GYR_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口1报警信号成功,DB偏移值:D5892.0,读取值:{GYR_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGV_WBJ2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.3092", GYR_RBJ2.Content);
|
if (AGV_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.3092,写入值:{GYR_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGV_RBJ2 = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.3192");
|
|
if (AGV_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.3192,读取值:{AGV_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
int WBJ2 = Convert.ToInt32(AGV_RBJ2.Content);
|
//辊分机获取AGV报警信号
|
OperateResult GFR_WBJ2 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5992", WBJ2);
|
if (GFR_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口1AGV报警信号成功,DB偏移值:D5992,写入值:{AGV_RBJ2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
////获取// 辊分设备下料口2偏移方向
|
OperateResult<bool> GYR_RFX2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5893.2");
|
if (GYR_RFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:D5893.2,读取值:{GYR_RFX2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
////写入// 辊分设备下料口2偏移方向至AGV
|
OperateResult GYR_WFX2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.3093.2", GYR_RFX2.Content);
|
if (GYR_WFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:DB1002.3093.2,写入值:{GYR_RFX2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
////获取// 辊分设备下料口2偏移量
|
OperateResult<float> GFR_PYL2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadFloat("D5894");
|
if (GFR_PYL2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2偏移量信息成功,DB偏移值:D5894,读取值:{GFR_PYL2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
Byte a2 = Convert.ToByte(GFR_PYL2.Content);
|
OperateResult W_ProcessSteps2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.3094", a2);////写入辊分设备偏移量
|
if (W_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2偏移量信息成功,DB偏移值:DB1002.3094,写入值:{a2},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//AB轴
|
OperateResult<bool> R_Down1_AB2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5893.1");
|
if (R_Down1_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2// AB轴方向信息成功,DB偏移值:D5893.1,读取值:{R_Down1_AB2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
OperateResult W_AB2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.3093.1", R_Down1_AB2.Content);
|
if (W_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}辊分设备下料口2 AB轴信息成功,DB偏移值:DB1002.3093.1,写入值:{R_Down1_AB2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//// 读取agv下料口2请求进入
|
OperateResult<UInt16> R_Down1_bzR2 = agvplc.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.3190"); //// 读取agv下料口2逻辑
|
|
if (R_Down1_bzR2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:DB1002.3190,读取值:{R_Down1_bzR2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
//// 写入辊压机下料口2 AGV请求进入
|
OperateResult W_ProcessSteps3 = tbplc.MelsecPLCClient.MelsecMcNetClient.Write("D5990", R_Down1_bzR2.Content);
|
if (W_ProcessSteps3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:D5990,写入值:{R_Down1_bzR2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
//// 读取辊压机下料口1 是否允许AGV请求进入
|
OperateResult<Int16> R_ProcessSteps2 = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5890");
|
if (R_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:D5890,读取值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
OperateResult W_stationDockSteps2 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.3090", R_ProcessSteps2.Content);
|
if (W_stationDockSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:DB1002.3090,写入值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"--------------{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
#endregion
|
#endregion
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
}, token);
|
#endregion
|
#endregion
|
}
|
}
|
}
|