DD.WellWorkover.Cloud/AsbCloudApp/Data/SAUB/TelemetryDataSpinDto.cs

84 lines
2.2 KiB
C#
Raw Normal View History

using System;
using System.ComponentModel.DataAnnotations;
2024-08-19 10:01:07 +05:00
namespace AsbCloudApp.Data.SAUB;
/// <summary>
/// телеметрия спин мастер
/// </summary>
public class TelemetryDataSpinDto : ITelemetryData
{
2022-10-31 17:57:52 +05:00
/// <summary>
2024-08-19 10:01:07 +05:00
/// Идентификатор телеметрии
2022-10-31 17:57:52 +05:00
/// </summary>
2024-08-19 10:01:07 +05:00
public int IdTelemetry { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Дата
/// </summary>
[Required]
public DateTime DateTime { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Ограничение числа оборотов вправо
/// </summary>
public float? RevolsRightLimit { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Ограничение числа оборотов влево
/// </summary>
public float? RevolsLeftLimit { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Заданная скорость вращения вправо
/// </summary>
public float? SpeedRightSp { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Заданная скорость вращения влево
/// </summary>
public float? SpeedLeftSp { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Суммарное количество оборотов вправо
/// </summary>
public float? RevolsRightTotal { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Суммарное количество оборотов влево
/// </summary>
public float? RevolsLeftTotal { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Нулевая позиция осцилляции
/// </summary>
public float? PositionZero { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Крайний правый угол осцилляции
/// </summary>
public float? PositionRight { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Выбранный режим управления
/// </summary>
public short? Mode { get; set; }
2024-08-19 10:01:07 +05:00
/// <summary>
/// Переменная этапа
/// </summary>
public short? State { get; set; }
2022-10-31 17:57:52 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Осцилляция включена
/// </summary>
[Required]
public bool IsOscillating => State != 0 & State != 6 & State != 7;
2022-10-31 17:57:52 +05:00
2024-08-19 10:01:07 +05:00
/// <summary>
/// Демпфирование включено
/// </summary>
[Required]
public bool IsDampening => State == 7 && (Mode & 2) > 0;
}