using System; using System.Linq; using System.Text; namespace MainForm.ClassFile.XiaomiAPI_AGV { /// /// AGV向装备 发送 ⼊料指令(⼊料请求指令/⼊料完成指令) /// control/incoming ⼊料请求 /// control/incoming/finish ⼊料完成 /// public class XiaomiAGVMQTT_Loading { #region 接收报文 /// /// AGV发送来的报文(⼊料请求指令、⼊料完成指令) - 实体 /// iiot_tm_comm_control_down/tm/down/control/${portCode} /// public class IncomingFromAGV { /// /// 事件;非必填 /// public string things { set; get; } = null; /// /// 服务内容 /// public IncomingFromAGVService service { set; get; } = new IncomingFromAGVService(); /// /// 时间戳;13位 /// public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString(); /// /// 服务内容 /// public class IncomingFromAGVService { /// /// Id 等于 时间戳time /// public string callId { set; get; } = string.Empty; /// /// 任务标识符 /// control/incoming ⼊料请求 /// control/incoming/finish ⼊料完成 /// public string identifier { set; get; } = string.Empty; /// /// 接驳台信息 /// public IncomingFromAGVInputItems inputItems { set; get; } = new IncomingFromAGVInputItems(); } /// /// 接驳台信息 /// public class IncomingFromAGVInputItems { /// /// 接驳⼝编码 /// public string portCode { set; get; } = string.Empty; /// /// 送料数量;空箱传0 /// public int quantity { set; get; } } } #endregion 接收报文 #region 装备向AGV 回复‘⼊料请求指令’(SMT装备向AGV返回[允许或拒绝]⼊料请求) // 装备向AGV 回复‘⼊料请求指令’(SMT装备向AGV返回[允许或拒绝]⼊料请求) // iiot_tm_comm_control_up/tm/up/control/agv /// /// ⼊料请求指令 - 装备向AGV回复的报文 /// public class IncomingToAGV { /// /// 时间戳;13位 /// public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString(); /// /// 事件;非必填 /// public string things { set; get; } = null; /// /// 服务内容 /// public IncomingToAGVService service { set; get; } = new IncomingToAGVService(); /// /// 服务内容 /// public class IncomingToAGVService { /// /// Id 等于 时间戳time /// public string callId { set; get; } = string.Empty; /// /// 任务标识符 /// control/incoming ⼊料请求 /// public string identifier { set; get; } = "control/incoming"; /// /// 状态信息 /// public string executeStatus { set; get; } = "SUCCESS"; /// /// 接驳台信息 /// public IncomingToAGVOutputItems outputItems { set; get; } = new IncomingToAGVOutputItems(); } /// /// 接驳台信息 /// public class IncomingToAGVOutputItems { /// /// 接驳⼝编码 /// 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 IncomingFinishToAGV { /// /// 时间戳;13位 /// public string time { set; get; } = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString(); /// /// 事件;非必填 /// public string things { set; get; } = null; /// /// 服务内容 /// public IncomingFinishToAGVService service { set; get; } = new IncomingFinishToAGVService(); /// /// 服务内容 /// public class IncomingFinishToAGVService { /// /// Id 等于 时间戳time /// public string callId { set; get; } = string.Empty; /// /// 任务标识符 /// control/incoming/finish ⼊料完成 /// public string identifier { set; get; } = "control/incoming/finish"; /// /// 状态信息 /// public string executeStatus { set; get; } = "SUCCESS"; /// /// 接驳台信息 /// public IncomingFinishToAGVOutputItems outputItems { set; get; } = new IncomingFinishToAGVOutputItems(); } /// /// 接驳台信息 /// public class IncomingFinishToAGVOutputItems { /// /// 接驳⼝编码 /// public string portCode { set; get; } = string.Empty; /// /// 送料数量.空箱传0 /// public int quantity { set; get; } = 0; } } #endregion 装备向AGV 回复‘⼊料完成指令’(SMT装备向AGV返回⼊料完成) } }