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 heartbeat
|
{
|
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 (agvplcZ == null)
|
{
|
return;
|
}
|
#region 涂布机正极1号设备心跳
|
WriteLog.GetLog().Write($"{tbsb}心跳传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}心跳传递");
|
//读取涂布机正极1号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11000.00");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D11000.00,读取值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}信息传递");
|
return;
|
}
|
//涂布机正极1号设备心跳—写入—》正极AGV调度心跳
|
OperateResult W_AGV_XT = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.200.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}心跳信息成功,DB偏移值:DB1002.200.0, 写入值:{R_TBR_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//读取正极AGV调度心跳
|
OperateResult<bool> R_AGV_XT = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.300.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName}心跳信息成功,DB偏移值:DB1002.300.0, 读取值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//正极AGV调度—写入—》涂布机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11100.00", R_AGV_XT.Content);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D11100.00, 写入值:{R_AGV_XT.Content},时间:{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 涂布机正极1号上料口
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}号上料口传递");
|
//读取agv报警信号
|
OperateResult<bool> R_AGV_BJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.392.0");
|
if (R_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName}上料口报警信息成功,DB偏移值:DB1002.392.0, 读取值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.00", R_AGV_BJ.Content);
|
if (W_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号上料口报警信息成功,DB偏移值:D11192.00, 写入值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取设备报警信号
|
OperateResult<bool> R_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.00");
|
if (R_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号上料口报警信息成功,DB偏移值:D11092.00, 读取值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_BJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.292.0", R_TBR_BJ.Content);
|
if (W_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}报警信息成功,DB偏移值:DB1002.292.0, 写入值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取agv对接步骤流程
|
OperateResult<Int16> R_AGV_DJLC = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.390");
|
if (R_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName} {tbsb}上料口AGV请求进入信息成功,DB偏移值:DB1002.390, 读取值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11190", R_AGV_DJLC.Content);
|
if (W_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D11190,写入值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取涂布设备对接流程
|
OperateResult<Int16> R_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11090");
|
if (R_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D11090, 读取值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_DJLC = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.290", R_TBR_DJLC.Content);
|
if (W_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.290, 写入值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机正极1号下料口
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}号下料口传递");
|
//读取涂布报警
|
OperateResult<bool> R_tbBJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11292.00");
|
if (R_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号下料口报警信息成功,DB偏移值:D11292.00, 读取值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入agv
|
OperateResult W_tbBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.493.2", R_tbBJ.Content);
|
if (W_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ}报警信息成功,DB偏移值:DB1002.493.2, 写入值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv报警
|
OperateResult<bool> R_agvBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.592.0");
|
if (R_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ}下料口AGV报警信息成功,DB偏移值:DB1002.592.0, 读取值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入涂布机
|
OperateResult W_agvBJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11392.00", R_agvBJ.Content);
|
if (W_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ}号下料口报警信息成功,DB偏移值:D11392.00, 写入值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv步骤
|
OperateResult<Int16> R_agvBZ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.590.0");
|
if (R_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName} {tbsb}号下料口AGV请求进入信息成功,DB偏移值:DB1002.590.0, 读取值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
if (R_agvBZ.Content > 0)
|
{
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", true);//请求涂布机开门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口开门,DB偏移值:D11192.05, 写入值:true, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
OperateResult<bool> R_TB_IsOpen = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.06");//涂布机开门完成信号
|
if (R_TB_IsOpen.IsSuccess )
|
{
|
WriteLog.GetLog().Write($"读取 {tbsb}号下料口门信息成功,DB偏移值:D11092.06, 读取值:{R_TB_IsOpen.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
if (R_TB_IsOpen.Content)
|
{
|
//写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390, 写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}信息传递");
|
}
|
//读取设备步骤
|
OperateResult<Int16> R_tbBZ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11290");
|
if (R_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口允许AGV请求进入信息成功,DB偏移值:D11290, 读取值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}信息传递");
|
}
|
//步骤信号写入agv
|
OperateResult W_tbBZ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.490.0", R_tbBZ.Content);
|
if (W_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备下料口允许AGV进入信息成功,DB偏移值:DB1002.490.0, 写入值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}信息传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine} ", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}信息传递");
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}号下料口门当前未开门到位,此回话结束,等待开门到位", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine} ", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}信息传递");
|
return;
|
}
|
}
|
|
else if (R_agvBZ.Content == 0)
|
{
|
//写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390, 写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", false);//请求涂布机关门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口关门,DB偏移值:D11192.05, 写入值:false, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine} ", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
#endregion
|
}
|
catch (Exception ex)
|
{
|
WriteLog.GetLog().Write($"通讯异常,内容:{ex.Message},时间:{DateTime.Now} -------------- {Environment.NewLine}", $"涂布机正极1号下料口传递");
|
}
|
});
|
|
#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 (agvplcZ == null)
|
{
|
return;
|
}
|
#region 涂布机正极2号设备心跳
|
WriteLog.GetLog().Write($"{tbsb}心跳传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}心跳传递");
|
//读取涂布机正极2号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11000.00");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D11000.00, 读取值:{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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.600.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入正极AGV调度心跳信息成功,DB偏移值:DB1002.600.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.700.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取正极AGV调度心跳信息成功,DB偏移值:DB1002.700.0, 读取值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//正极AGV调度—写入—》涂布机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11100.00", R_AGV_XT.Content);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D11100.00, 写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
WriteLog.GetLog().Write($"{tbsb}心跳传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机正极2号上料口
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}号上料口传递");
|
//读取agv报警信号
|
OperateResult<bool> R_AGV_BJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.792.0");
|
if (R_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName}上料口报警信息成功,DB偏移值:DB1002.792.0, 读取值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.00", R_AGV_BJ.Content);
|
if (W_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号报警信息成功,DB偏移值:D11192.00, 写入值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取设备报警信号
|
OperateResult<bool> R_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.00");
|
if (R_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备报警信息成功,DB偏移值:D11092.00, 读取值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_BJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.692.0", R_TBR_BJ.Content);
|
if (W_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}报警信息成功,DB偏移值:DB1002.692.0, 写入值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取agv对接步骤流程
|
OperateResult<Int16> R_AGV_DJLC = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.790");
|
if (R_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName} {tbsb}上料口AGV请求进入信息成功,DB偏移值:DB1002.790, 读取值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
//写入涂布设备
|
OperateResult W_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11190", R_AGV_DJLC.Content);
|
if (W_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D11190, 写入值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
//读取涂布设备对接流程
|
OperateResult<Int16> R_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11090");
|
if (R_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D11090, 读取值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
//写入agv
|
OperateResult W_AGV_DJLC = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.690", R_TBR_DJLC.Content);
|
if (W_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.690, 写入值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
#endregion
|
|
#region 涂布机正极2号下料口
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}号上料口传递");
|
//读取涂布报警
|
OperateResult<bool> R_tbBJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11292.00");
|
if (R_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号下料口报警信息成功,DB偏移值:D11292.00, 读取值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入agv
|
OperateResult W_tbBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.893.2", R_tbBJ.Content);
|
if (W_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ}报警信息成功,DB偏移值:DB1002.893.2,写入值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv报警
|
OperateResult<bool> R_agvBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.992.0");
|
if (R_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ}下料口AGV报警信息成功,DB偏移值:DB1002.992.0,读取值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入涂布机
|
OperateResult W_agvBJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11392.00", R_agvBJ.Content);
|
if (W_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ}号下料口报警信息成功,DB偏移值:D11392.00,写入值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv步骤
|
OperateResult<Int16> R_agvBZ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.990.0");
|
if (R_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName} {tbsb}下料口AGV请求进入信息成功,DB偏移值:DB1002.990.0,读取值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
if (R_agvBZ.Content > 0)
|
{
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", true);//请求涂布机开门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口开门,DB偏移值:D11192.05, 写入值:true, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
OperateResult<bool> R_TB_IsOpen = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.06");//涂布机开门完成信号
|
if (R_TB_IsOpen.IsSuccess )
|
{
|
WriteLog.GetLog().Write($"读取 {tbsb}号下料口门信息成功,DB偏移值:D11092.06, 读取值:{R_TB_IsOpen.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
if (R_TB_IsOpen.Content)
|
{
|
//写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取设备步骤
|
OperateResult<Int16> R_tbBZ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11290");
|
if (R_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口允许AGV请求进入信息成功,DB偏移值:D11290,读取值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//步骤信号写入agv
|
OperateResult W_tbBZ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.890.0", R_tbBZ.Content);
|
if (W_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备下料口允许AGV进入信息成功,DB偏移值:DB1002.890.0,写入值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- ", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}号下料口门当前未开门到位,此回话结束,等待开门到位", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
else if (R_agvBZ.Content == 0)
|
{
|
//写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", false);//请求涂布机关门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口关门,DB偏移值:D11192.05, 写入值:false, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine} ", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
#endregion
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
});
|
|
|
#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 (agvplcZ == null)
|
{
|
return;
|
}
|
#region 涂布机正极3号设备心跳
|
WriteLog.GetLog().Write($"{tbsb}心跳传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//读取涂布机正极3号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11000.00");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D11000.00, 读取值:{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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1000.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入正极AGV调度心跳信息成功,DB偏移值:DB1002.1000.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1100.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取正极AGV调度心跳信息成功,DB偏移值:DB1002.1100.0,读取值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//正极AGV调度—写入—》涂布机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11100.00", R_AGV_XT.Content);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D11100.00,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
WriteLog.GetLog().Write($"{tbsb}心跳传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
#endregion
|
#region 涂布机正极3号上料口
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递开始,时间:{DateTime.Now} --------------", $"{tbsb}号上料口传递");
|
//读取agv报警信号
|
OperateResult<bool> R_AGV_BJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1192.0");
|
if (R_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName}上料口报警信息成功,DB偏移值:DB1002.1192.0,读取值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.00", R_AGV_BJ.Content);
|
if (W_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号报警信息成功,DB偏移值:,写入值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取设备报警信号
|
OperateResult<bool> R_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.00");
|
if (R_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备报警信息成功,DB偏移值:D11092.00,读取值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_BJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1092.0", R_TBR_BJ.Content);
|
if (W_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}报警信息成功,DB偏移值:DB1002.1092.0,写入值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取agv对接步骤流程
|
OperateResult<Int16> R_AGV_DJLC = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.1190");
|
if (R_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName} {tbsb}上料口AGV请求进入信息成功,DB偏移值:DB1002.1190,读取值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
//写入涂布设备
|
OperateResult W_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11190", R_AGV_DJLC.Content);
|
if (W_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D11190,写入值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取涂布设备对接流程
|
OperateResult<Int16> R_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11090");
|
if (R_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D11090,读取值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_DJLC = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1090", R_TBR_DJLC.Content);
|
if (W_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.1090,写入值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
#endregion
|
#region 涂布机正极3号下料口
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递开始,时间:{DateTime.Now} --------------", $"{tbsb}号下料口传递");
|
//读取涂布报警
|
OperateResult<bool> R_tbBJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11292.00");
|
if (R_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号下料口报警信息成功,DB偏移值:D11292.00,读取值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入agv
|
OperateResult W_tbBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1293.2", R_tbBJ.Content);
|
if (W_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ}报警信息成功,DB偏移值:DB1002.1293.2,写入值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv报警
|
OperateResult<bool> R_agvBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1392.0");
|
if (R_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ}下料口AGV报警信息成功,DB偏移值:DB1002.1392.0,读取值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入涂布机
|
OperateResult W_agvBJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11392.00", R_agvBJ.Content);
|
if (W_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ}号下料口报警信息成功,DB偏移值:D11392.00,写入值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv步骤
|
OperateResult<Int16> R_agvBZ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.1390.0");
|
if (R_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName} {tbsb}下料口AGV请求进入信息成功,DB偏移值:DB1002.1390.0,读取值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
|
if (R_agvBZ.Content > 0)
|
{
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", true);//请求涂布机开门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口开门信息成功,DB偏移值:D11192.05,写入值:true,时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
OperateResult<bool> R_TB_IsOpen = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.06");//涂布机开门完成信号
|
if (R_TB_IsOpen.Content)
|
{
|
WriteLog.GetLog().Write($"读取 {tbsb}号设备下料口门信息成功,DB偏移值:D11192.06,读取值:{R_TB_IsOpen.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
//写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取设备步骤
|
OperateResult<Int16> R_tbBZ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11290");
|
if (R_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口允许AGV请求进入信息成功,DB偏移值:D11290,读取值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//步骤信号写入agv
|
OperateResult W_tbBZ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1290.0", R_tbBZ.Content);
|
if (W_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备下料口允许AGV进入信息成功,DB偏移值:DB1002.1290.0,写入值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine} ", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
}
|
}
|
else if (R_agvBZ.Content == 0)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", false);//请求涂布机关门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口关门,DB偏移值:D11192.05, 写入值:false, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine} ", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
#endregion
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
});
|
#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 (agvplcZ == null)
|
{
|
return;
|
}
|
#region 涂布机正极4号设备心跳
|
WriteLog.GetLog().Write($"{tbsb}号心跳传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//读取涂布机正极4号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11000.00");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D11000.00,读取值:{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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1400.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入正极AGV调度心跳信息成功,DB偏移值:DB1002.1400.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1500.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取正极AGV调度心跳信息成功,DB偏移值:DB1002.1500.0,读取值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//正极AGV调度—写入—》涂布机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11100.00", R_AGV_XT.Content);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D11100.00,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
WriteLog.GetLog().Write($"{tbsb}号心跳传递借,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
#endregion
|
#region 涂布机正极4号上料口
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递开始 时间:{DateTime.Now} -------------- ", $"{tbsb}号上料口传递");
|
//读取agv报警信号
|
OperateResult<bool> R_AGV_BJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1592.0");
|
if (R_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName}上料口报警信息成功,DB偏移值:DB1002.1592.0,读取值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.00", R_AGV_BJ.Content);
|
if (W_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号报警信息成功,DB偏移值:D11192.00,写入值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取设备报警信号
|
OperateResult<bool> R_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.00");
|
if (R_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备报警信息成功,DB偏移值:D11092.00,读取值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_BJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1492.0", R_TBR_BJ.Content);
|
if (W_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}报警信息成功,DB偏移值:DB1002.1492.0,写入值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取agv对接步骤流程
|
OperateResult<Int16> R_AGV_DJLC = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.1590");
|
if (R_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName} {tbsb}上料口AGV请求进入信息成功,DB偏移值:DB1002.1590,读取值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11190", R_AGV_DJLC.Content);
|
if (W_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D11190,写入值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取涂布设备对接流程
|
OperateResult<Int16> R_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11090");
|
if (R_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D11090,读取值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_DJLC = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1490", R_TBR_DJLC.Content);
|
if (W_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.1490,写入值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递结束 时间:{DateTime.Now} -------------- ", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机正极4号下料口
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}号下料口传递开始 时间:{DateTime.Now} -------------- ", $"{tbsb}号下料口传递");
|
//读取涂布报警
|
OperateResult<bool> R_tbBJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11292.00");
|
if (R_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号下料口报警信息成功,偏移值:D11292.00, 读取值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入agv
|
OperateResult W_tbBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1693.2", R_tbBJ.Content);
|
if (W_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ}报警信息成功,DB偏移值:DB1002.1693.2,写入值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv报警
|
OperateResult<bool> R_agvBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1792.0");
|
if (R_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ}下料口AGV报警信息成功,DB偏移值:DB1002.1792.0,读取值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入涂布机
|
OperateResult W_agvBJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11392.00", R_agvBJ.Content);
|
if (W_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ}号下料口报警信息成功,DB偏移值:D11392.00,写入值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv步骤
|
OperateResult<Int16> R_agvBZ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.1790.0");
|
if (R_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName} {tbsb}下料口AGV请求进入信息成功,DB偏移值:DB1002.1790.0,读取值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
if (R_agvBZ.Content > 0)
|
{
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", true);//请求涂布机开门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口开门信息成功,DB偏移值:D11192.05,写入值:true,时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
OperateResult<bool> R_TB_IsOpen = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.06");//涂布机开门完成信号
|
if (R_TB_IsOpen.IsSuccess )
|
{
|
WriteLog.GetLog().Write($"读取 {tbsb}号设备下料口开信息成功,DB偏移值:D11092.06,读取值:{R_TB_IsOpen.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
if (R_TB_IsOpen.Content)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取设备步骤
|
OperateResult<Int16> R_tbBZ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11290");
|
if (R_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口允许AGV请求进入信息成功,DB偏移值:D11290,读取值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//步骤信号写入agv
|
OperateResult W_tbBZ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1690.0", R_tbBZ.Content);
|
if (W_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备下料口允许AGV进入信息成功,DB偏移值:DB1002.1690.0,写入值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
}
|
|
}
|
|
else if (R_agvBZ.Content == 0)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", false);//请求涂布机关门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口关门,DB偏移值:D11192.05, 写入值:false, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
#endregion
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
});
|
#endregion
|
#endregion
|
|
#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 (agvplcF == null)
|
{
|
return;
|
}
|
#region 涂布机负极1号设备心跳
|
WriteLog.GetLog().Write($"{tbsb}心跳传递传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//读取涂布机正极1号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11000.00");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D11000.00,读取值:{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 = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.200.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入正极AGV调度心跳信息成功,DB偏移值:DB1002.200.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 = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.300.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取正极AGV调度心跳信息成功,DB偏移值:DB1002.300.0,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//正极AGV调度—写入—》涂布机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11100.00", R_AGV_XT.Content);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D11100.00,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
WriteLog.GetLog().Write($"{tbsb}心跳传递传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机负极1号上料口
|
WriteLog.GetLog().Write($"{tbsb}心跳传递传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//读取agv报警信号
|
OperateResult<bool> R_AGV_BJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.392.0");
|
if (R_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName}上料口报警信息成功,DB偏移值:DB1002.392.0,读取值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.00", R_AGV_BJ.Content);
|
if (W_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号报警信息成功,DB偏移值:D11192.00,写入值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取设备报警信号
|
OperateResult<bool> R_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.00");
|
if (R_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备报警信息成功,DB偏移值:D11092.00,读取值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_BJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.292.0", R_TBR_BJ.Content);
|
if (W_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}报警信息成功,DB偏移值:DB1002.292.0,写入值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取agv对接步骤流程
|
OperateResult<Int16> R_AGV_DJLC = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.390");
|
if (R_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName} {tbsb}上料口AGV请求进入信息成功,DB偏移值:DB1002.390,读取值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11190", R_AGV_DJLC.Content);
|
if (W_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D11190,写入值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取涂布设备对接流程
|
OperateResult<Int16> R_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11090");
|
if (R_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D11090,读取值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_DJLC = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.290", R_TBR_DJLC.Content);
|
if (W_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.290,写入值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
WriteLog.GetLog().Write($"{tbsb}心跳传递传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机正极1号下料口
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递开始,时间:{DateTime.Now} --------------", $"{tbsb}号下料口传递");
|
//读取涂布报警
|
OperateResult<bool> R_tbBJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11292.00");
|
if (R_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号下料口报警信息成功,DB偏移值:D11292.00,读取值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入agv
|
OperateResult W_tbBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.493.2", R_tbBJ.Content);
|
if (W_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF}报警信息成功,DB偏移值:DB1002.493.2,写入值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv报警
|
OperateResult<bool> R_agvBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.592.0");
|
if (R_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF}下料口AGV报警信息成功,DB偏移值:DB1002.592.0,读取值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入涂布机
|
OperateResult W_agvBJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11392.00", R_agvBJ.Content);
|
if (W_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF}号下料口报警信息成功,DB偏移值:D11392.00,写入值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv步骤
|
OperateResult<Int16> R_agvBZ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.590.0");
|
if (R_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName} {tbsb}下料口AGV请求进入信息成功,DB偏移值:DB1002.590.0,读取值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
if (R_agvBZ.Content > 0)
|
{
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", true);//请求涂布机开门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口开门信息成功,DB偏移值:D11192.05,写入值:true,时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
OperateResult<bool> R_TB_IsOpen = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.06");//涂布机开门完成信号
|
if (R_TB_IsOpen.IsSuccess )
|
{
|
WriteLog.GetLog().Write($"读取 {tbsb}号设备下料口门信息成功,DB偏移值:D11192.06,读取值:{R_TB_IsOpen.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
if (R_TB_IsOpen.Content)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取设备步骤
|
OperateResult<Int16> R_tbBZ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11290");
|
if (R_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口允许AGV请求进入信息成功,DB偏移值:D11290,读取值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//步骤信号写入agv
|
OperateResult W_tbBZ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.490.0", R_tbBZ.Content);
|
if (W_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备下料口允许AGV进入信息成功,DB偏移值:DB1002.490.0,写入值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
}
|
}
|
|
else if (R_agvBZ.Content == 0)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", false);//请求涂布机关门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口关门,DB偏移值:D11192.05, 写入值:false, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine} ", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
#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 (agvplcF == null)
|
{
|
return;
|
}
|
#region 涂布机负极二号设备心跳
|
WriteLog.GetLog().Write($"{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//读取涂布机负极1号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11000.00");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D11000.00,读取值:{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 = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.600.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入正极AGV调度心跳信息成功,DB偏移值:DB1002.600.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 = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.700.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取正极AGV调度心跳信息成功,DB偏移值:DB1002.700.0,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//正极AGV调度—写入—》涂布机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11100.00", R_AGV_XT.Content);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D11100.00,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}信息传递");
|
WriteLog.GetLog().Write($"{tbsb}信息传递结束,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}信息传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机负极2号上料口
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递开始,时间:{DateTime.Now} --------------", $"{tbsb}号上料口传递");
|
//读取agv报警信号
|
OperateResult<bool> R_AGV_BJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.792.0");
|
if (R_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName}上料口报警信息成功,DB偏移值:DB1002.792.0,读取值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.00", R_AGV_BJ.Content);
|
if (W_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号报警信息成功,DB偏移值:D11192.00,写入值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取设备报警信号
|
OperateResult<bool> R_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.00");
|
if (R_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备报警信息成功,DB偏移值:D11092.00,读取值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_BJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.692.0", R_TBR_BJ.Content);
|
if (W_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}报警信息成功,DB偏移值:DB1002.692.0,写入值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取agv对接步骤流程
|
OperateResult<Int16> R_AGV_DJLC = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.790");
|
if (R_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName} {tbsb}上料口AGV请求进入信息成功,DB偏移值:DB1002.790,读取值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11190", R_AGV_DJLC.Content);
|
if (W_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D11190,写入值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取涂布设备对接流程
|
OperateResult<Int16> R_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11090");
|
if (R_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D11090,读取值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_DJLC = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.690", R_TBR_DJLC.Content);
|
if (W_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.690,写入值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机负极2号下料口
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递开始,时间:{DateTime.Now} --------------", $"{tbsb}号下料口传递");
|
//读取涂布报警
|
OperateResult<bool> R_tbBJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11292.00");
|
if (R_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号下料口报警信息成功,DB偏移值:D11292.00,读取值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入agv
|
OperateResult W_tbBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.893.2", R_tbBJ.Content);
|
if (W_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF}报警信息成功,DB偏移值:DB1002.893.2,写入值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv报警
|
OperateResult<bool> R_agvBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.992.0");
|
if (R_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF}下料口AGV报警信息成功,DB偏移值:DB1002.992.0,读取值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入涂布机
|
OperateResult W_agvBJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11392.00", R_agvBJ.Content);
|
if (W_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF}号下料口报警信息成功,DB偏移值:D11392.00,写入值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv步骤
|
OperateResult<Int16> R_agvBZ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.990.0");
|
if (R_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName} {tbsb}下料口AGV请求进入信息成功,DB偏移值:DB1002.990.0,读取值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
if (R_agvBZ.Content > 0)
|
{
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", true);//请求涂布机开门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口开门信息成功,DB偏移值:D11192.05,写入值:true,时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
OperateResult<bool> R_TB_IsOpen = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.06");//涂布机开门完成信号
|
if (R_TB_IsOpen.IsSuccess )
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口门信息成功,DB偏移值:D11092.06,读取值:{R_TB_IsOpen.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
if (R_TB_IsOpen.Content)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
//读取设备步骤
|
OperateResult<Int16> R_tbBZ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11290");
|
if (R_tbBZ.IsSuccess)
|
{
|
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口允许AGV请求进入信息成功,DB偏移值:D11290,读取值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
//步骤信号写入agv
|
OperateResult W_tbBZ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.890.0", R_tbBZ.Content);
|
if (W_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备下料口允许AGV进入信息成功,DB偏移值:DB1002.890.0,写入值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
}
|
}
|
|
else if (R_agvBZ.Content == 0)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", false);//请求涂布机关门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口关门,DB偏移值:D11192.05, 写入值:false, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
#endregion
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
}, token);
|
#endregion
|
#region 负级涂布机三号信号传递
|
await Task.Run(() =>
|
{
|
try
|
{
|
var tbsb = "涂布机负极3";
|
WriteLog.GetLog().Write($"{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}信息传递");
|
if (WCSService.Clients == null)
|
{
|
return;
|
}
|
PLCClient tbplc = WCSService.Clients.Find(v => v.PLCName == tbsb);
|
if (tbplc == null)
|
{
|
return;
|
}
|
if (agvplcF == null)
|
{
|
return;
|
}
|
#region 涂布机负极3号设备心跳
|
WriteLog.GetLog().Write($"{tbsb}心跳传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//读取涂布机正极3号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11000.00");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D11000.00,读取值:{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 = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1000.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入正极AGV调度心跳信息成功,DB偏移值:DB1002.1000.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 = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1100.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取正极AGV调度心跳信息成功,DB偏移值:DB1002.1100.0,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//正极AGV调度—写入—》涂布机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11100.00", R_AGV_XT.Content);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D11100.00,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
WriteLog.GetLog().Write($"{tbsb}心跳传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机负极3号上料口
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递开始 时间:{DateTime.Now} -------------- ", $"{tbsb}号上料口传递");
|
//读取agv报警信号
|
OperateResult<bool> R_AGV_BJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1192.0");
|
if (R_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName}上料口报警信息成功,DB偏移值:DB1002.1192.0,读取值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.00", R_AGV_BJ.Content);
|
if (W_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号报警信息成功,DB偏移值:D11192.00,写入值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取设备报警信号
|
OperateResult<bool> R_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.00");
|
if (R_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备报警信息成功,DB偏移值:D11092.00,读取值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_BJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1092.0", R_TBR_BJ.Content);
|
if (W_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}报警信息成功,DB偏移值:DB1002.1092.0,写入值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取agv对接步骤流程
|
OperateResult<Int16> R_AGV_DJLC = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.1190");
|
if (R_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName} {tbsb}上料口AGV请求进入信息成功,DB偏移值:DB1002.1190,读取值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11190", R_AGV_DJLC.Content);
|
if (W_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D11190,写入值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取涂布设备对接流程
|
OperateResult<Int16> R_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11090");
|
if (R_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D11090,读取值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_DJLC = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1090", R_TBR_DJLC.Content);
|
if (W_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.1090,写入值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递结束 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机负极3号下料口
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递开始 时间:{DateTime.Now} -------------- ", $"{tbsb}号下料口传递");
|
//读取涂布报警
|
OperateResult<bool> R_tbBJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11292.00");
|
if (R_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号下料口报警信息成功,DB偏移值:D11292.00,读取值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入agv
|
OperateResult W_tbBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1293.2", R_tbBJ.Content);
|
if (W_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF}报警信息成功,DB偏移值:DB1002.1293.2,写入值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv报警
|
OperateResult<bool> R_agvBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1392.0");
|
if (R_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF}下料口AGV报警信息成功,DB偏移值:DB1002.1392.0,读取值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入涂布机
|
OperateResult W_agvBJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11392.00", R_agvBJ.Content);
|
if (W_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF}号下料口报警信息成功,DB偏移值:D11392.00,写入值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv步骤
|
OperateResult<Int16> R_agvBZ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.1390.0");
|
if (R_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName} {tbsb}下料口AGV请求进入信息成功,DB偏移值:DB1002.1390.0,读取值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
if (R_agvBZ.Content > 0)
|
{
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", true);//请求涂布机开门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口开门信息成功,DB偏移值:D11192.05,写入值:true,时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
OperateResult<bool> R_TB_IsOpen = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.06");//涂布机开门完成信号
|
if (R_TB_IsOpen.IsSuccess )
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口门信息成功,DB偏移值:D11092.06,读取值:{R_TB_IsOpen.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
if (R_TB_IsOpen.Content)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取设备步骤
|
OperateResult<Int16> R_tbBZ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11290");
|
if (R_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口允许AGV请求进入信息成功,DB偏移值:D11290,读取值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//步骤信号写入agv
|
OperateResult W_tbBZ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1290.0", R_tbBZ.Content);
|
if (W_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备下料口允许AGV进入信息成功,DB偏移值:DB1002.1290.0,写入值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
}
|
}
|
|
else if (R_agvBZ.Content == 0)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", false);//请求涂布机关门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口关门,DB偏移值:D11192.05, 写入值:false, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
#endregion
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
}, token);
|
#endregion
|
#region 负级涂布机四号信号传递
|
await Task.Run(() =>
|
{
|
try
|
{
|
var tbsb = "涂布机负极4";
|
WriteLog.GetLog().Write($"{tbsb}号信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}信息传递");
|
if (WCSService.Clients == null)
|
{
|
return;
|
}
|
PLCClient tbplc = WCSService.Clients.Find(v => v.PLCName == tbsb);
|
if (tbplc == null)
|
{
|
return;
|
}
|
if (agvplcF == null)
|
{
|
return;
|
}
|
#region 涂布机负极4号设备心跳
|
WriteLog.GetLog().Write($"{tbsb}号心跳传递开始,时间:{DateTime.Now} --------------", $"{tbsb}心跳传递");
|
//读取涂布机负极4号设备心跳
|
OperateResult<bool> R_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11000.00");
|
if (R_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备心跳信息成功,DB偏移值:D11000.00,读取值:{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 = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1400.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入正极AGV调度心跳信息成功,DB偏移值:DB1002.1400.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 = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1500.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取正极AGV调度心跳信息成功,DB偏移值:DB1002.1500.0,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
//正极AGV调度—写入—》涂布机正极1号设备心跳
|
OperateResult W_TBR_XT = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11100.00", R_AGV_XT.Content);
|
if (W_TBR_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备心跳信息成功,DB偏移值:D11100.00,写入值:{R_AGV_XT.Content},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
WriteLog.GetLog().Write($"{tbsb}号心跳传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机负极4号上料口
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递开始,时间:{DateTime.Now} -------------- ", $"{tbsb}号上料口传递");
|
//读取agv报警信号
|
OperateResult<bool> R_AGV_BJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1592.0");
|
if (R_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName}上料口报警信息成功,DB偏移值:DB1002.1592.0,读取值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.00", R_AGV_BJ.Content);
|
if (W_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号报警信息成功,DB偏移值:D11192.00,写入值:{R_AGV_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取设备报警信号
|
OperateResult<bool> R_TBR_BJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.00");
|
if (R_TBR_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备报警信息成功,DB偏移值:D11092.00,读取值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_BJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1492.0", R_TBR_BJ.Content);
|
if (W_AGV_BJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName}报警信息成功,DB偏移值:DB1002.1492.0,写入值:{R_TBR_BJ.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取agv对接步骤流程
|
OperateResult<Int16> R_AGV_DJLC = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.1590");
|
if (R_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName} {tbsb}上料口AGV请求进入信息成功,DB偏移值:DB1002.1590,读取值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入涂布设备
|
OperateResult W_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11190", R_AGV_DJLC.Content);
|
if (W_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备上料口AGV请求进入信息成功,DB偏移值:D11190,写入值:{R_AGV_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//读取涂布设备对接流程
|
OperateResult<Int16> R_TBR_DJLC = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11090");
|
if (R_TBR_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口允许AGV请求进入信息成功,DB偏移值:D11090,读取值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
//写入agv
|
OperateResult W_AGV_DJLC = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1490", R_TBR_DJLC.Content);
|
if (W_AGV_DJLC.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.1490,写入值:{R_TBR_DJLC.Content},时间:{DateTime.Now}", $"{tbsb}号上料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号上料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号上料口传递");
|
return;
|
}
|
#endregion
|
|
#region 涂布机负极4号下料口
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递开始,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
//读取涂布报警
|
OperateResult<bool> R_tbBJ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11292.00");
|
if (R_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号下料口报警信息成功,DB偏移值:D11292.00,读取值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入agv
|
OperateResult W_tbBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1693.2", R_tbBJ.Content);
|
if (W_tbBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF}报警信息成功,DB偏移值:DB1002.1693.2,写入值:{R_tbBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv报警
|
OperateResult<bool> R_agvBJ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1792.0");
|
if (R_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF}下料口AGV报警信息成功,DB偏移值:DB1002.1792.0,读取值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//报警信号写入涂布机
|
OperateResult W_agvBJ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11392.00", R_agvBJ.Content);
|
if (W_agvBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF}号下料口报警信息成功,DB偏移值:D11392.00,写入值:{R_agvBJ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取agv步骤
|
OperateResult<Int16> R_agvBZ = agvplcF.SiemensPLCClient.SiemensS7NetClient.ReadInt16("DB1002.1790.0");
|
if (R_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcF.PLCName} {tbsb}下料口AGV请求进入信息成功,DB偏移值:DB1002.1790.0,读取值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
|
if (R_agvBZ.Content > 0)
|
{
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", true);//请求涂布机开门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口开门信息成功,DB偏移值:D11390,写入值:true,时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
OperateResult<bool> R_TB_IsOpen = tbplc.OmronPLCClient.OmronFinsNetClient.ReadBool("D11092.06");//涂布机开门完成信号
|
if (R_TB_IsOpen.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口门信息成功,DB偏移值:D11092.06,读取值:{R_TB_IsOpen.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
if (R_TB_IsOpen.Content)
|
{
|
//写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//读取设备步骤
|
OperateResult<Int16> R_tbBZ = tbplc.OmronPLCClient.OmronFinsNetClient.ReadInt16("D11290");
|
if (R_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口允许AGV请求进入信息成功,DB偏移值:D11290,读取值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
//步骤信号写入agv
|
OperateResult W_tbBZ = agvplcF.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1690.0", R_tbBZ.Content);
|
if (W_tbBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcF.PLCName},{tbsb}号设备下料口允许AGV进入信息成功,DB偏移值:DB1002.1690.0,写入值:{R_tbBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
|
}
|
}
|
|
else if (R_agvBZ.Content == 0)
|
{ //写给涂布机
|
OperateResult W_agvBZ = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11390", R_agvBZ.Content);
|
if (W_agvBZ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{tbsb}号设备下料口AGV请求进入信息成功,DB偏移值:D11390,写入值:{R_agvBZ.Content},时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcF.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
OperateResult W_TB1_OpenDoor = tbplc.OmronPLCClient.OmronFinsNetClient.Write("D11192.05", false);//请求涂布机关门
|
if (W_TB1_OpenDoor.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"请求{tbsb}号下料口关门,DB偏移值:D11192.05, 写入值:false, 时间:{DateTime.Now}", $"{tbsb}号下料口传递");
|
WriteLog.GetLog().Write($"{tbsb}号下料口传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}号下料口传递");
|
return;
|
}
|
}
|
#endregion
|
}
|
catch (Exception)
|
{
|
|
throw;
|
}
|
|
}, token);
|
#endregion
|
#endregion
|
|
#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//辊分机正极1号设备心跳—写入—》组装AGV调度心跳
|
{
|
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($"AGV写入{tbsb}号设备心跳信息成功,DB偏移值:D5500,写入值:{tf},时间:{DateTime.Now}", $"{tbsb}心跳传递");
|
WriteLog.GetLog().Write($"{tbsb}心跳传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
#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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1892", GYC_RBJ.Content);
|
if (AGVC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口1报警信号成功,DB偏移值:DB1002.1892,写入值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGVC_RBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.1992");
|
|
if (AGVC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName},{tbsb}号设备上料料口1对接报警信号成功,DB偏移值:DB1002.1992,读取值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1893.2", GYR_RFX_Up.Content);
|
if (GYR_WFX_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备上料口偏移方向信息成功,DB偏移值:DB1002.1893.2,写入值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
//获取辊分设备上料口偏移量
|
OperateResult<short> GFR_PYL_up = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadInt16("D5494");
|
//byte[] R_SBUP_94_0 = SpiltnotByte_0(GFR_PYL_up.Content);
|
//String name = Encoding.UTF8.GetString(GFR_PYL_up.Content);
|
|
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);
|
|
//Byte a3 = Convert.ToByte(GFR_PYL_up.Content);
|
//写入辊分设备偏移量
|
OperateResult W_ProcessSteps_up = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1894", a3);
|
|
if (W_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}辊分设备上料口偏移量信息成功,DB偏移值:DB1002.1894,写入值:{a3},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1892.2", GFR_Run_up.Content);
|
if (AGV_WRun_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口1运行状态成功,DB偏移值:DB1002.1892.2,写入值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1893.1", R_up_AB.Content);
|
if (W_AB3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}辊分设备上料口AB轴信息成功,DB偏移值:DB1002.1893.1,写入值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// 读取agv上料口逻辑
|
OperateResult<UInt16> R_up_bzR = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.1990");
|
if (R_up_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName}辊分设备上料口AGV请求进入信息成功,DB偏移值:DB1002.1990,读取值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.1890", R_ProcessSteps_up.Content);
|
if (W_stationDockSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.1890,写入值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
WriteLog.GetLog().Write($"-------------- {tbsb}上料口信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
#endregion
|
#region 下料口
|
#region 设备下料一号信号通讯
|
//辊分机1号口报警
|
|
WriteLog.GetLog().Write($"{tbsb}信息传递开始,时间:{DateTime.Now} --------------", $"{tbsb}下料一口信息传递");
|
OperateResult<bool> GYR_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5692.0");
|
if (GYR_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备报警信号成功,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.92", GYR_RBJ.Content);
|
if (AGV_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.92,写入值:{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.192");
|
|
if (AGV_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.192,读取值:{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.93.2", GYR_RFX.Content);
|
if (GYR_WFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:DB1002.93.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.93.1", R_Down1_AB.Content);
|
if (W_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1AB轴信息成功,DB偏移值:DB1002.93.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.94", a);////写入辊分设备偏移量
|
if (W_ProcessSteps.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1偏移量信息成功,DB偏移值:DB1002.94,写入值:{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.190");
|
if (R_Down1_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取组装AGV调度// 辊分设备下料口1AGV请求进入信息成功,DB偏移值:DB1002.190,读取值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
}
|
// 写入辊压机下料口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}下料一口信息传递");
|
}
|
// 读取辊压机下料口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}下料一口信息传递");
|
}
|
OperateResult W_stationDockSteps1 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.90", R_ProcessSteps1.Content);
|
if (W_stationDockSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1允许AGV进入信息成功,DB偏移值:DB1002.90,写入值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
WriteLog.GetLog().Write($"{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{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.292", GYR_RBJ2.Content);
|
if (AGV_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.292,写入值:{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.392");
|
|
if (AGV_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.392,读取值:{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.293.2", GYR_RFX2.Content);
|
if (GYR_WFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:DB1002.293.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.293.1", R_Down1_AB2.Content);
|
if (W_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2 AB轴信息成功,DB偏移值:DB1002.293.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.390"); //// 读取agv下料口2逻辑
|
|
if (R_Down1_bzR2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:DB1002.390,读取值:{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.290", R_ProcessSteps2.Content);
|
if (W_stationDockSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:DB1002.290,写入值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
WriteLog.GetLog().Write($"{tbsb}信息传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
|
#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}号设备心跳信息成功,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.2000.0", R_TBR_XT.Content);
|
if (W_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入组装AGV调度心跳信息成功,DB偏移值:DB1002.2000.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.2100.0");
|
if (R_AGV_XT.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"// 读取组装AGV调度心跳信息成功,DB偏移值:DB1002.2100.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}心跳传递");
|
WriteLog.GetLog().Write($"{tbsb}心跳传递结束,时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"--------------{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}心跳传递");
|
return;
|
}
|
#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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2092", GYC_RBJ.Content);
|
if (AGVC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口1报警信号成功,DB偏移值:DB1002.2092,写入值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGVC_RBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2192");
|
|
if (AGVC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName},{tbsb}号设备上料料口1对接报警信号成功,DB偏移值:DB1002.2192,读取值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2093.2", GYR_RFX_Up.Content);
|
if (GYR_WFX_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口偏移方向信息成功,DB偏移值:DB1002.2093.2,写入值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2094", a3);////写入辊分设备偏移量
|
if (W_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}辊分设备上料口偏移量信息成功,DB偏移值:DB1002.2094,写入值:{a3},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2092.2", GFR_Run_up.Content);
|
if (AGV_WRun_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口1运行状态成功,DB偏移值:DB1002.2092.2,写入值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2093.1", R_up_AB.Content);
|
if (W_AB3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}辊分设备上料口AB轴信息成功,DB偏移值:DB1002.2093.1,写入值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// 读取agv上料口逻辑
|
OperateResult<UInt16> R_up_bzR = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2190");
|
if (R_up_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName}辊分设备上料口AGV请求进入信息成功,DB偏移值:DB1002.2190,读取值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2090", R_ProcessSteps_up.Content);
|
if (W_stationDockSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.2090,写入值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
WriteLog.GetLog().Write($"{tbsb}上料口信息传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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.492", GYR_RBJ.Content);
|
if (AGV_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.492,写入值:{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.592");
|
|
if (AGV_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.592,读取值:{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.493.2", GYR_RFX.Content);
|
if (GYR_WFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:DB1002.493.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.493.1", R_Down1_AB.Content);
|
if (W_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1AB轴信息成功,DB偏移值:DB1002.493.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($"号设备下料口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.494", a);////写入辊分设备偏移量
|
if (W_ProcessSteps.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1偏移量信息成功,DB偏移值:DB1002.494,写入值:{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.590");
|
if (R_Down1_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取组装AGV调度// 辊分设备下料口1AGV请求进入信息成功,DB偏移值:DB1002.590,读取值:{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.490", R_ProcessSteps1.Content);
|
if (W_stationDockSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1允许AGV进入信息成功,DB偏移值:DB1002.490,写入值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
WriteLog.GetLog().Write($"{tbsb}下料一口信息传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
return;
|
}
|
#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.692", GYR_RBJ2.Content);
|
if (AGV_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.692,写入值:{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.792");
|
|
if (AGV_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.792,读取值:{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.693.2", GYR_RFX2.Content);
|
if (GYR_WFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:DB1002.693.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.694", a2);////写入辊分设备偏移量
|
if (W_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2偏移量信息成功,DB偏移值:DB1002.694,写入值:{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.693.1", R_Down1_AB2.Content);
|
if (W_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName} 辊分设备下料口2 AB轴信息成功,DB偏移值:DB1002.693.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.790"); //// 读取agv下料口2逻辑
|
|
if (R_Down1_bzR2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:DB1002.790,读取值:{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.690", R_ProcessSteps2.Content);
|
if (W_stationDockSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:DB1002.690,写入值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
WriteLog.GetLog().Write($"{tbsb}下料二口信息传递结束,时间:{DateTime.Now} --------------{Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
return;
|
}
|
|
|
#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 上料口
|
|
//辊分机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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2292", GYC_RBJ.Content);
|
if (AGVC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口1报警信号成功,DB偏移值:DB1002.2292,写入值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGVC_RBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2392");
|
|
if (AGVC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName},{tbsb}号设备上料料口1对接报警信号成功,DB偏移值:DB1002.2392,读取值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2293.2", GYR_RFX_Up.Content);
|
if (GYR_WFX_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口偏移方向信息成功,DB偏移值:DB1002.2293.2,写入值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2294", a3);////写入辊分设备偏移量
|
if (W_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}辊分设备上料口偏移量信息成功,DB偏移值:DB1002.2294,写入值:{a3},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2292.2", GFR_Run_up.Content);
|
if (AGV_WRun_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口1运行状态成功,DB偏移值:DB1002.2292.2,写入值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2293.1", R_up_AB.Content);
|
if (W_AB3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}辊分设备上料口AB轴信息成功,DB偏移值:DB1002.2293.1,写入值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// 读取agv上料口逻辑
|
OperateResult<UInt16> R_up_bzR = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2390");
|
if (R_up_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName}辊分设备上料口AGV请求进入信息成功,DB偏移值:DB1002.2390,读取值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
}
|
// 写入辊压机上料口对接流程步骤
|
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}上料口信息传递");
|
}
|
// 读取辊压步序
|
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}上料口信息传递");
|
}
|
// 将步序写入agv
|
OperateResult W_stationDockSteps_up = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2290", R_ProcessSteps_up.Content);
|
if (W_stationDockSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.2290,写入值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
}
|
#endregion
|
#region 下料口
|
#region 设备下料口1信号通讯
|
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.892", GYR_RBJ.Content);
|
if (AGV_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.892,写入值:{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.992");
|
|
if (AGV_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.992,读取值:{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.893.2", GYR_RFX.Content);
|
if (GYR_WFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:DB1002.893.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.893.1", R_Down1_AB.Content);
|
if (W_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName} 辊分设备下料口1AB轴信息成功,DB偏移值:DB1002.893.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.894", a);////写入辊分设备偏移量
|
if (W_ProcessSteps.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1偏移量信息成功,DB偏移值:DB1002.894,写入值:{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.990");
|
if (R_Down1_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取组装AGV调度// 辊分设备下料口1AGV请求进入信息成功,DB偏移值:DB1002.990,读取值:{R_Down1_bzR.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
}
|
// 写入辊压机下料口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}下料一口信息传递");
|
}
|
// 读取辊压机下料口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}下料一口信息传递");
|
}
|
OperateResult W_stationDockSteps1 = agvplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.890", R_ProcessSteps1.Content);
|
if (W_stationDockSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1允许AGV进入信息成功,DB偏移值:DB1002.890,写入值:{R_ProcessSteps1.Content},时间:{DateTime.Now}", $"{tbsb}下料一口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料一口信息传递");
|
}
|
#endregion
|
#region 设备下料二号口信号通讯
|
//辊分机3号口报警
|
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.1092", GYR_RBJ2.Content);
|
if (AGV_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.1092,写入值:{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.1192");
|
|
if (AGV_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.1192,读取值:{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.1093.2", GYR_RFX2.Content);
|
if (GYR_WFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:DB1002.1093.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.1094", a2);////写入辊分设备偏移量
|
if (W_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2偏移量信息成功,DB偏移值:DB1002.1094,写入值:{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.1093.1", R_Down1_AB2.Content);
|
if (W_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName} 辊分设备下料口2 AB轴信息成功,DB偏移值:DB1002.1093.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.1190"); //// 读取agv下料口2逻辑
|
|
if (R_Down1_bzR2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:DB1002.1190,读取值:{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.1090", R_ProcessSteps2.Content);
|
if (W_stationDockSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:DB1002.1090,写入值:{R_ProcessSteps2.Content},时间:{DateTime.Now}", $"{tbsb}下料二口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplc.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}下料二口信息传递");
|
}
|
|
|
#endregion
|
#endregion
|
}
|
catch (Exception)
|
{
|
throw;
|
}
|
}, token);
|
#endregion
|
#region 正级辊分机四号信号通讯
|
await Task.Run(() =>
|
{
|
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}心跳传递");
|
// 读取辊分机正极1号设备心跳
|
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.2400.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.2500.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}上料口信息传递");
|
//辊分机1号口报警
|
OperateResult<bool> GYC_RBJ = tbplc.MelsecPLCClient.MelsecMcNetClient.ReadBool("D5492.0");
|
if (GYC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备上料口报警信号成功,DB偏移值:D5492.0,读取值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{tbsb}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV获取辊分机报警信号
|
OperateResult AGVC_WBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2492", GYC_RBJ.Content);
|
if (AGVC_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口报警信号成功,DB偏移值:DB1002.2492,写入值:{GYC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// AGV报警信号
|
OperateResult<bool> AGVC_RBJ = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1002.2592");
|
|
if (AGVC_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName},{tbsb}号设备上料料口1对接报警信号成功,DB偏移值:DB1002.2592,读取值:{AGVC_RBJ.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2493.2", GYR_RFX_Up.Content);
|
if (GYR_WFX_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口偏移方向信息成功,DB偏移值:DB1002.2493.2,写入值:{GYR_RFX_Up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2494", a3);////写入辊分设备偏移量
|
if (W_ProcessSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}辊分设备上料口偏移量信息成功,DB偏移值:DB1002.2494,写入值:{a3},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2492.2", GFR_Run_up.Content);
|
if (AGV_WRun_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口1运行状态成功,DB偏移值:DB1002.2492.2,写入值:{GFR_Run_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.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 = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2493.1", R_up_AB.Content);
|
if (W_AB3.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName}辊分设备上料口AB轴信息成功,DB偏移值:DB1002.2493.1,写入值:{R_up_AB.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
return;
|
}
|
// 读取agv上料口逻辑
|
OperateResult<UInt16> R_up_bzR = agvplcZ.SiemensPLCClient.SiemensS7NetClient.ReadUInt16("DB1002.2590");
|
if (R_up_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplcZ.PLCName}辊分设备上料口AGV请求进入信息成功,DB偏移值:DB1002.2590,读取值:{R_up_bzR.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{DateTime.Now} -------------- {Environment.NewLine}", $"{tbsb}上料口信息传递");
|
}
|
// 写入辊压机上料口对接流程步骤
|
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}上料口信息传递");
|
}
|
// 读取辊压步序
|
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}上料口信息传递");
|
}
|
// 将步序写入agv
|
OperateResult W_stationDockSteps_up = agvplcZ.SiemensPLCClient.SiemensS7NetClient.Write("DB1002.2490", R_ProcessSteps_up.Content);
|
if (W_stationDockSteps_up.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplcZ.PLCName},{tbsb}号设备上料口允许AGV进入信息成功,DB偏移值:DB1002.2490,写入值:{R_ProcessSteps_up.Content},时间:{DateTime.Now}", $"{tbsb}上料口信息传递");
|
}
|
else
|
{
|
WriteLog.GetLog().Write($"{agvplcZ.PLCName}断开连接 时间:{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.1292", GYR_RBJ.Content);
|
if (AGV_WBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.1292,写入值:{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.1392");
|
|
if (AGV_RBJ.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.1392,读取值:{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.1293.2", GYR_RFX.Content);
|
if (GYR_WFX.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1偏移方向信息成功,DB偏移值:DB1002.1293.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.1293.1", R_Down1_AB.Content);
|
if (W_AB.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1AB轴信息成功,DB偏移值:DB1002.1293.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.1294", a);////写入辊分设备偏移量
|
if (W_ProcessSteps.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口1偏移量信息成功,DB偏移值:DB1002.1294,写入值:{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.1390");
|
if (R_Down1_bzR.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取组装AGV调度// 辊分设备下料口1AGV请求进入信息成功,DB偏移值:DB1002.1390,读取值:{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.1290", R_ProcessSteps1.Content);
|
if (W_stationDockSteps1.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1允许AGV进入信息成功,DB偏移值:DB1002.1290,写入值:{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.1492", GYR_RBJ2.Content);
|
if (AGV_WBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口1报警信号成功,DB偏移值:DB1002.1492,写入值:{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.1592");
|
|
if (AGV_RBJ2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{agvplc.PLCName},{tbsb}号设备下料口1对接报警信号成功,DB偏移值:DB1002.1592,读取值:{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.1493.2", GYR_RFX2.Content);
|
if (GYR_WFX2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2偏移方向信息成功,DB偏移值:DB1002.1493.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.1494", a2);////写入辊分设备偏移量
|
if (W_ProcessSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName}// 辊分设备下料口2偏移量信息成功,DB偏移值:DB1002.1494,写入值:{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.1493.1", R_Down1_AB2.Content);
|
if (W_AB2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName} 辊分设备下料口2 AB轴信息成功,DB偏移值:DB1002.1493.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.1590"); //// 读取agv下料口2逻辑
|
|
if (R_Down1_bzR2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"读取{tbsb}号设备下料口2允许AGV请求进入信息成功,DB偏移值:DB1002.1590,读取值:{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.1490", R_ProcessSteps2.Content);
|
if (W_stationDockSteps2.IsSuccess)
|
{
|
WriteLog.GetLog().Write($"写入{agvplc.PLCName},{tbsb}号设备下料口2允许AGV进入信息成功,DB偏移值:DB1002.1490,写入值:{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
|
|
}, token);
|
#endregion
|
#endregion
|
|
#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
|
//Task.WaitAll(taskList.ToArray(), 2000);
|
|
|
|
|
}
|
public static byte[] SpiltnotByte_0(byte[] ReadByte)
|
{
|
byte[] Read_94_1byte = new byte[8];
|
for (int i = 1; i <= ReadByte.Count() - 8; i++)
|
{
|
|
Read_94_1byte[i - 1] = ReadByte[i];
|
Read_94_1byte[i] = ReadByte[i - 1];
|
i++;
|
}
|
return Read_94_1byte;
|
}
|
}
|
}
|