add
zongzhibin
2024-11-28 e01a2b8111b8d9204b8f322709a9233969e26294
SDA/iWareSda/Devices/4-Station/StationModel/Station_CacheEntity.cs
@@ -19,7 +19,11 @@
        /// <summary>
        /// 写入DB
        /// </summary>
        public static string W_DBHeaderWithSeparate = "610" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
        public static string W_DBHeaderWithSeparate_BZ39 = "3002" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
        public static string W_DBHeaderWithSeparate_BZ12 = "3003" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
        public static string W_DBHeaderWithSeparate_BZ01 = "3001" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
        public static string W_DBHeaderWithSeparate_BZ21 = "3004" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
        /// <summary>
        /// 读取DB
        /// </summary>
@@ -133,84 +137,94 @@
            {
                //TODO:这里写配置的DB地址
                #region 写入
                W_HandShake = W_DBHeaderWithSeparate + "0.0",
                W_1015_ReScan = R_DBHeader_ScanWithSeparate + "302.0", //1015位置重新扫码 【EditBy shaocx,2022-05-02】
                W_1019_ReScan = R_DBHeader_ScanWithSeparate + "368.0", //1019位置重新扫码, 【EditBy shaocx,2022-05-02】
                W_Station_FinishACK = W_DBHeaderWithSeparate + "146.0",
                // W_HandShake = W_DBHeaderWithSeparate + "0.0",
                W_1002_ScanFailACK = R_DBHeader_ScanWithSeparate + "66.1",
                W_1004_ScanFailACK = R_DBHeader_ScanWithSeparate + "126.1",
                W_1006_ScanFailACK = R_DBHeader_ScanWithSeparate + "186.1",
                W_1007_ScanFailACK = R_DBHeader_ScanWithSeparate + "246.1",
                W_1002_ScanSuccessACK = R_DBHeader_ScanWithSeparate + "66.0",
                W_1004_ScanSuccessACK = R_DBHeader_ScanWithSeparate + "126.0",
                W_1006_ScanSuccessACK = R_DBHeader_ScanWithSeparate + "186.0",
                W_1007_ScanSuccessACK = R_DBHeader_ScanWithSeparate + "246.0",
                W_Out_MaterialModel = W_DBHeaderForXigangGetDataWithSeparate + "0.0",
                W_Out_OrderNo = W_DBHeaderForXigangGetDataWithSeparate + "18.0",
                W_Out_SerialNumber = W_DBHeaderForXigangGetDataWithSeparate + "36.0",
                #endregion
            };
            //写入地址
            _dbBlockForWrite.W_StationForWriteCommList = new List<StationDBForWriteComm>();
            _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm() { StationCode = "1001", W_TaskID = W_DBHeaderWithSeparate + "6.0" });
            _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm() { StationCode = "1002", W_TaskID = W_DBHeaderWithSeparate + "14.0" });
            _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm() { StationCode = "1003", W_TaskID = W_DBHeaderWithSeparate + "22.0" });
            _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm()
            {
                StationCode = StationLocationEnum.首次扫码工位.ToString(),
            });
            _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm()
            {
                StationCode = StationLocationEnum.BZ01.ToString(),
                W_DataFinish = W_DBHeaderWithSeparate_BZ01 + "0.0",
                W_KittingInfo = W_DBHeaderWithSeparate_BZ01 + "2.0",
            });
            _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm()
            {
                StationCode = StationLocationEnum.BZ39.ToString(),
                W_DataFinish = W_DBHeaderWithSeparate_BZ39 + "0.0",
                W_InboundFinishConfirm = W_DBHeaderWithSeparate_BZ39 + "0.1",
                W_Destination_In = W_DBHeaderWithSeparate_BZ39 + "2.0",
                W_Inbound_TaskID = W_DBHeaderWithSeparate_BZ39 + "20.0",
                W_Outbound_TaskID = W_DBHeaderWithSeparate_BZ39 + "22.0",
                W_Length = W_DBHeaderWithSeparate_BZ39 + "6.0",
                W_Width = W_DBHeaderWithSeparate_BZ39 + "8.0",
                W_Height = W_DBHeaderWithSeparate_BZ39 + "10.0",
                //出库
                W_ReqOut = W_DBHeaderWithSeparate_BZ39 + "12.0",
                W_Destination_Out = W_DBHeaderWithSeparate_BZ39 + "14.0",
                W_Mode = W_DBHeaderWithSeparate_BZ39 + "18.0",
                W_OutboundFinishConfirm = W_DBHeaderWithSeparate_BZ39 + "0.2",
            });
            _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm()
            {
                StationCode = StationLocationEnum.BZ12.ToString(),
                W_DataFinish = W_DBHeaderWithSeparate_BZ12 + "0.0",
                W_EndMark = W_DBHeaderWithSeparate_BZ12 + "0.1",
                W_FirstMark= W_DBHeaderWithSeparate_BZ12 + "0.3",
                W_PalletizingPlaceX = W_DBHeaderWithSeparate_BZ12 + "12.0",
                W_PalletizingPlaceY = W_DBHeaderWithSeparate_BZ12 + "14.0",
                W_PalletizingPlaceZ = W_DBHeaderWithSeparate_BZ12 + "16.0",
                W_PalletizingTaskID = W_DBHeaderWithSeparate_BZ12 + "18.0",
                W_Rotate = W_DBHeaderWithSeparate_BZ12 + "8.0",
                W_Length = W_DBHeaderWithSeparate_BZ12 + "2.0",
                W_Width = W_DBHeaderWithSeparate_BZ12 + "4.0",
                W_Height = W_DBHeaderWithSeparate_BZ12 + "6.0",
                W_PalletizingBucketType= W_DBHeaderWithSeparate_BZ12 + "20.0",
                W_PalletizingStation = W_DBHeaderWithSeparate_BZ12 + "10.0",
                W_PalletizingTaskFinish = W_DBHeaderWithSeparate_BZ12 + "0.2",
            });
            _dbBlockForWrite.W_StationForWriteCommList.Add(new StationDBForWriteComm()
            {
                StationCode = StationLocationEnum.BZ21.ToString(),
                W_DataFinish = W_DBHeaderWithSeparate_BZ21 + "0.0",
                W_SurroundTaskFinish = W_DBHeaderWithSeparate_BZ21 + "0.1",
                W_X_Offset = W_DBHeaderWithSeparate_BZ21 + "10.0",
                W_Y_Offset = W_DBHeaderWithSeparate_BZ21 + "12.0",
                W_SurroundTaskNo = W_DBHeaderWithSeparate_BZ21 + "14.0",
                W_CartonHeight = W_DBHeaderWithSeparate_BZ21 + "6.0",
                W_CartonWidth = W_DBHeaderWithSeparate_BZ21 + "8.0",
                W_PackageLength = W_DBHeaderWithSeparate_BZ21 + "2.0",
                W_PackageWidth = W_DBHeaderWithSeparate_BZ21 + "4.0",
            });
            return _dbBlockForWrite;
        }
        ///// <summary>
        ///// 读取地址集合赋值
        ///// </summary>
        ///// <param name="_dbBlockForWrite"></param>
        ///// <param name="_dbBlockForRead"></param>
        //private static StationDBForWrite SetW_StationForWriteCommList2()
        //{
        //    StationDBForWrite _dbBlockForRead = new StationDBForWrite()
        //    {
        //        //TODO:这里写配置的DB地址
        //        #region 读取
        //        W_HandShake = "0.0",
        //        #endregion
        //    };
        //    //读取地址
        //    double default_STP = 2.0;
        //    double default_Destination = 4.0;
        //    double default_TaskID = 6.0;
        //    int addValue = 16;
        //    _dbBlockForRead.W_StationForWriteCommList = new List<StationDBForWriteComm>();
        //    for (int i = 0; i < WareSdaStruct.StationStationList.Count; i++)
        //    {
        //        var stationCode = WareSdaStruct.StationStationList[i];
        //        if (i > 0)
        //        {
        //            default_STP += addValue;
        //            default_Destination += addValue;
        //            default_TaskID += addValue;
        //        }
        //        _dbBlockForRead.W_StationForWriteCommList.Add(new StationDBForWriteComm()
        //        {
        //            StationCode = stationCode,
        //            W_STP = default_STP.ToString("0.0"),
        //            W_Destination = default_Destination.ToString("0.0"),
        //            W_TaskID = default_TaskID.ToString("0.0"),
        //        });
        //    }
        //    return _dbBlockForRead;
        //}
        /// <summary>
        /// 读取地址集合赋值
@@ -223,88 +237,66 @@
            {
                //TODO:这里写配置的DB地址
                #region 读取
                R_HandShake = R_DBHeaderWithSeparate + "0.0",
                // R_HandShake = R_DBHeaderWithSeparate + "0.0",
                //注意:这里用的扫描的地址块
                R_1015_Scan = R_DBHeader_ScanWithSeparate + "48.0",
                R_1019_Scan = R_DBHeader_ScanWithSeparate + "356.0",
                R_1019_CargoNoScan = R_DBHeader_ScanWithSeparate + "378.0",
                R_1002_Scan = R_DBHeader_ScanWithSeparate + "108.0",
                R_1004_Scan = R_DBHeader_ScanWithSeparate + "168.0",
                R_1006_Scan = R_DBHeader_ScanWithSeparate + "228.0",
                R_1007_Scan = R_DBHeader_ScanWithSeparate + "288.0",
                R_1009_High1 = R_DBHeader_ScanWithSeparate + "300.0",
                R_1009_High2 = R_DBHeader_ScanWithSeparate + "300.1",
                R_1009_High3 = R_DBHeader_ScanWithSeparate + "300.2",
                R_Station_Finish = R_DBHeaderWithSeparate + "349.0",
                R_Station_Coordinate = R_DBHeader_ScanWithSeparate + "304.0"
                R_StationForReadCommList = new List<StationDBForReadComm>()
                #endregion
            };
            //读取地址
            double default_PH_1 = 2.0;
            double default_PH_2 = 2.1;
            double default_ACK = 2.2;
            double default_Model = 4.0;
            double default_State = 6.0;
            double default_AlarmCode = 8.0;
            double default_Destination = 10.0;
            double default_Shape = 12.0;
            double default_TaskID = 14.0;
            int addValue = 16;
            _dbBlockForRead.R_StationForReadCommList = new List<StationDBForReadComm>();
            for (int i = 0; i < WareSdaStruct.StationStationList.Count; i++)
            _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
            {
                var stationCode = WareSdaStruct.StationStationList[i];
                if (stationCode == "1019")
                {
                    _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
                    {
                        StationCode = stationCode,
                        R_PH_1 = R_DBHeaderWithSeparate + "350.0",
                        R_PH_2 = R_DBHeaderWithSeparate + "350.1",
                        R_ACK = R_DBHeaderWithSeparate + "350.2",
                        R_Model = R_DBHeaderWithSeparate + ("352.0"),
                        R_State = R_DBHeaderWithSeparate + ("354.0"),
                        R_AlarmCode = R_DBHeaderWithSeparate + ("356.0"),
                        R_Destination = R_DBHeaderWithSeparate + ("358.0"),
                        R_Shape = R_DBHeaderWithSeparate + ("360.0"),
                        R_TaskID = R_DBHeaderWithSeparate + ("362.0")
                    });
                }
                else
                {
                    if (i > 0)
                    {
                        default_PH_1 += addValue;
                        default_PH_2 += addValue;
                        default_ACK += addValue;
                        default_Model += addValue;
                        default_State += addValue;
                        default_AlarmCode += addValue;
                        default_Destination += addValue;
                        default_Shape += addValue;
                        default_TaskID += addValue;
                    }
                    _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
                    {
                        StationCode = stationCode,
                        R_PH_1 = R_DBHeaderWithSeparate + default_PH_1.ToString("0.0"),
                        R_PH_2 = R_DBHeaderWithSeparate + default_PH_2.ToString("0.0")
                        ,
                        R_ACK = R_DBHeaderWithSeparate + default_ACK.ToString("0.0"),
                        R_Model = R_DBHeaderWithSeparate + default_Model.ToString("0.0"),
                        R_State = R_DBHeaderWithSeparate + default_State.ToString("0.0"),
                        R_AlarmCode = R_DBHeaderWithSeparate + default_AlarmCode.ToString("0.0"),
                        R_Destination = R_DBHeaderWithSeparate + default_Destination.ToString("0.0"),
                        R_Shape = R_DBHeaderWithSeparate + default_Shape.ToString("0.0"),
                        R_TaskID = R_DBHeaderWithSeparate + default_TaskID.ToString("0.0")
                    });
                }
            }
                StationCode = StationLocationEnum.BZ01.ToString(),
                R_ReqParseData = W_DBHeaderWithSeparate_BZ01 + "50.0",
                R_ReadCodeResult = W_DBHeaderWithSeparate_BZ01 + "52.0",
            });
            _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
            {
                StationCode = StationLocationEnum.BZ39.ToString(),
                R_ReqParseData = W_DBHeaderWithSeparate_BZ39 + "50.0",
                R_InboundFinish = W_DBHeaderWithSeparate_BZ39 + "50.1",
                R_OutboundFinish = W_DBHeaderWithSeparate_BZ39 + "50.2",
                R_ReadCodeResult = W_DBHeaderWithSeparate_BZ39 + "52.0",
                R_InboundNumber = W_DBHeaderWithSeparate_BZ39 + "104.0",
                R_OutboundNumber = W_DBHeaderWithSeparate_BZ39 + "108.0",
                R_Inbound_TaskID = W_DBHeaderWithSeparate_BZ39 + "112.0",
                R_Outbound_TaskID = W_DBHeaderWithSeparate_BZ39 + "114.0",
                R_ForceOutboundMode = W_DBHeaderWithSeparate_BZ39 + "50.3",
            });
            _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
            {
                StationCode = StationLocationEnum.BZ12.ToString(),
                R_ReqParseData = W_DBHeaderWithSeparate_BZ12 + "50.0",
                R_PalletizingFinish = W_DBHeaderWithSeparate_BZ12 + "50.1",
                R_PalletizingTaskNo = W_DBHeaderWithSeparate_BZ12 + "108.0",
                R_ReadCodeResult = W_DBHeaderWithSeparate_BZ12 + "52.0",
                R_PalletizingStation1 = W_DBHeaderWithSeparate_BZ12 + "104.0",
                R_PalletizingStation2 = W_DBHeaderWithSeparate_BZ12 + "106.0",
                R_PalletizingAck = W_DBHeaderWithSeparate_BZ12 + "50.2",
                //R_Inbound_TaskID = W_DBHeaderWithSeparate_BZ12 + "112.0",
                //R_Outbound_TaskID = W_DBHeaderWithSeparate_BZ12 + "114.0",
            });
            _dbBlockForRead.R_StationForReadCommList.Add(new StationDBForReadComm()
            {
                StationCode = StationLocationEnum.BZ21.ToString(),
                R_PalletizingAck = W_DBHeaderWithSeparate_BZ21 + "50.2",
                R_ReqParseData = W_DBHeaderWithSeparate_BZ21 + "50.0",
                R_SurrouondTaskFinish = W_DBHeaderWithSeparate_BZ21 + "50.1",
                R_SurrouondTaskNo = W_DBHeaderWithSeparate_BZ21 + "104.0",
                R_ReadCodeResult = W_DBHeaderWithSeparate_BZ21 + "52.0",
            });
            return _dbBlockForRead;