wangxinhui
2025-07-17 68343df577836d29f8bd106823b1805d365f4a54
ÏîÄ¿´úÂë/WCS/WCSServices/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineTaskCommand.cs
@@ -36,290 +36,150 @@
        public int TaskNum { get; set; }
    }
    public class R_ConveyorLineInfo : DeviceCommand
    {
        /// <summary>
        /// ç«™å°ç¼–号
        /// </summary>
        public short ConveyorNo { get; set; }
        /// <summary>
        /// çŠ¶æ€
        /// </summary>
        public byte Status { get; set; }
        /// <summary>
        /// é¢„ç•™
        /// </summary>
        public byte Undefined { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        public int TaskNum { get; set; }
        /// <summary>
        /// èµ·å§‹åœ°å€
        /// </summary>
        public short StartPos { get; set; }
        /// <summary>
        /// ç›®æ ‡åœ°å€
        /// </summary>
        public short EndPos { get; set; }
        /// <summary>
        /// é‡é‡
        /// </summary>
        public short GoodsWeight { get; set; }
        /// <summary>
        /// è´§ç‰©ç±»åž‹
        /// </summary>
        public short GoodsType { get; set; }
        /// <summary>
        /// 0静止1前进2后退3上升/顺时针旋转4下降/逆时针旋转
        /// </summary>
        public short RunStatus { get; set; }
        private string _barcode;
        /// <summary>
        /// æ¡ç 
        /// </summary>
        [DataLength(20)]
        public string Barcode
        {
            get { return _barcode; }
            set { _barcode = value.Replace("\0", "").Replace("\\0", ""); }
        }
        /// <summary>
        /// é¢„ç•™
        /// </summary>
        public short Spare1 { get; set; }
        /// <summary>
        /// é¢„ç•™
        /// </summary>
        public short Spare2 { get; set; }
        /// <summary>
        /// äº¤äº’信号
        /// </summary>
        public byte Signal { get; set; }
        /// <summary>
        /// é¢„ç•™
        /// </summary>
        public byte Undefined2 { get; set; }
    }
    public class R_ConveyorLineCPInfo : DeviceCommand
    {
        /// <summary>
        /// åˆ°ä½æŒ‡ä»¤
        /// å¿ƒè·³
        /// </summary>
        public short ConveyArrivaled { get; set; }
        public short Heart { get; set; }
        /// <summary>
        /// èµ·å§‹åœ°å€
        /// é¢„ç•™
        /// </summary>
        public short StartPos { get; set; }
        public short Reserve { get; set; }
        /// <summary>
        /// ç»ˆç‚¹åœ°å€
        /// çŠ¶æ€
        /// </summary>
        public short EndPos { get; set; }
        public short StatusPV { get; set; }
        /// <summary>
        /// å‘½ä»¤
        /// 0:无命令
        ///1:非就绪(不执行下发命令)
        ///2:取货站台工位就绪(有料)
        ///3:放货站台工位就绪(无料)
        ///4:放货站台工位就绪(有料)
        ///5:扫码工位就绪(已扫码,等待上位机下发任务及命令)
        ///6:任务工位就绪(上位机通过任务号读取托盘信息并下发任务)
        ///7:申请料框
        ///8:料框到位
        ///9:执行命令中
        ///11:异常
        /// </summary>
        public short Command { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        public int TaskNo { get; set; }
        /// <summary>
        /// æ‰˜ç›˜å·
        /// </summary>
        /// <summary>
        [DataLength(20)]
        public string Barcode { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        [DataLength(20)]
        public string TaskNum { get; set; }
        /// <summary>
        /// ç±»åž‹
        /// </summary>
        public short WorkType { get; set; }
        /// <summary>
        /// æ¨¡å¼
        /// </summary>
        public short WorkMode { get; set; }
        /// <summary>
        /// æ ¡éªŒä½
        /// </summary>
        public short CheckPos { get; set; }
        [DataLength(10)]
        public string PalletCode { get; set; }
    }
    public class R_ConveyorLineGMInfo : DeviceCommand
    public class R_RGVCPInfo : DeviceCommand
    {
        /// <summary>
        /// ç®±å·
        /// æ¨¡å¼<br/>
        /// 1手动<br/>
        /// 2ç»´ä¿®<br/>
        /// 3半自动<br/>
        /// 4自动<br/>
        /// 5联机自动<br/>
        /// </summary>
        public short Mode { get; set; }
        /// <summary>
        [DataLength(120)]
        public string Boxcode { get; set; }
        /// çŠ¶æ€<br/>
        /// 0空闲<br/>
        /// 1有任务<br/>
        /// </summary>
        public short State { get; set; }
        /// <summary>
        /// RGV接收任务号<br/>
        /// </summary>
        public int RgvTask { get; set; }
        /// <summary>
        /// RGV结束任务号<br/>
        /// </summary>
        public int RgvEndTask { get; set; }
        /// <summary>
        /// RGV上次任务号<br/>
        /// </summary>
        public int RgvLastTask { get; set; }
        /// <summary>
        /// ä»»åŠ¡çŠ¶æ€åé¦ˆ<br/>
        /// </summary>
        public short TaskDone { get; set; }
        /// <summary>
        /// å¿ƒè·³<br/>
        /// </summary>
        public short HeartBeat { get; set; }
    }
    public class R_ConveyorLineFLInfo : DeviceCommand
    public class W_RGVCPInfo : DeviceCommand
    {
        /// <summary>
        /// æ‰˜ç›˜å·
        /// ä»»åŠ¡å·1<br/>
        /// </summary>
        public int WcsTask1 { get; set; }
        /// <summary>
        [DataLength(20)]
        public string Barcode { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// ä»»åŠ¡å·2<br/>
        /// </summary>
        [DataLength(20)]
        public string TaskNum { get; set; }
    }
    public class R_ConveyorLineStatus
    {
        public int WcsTask2 { get; set; }
        /// <summary>
        /// æ¡æ‰‹ä¿¡å·
        /// ä»»åŠ¡å·3<br/>
        /// </summary>
        [BoolIndex(0)]
        public bool HandShake { get; set; }
        public int WcsTask3 { get; set; }
        /// <summary>
        /// 1联机 0脱机
        /// ä»»åŠ¡ç±»åž‹<br/>
        /// 1定位<br/>
        /// 2取货<br/>
        /// 3放货<br/>
        /// 4取放货<br/>
        /// </summary>
        [BoolIndex(1)]
        public bool Online { get; set; }
        public short TaskType { get; set; }
        /// <summary>
        /// 1空闲 0繁忙
        /// æ‰§è¡Œå·¥ä½<br/>
        /// 1:1工位<br/>
        /// 2:2工位<br/>
        /// 3:3工位<br/>
        /// 4:12工位<br/>
        /// 5:13工位<br/>
        /// 6:23工位<br/>
        /// 7:123工位<br/>
        /// </summary>
        [BoolIndex(2)]
        public bool Free { get; set; }
        public short WorkStation { get; set; }
        /// <summary>
        /// 1有货 0无货
        /// å–货地址1<br/>
        /// </summary>
        [BoolIndex(3)]
        public bool Goods { get; set; }
        public short Qu1 { get; set; }
        /// <summary>
        /// 1故障 0正常
        /// å–货地址2<br/>
        /// </summary>
        [BoolIndex(4)]
        public bool Alarm { get; set; }
        public short Qu2 { get; set; }
        /// <summary>
        /// 1请求补盘 0无
        /// å–货地址3<br/>
        /// </summary>
        [BoolIndex(5)]
        public bool RequestPakcPallet { get; set; }
        public short Qu3 { get; set; }
        /// <summary>
        /// 1请求拆盘 0无
        /// æ”¾è´§åœ°å€1<br/>
        /// </summary>
        [BoolIndex(6)]
        public bool RequestUnpackPellet { get; set; }
    }
    public class ConveyorLineSignal
    {
        public short Fang1 { get; set; }
        /// <summary>
        /// è¯·æ±‚信号
        /// æ”¾è´§åœ°å€2<br/>
        /// </summary>
        [BoolIndex(0)]
        public bool STB { get; set; }
        public short Fang2 { get; set; }
        /// <summary>
        /// å“åº”信号
        /// æ”¾è´§åœ°å€3<br/>
        /// </summary>
        [BoolIndex(1)]
        public bool ACK { get; set; }
    }
    public class W_ConveyorLineInfo : DeviceCommand
    {
        public short Fang3 { get; set; }
        /// <summary>
        /// ç«™å°ç¼–号
        /// å¿ƒè·³<br/>
        /// </summary>
        public short ConveyorNo { get; set; }
        public byte Operate { get; set; }
        public byte Undefined { get; set; }
        public short HearBeat { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·
        /// ä¸‹å‘/完成任务标识<br/>
        /// 1确认任务下发<br/>
        /// 2确认任务完成<br/>
        /// </summary>
        public int TaskNum { get; set; }
        /// <summary>
        /// èµ·å§‹åœ°å€
        /// </summary>
        public short StartPos { get; set; }
        /// <summary>
        /// ç›®æ ‡åœ°å€
        /// </summary>
        public short EndPos { get; set; }
        /// <summary>
        /// è´§ç‰©ç±»åž‹
        /// </summary>
        public short GoodsType { get; set; }
        /// <summary>
        /// é¢„ç•™
        /// </summary>
        public short Spare1 { get; set; }
        /// <summary>
        /// é¢„ç•™
        /// </summary>
        public short Spare2 { get; set; }
        /// <summary>
        /// äº¤äº’信号
        /// </summary>
        public byte Signal { get; set; }
        /// <summary>
        /// é¢„ç•™
        /// </summary>
        public byte Undefined2 { get; set; }
    }
    public class W_ConveyorLineOperate
    {
        /// <summary>
        /// æ¡æ‰‹ä¿¡å·
        /// </summary>
        [BoolIndex(0)]
        public bool HandShake { get; set; }
        /// <summary>
        /// å¤ä½æŠ¥è­¦
        /// </summary>
        [BoolIndex(1)]
        public bool ClearAlarm { get; set; }
        /// <summary>
        /// é€€å›ž
        /// </summary>
        [BoolIndex(2)]
        public bool Return { get; set; }
        public short TaskReceivedDone { get; set; }
    }
}