You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
3.1 KiB
89 lines
3.1 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace ICommLayer
|
|
{
|
|
/// <summary>
|
|
/// 获得设备状态的接口
|
|
/// 创建者:Richard.Liu
|
|
/// </summary>
|
|
public interface IGetDeviceState
|
|
{
|
|
/// <summary>
|
|
///1、下位机给上位机发送设备(任务)状态信息
|
|
///检测开关: 0-无货1-有货
|
|
///确认按钮:
|
|
///第1字节:
|
|
///一个变化的值,每确认一次,该值变化一次,以标志一个
|
|
///新的确认消息。例如可以是0、1交替变化,也可以是递
|
|
///增变化。
|
|
///第2字节:
|
|
///1-无货确认
|
|
///2-有货确认
|
|
///其他设备:
|
|
///第1字 节:设备状态
|
|
///堆垛机:0-空闲
|
|
///1-正在运行
|
|
///2-任务完成
|
|
///3-要求调度重发命令
|
|
///4-通知调度取消当前任务
|
|
///其它值表示错误
|
|
/// 穿梭车:
|
|
/// 0-空闲
|
|
/// 1-正在运行
|
|
/// 2-完成
|
|
/// 3-要求调度重发命令
|
|
/// 4-通知调度取消当前任务
|
|
/// 其它值表示错误
|
|
/// 输送机:
|
|
/// 0-空闲
|
|
/// 1-正在运行
|
|
/// 2-完成(只有PC下发的目标设备才允许汇报完成)
|
|
/// 组合机构需要单独定义状态
|
|
/// 其它值表示错误
|
|
/// 第2、3字节: 任务号,即上位机下达任务时的任务号
|
|
/// 第4、5、6、7字节
|
|
/// 堆垛机、穿梭车:
|
|
/// 终点X坐标(沿轨道方向)
|
|
/// (第8字节以后部分只对堆垛机有意义)
|
|
/// 第8、9、10、11字节
|
|
/// 终点Y坐标(沿高度方向)
|
|
///
|
|
/// 2.下位机给上位机发送条码信息
|
|
/// 托盘条码:
|
|
/// 第1-10字节:由左到右依次存放托盘上的10位条形码信息
|
|
/// 烟箱一号工程码:
|
|
/// 第1-9字节: 由左到右依次存放烟箱上的后9位一号工程码信息
|
|
/// 一号工程码是32位,相同品牌烟箱的一号工程码的前23位相同,
|
|
/// 所以只存放后9位条码。每个码垛位进烟口有两个烟箱一号工程码存放区,
|
|
/// 共18个字节,上位机一次将两个烟箱一号工程码的信息同时读取。
|
|
/// 上位机成功读取18个字节后,把这18个字节全部写入零,
|
|
/// 下位机只有检测到18个字节全都是零时才可以写入新的一号工程码信息。
|
|
///
|
|
/// 3.下位机给上位机发送现场控制触摸屏申请信号
|
|
/// 第1字节 申请指令
|
|
/// 1- 重发当前设备指令
|
|
/// 2- 申请修改当前设备所执行任务的目标位置
|
|
/// 第2、3字节 设备索引(当前申请设备的索引)
|
|
/// 第4、5字节 任务号(需要修改目标位置的任务号)
|
|
/// 第6、15字节 托盘条码(当前申请设备上的托盘的条码)
|
|
/// 下位机可能因开关误动作等情况而引起任务记忆丢失,
|
|
/// 此时根据设备上停放托盘的条码可以重新申请获得任务。
|
|
/// 上位机收到此申请后重新发送当前设备的指令。
|
|
/// 有设备发生故障时,下位机可以申请修改任务的目标位置。
|
|
/// 上位机收到此申请后,如果可以找到新的路径,则修改此任务号的目标位置。
|
|
/// 当申请指令为1时,任务号可以是任意值;当申请指令为2时,托盘条码可以是任意值。
|
|
/// </summary>
|
|
/// <param name="DeviceIndex">设备编号</param>
|
|
/// <returns>返回22个字节的状态</returns>
|
|
int [] GetDeviceState(int DeviceIndex, int TaskIndex);
|
|
string GetStringData(int DeviceIndex, int TaskIndex);
|
|
string CommLayerError
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
}
|
|
}
|