using System; using System.ComponentModel.DataAnnotations; namespace AsbCloudApp.Data.SAUB { /// <summary> /// Сообщение получаемое по телеметрии и отправляемое в frontend /// </summary> public class TelemetryDataSaubDto : ITelemetryData { /// <summary> /// метка времени данных /// </summary> [Required] public DateTime DateTime { get; set; } /// <summary> /// Пользователь САУБ /// </summary> public int? IdUser { get; set; } /// <summary> /// Режим работы САУБ: /// 0 - "РУЧНОЙ" /// 1 - "БУРЕНИЕ В РОТОРЕ" /// 2 - "ПРОРАБОТКА" /// 3 - "БУРЕНИЕ В СЛАЙДЕ" /// 4 - "СПУСК СПО" /// 5 - "ПОДЪЕМ СПО" /// 6 - "ПОДЪЕМ С ПРОРАБОТКОЙ" /// 10 - "БЛОКИРОВКА" /// </summary> [Required] public short Mode { get; set; } /// <summary> /// telemetry id /// </summary> public int IdTelemetry { get; set; } /// <summary> /// telemetry user /// </summary> public string? User { get; set; } /// <summary> /// Глубина забоя, м /// </summary> public float WellDepth { get; set; } /// <summary> /// Глубина долота, м /// </summary> public float BitDepth { get; set; } /// <summary> /// Талевый блок. Положение, м /// </summary> public float BlockPosition { get; set; } /// <summary> /// Талевый блок. Мин положение, м /// </summary> public float? BlockPositionMin { get; set; } /// <summary> /// Талевый блок. Макс положение, м /// </summary> public float? BlockPositionMax { get; set; } /// <summary> /// Талевый блок. Скорость, м/час /// </summary> public float? BlockSpeed { get; set; } /// <summary> /// Талевый блок. Задание скорости, м/час /// </summary> public float? BlockSpeedSp { get; set; } /// <summary> /// Талевый блок. Задание скорости для роторного бурения, м/час /// </summary> public float? BlockSpeedSpRotor { get; set; } /// <summary> /// Талевый блок. Задание скорости для режима слайда, м/час /// </summary> public float? BlockSpeedSpSlide { get; set; } /// <summary> /// Талевый блок. Задание скорости для проработки, м/час /// </summary> public float? BlockSpeedSpDevelop { get; set; } /// <summary> /// Давление, атм /// </summary> public float Pressure { get; set; } /// <summary> /// Давление при холостом ходе, атм /// </summary> public float? PressureIdle { get; set; } /// <summary> /// действующее задание давления, атм /// </summary> public float? PressureSp { get; set; } /// <summary> /// задание давления для роторного режима, атм /// </summary> public float? PressureSpRotor { get; set; } /// <summary> /// задание давления для режима слайда, атм /// </summary> public float? PressureSpSlide { get; set; } /// <summary> /// задание давления для проработки, атм /// </summary> public float? PressureSpDevelop { get; set; } /// <summary> /// ограничение макс перепада давления, атм /// </summary> public float? PressureDeltaLimitMax { get; set; } /// <summary> /// осевая нагрузка, т /// </summary> public float AxialLoad { get; set; } /// <summary> /// задание осевой нагрузки, т /// </summary> public float? AxialLoadSp { get; set; } /// <summary> /// ограничение макс. осевой нагрузки, т /// </summary> public float? AxialLoadLimitMax { get; set; } /// <summary> /// Вес на крюке, т /// </summary> public float HookWeight { get; set; } /// <summary> /// Вес на крюке на х.х., т /// </summary> public float? HookWeightIdle { get; set; } /// <summary> /// ограничение мин веса на крюке, т /// </summary> public float? HookWeightLimitMin { get; set; } /// <summary> /// ограничение макс веса на крюке, т /// </summary> public float? HookWeightLimitMax { get; set; } /// <summary> /// момент ротора, кН*м /// </summary> public float RotorTorque { get; set; } /// <summary> /// момент ротора на х.х., кН*м /// </summary> public float? RotorTorqueIdle { get; set; } /// <summary> /// задание момента ротора, кН*м /// </summary> public float? RotorTorqueSp { get; set; } /// <summary> /// ограничение момента ротора, кН*м /// </summary> public float? RotorTorqueLimitMax { get; set; } /// <summary> /// скорость ротора, об/мин /// </summary> public float RotorSpeed { get; set; } /// <summary> /// расход, л/с /// </summary> public float? Flow { get; set; } /// <summary> /// расход на х.х., л/с /// </summary> public float? FlowIdle { get; set; } /// <summary> /// ограничение макс расхода, л/с /// </summary> public float? FlowDeltaLimitMax { get; set; } /// <summary> /// id текущего критерия бурения /// </summary> public short? IdFeedRegulator { get; set; } /// <summary> /// Текущее состояние работы MSE /// </summary> public short? MseState { get; set; } /// <summary> /// MSE /// </summary> public float? Mse { get; set; } /// <summary> /// Расход. Буровой насос 1 /// </summary> public float? Pump0Flow { get; set; } /// <summary> /// Расход. Буровой насос 2 /// </summary> public float? Pump1Flow { get; set; } /// <summary> /// Расход. Буровой насос 3 /// </summary> public float? Pump2Flow { get; set; } } }