From 96358cc110926320dbe25d06738e5c196f4e6196 Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期二, 15 十月 2024 10:19:52 +0800
Subject: [PATCH] 添加注释
---
Admin.NET/WCS.Application/PLC/PLCService.cs | 63 ++++++++++++++++++++++++++-----
1 files changed, 53 insertions(+), 10 deletions(-)
diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 63371cd..aefbb9f 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -42,6 +42,9 @@
case PLCTypeEnum.PalletMachine:
PalletMachine(mod);
break;
+ case PLCTypeEnum.StackingRobot:
+ PalletMachine(mod);
+ break;
default:
break;
}
@@ -653,7 +656,7 @@
private static void ConveyorLine(WcsDeviceDto modDevice)
{
var plcConn = modDevice.PLCUtil;
- // 鑾峰彇妤煎眰鏁�
+ // 鑾峰彇妤煎眰鏁癱eshi
var louCeng = PLCCommon.GetRoadwayByStationNew(modDevice.StationNum);
switch (modDevice.Value.ToString())
{
@@ -670,6 +673,10 @@
// 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+ if (!res.IsSucceed)
+ {
+ break;
+ }
var http = new HttpService();
string TaskNo = "", EndLocate = "";
strMsg = http.RequestRoadWay(palletVal, modDevice.StationNum, taskModel, louCeng, ref EndLocate, ref TaskNo);
@@ -722,9 +729,13 @@
// 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+ if (!res.IsSucceed)
+ {
+ break;
+ }
string pallet = palletVal.ToString();
// 鑾峰彇浠诲姟淇℃伅
- var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && (s.Status == TaskStatusEnum.Wait || s.Status == TaskStatusEnum.Doing) && s.TaskType == TaskTypeEnum.In && s.StartRoadway == modDevice.StationNum);
+ var modTask = _db.Queryable<WcsTask>().First(s => s.IsDelete == false && s.PalletNo == pallet && (s.Status == TaskStatusEnum.Wait || s.Status == TaskStatusEnum.Doing) && s.TaskType == TaskTypeEnum.In);
if (modTask == null)
{
// 姝ゆ墭鐩樻病鏈夊搴旂殑杞Щ浠诲姟 led鏄剧ず
@@ -738,8 +749,9 @@
// 浠诲姟鍙枫�佷换鍔$被鍨嬨�佹墭鐩樺彿
var modPosTask = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�");
listResult.Add(plcConn.SetPlcDBValue(modPosTask.PosType, modDevice.DbNumber, modPosTask.PlcPos, modTask.TaskNo));
- var modPosTaskType = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟鍙�");
- listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, modTask.TaskType.ToString()));
+ var modPosTaskType = modDevice.listStation.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷");
+ var taskTypeStr = (int)modTask.TaskType;
+ listResult.Add(plcConn.SetPlcDBValue(modPosTaskType.PosType, modDevice.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString()));
var modPosPalletNo = modDevice.listStation.FirstOrDefault(s => s.Text == "鎵樼洏鐮�");
listResult.Add(plcConn.SetPlcDBValue(modPosPalletNo.PosType, modDevice.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo));
// 璧峰宸ヤ綅銆佺洰鐨勫伐浣�
@@ -813,6 +825,10 @@
// 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
+ if (!res.IsSucceed)
+ {
+ break;
+ }
var http = new HttpService();
string TaskNo = "";
// 鍚慦MS鐢宠鍌ㄤ綅淇℃伅
@@ -865,9 +881,13 @@
// 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
var modPosPallet = modDevice.listStation.FirstOrDefault(m => m.Text == "鎵樼洏鐮�");
var (res, palletVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosPallet.PlcPos);
- // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭�
+ // 鑾峰彇宸ヤ綅浠诲姟鍙蜂俊鎭�
var modPosTaskNo = modDevice.listStation.FirstOrDefault(m => m.Text == "浠诲姟鍙�");
var (taskRes, taskNoVal) = plcConn.GetPlcDBValue(PLCDataTypeEnum.String, modDevice.DbNumber, modPosTaskNo.PlcPos);
+ if (!res.IsSucceed || !taskRes.IsSucceed )
+ {
+ break;
+ }
string pallet = palletVal.ToString();
string taskNo = taskNoVal.ToString();
// 鑾峰彇浠诲姟淇℃伅
@@ -881,7 +901,9 @@
var sInfo = PLCCommon.GetStokePlc(modTask.EndRoadway, louCeng);
if (string.IsNullOrWhiteSpace(sInfo.Ip))
{
- throw new Exception("鏍规嵁宸烽亾鑾峰彇璺烘満IP澶辫触锛岃鑱旂郴绠$悊鍛�");
+ //闇�鍔犱笂LED鏄剧ず
+ Log.Error(string.Format($"鏍规嵁宸烽亾鑾峰彇璺烘満IP澶辫触锛岃鑱旂郴绠$悊鍛�"));
+ break;
}
// 璺烘満杩炴帴
var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == sInfo.Ip);
@@ -907,7 +929,8 @@
// 鑾峰彇璺烘満褰撳墠鐘舵��
var (djRes, djVal) = plcStackeConn.GetPlcDBValue(djMod.PosType, djMod.DbNumber, djMod.PlcPos);
- if (djVal != "820")
+
+ if (!djRes.IsSucceed || djVal != "820")
{
// 璺烘満闈炵┖闂茬瓑寰�
break;
@@ -919,12 +942,13 @@
var modPosTask = djInfos.FirstOrDefault(s => s.Text == "浠诲姟鍙�");
listResult.Add(plcStackeConn.SetPlcDBValue(modPosTask.PosType, djMod.DbNumber, modPosTask.PlcPos, modTask.TaskNo));
var modPosTaskType = djInfos.FirstOrDefault(s => s.Text == "浠诲姟绫诲瀷");
- listResult.Add(plcStackeConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, modTask.TaskType.ToString()));
+ var taskTypeStr = (int)modTask.TaskType;
+ listResult.Add(plcStackeConn.SetPlcDBValue(modPosTaskType.PosType, djMod.DbNumber, modPosTaskType.PlcPos, taskTypeStr.ToString()));
var modPosPalletNo = djInfos.FirstOrDefault(s => s.Text == "鎵樼洏鍙�");
- listResult.Add(plcStackeConn.SetPlcDBValue(modPosPallet.PosType, djMod.DbNumber, modPosPallet.PlcPos, modTask.PalletNo));
+ listResult.Add(plcStackeConn.SetPlcDBValue(modPosPalletNo.PosType, djMod.DbNumber, modPosPalletNo.PlcPos, modTask.PalletNo));
//璧峰宸ヤ綅
- var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "鍙栬揣鎺�");
+ var modPosStrStationNum = djInfos.FirstOrDefault(s => s.Text == "璧峰宸ヤ綅");
listResult.Add(plcStackeConn.SetPlcDBValue(modPosStrStationNum.PosType, djMod.DbNumber, modPosStrStationNum.PlcPos, modDevice.StationNum));
//鍙栬揣鎺掋�佸垪銆佸眰
@@ -1104,6 +1128,25 @@
}
+ /// <summary>
+ /// 鎷嗗灈鏈哄櫒浜轰笟鍔″鐞�
+ /// </summary>
+ /// <param name="modDevice"></param>
+ private static void StackingRobot(WcsDeviceDto modDevice)
+ {
+ var plcConn = modDevice.PLCUtil;
+ switch (modDevice.Value.ToString())
+ {
+ case "0":
+ {
+ // 鑻ユ媶鍨涘伐浣嶄负绌洪棽锛屾煡璇换鍔¤〃鏄惁鏈夋湭缁戝畾鐨勫嚭搴撲换鍔★紝鍋氱粦瀹氭搷浣�
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
private static void Test(WcsDeviceDto modDevice)
{
//鍐欐娴嬭瘯璇籹tring
--
Gitblit v1.8.0