11
schangxiang@126.com
2024-12-16 1b10882a0a46c8b25331ccd2628f7a2a6db8b13f
SDA/iWareSda/Devices/4-Station/StationModel/StationEntity.cs
@@ -9,7 +9,7 @@
using iWareCommon.Utils;
using iWareCommon.Common.Globle;
using iWareCommon;
using iWareSda.Devices._3_Station.StationModel;
using Newtonsoft.Json;
using iWareSda.Model;
@@ -179,9 +179,38 @@
            }
        }
        /// <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>
@@ -196,21 +225,25 @@
                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);
@@ -262,7 +295,15 @@
            }
        }
        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
            {
@@ -278,12 +319,111 @@
                    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;
                    }
                }
                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 ChangeMode(string stationCode, int 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_Mode, value, view_stationObj.W_Mode);
                if (!b2.result)
                {
                    msg = string.Format("向Station 切换模式 地址{0} 写  " + value + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_Mode);
                    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 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;
@@ -375,7 +515,7 @@
        /// <param name=""></param>
        /// <param name=""></param>
        /// <returns></returns>
        public bool WritePalletizingTaskInfo(string stationCode, int taskID, bool isLast, short length, short width, short height, short rotate, short toplace, short placeX, short placeY, 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
            {
@@ -389,14 +529,6 @@
                {
                    msg = string.Format("向Station地址{0} 写 码垛任务号 " + taskID + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Inbound_TaskID);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_EndMark, isLast, view_stationObj.W_EndMark);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 是否末板 " + isLast + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Destination_In);
                    return false;
                }
@@ -449,7 +581,20 @@
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingPlaceZ, placeZ, view_stationObj.W_PalletizingPlaceZ);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 Z坐标 " + placeZ + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_PalletizingBucketType, lastnum, view_stationObj.W_PalletizingBucketType);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 首末板 " + lastnum + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                if (!b2.result)
                {
@@ -470,6 +615,113 @@
                return false;
            }
        }
        /// <summary>
        /// 合包下发任务
        /// </summary>
        /// <param name="stationCode"></param>
        /// <param name="taskID"></param>
        /// <param name="length"></param>
        /// <param name="width"></param>
        /// <param name="cartonhigh"></param>
        /// <param name="cartonwidth"></param>
        /// <param name="placex"></param>
        /// <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, bool isNgFlag)
        {
            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_SurroundTaskNo, taskID, view_stationObj.W_SurroundTaskNo);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 合包任务号 " + taskID + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Inbound_TaskID);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_PackageLength, length, view_stationObj.W_PackageLength);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 合包长 " + length + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Destination_In);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_PackageWidth, width, view_stationObj.W_PackageWidth);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 合包宽 " + width + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Destination_In);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_CartonHeight, cartonhigh, view_stationObj.W_CartonHeight);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 纸箱长 " + cartonhigh + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Length);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_CartonWidth, cartonwidth, view_stationObj.W_CartonWidth);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 纸箱宽 " + width + "失败,返回结果:" + b2.resMsg,
                      stationObj.W_Width);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_X_Offset, placex, view_stationObj.W_X_Offset);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 放料x " + placex + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_Y_Offset, placey, view_stationObj.W_Y_Offset);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 放料y " + placey + "失败,返回结果:" + b2.resMsg,
                     stationObj.W_Height);
                    return false;
                }
                b2 = this.plcService.WriteValuePoint(stationObj.W_DataFinish, true, view_stationObj.W_DataFinish);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 读码解析完成 " + true + "失败,返回结果:" + b2.resMsg,
                       stationObj.W_DataFinish);
                    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;
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                var logcontext = string.Format("WriteInStoreTaskInfo出现异常:" + JsonConvert.SerializeObject(ex),
                        "");
                Log4NetHelper.WriteErrorLog(Station_CacheEntity.curLogType, logcontext, ex);
                return false;
            }
        }
        /// <summary>
        /// 写入站点任务完成确认
@@ -489,7 +741,41 @@
                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 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_ACK(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_DataFinish, value, view_stationObj.W_DataFinish);
                if (!b2.result)
                {
                    msg = string.Format("向Station" + stationCode + " 写入任务完成确认 地址{0} 写  " + value + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_OutboundFinishConfirm);
                    return false;
                }
@@ -506,7 +792,14 @@
            }
        }
        public bool WriteOutStoreTaskInfo(string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID)
        /// <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
            {
@@ -514,33 +807,168 @@
                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, true, view_stationObj.W_Outbound_TaskID);
                MessageModel b2 = this.plcService.WriteValuePoint(stationObj.W_AllowIn, value, view_stationObj.W_AllowIn);
                if (!b2.result)
                {
                    msg = string.Format("向Station地址{0} 写 出库任务号 " + true + "失败,返回结果:" + b2.resMsg,
                       stationObj.W_Outbound_TaskID);
                    msg = string.Format("向Station" + stationCode + " 写入 补板工位允许进板 地址{0} 写  " + value + "失败,返回结果:" + b2.resMsg,
                        stationObj.W_OutboundFinishConfirm);
                    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;
                }
                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;
                }
                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 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;
            }
        }
        /// <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
            {
                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_SurroundTaskFinish, value, view_stationObj.W_SurroundTaskFinish);
                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;
            }
        }
        public bool WriteOutStoreTaskInfo(bool isResetData, string stationCode, string sourcePlaceNo, out string msg, int outbound_TaskID)
        {
            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();
                if (isResetData == 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;
                }
            }
            catch (Exception ex)
            {
@@ -804,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);
        }
@@ -830,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;
@@ -856,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)
@@ -915,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;
        }
    }
}