123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- using MessagePack;
- using MongoDB.Bson.Serialization.Attributes;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Runtime.CompilerServices;
- using System.Text;
- using System.Threading.Tasks;
- namespace Shaker.Model
- {
- public class DataMangerItemModel : TableBase
- {
- public const int ANALOG_DATA_LENGTH = 31;
- [Key(1)]
- public DateTime Time { get; set; }
- [Key(2)]
- public short[] AnalogData = new short[ANALOG_DATA_LENGTH];
- /// <summary>
- /// 增益
- /// </summary>
- [Key(3)]
- public short Gain { get; set; } = 0;
- /// <summary>
- /// 运行状态
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public OperatingStatus OperatingStatus => (OperatingStatus)AnalogData[0];
- /// <summary>
- /// 输出电流
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short OutputCurrent => AnalogData[1];
- /// <summary>
- /// 输出电压
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short OutputVoltage => AnalogData[2];
- /// <summary>
- /// 励磁电流
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short ExcitationCurrent => AnalogData[3];
- /// <summary>
- /// 励磁电压
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short ExcitationVoltage => AnalogData[4];
- /// <summary>
- /// 三相电压
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short ThreePhaseVoltage => AnalogData[5];
- /// <summary>
- /// 台体温度0
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short AbutmentTemperature0 => AnalogData[6];
- /// <summary>
- /// 台体温度1
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short AbutmentTemperature1 => AnalogData[7];
- /// <summary>
- /// 1柜直流电压
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short DCVoltage1 => AnalogData[8];
- /// <summary>
- /// 2柜直流电压
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short DCVoltage2 => AnalogData[9];
- /// <summary>
- /// 3柜直流电压
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short DCVoltage3 => AnalogData[10];
- /// <summary>
- /// 4柜直流电压
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public short DCVoltage4 => AnalogData[11];
- /// <summary>
- /// 外循环压力
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float ExternalCirculatoryPressure => Unsafe.As<Int16,float>(ref AnalogData[12]);
- /// <summary>
- /// 动圈压力
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float MovingCoilPressure =>Unsafe.As<Int16,float>(ref AnalogData[14]);
- /// <summary>
- /// 励磁压力
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float ExcitationPressure =>Unsafe.As<Int16,float>(ref AnalogData[16]);
- /// <summary>
- /// 油泵压力
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float OilPumpPressure =>Unsafe.As<Int16,float>(ref AnalogData[18]);
- /// <summary>
- /// 动圈流量
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float DynamicFlow =>Unsafe.As<Int16,float>(ref AnalogData[20]);
- /// <summary>
- /// 励磁流量
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float ExcitationFlow =>Unsafe.As<Int16,float>(ref AnalogData[22]);
- /// <summary>
- /// 动圈供水温度
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float MovingCoilWaterTemperature =>Unsafe.As<Int16,float>(ref AnalogData[24]);
- /// <summary>
- /// 励磁供水温度
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float ExcitationWaterTemperature =>Unsafe.As<Int16,float>(ref AnalogData[26]);
- /// <summary>
- /// 内部油泵温度
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public float OilPumpTemperature =>Unsafe.As<Int16,float>(ref AnalogData[28]);
- /// <summary>
- /// 冷却水运行状态
- /// </summary>
- [MessagePack.IgnoreMember]
- [BsonIgnore]
- public CoolingWaterOperatingStatus CoolingWaterStatus => (CoolingWaterOperatingStatus)AnalogData[30];
- public string GetDataString()
- {
- return $"{Time:yyyy-MM-dd HH:mm:ss.fff},{OutputCurrent},{OutputVoltage},{ExcitationCurrent},{ExcitationVoltage},{ThreePhaseVoltage},{AbutmentTemperature0},{AbutmentTemperature1},{DCVoltage1},{DCVoltage2},{DCVoltage3},{DCVoltage4},{ExternalCirculatoryPressure}," +
- $"{MovingCoilPressure},{ExcitationPressure},{OilPumpPressure},{DynamicFlow},{ExcitationFlow},{MovingCoilWaterTemperature},{ExcitationWaterTemperature},{OilPumpTemperature},{Gain}";
- }
- }
- public class DataMangerModel : ModelBase
- {
- public string ShakerID = string.Empty;
- public List<DataMangerItemModel> Items = new List<DataMangerItemModel>();
- }
- }
|