using iWareCommon.Utils; using iWareModel; using iWareSda.Devices._3_Rgv.RgvModel; using System; using System.Collections.Generic; using System.Linq; namespace iWareSda { /// /// Rgv实体类 /// //public static class Rgv_CacheEntity //{ // public static LogType curLogType = LogType.RgvSdaService; // #region RGV1 // /// // /// 写入DB // /// // public static string W_DBHeaderWithSeparate = "610" + WareSdaStruct.PLCDBADDRESS_SEPARATE; // /// // /// 读取DB // /// // public static string R_DBHeaderWithSeparate = "600" + WareSdaStruct.PLCDBADDRESS_SEPARATE; // /// // /// 读取DB(扫码) // /// // public static string R_DBHeader_ScanWithSeparate = "80" + WareSdaStruct.PLCDBADDRESS_SEPARATE; // /// // /// 读取DB(报警专用) // /// // public static string R_DBHeader_Alert = "91" + WareSdaStruct.PLCDBADDRESS_SEPARATE; // /// // /// 读取DB(RGV报警专用) // /// // public static string R_DBHeader_RGV_Alert = "1090"; // private static RgvDBForWrite _dbBlockForWrite = SetW_RgvForWriteCommList(); // private static RgvDBForRead _dbBlockForRead = SetR_RgvForWriteCommList(); // private static HslCommunicationParam hslCommunicationParam = new HslCommunicationParam() // { // cpu = WareSdaStruct.RGV_SiemensPLCS, // ip = WareSdaStruct.RGV_Address, // rack = WareSdaStruct.RGV_Rack, // slot = WareSdaStruct.RGV_Slot, // port = WareSdaStruct.RGV_Port // }; // private static SS7Param s7Param = new SS7Param() // { // cpu = WareSdaStruct.RGV_PLC_CpuType, // ip = WareSdaStruct.RGV_Address, // rack = WareSdaStruct.RGV_Rack, // slot = WareSdaStruct.RGV_Slot, // }; // private static PLCService PLCService = PLCFactory.GetOPCService(WareSdaStruct.System_PlcServiceTypeEnum, s7Param, hslCommunicationParam); // private static RgvEntity rgv = new RgvEntity("Rgv", (int)EDevice.RGV, _dbBlockForWrite, _dbBlockForRead, PLCService); // #endregion // private static List _deviceObjList = null; // private static object objLock = new object(); // /// // /// 生成设备实体类 // /// // public static List DeviceObjs // { // get // { // if (_deviceObjList == null) // { // lock (objLock) // { // if (_deviceObjList == null) // { // _deviceObjList = new List(); // _deviceObjList.Add(rgv); // } // } // } // return Rgv_CacheEntity._deviceObjList; // } // set { Rgv_CacheEntity._deviceObjList = value; } // } // private static T GetDeviceObj(int deviceId) // { // var device = Rgv_CacheEntity.DeviceObjs.FirstOrDefault(x => x.View.DeviceId == deviceId); // return (T)(Object)device; // } // /// // /// 获取设备对象 // /// // /// // /// // public static SdaResEntity GetDeviceObj(int deviceId) // { // SdaResEntity sdaResult = new SdaResEntity(); // RgvEntity rgv = Rgv_CacheEntity.GetDeviceObj(deviceId); // if (rgv == null) // { // return SdaResEntity.Failure("没有找到RGV设备"); // } // return SdaResEntity.Success("成功", rgv); // } // /// // /// 写入地址集合赋值 // /// // /// // /// // private static RgvDBForWrite SetW_RgvForWriteCommList() // { // RgvDBForWrite _dbBlockForWrite = new RgvDBForWrite() // { // //TODO:这里写配置的DB地址 // #region 写入 // W_HandShake = W_DBHeaderWithSeparate + "0.0", // W_1015_ReScan = R_DBHeader_ScanWithSeparate + "302.0", //1015位置重新扫码 【EditBy shaocx,2022-05-02】 // W_RGV_FinishACK = W_DBHeaderWithSeparate + "146.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", // #endregion // }; // //写入地址 // _dbBlockForWrite.W_RgvForWriteCommList = new List(); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1001", W_STP = W_DBHeaderWithSeparate + "2.0", W_Destination = W_DBHeaderWithSeparate + "4.0", W_TaskID = W_DBHeaderWithSeparate + "6.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1002", W_STP = W_DBHeaderWithSeparate + "10.0", W_Destination = W_DBHeaderWithSeparate + "12.0", W_TaskID = W_DBHeaderWithSeparate + "14.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1003", W_STP = W_DBHeaderWithSeparate + "18.0", W_Destination = W_DBHeaderWithSeparate + "20.0", W_TaskID = W_DBHeaderWithSeparate + "22.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1004", W_STP = W_DBHeaderWithSeparate + "26.0", W_Destination = W_DBHeaderWithSeparate + "28.0", W_TaskID = W_DBHeaderWithSeparate + "30.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1005", W_STP = W_DBHeaderWithSeparate + "34.0", W_Destination = W_DBHeaderWithSeparate + "36.0", W_TaskID = W_DBHeaderWithSeparate + "38.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1006", W_STP = W_DBHeaderWithSeparate + "42.0", W_Destination = W_DBHeaderWithSeparate + "44.0", W_TaskID = W_DBHeaderWithSeparate + "46.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1007", W_STP = W_DBHeaderWithSeparate + "50.0", W_Destination = W_DBHeaderWithSeparate + "52.0", W_TaskID = W_DBHeaderWithSeparate + "54.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1008", W_STP = W_DBHeaderWithSeparate + "58.0", W_Destination = W_DBHeaderWithSeparate + "60.0", W_TaskID = W_DBHeaderWithSeparate + "62.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1009", W_STP = W_DBHeaderWithSeparate + "66.0", W_Destination = W_DBHeaderWithSeparate + "68.0", W_TaskID = W_DBHeaderWithSeparate + "70.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1010", W_STP = W_DBHeaderWithSeparate + "74.0", W_Destination = W_DBHeaderWithSeparate + "76.0", W_TaskID = W_DBHeaderWithSeparate + "78.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1011", W_STP = W_DBHeaderWithSeparate + "82.0", W_Destination = W_DBHeaderWithSeparate + "84.0", W_TaskID = W_DBHeaderWithSeparate + "86.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1012", W_STP = W_DBHeaderWithSeparate + "90.0", W_Destination = W_DBHeaderWithSeparate + "92.0", W_TaskID = W_DBHeaderWithSeparate + "94.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1013", W_STP = W_DBHeaderWithSeparate + "98.0", W_Destination = W_DBHeaderWithSeparate + "100.0", W_TaskID = W_DBHeaderWithSeparate + "102.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1014", W_STP = W_DBHeaderWithSeparate + "106.0", W_Destination = W_DBHeaderWithSeparate + "108.0", W_TaskID = W_DBHeaderWithSeparate + "110.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1015", W_STP = W_DBHeaderWithSeparate + "114.0", W_Destination = W_DBHeaderWithSeparate + "116.0", W_TaskID = W_DBHeaderWithSeparate + "118.0" }); // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1020", W_STP = W_DBHeaderWithSeparate + "122.0", W_Destination = W_DBHeaderWithSeparate + "124.0", W_TaskID = W_DBHeaderWithSeparate + "126.0" });//拆盘机 // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1030", W_STP = W_DBHeaderWithSeparate + "130.0", W_Destination = W_DBHeaderWithSeparate + "132.0", W_TaskID = W_DBHeaderWithSeparate + "134.0" });//提升机 // _dbBlockForWrite.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() { StationCode = "1040", W_STP = W_DBHeaderWithSeparate + "138.0", W_Destination = W_DBHeaderWithSeparate + "140.0", W_TaskID = W_DBHeaderWithSeparate + "142.0" });//就是RGV // return _dbBlockForWrite; // } // ///// // ///// 读取地址集合赋值 // ///// // ///// // ///// // //private static RgvDBForWrite SetW_RgvForWriteCommList2() // //{ // // RgvDBForWrite _dbBlockForRead = new RgvDBForWrite() // // { // // //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_RgvForWriteCommList = new List(); // // for (int i = 0; i < WareSdaStruct.RgvStationList.Count; i++) // // { // // var stationCode = WareSdaStruct.RgvStationList[i]; // // if (i > 0) // // { // // default_STP += addValue; // // default_Destination += addValue; // // default_TaskID += addValue; // // } // // _dbBlockForRead.W_RgvForWriteCommList.Add(new RgvDBForWriteComm() // // { // // 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; // //} // /// // /// 读取地址集合赋值 // /// // /// // /// // private static RgvDBForRead SetR_RgvForWriteCommList() // { // RgvDBForRead _dbBlockForRead = new RgvDBForRead() // { // //TODO:这里写配置的DB地址 // #region 读取 // R_HandShake = R_DBHeaderWithSeparate + "0.0", // //注意:这里用的扫描的地址块 // R_1015_Scan = R_DBHeader_ScanWithSeparate + "48.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_RGV_Finish = R_DBHeaderWithSeparate + "349.0", // R_RGV_Coordinate = R_DBHeader_ScanWithSeparate + "304.0" // #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_RgvForReadCommList = new List(); // for (int i = 0; i < WareSdaStruct.RgvStationList.Count; i++) // { // var stationCode = WareSdaStruct.RgvStationList[i]; // 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_RgvForReadCommList.Add(new RgvDBForReadComm() // { // 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") // }); // } // return _dbBlockForRead; // } //} }