using iWareCommon.Utils;
|
using iWareModel;
|
using iWareSda.Devices._3_Rgv.RgvModel;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
namespace iWareSda
|
{
|
/// <summary>
|
/// Rgv实体类
|
/// </summary>
|
//public static class Rgv_CacheEntity
|
//{
|
// public static LogType curLogType = LogType.RgvSdaService;
|
|
// #region RGV1
|
|
// /// <summary>
|
// /// 写入DB
|
// /// </summary>
|
// public static string W_DBHeaderWithSeparate = "610" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
|
// /// <summary>
|
// /// 读取DB
|
// /// </summary>
|
// public static string R_DBHeaderWithSeparate = "600" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
|
|
// /// <summary>
|
// /// 读取DB(扫码)
|
// /// </summary>
|
// public static string R_DBHeader_ScanWithSeparate = "80" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
|
|
// /// <summary>
|
// /// 读取DB(报警专用)
|
// /// </summary>
|
// public static string R_DBHeader_Alert = "91" + WareSdaStruct.PLCDBADDRESS_SEPARATE;
|
|
// /// <summary>
|
// /// 读取DB(RGV报警专用)
|
// /// </summary>
|
// 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<RgvEntity> _deviceObjList = null;
|
// private static object objLock = new object();
|
|
// /// <summary>
|
// /// 生成设备实体类
|
// /// </summary>
|
// public static List<RgvEntity> DeviceObjs
|
// {
|
// get
|
// {
|
// if (_deviceObjList == null)
|
// {
|
// lock (objLock)
|
// {
|
// if (_deviceObjList == null)
|
// {
|
// _deviceObjList = new List<RgvEntity>();
|
// _deviceObjList.Add(rgv);
|
// }
|
// }
|
// }
|
// return Rgv_CacheEntity._deviceObjList;
|
// }
|
// set { Rgv_CacheEntity._deviceObjList = value; }
|
// }
|
|
// private static T GetDeviceObj<T>(int deviceId)
|
// {
|
// var device = Rgv_CacheEntity.DeviceObjs.FirstOrDefault(x => x.View.DeviceId == deviceId);
|
// return (T)(Object)device;
|
// }
|
|
|
// /// <summary>
|
// /// 获取设备对象
|
// /// </summary>
|
// /// <param name="deviceId"></param>
|
// /// <returns></returns>
|
// public static SdaResEntity GetDeviceObj(int deviceId)
|
// {
|
// SdaResEntity sdaResult = new SdaResEntity();
|
// RgvEntity rgv = Rgv_CacheEntity.GetDeviceObj<RgvEntity>(deviceId);
|
// if (rgv == null)
|
// {
|
// return SdaResEntity.Failure("没有找到RGV设备");
|
// }
|
// return SdaResEntity.Success("成功", rgv);
|
// }
|
|
|
// /// <summary>
|
// /// 写入地址集合赋值
|
// /// </summary>
|
// /// <param name="_dbBlockForWrite"></param>
|
// /// <param name="_dbBlockForRead"></param>
|
// 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<RgvDBForWriteComm>();
|
|
// _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;
|
// }
|
|
// ///// <summary>
|
// ///// 读取地址集合赋值
|
// ///// </summary>
|
// ///// <param name="_dbBlockForWrite"></param>
|
// ///// <param name="_dbBlockForRead"></param>
|
// //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<RgvDBForWriteComm>();
|
// // 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;
|
|
// //}
|
|
// /// <summary>
|
// /// 读取地址集合赋值
|
// /// </summary>
|
// /// <param name="_dbBlockForWrite"></param>
|
// /// <param name="_dbBlockForRead"></param>
|
// 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<RgvDBForReadComm>();
|
// 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;
|
|
// }
|
|
//}
|
}
|