using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Guidaoji
{
internal class GuiDaoJi
{
///
/// 轨道电机控制器编号
///
public string uid { get; set; }
///
/// 动作类别
///
public string action { get; set; }
///
/// 时间
///
public string date { get; set; }
///
/// 设备名称
///
public string name { get; set; } = "CA";
///
/// 主动上报时间间隔
/// 0:不上传,1...n默认2s,单位:秒主动上报时间间隔,0:不上传,1...n默认2s,单位:秒
///
public int send_gap { get; set; }
///
/// 0,不执行命令 1为执行命令
///
public int cont { get; set; }
///
/// 位置复位
/// 0:不操作,1:复位到原点
///
public int @return { get; set; }
///
/// 故障复位
/// 0:不操作,1:故障复位
///
public int reset { get; set; }
///
/// 灯光状态
/// 0为关,1为红灯,2为红灯闪烁,3为绿灯,4为绿灯闪烁,5为黄灯,6为黄灯闪烁
///
public int lamp { get; set; }
///
/// 0 不执行行走 1 为执行行走
///
public int move { get; set; }
///
/// 运行速度
/// 0为停止,1-10为低速运行等级,11-20为高速运行等级
///
public double rate { get; set; }
///
/// 指定摄像机x轴坐标,单位cm,在轨道的距离
///
public string x { get; set; }
///
/// 指定摄像机Y轴坐标,单位cm,推杆退出的距离
///
public string y { get; set; }
///
/// 0 不播报语音 1 播报语音
///
public int voice { get; set; }
///
/// 语音播放内容
///
public string @string { get; set; }
}
internal class GuiDaoJiRet
{
///
/// 轨道电机控制器编号
///
public string uid { get; set; }
///
/// 动作类别
///
public string action { get; set; }
///
/// 时间
///
public string date { get; set; }
///
/// 设备名称
///
public retData data { get; set; } = new retData();
///
/// 返回结果
///
public string result { get; set; }
}
public class retData
{
///
/// 设备名称
///
public string name { get; set; } = "轨道电机控制";
///
/// 主动上报时间间隔
/// 0:不上传,1...n默认2s,单位:秒主动上报时间间隔,0:不上传,1...n默认2s,单位:秒
///
public int send_gap { get; set; } = 2;
///
/// 轨道机启停状态【0——停;1——前进中;2——后退中;3——下降中;4——上升中】
///
public string type { get; set; } = "1";
///
/// 灯光状态
/// 0为关,1为红灯,2为红灯闪烁,3为绿灯,4为绿灯闪烁,5为黄灯,6为黄灯闪烁
///
public int lamp { get; set; } = 2;
///
/// 运行速度
/// 0为停止,1-10为低速运行等级,11-20为高速运行等级
///
public string rate { get; set; }
///
/// 指定摄像机x轴坐标,单位cm,在轨道的距离
///
public string x { get; set; }
///
/// 指定摄像机Y轴坐标,单位cm,推杆退出的距离
///
public string y { get; set; }
///
/// 终端供电电压,单位V
///
public string vol { get; set; }
///
/// 终端工作电流,单位A
///
public string cur { get; set; }
///
/// 故障
///
public int[] alarm { get; set; }
}
public class GuiDaoJiSet
{
///
/// 轨道电机控制器编号
///
public string uid { get; set; }
///
/// 动作类别
///
public string action { get; set; }
///
/// 时间
///
public string date { get; set; }
///
/// 设备名称
///
public string name { get; set; } = "CA";
///
/// 主动上报时间间隔
/// 0:不上传,1...n默认2s,单位:秒主动上报时间间隔,0:不上传,1...n默认2s,单位:秒
///
public int send_gap { get; set; }
///
/// 0,不执行命令 1为执行命令
///
public int cont { get; set; }
///
/// 0,不执行命令 1为执行命令
///
public Contda contda { get; set; } = new Contda();
///
/// 0 不执行行走 1 为执行行走
///
public int move { get; set; }
///
/// 数据为数组,数组大小根据分控器数量而定
///
public Moveda moveda { get; set; } = new Moveda();
///
/// 0 不播报语音 1 播报语音
///
public int voice { get; set; }
///
/// 数据为数组,数组大小根据分控器数量而定
///
//public List voiceda { get; set; } = new List();
public Voiceda voiceda { get; set; } = new Voiceda();
}
public class Contda
{
///
/// 位置复位
/// 0:不操作,1:复位到原点
///
public int @return { get; set; } = 0;
///
/// 故障复位
/// 0:不操作,1:故障复位
///
public int reset { get; set; }
///
/// 灯光状态
/// 0为关,1为红灯,2为红灯闪烁,3为绿灯,4为绿灯闪烁,5为黄灯,6为黄灯闪烁
///
public int lamp { get; set; }
}
public class Moveda
{
///
/// 运行速度
/// 0为停止,1-10为低速运行等级,11-20为高速运行等级
///
public double rate { get; set; }
///
/// 指定摄像机x轴坐标,单位cm,在轨道的距离
///
public string x { get; set; }
///
/// 指定摄像机Y轴坐标,单位cm,推杆退出的距离
///
public string y { get; set; }
}
public class Voiceda
{
///
/// 语音播放内容
///
public string @string { get; set; }
}
public enum ControlCommands
{
F = 'F', //前进
B = 'B', //后退
U = 'U', //上升
D = 'D', //下降
S = 'S', //停止
R = 'R', //位置复位
E = 'E', //故障复位
}
}