liuwf 1 year ago
commit 22a187a363

@ -4,6 +4,7 @@ using Khd.Core.Library;
using Khd.Core.Library.Mapper;
using Khd.Core.Plc.S7;
using Khd.Core.Wcs.Global;
using Masuit.Tools;
using Masuit.Tools.Logging;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -507,6 +508,7 @@ namespace Khd.Core.Wcs.Wcs
var currentfloor06Value = StaticData.PlcDic[0].Read(this.currentfloor06.plcpointAddress); //提升机当前楼层 读
var targetfloor06Value = StaticData.PlcDic[0].Read(this.targetfloor06.plcpointAddress); //提升机目的楼层 写
var reserialno06 = StaticData.PlcDic[0].Read(this.reserialno06.plcpointAddress); //反馈流水号
_logger.Info($"MES开启?{mesCloseValue},提升机流水号?{serialno06Value},提升机状态?{equipstate06Value},提升机货物到位状态?{hoisterTrayIn06Value},提升机当前楼层?{currentfloor06Value},提升机目的楼层?{targetfloor06Value},反馈流水号?{reserialno06}");
if (mesCloseValue != null && Convert.ToInt32(mesCloseValue) == 0)
{
//正常读到plc值
@ -519,6 +521,7 @@ namespace Khd.Core.Wcs.Wcs
var wcsTasks = dbContext.WcsTask.Where(t => t.nextPointId == T01).OrderBy(t => t.createTime).ToList();
foreach (var wcsTask in wcsTasks)
{
_logger.Info($"当前任务?{wcsTask.ToJsonString()}");
bool hasTask = dbContext.WcsTask.Where(t => t.endPointId == wcsTask.endPointId && t.objid != wcsTask.objid).Any();
if (!hasTask)
{
@ -538,7 +541,9 @@ namespace Khd.Core.Wcs.Wcs
}
BasePlcpoint floorPoint = StaticData.BasePlcpointList.First(t => t.plcpointNo == "RFID00" + wcsTask.fromFloorNo);
if (wcsTask.containerNo == StaticData.PlcDic[0].ReadRFID(floorPoint.plcpointAddress) || (string.IsNullOrEmpty(wcsTask.containerNo) && wcsTask.qty > 1))
string? rfid = StaticData.PlcDic[0].ReadRFID(floorPoint.plcpointAddress);
_logger.Info($"{wcsTask.fromFloorNo}楼RFID?{rfid}任务RFID{wcsTask.containerNo}");
if (wcsTask.containerNo == rfid || (string.IsNullOrEmpty(wcsTask.containerNo) && wcsTask.qty > 1))
{
if (Convert.ToInt32(currentfloor06Value) == wcsTask.fromFloorNo)//当前楼层和起始楼层一致
{
@ -580,7 +585,9 @@ namespace Khd.Core.Wcs.Wcs
if (wcsTask.taskStatus == 1 && Convert.ToInt32(reserialno06) == wcsTask.serialNo)
{
BasePlcpoint floorPoint = StaticData.BasePlcpointList.First(t => t.plcpointNo == "RFID00" + wcsTask.fromFloorNo);
if (wcsTask.containerNo == StaticData.PlcDic[0].ReadRFID(floorPoint.plcpointAddress) || (string.IsNullOrEmpty(wcsTask.containerNo) && wcsTask.qty > 1))
string? rfid = StaticData.PlcDic[0].ReadRFID(floorPoint.plcpointAddress);
_logger.Info($"{wcsTask.fromFloorNo}楼RFID?{rfid}任务RFID{wcsTask.containerNo}");
if (wcsTask.containerNo == rfid || (string.IsNullOrEmpty(wcsTask.containerNo) && wcsTask.qty > 1))
{
if (Convert.ToInt32(currentfloor06Value) == wcsTask.fromFloorNo)//提升机当前楼层为初始地楼层
{
@ -621,9 +628,12 @@ namespace Khd.Core.Wcs.Wcs
{
if (wcsTask.floorNo == 1)//目的楼层是1
{
if (ReadEmptyLocation())//托盘库是否有任务没有任务返回true
bool emptyStatus = ReadEmptyLocation();
_logger.Info($"一楼托盘库是否有任务?{emptyStatus}");
if (emptyStatus)//托盘库是否有任务没有任务返回true
{
var linesignal = StaticData.PlcDic[0].Read(StaticData.BasePlcpointList.First(t => t.plcpointNo == $"linesignal0{wcsTask.floorNo}").plcpointAddress);
_logger.Info($"一楼接驳位外侧是否有东西?{linesignal}");
if (linesignal != null && Convert.ToInt32(linesignal) == 0)//接驳位外侧没有东西
{
BasePlcpoint clearPoint = StaticData.BasePlcpointList.First(t => t.plcpointNo == $"clear0{wcsTask.floorNo}");
@ -666,6 +676,7 @@ namespace Khd.Core.Wcs.Wcs
else
{
var linesignal = StaticData.PlcDic[0].Read(StaticData.BasePlcpointList.First(t => t.plcpointNo == $"linesignal0{wcsTask.floorNo}").plcpointAddress);
_logger.Info($"{wcsTask.floorNo}楼接驳位外侧是否有东西?{linesignal}");
if (linesignal != null && Convert.ToInt32(linesignal) == 0)
{
wcsTask.taskStatus = 4;
@ -692,6 +703,7 @@ namespace Khd.Core.Wcs.Wcs
{
BasePlcpoint basePlcpoint = StaticData.BasePlcpointList.First(t => t.floorNo == wcsTask.floorNo && t.plcpointNo.Contains("wcsrun"));
var wcsRun = StaticData.PlcDic[0].Read(basePlcpoint.plcpointAddress);
_logger.Info($"{wcsTask.floorNo}楼接驳位任务状态{wcsRun}");
if (wcsRun != null && Convert.ToInt32(wcsRun) == 0)//判断当前接驳位的任务状态wcsrrun如果是1代表入库2是出库0是空闲
{
BaseEquip floorEquip = StaticData.BaseEquip.First(t => t.objid == wcsTask.floorNo);

Loading…
Cancel
Save