using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MainForm.ClassFile.XiaomiAPI_AGV
{
///
/// AGV向装备 发送 出料请求(出料请求指令/出料完成指令)
/// control/outgoing 出料
/// control/outgoing/finish 出料完成
///
public class XiaomiAGVMQTT_UnLoading
{
#region 接收报文
///
/// AGV发送来的报文(出料请求指令、出料完成指令) - 实体
/// iiot_tm_comm_control_down/tm/down/control/${portCode}
///
public class OutgoingFromAGV
{
///
/// 事件;非必填
///
public string things { set; get; } = null;
///
/// 服务内容
///
public OutgoingFromAGVService service { set; get; } = new OutgoingFromAGVService();
///
/// 时间戳;13位
///
public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
///
/// 服务内容
///
public class OutgoingFromAGVService
{
///
/// Id 等于 时间戳time
///
public string callId { set; get; } = string.Empty;
///
/// 任务标识符
/// control/outgoing 出料请求
/// control/outgoing/finish 出料完成
///
public string identifier { set; get; } = string.Empty;
///
/// 接驳台信息
///
public OutgoingFromAGVInputItems inputItems { set; get; } = new OutgoingFromAGVInputItems();
}
///
/// 接驳台信息
///
public class OutgoingFromAGVInputItems
{
///
/// 接驳⼝编码
///
public string portCode { set; get; } = string.Empty;
}
}
#endregion 接收报文
#region 装备向AGV 回复‘出料请求指令’(SMT装备向AGV返回[允许或拒绝]出料请求)
// 装备向AGV 回复‘出料请求指令’(SMT装备向AGV返回[允许或拒绝]出料请求)
// iiot_tm_comm_control_up/tm/up/control/agv
///
/// 出料请求指令 - 装备向AGV回复的报文
///
public class OutgoingToAGV
{
///
/// 时间戳;13位
///
public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
///
/// 事件;非必填
///
public string things { set; get; } = null;
///
/// 服务内容
///
public OutgoingToAGVService service { set; get; } = new OutgoingToAGVService();
///
/// 服务内容
///
public class OutgoingToAGVService
{
///
/// Id 等于 时间戳time
///
public string callId { set; get; } = string.Empty;
///
/// 任务标识符
/// control/outgoing 出料请求
///
public string identifier { set; get; } = "control/outgoing";
///
/// 状态信息
///
public string executeStatus { set; get; } = "SUCCESS";
///
/// 接驳台信息
///
public OutgoingToAGVOutputItems outputItems { set; get; } = new OutgoingToAGVOutputItems();
}
///
/// 接驳台信息
///
public class OutgoingToAGVOutputItems
{
///
/// 接驳⼝编码
///
public string portCode { set; get; } = string.Empty;
///
/// 允许:agree
/// 不允许:refuse
///
public string message { set; get; } = "agree";
}
}
#endregion 装备向AGV 回复‘出料请求指令’(SMT装备向AGV返回[允许或拒绝]出料请求)
#region 装备向AGV 回复‘出料完成指令’(SMT装备向AGV返回出料完成)
// 装备向AGV 回复‘出料完成指令’(SMT装备向AGV返回出料完成)
// iiot_tm_comm_control_up/tm/up/control/agv
///
/// 出料完成指令 - 装备向AGV回复的报文
///
public class OutgoingFinishToAGV
{
///
/// 时间戳;13位
///
public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
///
/// 事件;非必填
///
public string things { set; get; } = null;
///
/// 服务内容
///
public OutgoingFinishToAGVService service { set; get; } = new OutgoingFinishToAGVService();
///
/// 服务内容
///
public class OutgoingFinishToAGVService
{
///
/// Id 等于 时间戳time
///
public string callId { set; get; } = string.Empty;
///
/// 任务标识符
/// control/outgoing/finish 出料完成
///
public string identifier { set; get; } = "control/outgoing/finish";
///
/// 状态信息
///
public string executeStatus { set; get; } = "SUCCESS";
///
/// 接驳台信息
///
public OutgoingFinishToAGVOutputItems outputItems { set; get; } = new OutgoingFinishToAGVOutputItems();
}
///
/// 接驳台信息
///
public class OutgoingFinishToAGVOutputItems
{
///
/// 接驳⼝编码
///
public string portCode { set; get; } = string.Empty;
}
}
#endregion 装备向AGV 回复‘出料完成指令’(SMT装备向AGV返回出料完成)
}
}