From 4a68e02a9dbffe0b215ceb1d9758ccb17329e523 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 18 12月 2024 10:49:30 +0800
Subject: [PATCH] 222
---
SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs | 219 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 162 insertions(+), 57 deletions(-)
diff --git a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
index 81b34ce..3579fcf 100644
--- a/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
+++ b/SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
@@ -179,7 +179,35 @@
}
}
+ /// <summary>
+ /// 鍐橮LC bool
+ /// </summary>
+ /// <param name="dbAddress"></param>
+ /// <param name="value"></param>
+ /// <param name="msg"></param>
+ /// <returns></returns>
+ public bool WriteBoolPlcData(string dbAddress, bool value, out string msg)
+ {
+ try
+ {
+ msg = "";
+ MessageModel b2 = null;
+ b2 = this.plcService.WriteValuePoint(dbAddress, value, value);
+ if (!b2.result)
+ {
+ msg = string.Format($"鍐欏叆PLC鍦板潃{dbAddress}锛屽�納value}澶辫触");
+ return false;
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ msg = ex.Message;
+ Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, $"鍦板潃{dbAddress}澶辫触:" + ex.Message, ex);
+ return false;
+ }
+ }
/// <summary>
/// 鍐欏叆榻愬缁撴灉銆佽В鏋愮粨鏋�
@@ -360,6 +388,42 @@
{
msg = ex.Message;
var logcontext = string.Format("鍚慡tatio 鍒囨崲妯″紡 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
+ "");
+ Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
+ return false;
+ }
+ }
+
+
+ /// <summary>
+ /// 鎵爜璁板綍娓呴櫎
+ /// </summary>
+ /// <param name="stationCode"></param>
+ /// <param name="value"></param>
+ /// <param name="msg"></param>
+ /// <returns></returns>
+ public bool PartClear(string stationCode, bool value, out string msg)
+ {
+ try
+ {
+ msg = "";
+ var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+
+ var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+ MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PartClear, value, view_stationObj.W_PartClear);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation 鎵爜璁板綍娓呴櫎 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_PartClear);
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception ex)
+ {
+ msg = ex.Message;
+ var logcontext = string.Format("鍚慡tatio 鎵爜璁板綍娓呴櫎 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
"");
Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
return false;
@@ -564,7 +628,8 @@
/// <param name="placey"></param>
/// <param name="msg"></param>
/// <returns></returns>
- public bool WriteSurroundTaskInfo(string stationCode, short taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey, out string msg)
+ public bool WriteSurroundTaskInfo(string stationCode, short taskID, short length, short width, short cartonhigh, short cartonwidth,
+ short placex, short placey, out string msg, bool isNgFlag)
{
try
{
@@ -633,6 +698,17 @@
return false;
}
+ //澧炲姞鍐欏叆NG鏍囪
+ if (isNgFlag)
+ {
+ b2 = this.plcService.WriteValuePoint(stationObj.W_NgFlag, true, view_stationObj.W_NgFlag);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation鍦板潃{0} 鍐� NG鍖呮爣璁� " + true + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_NgFlag);
+ return false;
+ }
+ }
return true;
}
@@ -745,6 +821,72 @@
{
msg = ex.Message;
var logcontext = string.Format("鍚慡tatio 琛ユ澘宸ヤ綅鍏佽杩涙澘 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
+ "");
+ Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
+ return false;
+ }
+ }
+
+ public bool WriteStation_NgFlag(string stationCode, bool value, out string msg)
+ {
+ try
+ {
+ msg = "";
+ var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+
+ var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+ MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_NgFlag, value, view_stationObj.W_NgFlag);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆 NG鍖呮爣璁� 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.W_OutboundFinishConfirm);
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception ex)
+ {
+ msg = ex.Message;
+ var logcontext = string.Format("鍚慡tatio NG鍖呮爣璁� 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
+ "");
+ Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// 鍐欏叆 浜哄伐鏀捐
+ /// </summary>
+ /// <param name="stationCode"></param>
+ /// <param name="value"></param>
+ /// <param name="msg"></param>
+ /// <returns></returns>
+ public bool WriteStation_PersonAllow(string stationCode, bool value, out string msg)
+ {
+ try
+ {
+ msg = "";
+ //var stationObj = this.DBBlockForWrite.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+ //var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+ //MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PersonAllow, value, view_stationObj.W_PersonAllow);
+
+ var stationObj = this.DBBlockForRead.R_StationForReadCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+ var view_stationObj = this.View.R_StationForReadCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
+ MessageModel b2 = this.plcService.WriteValuePoint(stationObj.R_ReqParseData, value, view_stationObj.R_ReqParseData);
+ if (!b2.result)
+ {
+ msg = string.Format("鍚慡tation" + stationCode + " 鍐欏叆 浜哄伐鏀捐 鍦板潃{0} 鍐� " + value + "澶辫触,杩斿洖缁撴灉:" + b2.resMsg,
+ stationObj.R_ReqParseData);
+ return false;
+ }
+
+ return true;
+ }
+ catch (Exception ex)
+ {
+ msg = ex.Message;
+ var logcontext = string.Format("鍚慡tatio 浜哄伐鏀捐 鍑虹幇寮傚父:" + JsonConvert.SerializeObject(ex),
"");
Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
return false;
@@ -1090,8 +1232,6 @@
StationDB2ObjForReadComm StationDB2ObjForReadComm = this.View.R_StationForReadCommList.Where(x => x.StationCode == item.StationCode).First();
SdaHelper.SetPropertyValueForDB<StationDBForReadComm, StationDB2ObjForReadComm>(item, StationDB2ObjForReadComm, this.plcService, "");
}
- //杩欓噷鐗规畩澶勭悊 璇诲彇鐨勫彂鍔ㄦ満鐮�
- this.View.R_1019_CargoNoScan = GetNewCategoryNo(this.View.R_1019_CargoNoScan);
}
@@ -1116,10 +1256,10 @@
try
{
var r_dbBlock = this.DBBlockForRead;
- short value = Convert.ToInt16(this.plcService.ReadValuePoint(r_dbBlock.R_HandShake, typeof(short)));
+ short value = Convert.ToInt16(this.plcService.ReadValuePoint(r_dbBlock.R_HandShake_FJ, typeof(short)));
//绾﹀畾 绛夊緟2绉�
Thread.Sleep(2000);
- short value_next = Convert.ToInt16(this.plcService.ReadValuePoint(r_dbBlock.R_HandShake, typeof(short)));
+ short value_next = Convert.ToInt16(this.plcService.ReadValuePoint(r_dbBlock.R_HandShake_FJ, typeof(short)));
if (value == value_next)
{//娌℃湁蹇冭烦
return false;
@@ -1142,53 +1282,35 @@
/// 鑾峰彇Station褰撳墠鎶ヨ淇℃伅
/// </summary>
/// <returns></returns>
- public List<DeviceWarningInfo> GetStationAlertDatas()
+ public List<DeviceWarningInfo> GetStationAlertDatas(List<WmsConfigDeviceWarning> configDeviceWarningList)
{
List<DeviceWarningInfo> db_warningList = new List<DeviceWarningInfo>();
try
{
- string _dbValue;
+ string _dbNumber;
+ string _dbOffset;
var isHasAlert = false;
- IDictionary<string, string> StationAlertDict = new Dictionary<string, string>();
- StationAlertDict = WareSdaStruct.StationAlertDict;
- foreach (var item in StationAlertDict)
+ //IDictionary<string, string> StationAlertDict = new Dictionary<string, string>();
+ //StationAlertDict = StationWarningStruct.AlertDict;
+ foreach (var item in configDeviceWarningList)
{
- _dbValue = item.Key;
- isHasAlert = Convert.ToBoolean(this.plcService.ReadValuePoint(Station_CacheEntity.R_DBHeader_Station_Alert, item.Key, typeof(bool)));
+ //var arr = item.Key.Split('|');
+ //_dbNumber = arr[0];
+ //_dbOffset = arr[1];
+
+ var arr = item.WarningCode.Split('|');
+ _dbNumber = arr[0];
+ _dbOffset = arr[1];
+ isHasAlert = Convert.ToBoolean(this.plcService.ReadValuePoint(_dbNumber, _dbOffset, typeof(bool)));
if (isHasAlert)
{
db_warningList.Add(new DeviceWarningInfo()
{
- Address = item.Key,
- Code = item.Key,
- Context = item.Value.Trim()
+ Code = item.WarningCode,
+ //Context = item.WarningContent.Trim(),
});
}
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- return db_warningList;
- }
-
- /// <summary>
- /// 鑾峰彇杈撻�佺嚎褰撳墠鎶ヨ淇℃伅
- /// </summary>
- /// <returns></returns>
- public List<DeviceWarningInfo> GetLineAlertDatas()
- {
- List<DeviceWarningInfo> db_warningList = new List<DeviceWarningInfo>();
- try
- {
- IDictionary<string, string> srmAlertDict = new Dictionary<string, string>();
- foreach (var item in this.View.R_StationForReadCommList)
- {
- if (item.R_AlarmCode > 0)
- {
- item.R_AlarmCodeMsg = WareSdaStruct.StationAlertDict[item.R_AlarmCode.ToString()];
- }
+ //Thread.Sleep(1000);
}
}
catch (Exception ex)
@@ -1201,22 +1323,5 @@
#endregion
- /// <summary>
- /// 鐗规畩澶勭悊涓� 璇诲彇鐨勫彂鍔ㄦ満鐮�
- /// </summary>
- /// <param name="orgCategoryNo"></param>
- /// <returns></returns>
- private string GetNewCategoryNo(string orgCategoryNo)
- {
- Log4NetHelper.WriteInfoLog(Station_CacheEntity.curLogType, "璇诲彇鐨勫彂鍔ㄦ満鐮�,鍘熷璇诲彇鐨勫��:" + orgCategoryNo);
- //濡傛灉鏈� $R鍐呭锛屽氨鏇挎崲涓虹┖
- var repStr = "$R";
- if (!string.IsNullOrEmpty(orgCategoryNo) && orgCategoryNo.IndexOf(repStr) > -1)
- {
- orgCategoryNo = orgCategoryNo.Replace(repStr, "");
- }
- Log4NetHelper.WriteInfoLog(Station_CacheEntity.curLogType, "璇诲彇鐨勫彂鍔ㄦ満鐮�,鏇挎崲鍚庣殑鍊�:" + orgCategoryNo);
- return orgCategoryNo;
- }
}
}
--
Gitblit v1.9.3