123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- using Newtonsoft.Json;
- using System.Runtime.InteropServices;
- namespace AmrControl.ADS
- {
- /// <summary>
- /// 充电桩数据模型
- /// </summary>
- public class ChargingStationDataModel
- {
- //JGR类型 0:仓储车 , 1:运输车, 2:仓储位充电器,3:轨道位充电器
- public byte csType;
- //出厂编号,30个长度带'\0',有效最多29个字节
- public string csSN;
- //车ID,取值范围0~63,不同类型的车/充电器的csID可以重复
- public byte csID;
- //无线模块的地址,长度2字节
- public ushort rcAddr;
- //无线模块的频率码,取值0~155,对应频率为 900+RC_FreqCode*0.2,单位MHz,默认频率码为0x32(50)
- public byte rcFreqCode;
- //在线/离线状态 是否在线(通讯是否正常)
- public byte isOnline;
- //健康状态 1:正常; 0:异常
- public byte isHealthy;
- //充电标志,1:充电中,0:未在充电
- public byte isCharging;
- /// <summary>
- /// 充电头的状态,0:缩回状态,1:伸出状态
- /// </summary>
- public byte chargerStatus;
- //充电电压,单位:V
- public float chargeVoltage;
- //充电电流,单位:mA
- public float chargeCurrent;
- /// <summary>
- /// 所在格子的位置X
- /// </summary>
- public int positionX;
- /// <summary>
- /// 所在格子的位置Y
- /// </summary>
- public int positionY;
- /// <summary>
- /// 显示位置X,Y坐标
- /// </summary>
- public int displayX;
- public int displayY;
- /// <summary>
- /// 连接的小车的编号,预留,现在硬件不支持
- /// </summary>
- public string jgrSN;
- /// <summary>
- /// 连接的小车的电池剩余电量,取值 0~100, 100表示满电量.
- /// 预留,现在硬件不支持
- /// </summary>
- public byte electricity;
- }
- //用内存对齐方式并不对,可能是和TC程序接口是C#开发的有关 [StructLayout(LayoutKind.Sequential, Pack = 1)]
- /// <summary>
- /// TC程序中定义的充电桩的数据结构
- /// </summary>
- [Serializable]
- public struct Charge_Ads_Struct
- {
- //出厂编号,30个长度带'\0',有效最多29个字节
- [JsonConverter(typeof(TcModelArrayConverter))]
- [MarshalAs(UnmanagedType.ByValArray, SizeConst = 30)]
- public byte[] chargeSN;
- // 0:仓储车 , 1:运输车, 2:仓储位充电器,3:轨道位充电器
- public byte chargeType;
- //车ID,取值范围0~63,不同类型的车/充电器的jgrID可以重复
- public byte chargeID;
- //无线模块的地址,长度2字节
- public ushort rcAddr;
- //无线模块的频率码,取值0~155,对应频率为 900+RC_FreqCode*0.2,单位MHz,默认频率码为0x32(50)
- public byte rcFreqCode;
- //在线/离线状态 是否在线(通讯是否正常)
- public byte isOnline;
- //健康状态 true:正常; false:异常
- public byte isHealthy;
- //充电标志,1:充电中,0:未在充电
- public byte isCharging;
- /// <summary>
- /// 充电头的状态,0:缩回状态,1:伸出状态
- /// </summary>
- public byte chargerStatus;
- //充电电压,单位:V
- public float chargeVoltage;
- //充电电流,单位:mA
- public float chargeCurrent;
- }
- }
|