| | |
| | | using iWareCommon.Utils; |
| | | using iWareCommon.Common.Globle; |
| | | using iWareCommon; |
| | | using iWareSda.Devices._3_Station.StationModel; |
| | | |
| | | using Newtonsoft.Json; |
| | | using iWareSda.Model; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 写PLC 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> |
| | | /// 写入齐套结果 |
| | | /// 写入齐套结果、解析结果 |
| | | /// </summary> |
| | | /// <param name="deviceId"></param> |
| | | /// <param name="value">true:表示 齐套。false:不齐套</param> |
| | |
| | | |
| | | var view_stationObj = this.View.W_StationForWriteCommList.Where(x => x.StationCode == stationCode).FirstOrDefault(); |
| | | |
| | | int i_result = 0; |
| | | if (value) |
| | | MessageModel b2 = null; |
| | | if (stationCode == StationLocationEnum.BZ01.ToString() || stationCode == StationLocationEnum.BZ30.ToString()) |
| | | { |
| | | i_result = 998; |
| | | } |
| | | else |
| | | { |
| | | i_result = 999; |
| | | } |
| | | MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_KittingInfo, i_result, view_stationObj.W_KittingInfo); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 " + value + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_DataFinish); |
| | | return false; |
| | | int i_result = 0; |
| | | if (value) |
| | | { |
| | | i_result = 998; |
| | | } |
| | | else |
| | | { |
| | | i_result = 999; |
| | | } |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_KittingInfo, i_result, view_stationObj.W_KittingInfo); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 " + value + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_DataFinish); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish); |
| | |
| | | } |
| | | } |
| | | |
| | | public bool OutboundFinishConfirm(string stationCode, bool value, out string msg) |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="stationCode"></param> |
| | | /// <param name="value"></param> |
| | | /// <param name="msg"></param> |
| | | /// <param name="isClearData">是否需要清理数据</param> |
| | | /// <returns></returns> |
| | | public bool OutboundFinishConfirm(string stationCode, bool value, out string msg, bool isClearData) |
| | | { |
| | | try |
| | | { |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (value && isClearData) |
| | | { |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, false, view_stationObj.W_ReqOut); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station W_ReqOut 地址{0} 写 " + false + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_ReqOut); |
| | | return false; |
| | | } |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_Out, 0, view_stationObj.W_Destination_Out); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station W_Destination_Out 地址{0} 写 " + 0 + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_Destination_Out); |
| | | return false; |
| | | } |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_Outbound_TaskID, 0, view_stationObj.W_Outbound_TaskID); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station W_Outbound_TaskID 地址{0} 写 " + 0 + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_Outbound_TaskID); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, false, view_stationObj.W_ReqOut); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station W_ReqOut 地址{0} 写 " + false + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_ReqOut); |
| | | return false; |
| | | } |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_Out, 0, view_stationObj.W_Destination_Out); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station W_Destination_Out 地址{0} 写 " + 0 + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_Destination_Out); |
| | | return false; |
| | | } |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_Outbound_TaskID, 0, view_stationObj.W_Outbound_TaskID); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station W_Outbound_TaskID 地址{0} 写 " + 0 + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_Outbound_TaskID); |
| | | return false; |
| | | } |
| | | |
| | | |
| | | |
| | | return true; |
| | |
| | | /// <param name=""></param> |
| | | /// <param name=""></param> |
| | | /// <returns></returns> |
| | | public bool WritePalletizingTaskInfo(string stationCode, int taskID, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ,short lastnum, out string msg) |
| | | public bool WritePalletizingTaskInfo(string stationCode, int taskID, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, short placeZ, short lastnum, out string msg) |
| | | { |
| | | try |
| | | { |
| | |
| | | stationObj.W_Inbound_TaskID); |
| | | return false; |
| | | } |
| | | |
| | | |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_Length, length, view_stationObj.W_Length); |
| | | if (!b2.result) |
| | | { |
| | |
| | | /// <param name="placey"></param> |
| | | /// <param name="msg"></param> |
| | | /// <returns></returns> |
| | | public bool WriteSurroundTaskInfo(string stationCode, int 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) |
| | | { |
| | | try |
| | | { |
| | |
| | | stationObj.W_Height); |
| | | return false; |
| | | } |
| | | |
| | | |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish); |
| | | if (!b2.result) |
| | | { |
| | |
| | | MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingTaskFinish, value, view_stationObj.W_PalletizingTaskFinish); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station"+stationCode+" 写入任务完成确认 地址{0} 写 " + value + "失败,返回结果:" + b2.resMsg, |
| | | msg = string.Format("向Station" + stationCode + " 写入任务完成确认 地址{0} 写 " + value + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_OutboundFinishConfirm); |
| | | return false; |
| | | } |
| | |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 写入 补板工位允许进板 |
| | | /// </summary> |
| | | /// <param name="stationCode"></param> |
| | | /// <param name="value"></param> |
| | | /// <param name="msg"></param> |
| | | /// <returns></returns> |
| | | public bool WriteStation_AllowIn(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_AllowIn, value, view_stationObj.W_AllowIn); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station" + stationCode + " 写入 补板工位允许进板 地址{0} 写 " + value + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_OutboundFinishConfirm); |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | /// <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("向Station" + stationCode + " 写入 人工放行 地址{0} 写 " + value + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.R_ReqParseData); |
| | | 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 WriteSurround_FinishACK(string stationCode, bool value, out string msg) |
| | | { |
| | | try |
| | |
| | | return false; |
| | | } |
| | | } |
| | | public bool WriteOutStoreTaskInfo(string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID) |
| | | public bool WriteOutStoreTaskInfo(bool isResetData, string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID) |
| | | { |
| | | try |
| | | { |
| | |
| | | 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_Outbound_TaskID, outbound_TaskID, view_stationObj.W_Outbound_TaskID); |
| | | if (!b2.result) |
| | | if (isResetData == false) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 出库任务号 " + outbound_TaskID + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_Outbound_TaskID); |
| | | return false; |
| | | MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_Outbound_TaskID, outbound_TaskID, view_stationObj.W_Outbound_TaskID); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 出库任务号 " + outbound_TaskID + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_Outbound_TaskID); |
| | | return false; |
| | | } |
| | | |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_Out, Convert.ToInt32(sourcePlaceNo), view_stationObj.W_Destination_Out); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 库位号 " + sourcePlaceNo + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_Destination_Out); |
| | | return false; |
| | | } |
| | | |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, true, view_stationObj.W_ReqOut); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 请求出库 " + true + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_ReqOut); |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | else |
| | | { |
| | | MessageModel b2 = null; |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, false, view_stationObj.W_ReqOut); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 请求出库 " + false + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_ReqOut); |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_Destination_Out, Convert.ToInt32(sourcePlaceNo), view_stationObj.W_Destination_Out); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 库位号 " + sourcePlaceNo + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_Destination_Out); |
| | | return false; |
| | | } |
| | | |
| | | b2 = this.plcService.WriteValuePoint(stationObj.W_ReqOut, true, view_stationObj.W_ReqOut); |
| | | if (!b2.result) |
| | | { |
| | | msg = string.Format("向Station地址{0} 写 请求出库 " + true + "失败,返回结果:" + b2.resMsg, |
| | | stationObj.W_ReqOut); |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |