| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <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("向Station 扫码记录清除 地址{0} 写 " + value + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_PartClear); |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | var logcontext = string.Format("向Statio 扫码记录清除 出现异常:" + JsonConvert.SerializeObject(ex), |
| | | ""); |
| | | Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public bool WriteInStoreTaskInfo(string stationCode, string toPlaceNo, short length, short width, short height, out string msg, int inbound_TaskID) |
| | | { |
| | | try |
| | |
| | | /// <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 |
| | | { |
| | |
| | | return false; |
| | | } |
| | | |
| | | //增加写入NG标记 |
| | | if (isNgFlag) |
| | | { |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_NgFlag, true, view_stationObj.W_NgFlag); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 NG包标记 " + true + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_NgFlag); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | return true; |
| | | } |
| | |
| | | { |
| | | msg = ex.Message; |
| | | var logcontext = string.Format("向Statio 补板工位允许进板 出现异常:" + 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("向Station" + stationCode + " 写入 NG包标记 地址{0} 写 " + value + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_OutboundFinishConfirm); |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | msg = ex.Message; |
| | | var logcontext = string.Format("向Statio NG包标记 出现异常:" + JsonConvert.SerializeObject(ex), |
| | | ""); |
| | | Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex); |
| | | return false; |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | |
| | | /// 获取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) |
| | |
| | | |
| | | #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; |
| | | } |
| | | } |
| | | } |