using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; namespace AsbCloudDb.Model { #nullable disable [Table("t_telemetry_data_spin"), Comment("набор основных данных по SpinMaster")] public class TelemetryDataSpin : ITelemetryData { [Column("id_telemetry")] public int IdTelemetry { get; set; } [Column("date", TypeName = "timestamp with time zone"), Comment("'2021-10-19 18:23:54+05'")] public DateTimeOffset DateTime { get; set; } [Column("top_drive_speed"), Comment("Скорость СВП")] public float? TopDriveSpeed { get; set; } [Column("top_drive_speed_min"), Comment("нижний предел")] public float? TopDriveSpeedMin { get; set; } [Column("top_drive_speed_max"), Comment("верхний предел")] public float? TopDriveSpeedMax { get; set; } [Column("top_drive_speed_offset"), Comment("смещение")] public float? TopDriveSpeedOffset { get; set; } [Column("top_drive_torque"), Comment("Момент СВП")] public float? TopDriveTorque { get; set; } [Column("top_drive_torque_min")] public float? TopDriveTorqueMin { get; set; } [Column("top_drive_torque_max")] public float? TopDriveTorqueMax { get; set; } [Column("top_drive_torque_offset")] public float? TopDriveTorqueOffset { get; set; } [Column("top_drive_speed_sp_from"), Comment("Заданная скорость c СВП")] public float? TopDriveSpeedSpFrom { get; set; } [Column("top_drive_speed_sp_from_min")] public float? TopDriveSpeedSpFromMin { get; set; } [Column("top_drive_speed_sp_from_max")] public float? TopDriveSpeedSpFromMax { get; set; } [Column("top_drive_speed_sp_from_offset")] public float? TopDriveSpeedSpFromOffset { get; set; } [Column("top_drive_torque_sp_from"), Comment("Заданный момент c СВП")] public float? TopDriveTorqueSpFrom { get; set; } [Column("top_drive_torque_sp_from_min")] public float? TopDriveTorqueSpFromMin { get; set; } [Column("top_drive_torque_sp_from_max")] public float? TopDriveTorqueSpFromMax { get; set; } [Column("top_drive_torque_sp_from_offset")] public float? TopDriveTorqueSpFromOffset { get; set; } [Column("top_drive_speed_sp_to"), Comment("Задание скорости на СВП")] public float? TopDriveSpeedSpTo { get; set; } [Column("top_drive_speed_sp_to_min")] public float? TopDriveSpeedSpToMin { get; set; } [Column("top_drive_speed_sp_to_max")] public float? TopDriveSpeedSpToMax { get; set; } [Column("top_drive_speed_sp_to_offset")] public float? TopDriveSpeedSpToOffset { get; set; } [Column("top_drive_torque_sp_to"), Comment("Задание момента на СВП")] public float? TopDriveTorqueSpTo { get; set; } [Column("top_drive_torque_sp_to_min")] public float? TopDriveTorqueSpToMin { get; set; } [Column("top_drive_torque_sp_to_max")] public float? TopDriveTorqueSpToMax { get; set; } [Column("top_drive_torque_sp_to_offset")] public float? TopDriveTorqueSpToOffset { get; set; } [Column("torque_starting"), Comment("Страгивающий момент")] public float? TorqueStarting { get; set; } [Column("rotor_torque_avg"), Comment("Момент в роторе средний")] public float? RotorTorqueAvg { get; set; } [Column("encoder_resolution"), Comment("Разрешение энкодера")] public float? EncoderResolution { get; set; } [Column("ratio"), Comment(" Коэффициент редукции редуктора")] public float? Ratio { get; set; } [Column("torque_right_limit"), Comment("Ограничение крутящего момента вправо")] public float? TorqueRightLimit { get; set; } [Column("torque_left_limit"), Comment("Ограничение крутящего момента влево")] public float? TorqueLeftLimit { get; set; } [Column("revols_right_limit"), Comment("Ограничение числа оборотов вправо")] public float? RevolsRightLimit { 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] [ForeignKey(nameof(IdTelemetry))] [InverseProperty(nameof(Model.Telemetry.DataSpin))] public virtual Telemetry Telemetry { get; set; } } }