diff --git a/.gitignore b/.gitignore index b8fd38f..d8abe29 100644 --- a/.gitignore +++ b/.gitignore @@ -341,3 +341,4 @@ healthchecksdb appsettings.demo.json /src/Khd.Core.Wcs/appsettings.json +/src/Khd.Core.Wpf/appsettings.json diff --git a/src/Khd.Core.Plc/StaticPlcHelper.cs b/src/Khd.Core.Plc/StaticPlcHelper.cs index 02631d8..b545915 100644 --- a/src/Khd.Core.Plc/StaticPlcHelper.cs +++ b/src/Khd.Core.Plc/StaticPlcHelper.cs @@ -101,6 +101,7 @@ namespace Khd.Core.Plc /// public static object GetValue(string? len, object value) { + if (len == "2") { return Convert.ToInt16(value); diff --git a/src/Khd.Core.Wcs/MainCentralControl.cs b/src/Khd.Core.Wcs/MainCentralControl.cs index f83e674..0cf185c 100644 --- a/src/Khd.Core.Wcs/MainCentralControl.cs +++ b/src/Khd.Core.Wcs/MainCentralControl.cs @@ -69,7 +69,7 @@ namespace Khd.Core.Wcs } //创建定时器 - SystemTimer systemTimer = new SystemTimer(_host); + SystemTimer systemTimer = new(_host); systemTimer.Start(); //创建任务 @@ -101,7 +101,7 @@ namespace Khd.Core.Wcs thirdFloorAGV.StartPoint(); //四楼接驳位 - FourthFloorPoint fourthFloorPoint = new FourthFloorPoint(_host, 4); + FourthFloorPoint fourthFloorPoint = new(_host, 4); fourthFloorPoint.StartPoint(); //五层接驳位 diff --git a/src/Khd.Core.Wcs/Program.cs b/src/Khd.Core.Wcs/Program.cs index caa6ecb..b00d3c4 100644 --- a/src/Khd.Core.Wcs/Program.cs +++ b/src/Khd.Core.Wcs/Program.cs @@ -1,4 +1,5 @@ -using Khd.Core.EntityFramework; +using Khd.Core.Domain.Models; +using Khd.Core.EntityFramework; using Khd.Core.Library; using Khd.Core.Wcs; using Khd.Core.Wcs.Global; diff --git a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs index c66a271..96a5105 100644 --- a/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs +++ b/src/Khd.Core.Wcs/Wcs/CreateTaskByRecord.cs @@ -378,7 +378,7 @@ namespace Khd.Core.Wcs.Wcs .Where(t => t.locationStatus == "1") .OrderByDescending(t => t.locColumn) .ToList(); - + List containerCodes = wmsBaseLocations .Where(t => t.locDeep == 1) .Select(t => t.containerCode).ToList();//深库位的托盘 diff --git a/src/Khd.Core.Wcs/Wcs/FirstFloor.cs b/src/Khd.Core.Wcs/Wcs/FirstFloor.cs index b2688e2..a23fe6f 100644 --- a/src/Khd.Core.Wcs/Wcs/FirstFloor.cs +++ b/src/Khd.Core.Wcs/Wcs/FirstFloor.cs @@ -24,7 +24,6 @@ namespace Khd.Core.Wcs.Wcs /// 一楼RFID 读 /// private readonly BasePlcpoint RFID001; - private readonly BasePlcpoint automatic; /// /// 到位信号 读 /// @@ -72,8 +71,8 @@ namespace Khd.Core.Wcs.Wcs this.linesignal01 = StaticData.BasePlcpointList.First(t => t.equipmentNo.Contains("FirstFloorLine") && t.plcpointNo.Contains("linesignal01")); //一楼提升机流水号 读 this.serialno06 = StaticData.BasePlcpointList.First(t => t.equipmentNo.Contains("Hoister") && t.plcpointNo.Contains("serialno06")); + // Mes 关闭 this.mesClose = StaticData.BasePlcpointList.First(t => t.equipmentNo.Contains("Hoister") && t.plcpointNo.Contains("mesclose")); - this.automatic = StaticData.BasePlcpointList.First(t => t.equipmentNo.Contains("Hoister") && t.plcpointNo.Contains("automatic")); //一楼提升机状态 读 this.equipstate06 = StaticData.BasePlcpointList.First(t => t.equipmentNo.Contains("Hoister") && t.plcpointNo.Contains("equipstate06")); //一楼提升机任务状态 读 @@ -320,6 +319,7 @@ namespace Khd.Core.Wcs.Wcs fromFloorNo = 1, floorNo = 4, useFlag = 1, + ud1=20, createBy = "一楼接驳位", createTime = DateTime.Now, remark = "一楼创建入库任务" @@ -404,6 +404,7 @@ namespace Khd.Core.Wcs.Wcs currPointNo = "TSJ_01", nextPointId = T01, nextPointNo = "TSJ_01", + ud1 = 20, endPointId = warehouseId, fromFloorNo = 1, floorNo = TargetFloor.warehouseFloor, @@ -527,7 +528,8 @@ namespace Khd.Core.Wcs.Wcs if (Convert.ToInt32(equipstate06Value) == 0) { dbContext.ChangeTracker.Entries().ToList().ForEach(e => e.Reload()); - var wcsTasks = dbContext.WcsTask.Where(t => t.nextPointId == T01 && t.taskStatus < 5).OrderBy(t => t.createTime).ToList(); + var wcsTasks = dbContext.WcsTask.Where(t => t.nextPointId == T01 && t.taskStatus < 5) + .OrderBy(t => t.ud1).OrderBy(t => t.createTime).ToList(); foreach (var wcsTask in wcsTasks) { _logger.Info($"当前任务?{wcsTask.ToJsonString()}"); diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs index 6633436..6904f08 100644 --- a/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs +++ b/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs @@ -10,7 +10,6 @@ using Masuit.Tools; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Newtonsoft.Json; -using System.Diagnostics; using Z.EntityFramework.Plus; namespace Khd.Core.Wcs.Wcs @@ -351,6 +350,7 @@ namespace Khd.Core.Wcs.Wcs } return false; } + /// /// 监控上件扫描点位 /// diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorPoint.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorPoint.cs index 8b8bddf..43af451 100644 --- a/src/Khd.Core.Wcs/Wcs/FiveFloorPoint.cs +++ b/src/Khd.Core.Wcs/Wcs/FiveFloorPoint.cs @@ -63,7 +63,6 @@ namespace Khd.Core.Wcs.Wcs BaseEquip baseEquip = StaticData.BaseEquip.First(t => t.equipType == 1 && t.floorNo == FloorNo); if (rfid != null && isSignal != null) { - //正常读到输送线信息 有到位信号,并且有托盘,获取条码信息 if (Convert.ToInt32(isSignal) == 1)//五楼接驳位 { @@ -232,6 +231,7 @@ namespace Khd.Core.Wcs.Wcs newTask.nextPointNo = nextEquip.equipNo; newTask.currPointId = baseEquip.objid; newTask.currPointNo = baseEquip.equipNo; + newTask.ud1 = 30; newTask.fromFloorNo = FloorNo; newTask.taskType = 6;//成品出库 newTask.floorNo = 1;//出库楼层 diff --git a/src/Khd.Core.Wcs/Wcs/SecondFloorPoint.cs b/src/Khd.Core.Wcs/Wcs/SecondFloorPoint.cs index 94ff384..5b24cd6 100644 --- a/src/Khd.Core.Wcs/Wcs/SecondFloorPoint.cs +++ b/src/Khd.Core.Wcs/Wcs/SecondFloorPoint.cs @@ -266,6 +266,7 @@ namespace Khd.Core.Wcs.Wcs newTask.createTime = DateTime.Now; newTask.updateTime = DateTime.Now; newTask.endPointId = endEquip.objid; + newTask.ud1 = 30; newTask.endPointNo = endEquip.equipNo; newTask.containerNo = rfid; newTask.currPointId = lineEquip.objid; @@ -292,6 +293,7 @@ namespace Khd.Core.Wcs.Wcs newTask.nextPointNo = tsjEquip.equipNo; newTask.createTime = DateTime.Now; newTask.updateTime = DateTime.Now; + newTask.ud1 = 30; newTask.endPointId = endEquip.objid; newTask.endPointNo = endEquip.equipNo; newTask.containerNo = rfid; diff --git a/src/Khd.Core.Wcs/Wcs/SystemTimer.cs b/src/Khd.Core.Wcs/Wcs/SystemTimer.cs index 89ba597..677a889 100644 --- a/src/Khd.Core.Wcs/Wcs/SystemTimer.cs +++ b/src/Khd.Core.Wcs/Wcs/SystemTimer.cs @@ -389,6 +389,7 @@ namespace Khd.Core.Wcs.Wcs var dmsRecordAlarmInfo = CoreMapper.Map(alarmTime); dmsRecordAlarmInfo.AlarmStatus = "0"; dmsRecordAlarmInfo.NoticeStatus = "0"; + dbContext.Add(dmsRecordAlarmTime); dbContext.Add(dmsRecordAlarmInfo); dbContext.SaveChanges(); } diff --git a/src/Khd.Core.Wcs/Wcs/ThirdFloorPoint.cs b/src/Khd.Core.Wcs/Wcs/ThirdFloorPoint.cs index 7bd35fd..e46a10d 100644 --- a/src/Khd.Core.Wcs/Wcs/ThirdFloorPoint.cs +++ b/src/Khd.Core.Wcs/Wcs/ThirdFloorPoint.cs @@ -209,6 +209,7 @@ namespace Khd.Core.Wcs.Wcs newTask.currPointNo = baseEquip.equipNo; newTask.fromFloorNo = FloorNo; newTask.taskStatus = 0; + newTask.ud1 = 10; newTask.updateTime = DateTime.Now; dbContext.Add(newTask); WcsTaskLog wcsTaskLog = CoreMapper.Map(newTask); diff --git a/src/Khd.Core.Wcs/appsettings.json b/src/Khd.Core.Wcs/appsettings.json new file mode 100644 index 0000000..fb47994 --- /dev/null +++ b/src/Khd.Core.Wcs/appsettings.json @@ -0,0 +1,50 @@ +{ + "ConnectionStrings": { + //"DefaultConnection": "server=106.12.13.113;port=3336;database=khd_jyhb;uid=khd;pwd=khd@123;charset='utf8';persistsecurityinfo=True;SslMode=none;Allow User Variables=True", + //"DefaultConnection": "server=172.16.12.100;port=3306;database=hwjy-cloud;uid=kehaida;pwd=khdrkjy2024...;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True" + //"DefaultConnection": "server=localhost;port=3306;database=jyhb;uid=root;pwd=root;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True" + "DefaultConnection": "server=175.27.215.92;port=3306;database=hwjy-cloud;uid=kehaida;pwd=khd2024;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True" + }, + "DeleteLogDays": 10,//删除日志的时间间隔,单位:天 + "PlcConfigs": [ + { + "IP": "192.168.2.30", + "Port": 102, //102是默认端口 + "CpuType": 40, + "Rack": 0, + "Slot": 1, + "Code": 0 + }, //提升机,接驳位 + { + "IP": "192.168.2.31", + "Port": 102, //102是默认端口 + "CpuType": 40, + "Rack": 0, + "Slot": 1, + "Code": 1 + }, //U型线 + { + "IP": "192.168.2.220", + "Port": 102, //102是默认端口 + "CpuType": 40, + "Rack": 0, + "Slot": 1, + "Code": 2 + } //二楼三楼设备,陈工提供。 + ], + "PLCSetting": { + "Mode": "0", + "EquipCode": "H61,H62,H63", + "Interval": "2000", + "AutoStart": "0", + "WaitTime": "60000", + "SiteCode": "999" + }, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Error", + "Microsoft.Hosting.Lifetime": "Information" + } + } +}