using System; using System.Collections.Generic; using System.Text; namespace ICommLayer { /// /// 发送设备命令的接口 /// 创建者:Richard.Liu /// public interface ISendDeviceOrder { string CommLayerError { get; set; } /// /// 发送堆垛机命令 /// /// 消息编号 /// 任务编号 /// 堆垛机命令字 ///1-复位 ///2-将取 ///3-将送 ///4-取货 ///5-放货 ///6-取放货 /// 设备编号 /// 起始x坐标,排-沿轨道方向 /// 起始y坐标,层-高度方向 /// 起始z坐标,列-面向堆垛机操作面板,1-左侧,2-右侧 /// 目标x坐标,列-沿轨道方向 /// 目标y坐标,层-高度方向 /// 目标z坐标,排-面向堆垛机操作面板,1-左侧,2-右侧 /// 发送堆垛机命令是否成功 bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int StartX, int StartY, int StartZ, int EndX, int EndY, int EndZ); /// /// 发送穿梭车、输送机设备命令 /// /// 消息编号 /// 任务编号 /// 命令字 /// 穿梭车命令字: ///1-复位 ///2-左接货 ///3-左送货 ///4-右接货 ///5-右送货 ///6-停止 ///7-运动(运动到第4、5字节指定的目标设备所引) ///输送机命令字: ///1-入库(朝向库) ///2-出库(背向库) ///3-送货 ///4-接货 ///5-停止 /// 设备编号 ///对于输送机、穿梭车代表目标设备所引, /// 0-代表单一设备控制,无目标设备所引;1…65535代表目标设备所引(终点输送机的设备所引) /// 发送穿梭车、输送机设备命令是否成功 bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex,int ArrowDeviceIndex); /// /// 上位机给下位机发送烟箱按品牌码分道信息共15字节,有数据时写入实际数据,否则全部写零 /// /// 码垛位设备号索引 /// 第3--15字节,烟箱码 /// 第1字节,1-有一号工程码,0-无一号工程码 /// 第2字节,1-小烟箱,0-正常烟箱 /// 第16字节,烟箱码垛数量 /// bool SendDeviceOrder(int DeviceIndex, string TobaccoCode, bool HaveFirstProjectCode, bool IfSmallTobacco,int Count); /// /// 向PLC的DB区写入数据 /// /// 标签变量名称数组 /// 标签值数组 /// bool WriteDBData(StringBuilder[] ItemNames, StringBuilder[] ItemValues); bool WriteDBData(StringBuilder[] ItemNames, StringBuilder[] ItemValues, string PLCconnectionID); /// /// 发送机械手命令 /// /// /// /// /// /// /// /// bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex,string BatteryType, string ng); bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int ArrowDeviceIndex,int type); bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int ArrowDeviceIndex, int type,string barcode); } }