Shrink models types for less db size.

This commit is contained in:
Фролов 2021-10-31 17:01:48 +05:00
parent 62a38aeeaf
commit 6869e08105
2 changed files with 197 additions and 110 deletions

View File

@ -17,103 +17,125 @@ namespace AsbCloudDb.Model
[Column("id_telemetry")] [Column("id_telemetry")]
public int IdTelemetry { get; set; } public int IdTelemetry { get; set; }
[Column("date", TypeName = "timestamp with time zone"), Comment("'2021-10-19 18:23:54+05'")]
public DateTime Date { get; set; }
[Column("mode"), Comment("Режим САУБ")]
public int? Mode { get; set; }
[Column("id_user"), Comment("Пользователь САУБ")] [Column("id_user"), Comment("Пользователь САУБ")]
public int? IdUser { get; set; } public int? IdUser { get; set; }
[Column("date", TypeName = "timestamp with time zone"), Comment("'2021-10-19 18:23:54+05'")]
public DateTime Date { get; set; }
[Column("mode"), Comment("Режим САУБ")]
public short? Mode { get; set; }
[Column("id_feed_regulator"), Comment("Текущий критерий бурения")]
public short? IdFeedRegulator { get; set; }
[Column("mse_state"), Comment("Текущее состояние работы MSE")]
public short? MseState { get; set; }
[Column("well_depth"), Comment("Глубина забоя")] [Column("well_depth"), Comment("Глубина забоя")]
public double? WellDepth { get; set; } public float? WellDepth { get; set; }
[Column("bit_depth"), Comment("Положение инструмента")]
public double? BitDepth { get; set; }
[Column("block_position"), Comment("Высота талевого блока")]
public double? BlockPosition { get; set; }
[Column("bit_depth"), Comment("Положение инструмента")]
public float? BitDepth { get; set; }
[Column("block_position"), Comment("Высота талевого блока")]
public float? BlockPosition { get; set; }
[Column("block_position_min"), Comment("Талевый блок. Мин положение")] [Column("block_position_min"), Comment("Талевый блок. Мин положение")]
public double? BlockPositionMin { get; set; } public float? BlockPositionMin { get; set; }
[Column("block_position_max"), Comment("Талевый блок. Макс положение")] [Column("block_position_max"), Comment("Талевый блок. Макс положение")]
public double? BlockPositionMax { get; set; } public float? BlockPositionMax { get; set; }
[Column("block_speed"), Comment("Скорость талевого блока")] [Column("block_speed"), Comment("Скорость талевого блока")]
public double? BlockSpeed { get; set; } public float? BlockSpeed { get; set; }
[Column("block_speed_sp"), Comment("Скорости талевого блока. Задание")] [Column("block_speed_sp"), Comment("Скорости талевого блока. Задание")]
public double? BlockSpeedSp { get; set; } public float? BlockSpeedSp { get; set; }
[Column("block_speed_sp_rotor"), Comment("Талевый блок. Задание скорости для роторного бурения")] [Column("block_speed_sp_rotor"), Comment("Талевый блок. Задание скорости для роторного бурения")]
public double? BlockSpeedSpRotor { get; set; } public float? BlockSpeedSpRotor { get; set; }
[Column("block_speed_sp_slide"), Comment("Талевый блок. Задание скорости для режима слайда")] [Column("block_speed_sp_slide"), Comment("Талевый блок. Задание скорости для режима слайда")]
public double? BlockSpeedSpSlide { get; set; } public float? BlockSpeedSpSlide { get; set; }
[Column("block_speed_sp_develop"), Comment("Талевый блок. Задание скорости для проработки")] [Column("block_speed_sp_develop"), Comment("Талевый блок. Задание скорости для проработки")]
public double? BlockSpeedSpDevelop { get; set; } public float? BlockSpeedSpDevelop { get; set; }
[Column("pressure"), Comment("Давление")] [Column("pressure"), Comment("Давление")]
public double? Pressure { get; set; } public float? Pressure { get; set; }
[Column("pressure_idle"), Comment("Давление. Холостой ход")] [Column("pressure_idle"), Comment("Давление. Холостой ход")]
public double? PressureIdle { get; set; } public float? PressureIdle { get; set; }
[Column("pressure_sp"), Comment("Давление. Задание")] [Column("pressure_sp"), Comment("Давление. Задание")]
public double? PressureSp { get; set; } public float? PressureSp { get; set; }
[Column("pressure_sp_rotor"), Comment("Давление. Задание для роторного бурения")] [Column("pressure_sp_rotor"), Comment("Давление. Задание для роторного бурения")]
public double? PressureSpRotor { get; set; } public float? PressureSpRotor { get; set; }
[Column("pressure_sp_slide"), Comment("Давление. Задание для режима слайда")] [Column("pressure_sp_slide"), Comment("Давление. Задание для режима слайда")]
public double? PressureSpSlide { get; set; } public float? PressureSpSlide { get; set; }
[Column("pressure_sp_develop"), Comment("Давление. Задание для проработки")] [Column("pressure_sp_develop"), Comment("Давление. Задание для проработки")]
public double? PressureSpDevelop { get; set; } public float? PressureSpDevelop { get; set; }
[Column("pressure_delta_limit_max"), Comment("Давление дифф. Аварийное макс.")] [Column("pressure_delta_limit_max"), Comment("Давление дифф. Аварийное макс.")]
public double? PressureDeltaLimitMax { get; set; } public float? PressureDeltaLimitMax { get; set; }
[Column("axial_load"), Comment("Осевая нагрузка")] [Column("axial_load"), Comment("Осевая нагрузка")]
public double? AxialLoad { get; set; } public float? AxialLoad { get; set; }
[Column("axial_load_sp"), Comment("Осевая нагрузка. Задание")] [Column("axial_load_sp"), Comment("Осевая нагрузка. Задание")]
public double? AxialLoadSp { get; set; } public float? AxialLoadSp { get; set; }
[Column("axial_load_limit_max"), Comment("Осевая нагрузка. Аварийная макс.")] [Column("axial_load_limit_max"), Comment("Осевая нагрузка. Аварийная макс.")]
public double? AxialLoadLimitMax { get; set; } public float? AxialLoadLimitMax { get; set; }
[Column("hook_weight"), Comment("Вес на крюке")] [Column("hook_weight"), Comment("Вес на крюке")]
public double? HookWeight { get; set; } public float? HookWeight { get; set; }
[Column("hook_weight_idle"), Comment("Вес на крюке. Холостой ход")] [Column("hook_weight_idle"), Comment("Вес на крюке. Холостой ход")]
public double? HookWeightIdle { get; set; } public float? HookWeightIdle { get; set; }
[Column("hook_weight_limit_min"), Comment("Вес на крюке. Посадка")] [Column("hook_weight_limit_min"), Comment("Вес на крюке. Посадка")]
public double? HookWeightLimitMin { get; set; } public float? HookWeightLimitMin { get; set; }
[Column("hook_weight_limit_max"), Comment("Вес на крюке. Затяжка")] [Column("hook_weight_limit_max"), Comment("Вес на крюке. Затяжка")]
public double? HookWeightLimitMax { get; set; } public float? HookWeightLimitMax { get; set; }
[Column("rotor_torque"), Comment("Момент на роторе")] [Column("rotor_torque"), Comment("Момент на роторе")]
public double? RotorTorque { get; set; } public float? RotorTorque { get; set; }
[Column("rotor_torque_idle"), Comment("Момент на роторе. Холостой ход")] [Column("rotor_torque_idle"), Comment("Момент на роторе. Холостой ход")]
public double? RotorTorqueIdle { get; set; } public float? RotorTorqueIdle { get; set; }
[Column("rotor_torque_sp"), Comment("Момент на роторе. Задание")] [Column("rotor_torque_sp"), Comment("Момент на роторе. Задание")]
public double? RotorTorqueSp { get; set; } public float? RotorTorqueSp { get; set; }
[Column("rotor_torque_limit_max"), Comment("Момент на роторе. Аварийный макс.")] [Column("rotor_torque_limit_max"), Comment("Момент на роторе. Аварийный макс.")]
public double? RotorTorqueLimitMax { get; set; } public float? RotorTorqueLimitMax { get; set; }
[Column("rotor_speed"), Comment("Обороты ротора")] [Column("rotor_speed"), Comment("Обороты ротора")]
public double? RotorSpeed { get; set; } public float? RotorSpeed { get; set; }
[Column("flow"), Comment("Расход")] [Column("flow"), Comment("Расход")]
public double? Flow { get; set; } public float? Flow { get; set; }
[Column("flow_idle"), Comment("Расход. Холостой ход")] [Column("flow_idle"), Comment("Расход. Холостой ход")]
public double? FlowIdle { get; set; } public float? FlowIdle { get; set; }
[Column("flow_delta_limit_max"), Comment("Расход. Аварийный макс.")] [Column("flow_delta_limit_max"), Comment("Расход. Аварийный макс.")]
public double? FlowDeltaLimitMax { get; set; } public float? FlowDeltaLimitMax { get; set; }
[Column("id_feed_regulator"), Comment("Текущий критерий бурения")]
public double? IdFeedRegulator { get; set; }
[Column("mse_state"), Comment("Текущее состояние работы MSE")]
public double? MseState { get; set; }
[JsonIgnore] [JsonIgnore]
[ForeignKey(nameof(IdTelemetry))] [ForeignKey(nameof(IdTelemetry))]
[InverseProperty(nameof(Model.Telemetry.DataSaub))] [InverseProperty(nameof(Model.Telemetry.DataSaub))]
public virtual Telemetry Telemetry { get; set; } public virtual Telemetry Telemetry { get; set; }
} }
} }

View File

@ -7,7 +7,7 @@ using System.Text.Json.Serialization;
namespace AsbCloudDb.Model namespace AsbCloudDb.Model
{ {
[Table("t_telemetry_data_spin"), Comment("набор основных данных по SpinMaster")] [Table("t_telemetry_data_spin"), Comment("набор основных данных по SpinMaster")]
public class TelemetryDataSpin: ITelemetryData public class TelemetryDataSpin : ITelemetryData
{ {
[Key] [Key]
[Column("id")] [Column("id")]
@ -18,69 +18,134 @@ namespace AsbCloudDb.Model
[Column("date", TypeName = "timestamp with time zone"), Comment("'2021-10-19 18:23:54+05'")] [Column("date", TypeName = "timestamp with time zone"), Comment("'2021-10-19 18:23:54+05'")]
public DateTime Date { get; set; } public DateTime Date { get; set; }
[Column("top_drive_speed"), Comment("Скорость СВП")] public double? TopDriveSpeed { get; set; } [Column("top_drive_speed"), Comment("Скорость СВП")]
[Column("top_drive_speed_min"), Comment("нижний предел")] public double? TopDriveSpeedMin { get; set; } public float? TopDriveSpeed { get; set; }
[Column("top_drive_speed_max"), Comment("верхний предел")] public double? TopDriveSpeedMax { get; set; } [Column("top_drive_speed_min"), Comment("нижний предел")]
[Column("top_drive_speed_offset"), Comment("смещение")] public double? TopDriveSpeedOffset { get; set; } public float? TopDriveSpeedMin { get; set; }
[Column("top_drive_speed_err")] public int? TopDriveSpeedErr { get; set; } [Column("top_drive_speed_max"), Comment("верхний предел")]
[Column("top_drive_torque"), Comment("Момент СВП")] public double? TopDriveTorque { get; set; } public float? TopDriveSpeedMax { get; set; }
[Column("top_drive_torque_min")] public double? TopDriveTorqueMin { get; set; } [Column("top_drive_speed_offset"), Comment("смещение")]
[Column("top_drive_torque_max")] public double? TopDriveTorqueMax { get; set; } public float? TopDriveSpeedOffset { get; set; }
[Column("top_drive_torque_offset")] public double? TopDriveTorqueOffset { get; set; } [Column("top_drive_torque"), Comment("Момент СВП")]
[Column("top_drive_torque_err")] public int? TopDriveTorqueErr { get; set; } public float? TopDriveTorque { get; set; }
[Column("top_drive_speed_sp_from"), Comment("Заданная скорость c СВП")] public double? TopDriveSpeedSpFrom { get; set; } [Column("top_drive_torque_min")]
[Column("top_drive_speed_sp_from_min")] public double? TopDriveSpeedSpFromMin { get; set; } public float? TopDriveTorqueMin { get; set; }
[Column("top_drive_speed_sp_from_max")] public double? TopDriveSpeedSpFromMax { get; set; } [Column("top_drive_torque_max")]
[Column("top_drive_speed_sp_from_offset")] public double? TopDriveSpeedSpFromOffset { get; set; } public float? TopDriveTorqueMax { get; set; }
[Column("top_drive_speed_sp_from_err")] public int? TopDriveSpeedSpFromErr { get; set; } [Column("top_drive_torque_offset")]
[Column("top_drive_torque_sp_from"), Comment("Заданный момент c СВП")] public double? TopDriveTorqueSpFrom { get; set; } public float? TopDriveTorqueOffset { get; set; }
[Column("top_drive_torque_sp_from_min")] public double? TopDriveTorqueSpFromMin { get; set; } [Column("top_drive_speed_sp_from"), Comment("Заданная скорость c СВП")]
[Column("top_drive_torque_sp_from_max")] public double? TopDriveTorqueSpFromMax { get; set; } public float? TopDriveSpeedSpFrom { get; set; }
[Column("top_drive_torque_sp_from_offset")] public double? TopDriveTorqueSpFromOffset { get; set; } [Column("top_drive_speed_sp_from_min")]
[Column("top_drive_torque_sp_from_err")] public int? TopDriveTorqueSpFromErr { get; set; } public float? TopDriveSpeedSpFromMin { get; set; }
[Column("top_drive_speed_sp_to"), Comment("Задание скорости на СВП")] public double? TopDriveSpeedSpTo { get; set; } [Column("top_drive_speed_sp_from_max")]
[Column("top_drive_speed_sp_to_min")] public double? TopDriveSpeedSpToMin { get; set; } public float? TopDriveSpeedSpFromMax { get; set; }
[Column("top_drive_speed_sp_to_max")] public double? TopDriveSpeedSpToMax { get; set; } [Column("top_drive_speed_sp_from_offset")]
[Column("top_drive_speed_sp_to_offset")] public double? TopDriveSpeedSpToOffset { get; set; } public float? TopDriveSpeedSpFromOffset { get; set; }
[Column("top_drive_speed_sp_to_err")] public int? TopDriveSpeedSpToErr { get; set; } [Column("top_drive_torque_sp_from"), Comment("Заданный момент c СВП")]
[Column("top_drive_torque_sp_to"), Comment("Задание момента на СВП")] public double? TopDriveTorqueSpTo { get; set; } public float? TopDriveTorqueSpFrom { get; set; }
[Column("top_drive_torque_sp_to_min")] public double? TopDriveTorqueSpToMin { get; set; } [Column("top_drive_torque_sp_from_min")]
[Column("top_drive_torque_sp_to_max")] public double? TopDriveTorqueSpToMax { get; set; } public float? TopDriveTorqueSpFromMin { get; set; }
[Column("top_drive_torque_sp_to_offset")] public double? TopDriveTorqueSpToOffset { get; set; } [Column("top_drive_torque_sp_from_max")]
[Column("top_drive_torque_sp_to_err")] public int? TopDriveTorqueSpToErr { get; set; } public float? TopDriveTorqueSpFromMax { get; set; }
[Column("w2800"), Comment("Установка нуля энкодера")] public int? W2800 { get; set; } [Column("top_drive_torque_sp_from_offset")]
[Column("w2810"), Comment(" автоматический сброс блокировки")] public int? W2810 { get; set; } public float? TopDriveTorqueSpFromOffset { get; set; }
[Column("mode"), Comment("Выбранный режим управления")] public int? Mode { get; set; } [Column("top_drive_speed_sp_to"), Comment("Задание скорости на СВП")]
[Column("w2808"), Comment("Неисправность энкодера")] public int? W2808 { get; set; } public float? TopDriveSpeedSpTo { get; set; }
[Column("torque_starting"), Comment(" Страгивающий момент")] public double? TorqueStarting { get; set; } [Column("top_drive_speed_sp_to_min")]
[Column("rotor_torque_avg"), Comment(" Момент в роторе средний")] public double? RotorTorqueAvg { get; set; } public float? TopDriveSpeedSpToMin { get; set; }
[Column("encoder_resolution "), Comment(" Разрешение энкодера")] public double? EncoderResolution { get; set; } [Column("top_drive_speed_sp_to_max")]
[Column("ratio"), Comment(" Коэффициент редукции редектора")] public double? Ratio { get; set; } public float? TopDriveSpeedSpToMax { get; set; }
[Column("torque_right_limit"), Comment("Ограничение крутящего момента вправо")] public double? TorqueRightLimit { get; set; } [Column("top_drive_speed_sp_to_offset")]
[Column("torque_left_limit"), Comment("Ограничение крутящего момента влево")] public double? TorqueLeftLimit { get; set; } public float? TopDriveSpeedSpToOffset { get; set; }
[Column("revols_right_limit"), Comment("Ограничение числа оборотов вправо")] public double? RevolsRightLimit { get; set; } [Column("top_drive_torque_sp_to"), Comment("Задание момента на СВП")]
[Column("revols_left_limit"), Comment("Ограничение числа оборотов влево")] public double? RevolsLeftLimit { get; set; } public float? TopDriveTorqueSpTo { get; set; }
[Column("speed_right_sp"), Comment("Заданная скорость вращения вправо")] public double? SpeedRightSp { get; set; } [Column("top_drive_torque_sp_to_min")]
[Column("speed_left_sp"), Comment("Заданная скорость вращения влево")] public double? SpeedLeftSp { get; set; } public float? TopDriveTorqueSpToMin { get; set; }
[Column("revols_right_total"), Comment("Суммарное количество оборотов вправо")] public double? RevolsRightTotal { get; set; } [Column("top_drive_torque_sp_to_max")]
[Column("revols_left_total"), Comment("Суммарное количество оборотов влево")] public double? RevolsLeftTotal { get; set; } public float? TopDriveTorqueSpToMax { get; set; }
[Column("turn_right_once_by_torque"), Comment("Доворот по моменту единожды вправо")] public double? TurnRightOnceByTorque { get; set; } [Column("top_drive_torque_sp_to_offset")]
[Column("turn_left_once_by_torque"), Comment("Доворот по моменту единожды влево")] public double? TurnLeftOnceByTorque { get; set; } public float? TopDriveTorqueSpToOffset { get; set; }
[Column("turn_right_once_by_angle"), Comment("Доворот по градусам единожды вправо")] public double? TurnRightOnceByAngle { get; set; } [Column("torque_starting"), Comment(" Страгивающий момент")]
[Column("turn_left_once_by_angle"), Comment("Доворот по градусам единожды влево")] public double? TurnLeftOnceByAngle { get; set; } public float? TorqueStarting { get; set; }
[Column("turn_right_once_by_revols"), Comment("Доворот по оборотам единожды вправо")] public double? TurnRightOnceByRevols { get; set; } [Column("rotor_torque_avg"), Comment(" Момент в роторе средний")]
[Column("turn_left_once_by_revols"), Comment("Доворот по оборотам единожды влево")] public double? TurnLeftOnceByRevols { get; set; } public float? RotorTorqueAvg { get; set; }
[Column("break_angle_k"), Comment("Коэффициент для расчёта за какой угол нужно тормозить")] public double? BreakAngleK { get; set; } [Column("encoder_resolution "), Comment(" Разрешение энкодера")]
[Column("reverse_k_torque"), Comment("Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону")] public double? ReverseKTorque { get; set; } public float? EncoderResolution { get; set; }
[Column("position_zero"), Comment("Нулевая позиция осциляции")] public double? PositionZero { get; set; } [Column("ratio"), Comment(" Коэффициент редукции редектора")]
[Column("position_right"), Comment("Крайний правый угол осциляции")] public double? PositionRight { get; set; } public float? Ratio { get; set; }
[Column("torque_ramp_time"), Comment("Время нарастания момента")] public double? TorqueRampTime { get; set; } [Column("torque_right_limit"), Comment("Ограничение крутящего момента вправо")]
[Column("ver"), Comment("Версия ПО ПЛК")] public double? Ver { get; set; } public float? TorqueRightLimit { get; set; }
[Column("reverse_speed_sp_zero_time"), Comment("Время выдачи сигнала нулевой скорости на при смене направления")] public int? ReverseSpeedSpZeroTime { get; set; } [Column("torque_left_limit"), Comment("Ограничение крутящего момента влево")]
[Column("unlock_by_sector_out"), Comment(" Градус отклонения от сектора для автоматического сброса блокировки")] public double? UnlockBySectorOut { get; set; } public float? TorqueLeftLimit { get; set; }
[Column("pid_mux_torque_left_limit"), Comment(" Момент при котором определяется ехать назад по моменту или по скорости")] public double? PidMuxTorqueLeftLimit { get; set; } [Column("revols_right_limit"), Comment("Ограничение числа оборотов вправо")]
[Column("state"), Comment("Переменная этапа")] public int? State { get; set; } public float? RevolsRightLimit { get; set; }
[Column("break_angle_left"), Comment("Угол торможения влево при работе по моменту")] public double? BreakAngleLeft { get; set; } [Column("revols_left_limit"), Comment("Ограничение числа оборотов влево")]
public float? RevolsLeftLimit { get; set; }
[Column("speed_right_sp"), Comment("Заданная скорость вращения вправо")]
public float? SpeedRightSp { get; set; }
[Column("speed_left_sp"), Comment("Заданная скорость вращения влево")]
public float? SpeedLeftSp { get; set; }
[Column("revols_right_total"), Comment("Суммарное количество оборотов вправо")]
public float? RevolsRightTotal { get; set; }
[Column("revols_left_total"), Comment("Суммарное количество оборотов влево")]
public float? RevolsLeftTotal { get; set; }
[Column("turn_right_once_by_torque"), Comment("Доворот по моменту единожды вправо")]
public float? TurnRightOnceByTorque { get; set; }
[Column("turn_left_once_by_torque"), Comment("Доворот по моменту единожды влево")]
public float? TurnLeftOnceByTorque { get; set; }
[Column("turn_right_once_by_angle"), Comment("Доворот по градусам единожды вправо")]
public float? TurnRightOnceByAngle { get; set; }
[Column("turn_left_once_by_angle"), Comment("Доворот по градусам единожды влево")]
public float? TurnLeftOnceByAngle { get; set; }
[Column("turn_right_once_by_revols"), Comment("Доворот по оборотам единожды вправо")]
public float? TurnRightOnceByRevols { get; set; }
[Column("turn_left_once_by_revols"), Comment("Доворот по оборотам единожды влево")]
public float? TurnLeftOnceByRevols { get; set; }
[Column("break_angle_k"), Comment("Коэффициент для расчёта за какой угол нужно тормозить")]
public float? BreakAngleK { get; set; }
[Column("reverse_k_torque"), Comment("Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону")]
public float? ReverseKTorque { get; set; }
[Column("position_zero"), Comment("Нулевая позиция осциляции")]
public float? PositionZero { get; set; }
[Column("position_right"), Comment("Крайний правый угол осциляции")]
public float? PositionRight { get; set; }
[Column("torque_ramp_time"), Comment("Время нарастания момента")]
public float? TorqueRampTime { get; set; }
[Column("ver"), Comment("Версия ПО ПЛК")]
public float? Ver { get; set; }
[Column("unlock_by_sector_out"), Comment(" Градус отклонения от сектора для автоматического сброса блокировки")]
public float? UnlockBySectorOut { get; set; }
[Column("pid_mux_torque_left_limit"), Comment(" Момент при котором определяется ехать назад по моменту или по скорости")]
public float? PidMuxTorqueLeftLimit { get; set; }
[Column("break_angle_left"), Comment("Угол торможения влево при работе по моменту")]
public float? BreakAngleLeft { get; set; }
[Column("top_drive_speed_err")]
public short? TopDriveSpeedErr { get; set; }
[Column("top_drive_torque_err")]
public short? TopDriveTorqueErr { get; set; }
[Column("top_drive_speed_sp_from_err")]
public short? TopDriveSpeedSpFromErr { get; set; }
[Column("top_drive_torque_sp_from_err")]
public short? TopDriveTorqueSpFromErr { get; set; }
[Column("top_drive_speed_sp_to_err")]
public short? TopDriveSpeedSpToErr { get; set; }
[Column("top_drive_torque_sp_to_err")]
public short? TopDriveTorqueSpToErr { get; set; }
[Column("w2800"), Comment("Установка нуля энкодера")]
public short? W2800 { get; set; }
[Column("w2810"), Comment(" автоматический сброс блокировки")]
public short? W2810 { get; set; }
[Column("mode"), Comment("Выбранный режим управления")]
public short? Mode { get; set; }
[Column("w2808"), Comment("Неисправность энкодера")]
public short? W2808 { get; set; }
[Column("reverse_speed_sp_zero_time"), Comment("Время выдачи сигнала нулевой скорости на при смене направления")]
public short? ReverseSpeedSpZeroTime { get; set; }
[Column("state"), Comment("Переменная этапа")]
public short? State { get; set; }
[JsonIgnore] [JsonIgnore]
[ForeignKey(nameof(IdTelemetry))] [ForeignKey(nameof(IdTelemetry))]