using SqlSugar; namespace HH.WCS.Mobox3.RiDong.models { /// /// 线体实体类 /// [SugarTable("TN_ConveyorLinesInfo")] public class ConveyorLinesInfo : BaseModel { /// /// 线体编号 /// public string CODE { get; set; } /// /// 用途 /// public string PURPOSE { get; set; } /// /// 目的地 /// public int DEVICESIGN { get; set; } /// /// IP地址 /// public string ADDRESS { get; set; } /// /// 当前货位信息 /// public string LOCATION { get; set; } /// /// 写入起始地址(偏移量) /// public int WRITEADDR { get; set; } /// /// 读取起始地址(偏移量) /// public int READADDR { get; set; } /// /// 取货信号 /// 0 表示没有请求 /// plc写1 plc读取到此处线体的托盘号,写1,代表货已经到达此处 /// wcs写2 wcs循环查询当前线体中间表信息是否为1,如果为1,表示当前货物到达线体,此时wcs完成该托盘的输送线任务以及推送agv任务,推送完后写2 /// wcs写3 agv申请取货时,往该线体写3 /// plc写4 plc读取到信号为3时,代表agv在申请取货,此时如果输送线是可取状态写4 /// wcs写5 wcs读到输送线状态是4的情况下,取货,货物取货完成后写5 /// plc写0 agv取货完成后,读到信号为5,此时给输送线取货完成信号并清理管道 /// public int LOADSTATE { get; set; } /// /// 放货信号 /// 0 表示没有请求 /// wcs写1 agv申请放货,往中间表写1 /// plc写2 plc读到信号为1时,判断自身是否可以放货,如果可以写2 /// wcs写3 输送线允许卸货,卸货完成后给输送线写3 /// plc写0 读取信号为3,表示卸货完成,此时给输送线写完成信号以及其他数据,中间表更改为0 /// public int UNLOADSTATE { get; set; } /// /// 任务是否创建 /// 0:创建 /// 1:未创建 /// public int TASKCREATE { get; set; } = 0; /// /// 任务完成信号 /// 0 没有请求 /// 1 托盘到达终点,写1,wcs读到1后修改对应的任务为完成状态 /// 2 异常状态,表明wcs给的托盘和实际的不同,此时怎么处理 /// public int TASKFINISH { get; set; } = 0; /// /// 开关门信号 /// 0 没有请求 /// wcs写1 agv申请开哪个门,就给对应的门中间表写1 /// plc写2 plc读取到1后,通知开门,然后中间表写2 /// plc写3 plc一直循环读取门的状态,当门的状态为开门2的时候,写3通知小车进去 /// wcs写4 agv进入后发1025信号,通知关门,写4 /// plc写0 plc读取到关门信号后,写0并关门 /// public int CONTROLDOOR { get; set; } /// /// 托盘类型 /// public string CONTAINERTYPE { get; set; } /// /// 条形码 /// public string BARCODE { get; set; } /// /// 重量 /// public float WEIGHT { get; set; } /// /// 是否启用(默认启用,为1) /// public int ENABLE { get; set; } = 1; /// /// 出库方向 /// public int DIRECTION { get; set; } /// /// 门禁信号 /// public int ACCESS { get; set; } /// /// 获取出库方向 /// /// /// public static int GetDirection(string dir, string type) { switch (dir) { case "产线一": return 1; case "产线二": return 2; case "产线三": return 3; case "产线四": return 4; case "国外线": switch (type) { case "整托出库": return 5; case "分拣出库": return 7; default: return 0; } case "国内线": switch (type) { case "整托出库": return 6; case "分拣出库": return 8; default: return 0; } default: return 0; } } } }