using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace XS_Model { /// /// T_BASE_DEVICE实体类 /// [Serializable] public class T_BASE_DEVICE { /// /// 设备索引;3开头为虚拟设备 /// public int F_DeviceIndex { get; set; } /// /// 设备种类索引 /// 1 穿梭板、2辊道机、3取放货站台、4提升机、7读码器、10巷道 /// public int? F_DeviceKindIndex { get; set; } /// /// 设备名称 /// public string F_DeviceName { get; set; } /// /// CP5611的DB1区起始地址(PC写,PLC读) /// public int? F_DBW1Address { get; set; } /// /// PCPLC发送(写)字节数 /// public int? F_DBWSendLength { get; set; } /// /// CP5611的DB2区起始地址(PLC写,PC读) /// public int? F_DBW2Address { get; set; } /// /// PC从PLC接收(读)字节数 /// public decimal? F_DBWGetLength { get; set; } /// /// 光电信号拆分字节 /// public int? F_SplitByte { get; set; } /// /// 记录路径上可能的出库方向任务传递的下一个设备索引组,用分号“;”隔开,根据它可以生成搬运路径和设备关联表 /// public string F_OutputNextDevice { get; set; } /// /// 记录路径上可能的入库方向任务传递的下一个设备索引组,用分号“;”隔开,根据它可以生成搬运路径和设备关联表 /// public string F_InputNextDevice { get; set; } /// /// 穿梭车、堆垛机、AGV都属于关键设备需要单独调度,路径终点输送机也属于关键设备,所以此类设备是路径分段命令的分割点,举例:【成品入库路径】输送机控制+RGV控制+输送机控制+堆垛机控制+巷道虚拟命令 /// public string F_KeyDevice { get; set; } /// /// 建立OPC读取数据订阅标识,一般一个PLC的50个设备建立一个读订阅 /// public string F_ReadSubscription { get; set; } /// /// 被临近设备运行前检测的光电信号对应的设备索引组(故障,正转,反转,上升,下降等),索引之间使用分号“;”隔开,索引前面加负号“-”表示需要检测值为“1”的信号 /// public string F_BeDetected { get; set; } /// /// 与此设备捆绑在一起的设备(光电开关等,输送机的入口检测) /// public string F_BindingDevice { get; set; } /// /// 输送机的出口检测 /// public string F_BindingDeviceOut { get; set; } /// /// 输送机送出时需要检测的光电信号设备索引 /// public string F_SendOutDetect { get; set; } /// /// 是否为 长输送机的起点设备和终点设备,在PLC报告运行时DB1所属字节全部写入“0” /// public string F_IfClearDB1 { get; set; } /// /// 通讯类库标识 /// public string F_CommType { get; set; } /// /// 是否需要调度控制:1,不需要调度控制 /// public string F_UnControl { get; set; } /// /// 是否为堆垛机双叉关联控制 /// public string F_IfCorrelDoubleFork { get; set; } /// /// 设备是否可视 /// public int? F_DeviceVisual { get; set; } /// /// 故障代码 /// public int? F_ErrorCode { get; set; } /// /// 是否有货 /// public int? F_HaveGoods { get; set; } /// /// 需要附加的条码对应的虚拟设备号 /// public int? F_AppendBarcode { get; set; } /// /// 特殊设备的管理预定。对于堆垛机,RGV的分阶段控制的设备(将取+取货+将送+送货),必须保证此类设备完成这个管理任务的一组动作后,再为其它管理任务服务。在将取时设定,在送货结束时,取消 /// public decimal? F_ManTaskReserve { get; set; } /// /// 正在执行的监控任务索引;0表示空闲;-1表示停用 /// public int? F_LockedState { get; set; } /// /// 发生错误的设备任务号 /// public int? F_ErrorTaskNo { get; set; } /// /// 通讯时约定的重复发送数量的最大值 /// public int? F_MaxSendCount { get; set; } /// /// 相邻两次发送的时间间隔,单位毫秒 /// public int? F_SendInterval { get; set; } /// /// 串口序号 /// public int? F_SerialPort { get; set; } /// /// 串口设置 /// public string F_CommSettings { get; set; } /// /// 本地IP /// public string F_LocalIP { get; set; } /// /// 本地端口 /// public int? F_LocalPort { get; set; } /// /// 远程IP /// public string F_RemoteIP { get; set; } /// /// 远程端口 /// public int? F_RemotePort { get; set; } /// /// /// public string F_OPCProgID { get; set; } /// /// 表示设备需要优化调度 /// public string F_NeedOptimize { get; set; } /// /// 托盘条码 /// public string F_PALLETBARCODE { get; set; } /// /// 判断一个设备是否只检测IO信号:1只检测IO信号 /// public string F_OnlyDetectIO { get; set; } /// /// 判断一个设备是否使用通用DB区发送指令(长输送机链的中间输送机) /// public string F_UseCommonDB { get; set; } /// /// 设备可到达的终点设备索引组 /// public string F_UsableEndDevice { get; set; } /// /// OPC连接ID,例如:S7:[S7 connection_1] /// public string F_S7Connection { get; set; } /// /// DeviceName /// public string F_DeviceNameEnglish { get; set; } /// /// DeviceName /// public string F_DeviceNameRussian { get; set; } /// /// DeviceName /// public string F_DeviceNameGerman { get; set; } /// /// /// public string F_controldevice { get; set; } /// /// /// public int? F_StackNum { get; set; } /// /// /// public int? F_LaneNum { get; set; } /// /// /// public int? F_IsVirtualDevice { get; set; } /// /// /// public int? F_IsShuttleBorad { get; set; } /// /// /// public int? F_SwitchLock { get; set; } /// /// 设备所属巷道 /// public int? F_tunnel { get; set; } } }