#6838390 Уменьшение хранимой модели данных SPIN master

This commit is contained in:
ai.astrakhantsev 2022-10-13 14:22:20 +05:00
parent 01e07a56ac
commit b4372dde50
7 changed files with 7190 additions and 464 deletions

View File

@ -2,80 +2,77 @@
namespace AsbCloudApp.Data.SAUB
{
#pragma warning disable CS1591 // Отсутствует комментарий XML для открытого видимого типа или члена
#nullable enable
public class TelemetryDataSpinDto : ITelemetryData
{
/// <inheritdoc/>
/// <summary>
/// Идентификатор телеметрии
/// </summary>
public int IdTelemetry { get; set; }
/// <summary>
/// Дата
/// </summary>
public DateTime DateTime { get; set; }
public DateTime Date // TODO: remove this legacy after all panels updated
/// <summary>
/// Дата
/// </summary>
public DateTime Date
{
get { return DateTime; }
set { DateTime = value; }
}
public float? TopDriveSpeed { get; set; }
public float? TopDriveSpeedMin { get; set; }
public float? TopDriveSpeedMax { get; set; }
public float? TopDriveSpeedOffset { get; set; }
public short? TopDriveSpeedErr { get; set; }
public float? TopDriveTorque { get; set; }
public float? TopDriveTorqueMin { get; set; }
public float? TopDriveTorqueMax { get; set; }
public float? TopDriveTorqueOffset { get; set; }
public short? TopDriveTorqueErr { get; set; }
public float? TopDriveSpeedSpFrom { get; set; }
public float? TopDriveSpeedSpFromMin { get; set; }
public float? TopDriveSpeedSpFromMax { get; set; }
public float? TopDriveSpeedSpFromOffset { get; set; }
public short? TopDriveSpeedSpFromErr { get; set; }
public float? TopDriveTorqueSpFrom { get; set; }
public float? TopDriveTorqueSpFromMin { get; set; }
public float? TopDriveTorqueSpFromMax { get; set; }
public float? TopDriveTorqueSpFromOffset { get; set; }
public short? TopDriveTorqueSpFromErr { get; set; }
public float? TopDriveSpeedSpTo { get; set; }
public float? TopDriveSpeedSpToMin { get; set; }
public float? TopDriveSpeedSpToMax { get; set; }
public float? TopDriveSpeedSpToOffset { get; set; }
public short? TopDriveSpeedSpToErr { get; set; }
public float? TopDriveTorqueSpTo { get; set; }
public float? TopDriveTorqueSpToMin { get; set; }
public float? TopDriveTorqueSpToMax { get; set; }
public float? TopDriveTorqueSpToOffset { get; set; }
public short? TopDriveTorqueSpToErr { get; set; }
public short? W2800 { get; set; }
public short? W2810 { get; set; }
public short? Mode { get; set; }
public short? W2808 { get; set; }
public float? TorqueStarting { get; set; }
public float? RotorTorqueAvg { get; set; }
public float? EncoderResolution { get; set; }
public float? Ratio { get; set; }
public float? TorqueRightLimit { get; set; }
public float? TorqueLeftLimit { get; set; }
/// <summary>
/// Ограничение числа оборотов вправо
/// </summary>
public float? RevolsRightLimit { get; set; }
/// <summary>
/// Ограничение числа оборотов влево
/// </summary>
public float? RevolsLeftLimit { get; set; }
/// <summary>
/// Заданная скорость вращения вправо
/// </summary>
public float? SpeedRightSp { get; set; }
/// <summary>
/// Заданная скорость вращения влево
/// </summary>
public float? SpeedLeftSp { get; set; }
/// <summary>
/// Суммарное количество оборотов вправо
/// </summary>
public float? RevolsRightTotal { get; set; }
/// <summary>
/// Суммарное количество оборотов влево
/// </summary>
public float? RevolsLeftTotal { get; set; }
public float? TurnRightOnceByTorque { get; set; }
public float? TurnLeftOnceByTorque { get; set; }
public float? TurnRightOnceByAngle { get; set; }
public float? TurnLeftOnceByAngle { get; set; }
public float? TurnRightOnceByRevols { get; set; }
public float? TurnLeftOnceByRevols { get; set; }
public float? BreakAngleK { get; set; }
public float? ReverseKTorque { get; set; }
/// <summary>
/// Нулевая позиция осцилляции
/// </summary>
public float? PositionZero { get; set; }
/// <summary>
/// Крайний правый угол осцилляции
/// </summary>
public float? PositionRight { get; set; }
public float? TorqueRampTime { get; set; }
public float? Ver { get; set; }
public short? ReverseSpeedSpZeroTime { get; set; }
public float? UnlockBySectorOut { get; set; }
public float? PidMuxTorqueLeftLimit { get; set; }
/// <summary>
/// Выбранный режим управления
/// </summary>
public short? Mode { get; set; }
/// <summary>
/// Переменная этапа
/// </summary>
public short? State { get; set; }
public float? BreakAngleLeft { get; set; }
}
#pragma warning restore CS1591 // Отсутствует комментарий XML для открытого видимого типа или члена
#nullable disable
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,577 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace AsbCloudDb.Migrations
{
public partial class Delete_colums_table_t_telemetry_data_spin : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "break_angle_k",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "break_angle_left",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "encoder_resolution",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "pid_mux_torque_left_limit",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "ratio",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "reverse_k_torque",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "reverse_speed_sp_zero_time",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "rotor_torque_avg",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_err",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_max",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_min",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_offset",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_from",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_from_err",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_from_max",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_from_min",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_from_offset",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_to",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_to_err",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_to_max",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_to_min",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_speed_sp_to_offset",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_err",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_max",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_min",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_offset",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_from",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_from_err",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_from_max",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_from_min",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_from_offset",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_to",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_to_err",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_to_max",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_to_min",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "top_drive_torque_sp_to_offset",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "torque_left_limit",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "torque_ramp_time",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "torque_right_limit",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "torque_starting",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "turn_left_once_by_angle",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "turn_left_once_by_revols",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "turn_left_once_by_torque",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "turn_right_once_by_angle",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "turn_right_once_by_revols",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "turn_right_once_by_torque",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "unlock_by_sector_out",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "ver",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "w2800",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "w2808",
table: "t_telemetry_data_spin");
migrationBuilder.DropColumn(
name: "w2810",
table: "t_telemetry_data_spin");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<float>(
name: "break_angle_k",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Коэффициент для расчёта за какой угол нужно тормозить");
migrationBuilder.AddColumn<float>(
name: "break_angle_left",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Угол торможения влево при работе по моменту");
migrationBuilder.AddColumn<float>(
name: "encoder_resolution",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Разрешение энкодера");
migrationBuilder.AddColumn<float>(
name: "pid_mux_torque_left_limit",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: " Момент при котором определяется ехать назад по моменту или по скорости");
migrationBuilder.AddColumn<float>(
name: "ratio",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: " Коэффициент редукции редуктора");
migrationBuilder.AddColumn<float>(
name: "reverse_k_torque",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону");
migrationBuilder.AddColumn<short>(
name: "reverse_speed_sp_zero_time",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true,
comment: "Время выдачи сигнала нулевой скорости на при смене направления");
migrationBuilder.AddColumn<float>(
name: "rotor_torque_avg",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Момент в роторе средний");
migrationBuilder.AddColumn<float>(
name: "top_drive_speed",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Скорость СВП");
migrationBuilder.AddColumn<short>(
name: "top_drive_speed_err",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_max",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "верхний предел");
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_min",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "нижний предел");
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_offset",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "смещение");
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_sp_from",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Заданная скорость c СВП");
migrationBuilder.AddColumn<short>(
name: "top_drive_speed_sp_from_err",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_sp_from_max",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_sp_from_min",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_sp_from_offset",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_sp_to",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Задание скорости на СВП");
migrationBuilder.AddColumn<short>(
name: "top_drive_speed_sp_to_err",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_sp_to_max",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_sp_to_min",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_speed_sp_to_offset",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Момент СВП");
migrationBuilder.AddColumn<short>(
name: "top_drive_torque_err",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_max",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_min",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_offset",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_sp_from",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Заданный момент c СВП");
migrationBuilder.AddColumn<short>(
name: "top_drive_torque_sp_from_err",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_sp_from_max",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_sp_from_min",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_sp_from_offset",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_sp_to",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Задание момента на СВП");
migrationBuilder.AddColumn<short>(
name: "top_drive_torque_sp_to_err",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_sp_to_max",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_sp_to_min",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "top_drive_torque_sp_to_offset",
table: "t_telemetry_data_spin",
type: "real",
nullable: true);
migrationBuilder.AddColumn<float>(
name: "torque_left_limit",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Ограничение крутящего момента влево");
migrationBuilder.AddColumn<float>(
name: "torque_ramp_time",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Время нарастания момента");
migrationBuilder.AddColumn<float>(
name: "torque_right_limit",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Ограничение крутящего момента вправо");
migrationBuilder.AddColumn<float>(
name: "torque_starting",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Страгивающий момент");
migrationBuilder.AddColumn<float>(
name: "turn_left_once_by_angle",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Доворот по градусам единожды влево");
migrationBuilder.AddColumn<float>(
name: "turn_left_once_by_revols",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Доворот по оборотам единожды влево");
migrationBuilder.AddColumn<float>(
name: "turn_left_once_by_torque",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Доворот по моменту единожды влево");
migrationBuilder.AddColumn<float>(
name: "turn_right_once_by_angle",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Доворот по градусам единожды вправо");
migrationBuilder.AddColumn<float>(
name: "turn_right_once_by_revols",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Доворот по оборотам единожды вправо");
migrationBuilder.AddColumn<float>(
name: "turn_right_once_by_torque",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Доворот по моменту единожды вправо");
migrationBuilder.AddColumn<float>(
name: "unlock_by_sector_out",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: " Градус отклонения от сектора для автоматического сброса блокировки");
migrationBuilder.AddColumn<float>(
name: "ver",
table: "t_telemetry_data_spin",
type: "real",
nullable: true,
comment: "Версия ПО ПЛК");
migrationBuilder.AddColumn<short>(
name: "w2800",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true,
comment: "Установка нуля энкодера");
migrationBuilder.AddColumn<short>(
name: "w2808",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true,
comment: "Неисправность энкодера");
migrationBuilder.AddColumn<short>(
name: "w2810",
table: "t_telemetry_data_spin",
type: "smallint",
nullable: true,
comment: " автоматический сброс блокировки");
}
}
}

View File

@ -3435,31 +3435,11 @@ namespace AsbCloudDb.Migrations
.HasColumnName("date")
.HasComment("'2021-10-19 18:23:54+05'");
b.Property<float?>("BreakAngleK")
.HasColumnType("real")
.HasColumnName("break_angle_k")
.HasComment("Коэффициент для расчёта за какой угол нужно тормозить");
b.Property<float?>("BreakAngleLeft")
.HasColumnType("real")
.HasColumnName("break_angle_left")
.HasComment("Угол торможения влево при работе по моменту");
b.Property<float?>("EncoderResolution")
.HasColumnType("real")
.HasColumnName("encoder_resolution")
.HasComment("Разрешение энкодера");
b.Property<short?>("Mode")
.HasColumnType("smallint")
.HasColumnName("mode")
.HasComment("Выбранный режим управления");
b.Property<float?>("PidMuxTorqueLeftLimit")
.HasColumnType("real")
.HasColumnName("pid_mux_torque_left_limit")
.HasComment(" Момент при котором определяется ехать назад по моменту или по скорости");
b.Property<float?>("PositionRight")
.HasColumnType("real")
.HasColumnName("position_right")
@ -3470,21 +3450,6 @@ namespace AsbCloudDb.Migrations
.HasColumnName("position_zero")
.HasComment("Нулевая позиция осцилляции");
b.Property<float?>("Ratio")
.HasColumnType("real")
.HasColumnName("ratio")
.HasComment(" Коэффициент редукции редуктора");
b.Property<float?>("ReverseKTorque")
.HasColumnType("real")
.HasColumnName("reverse_k_torque")
.HasComment("Коэффициент на который умножается момент, для того чтобы система поняла что мы движемся в обратную сторону");
b.Property<short?>("ReverseSpeedSpZeroTime")
.HasColumnType("smallint")
.HasColumnName("reverse_speed_sp_zero_time")
.HasComment("Время выдачи сигнала нулевой скорости на при смене направления");
b.Property<float?>("RevolsLeftLimit")
.HasColumnType("real")
.HasColumnName("revols_left_limit")
@ -3505,11 +3470,6 @@ namespace AsbCloudDb.Migrations
.HasColumnName("revols_right_total")
.HasComment("Суммарное количество оборотов вправо");
b.Property<float?>("RotorTorqueAvg")
.HasColumnType("real")
.HasColumnName("rotor_torque_avg")
.HasComment("Момент в роторе средний");
b.Property<float?>("SpeedLeftSp")
.HasColumnType("real")
.HasColumnName("speed_left_sp")
@ -3525,210 +3485,6 @@ namespace AsbCloudDb.Migrations
.HasColumnName("state")
.HasComment("Переменная этапа");
b.Property<float?>("TopDriveSpeed")
.HasColumnType("real")
.HasColumnName("top_drive_speed")
.HasComment("Скорость СВП");
b.Property<short?>("TopDriveSpeedErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_speed_err");
b.Property<float?>("TopDriveSpeedMax")
.HasColumnType("real")
.HasColumnName("top_drive_speed_max")
.HasComment("верхний предел");
b.Property<float?>("TopDriveSpeedMin")
.HasColumnType("real")
.HasColumnName("top_drive_speed_min")
.HasComment("нижний предел");
b.Property<float?>("TopDriveSpeedOffset")
.HasColumnType("real")
.HasColumnName("top_drive_speed_offset")
.HasComment("смещение");
b.Property<float?>("TopDriveSpeedSpFrom")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_from")
.HasComment("Заданная скорость c СВП");
b.Property<short?>("TopDriveSpeedSpFromErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_speed_sp_from_err");
b.Property<float?>("TopDriveSpeedSpFromMax")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_from_max");
b.Property<float?>("TopDriveSpeedSpFromMin")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_from_min");
b.Property<float?>("TopDriveSpeedSpFromOffset")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_from_offset");
b.Property<float?>("TopDriveSpeedSpTo")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_to")
.HasComment("Задание скорости на СВП");
b.Property<short?>("TopDriveSpeedSpToErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_speed_sp_to_err");
b.Property<float?>("TopDriveSpeedSpToMax")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_to_max");
b.Property<float?>("TopDriveSpeedSpToMin")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_to_min");
b.Property<float?>("TopDriveSpeedSpToOffset")
.HasColumnType("real")
.HasColumnName("top_drive_speed_sp_to_offset");
b.Property<float?>("TopDriveTorque")
.HasColumnType("real")
.HasColumnName("top_drive_torque")
.HasComment("Момент СВП");
b.Property<short?>("TopDriveTorqueErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_torque_err");
b.Property<float?>("TopDriveTorqueMax")
.HasColumnType("real")
.HasColumnName("top_drive_torque_max");
b.Property<float?>("TopDriveTorqueMin")
.HasColumnType("real")
.HasColumnName("top_drive_torque_min");
b.Property<float?>("TopDriveTorqueOffset")
.HasColumnType("real")
.HasColumnName("top_drive_torque_offset");
b.Property<float?>("TopDriveTorqueSpFrom")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_from")
.HasComment("Заданный момент c СВП");
b.Property<short?>("TopDriveTorqueSpFromErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_torque_sp_from_err");
b.Property<float?>("TopDriveTorqueSpFromMax")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_from_max");
b.Property<float?>("TopDriveTorqueSpFromMin")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_from_min");
b.Property<float?>("TopDriveTorqueSpFromOffset")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_from_offset");
b.Property<float?>("TopDriveTorqueSpTo")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_to")
.HasComment("Задание момента на СВП");
b.Property<short?>("TopDriveTorqueSpToErr")
.HasColumnType("smallint")
.HasColumnName("top_drive_torque_sp_to_err");
b.Property<float?>("TopDriveTorqueSpToMax")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_to_max");
b.Property<float?>("TopDriveTorqueSpToMin")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_to_min");
b.Property<float?>("TopDriveTorqueSpToOffset")
.HasColumnType("real")
.HasColumnName("top_drive_torque_sp_to_offset");
b.Property<float?>("TorqueLeftLimit")
.HasColumnType("real")
.HasColumnName("torque_left_limit")
.HasComment("Ограничение крутящего момента влево");
b.Property<float?>("TorqueRampTime")
.HasColumnType("real")
.HasColumnName("torque_ramp_time")
.HasComment("Время нарастания момента");
b.Property<float?>("TorqueRightLimit")
.HasColumnType("real")
.HasColumnName("torque_right_limit")
.HasComment("Ограничение крутящего момента вправо");
b.Property<float?>("TorqueStarting")
.HasColumnType("real")
.HasColumnName("torque_starting")
.HasComment("Страгивающий момент");
b.Property<float?>("TurnLeftOnceByAngle")
.HasColumnType("real")
.HasColumnName("turn_left_once_by_angle")
.HasComment("Доворот по градусам единожды влево");
b.Property<float?>("TurnLeftOnceByRevols")
.HasColumnType("real")
.HasColumnName("turn_left_once_by_revols")
.HasComment("Доворот по оборотам единожды влево");
b.Property<float?>("TurnLeftOnceByTorque")
.HasColumnType("real")
.HasColumnName("turn_left_once_by_torque")
.HasComment("Доворот по моменту единожды влево");
b.Property<float?>("TurnRightOnceByAngle")
.HasColumnType("real")
.HasColumnName("turn_right_once_by_angle")
.HasComment("Доворот по градусам единожды вправо");
b.Property<float?>("TurnRightOnceByRevols")
.HasColumnType("real")
.HasColumnName("turn_right_once_by_revols")
.HasComment("Доворот по оборотам единожды вправо");
b.Property<float?>("TurnRightOnceByTorque")
.HasColumnType("real")
.HasColumnName("turn_right_once_by_torque")
.HasComment("Доворот по моменту единожды вправо");
b.Property<float?>("UnlockBySectorOut")
.HasColumnType("real")
.HasColumnName("unlock_by_sector_out")
.HasComment(" Градус отклонения от сектора для автоматического сброса блокировки");
b.Property<float?>("Ver")
.HasColumnType("real")
.HasColumnName("ver")
.HasComment("Версия ПО ПЛК");
b.Property<short?>("W2800")
.HasColumnType("smallint")
.HasColumnName("w2800")
.HasComment("Установка нуля энкодера");
b.Property<short?>("W2808")
.HasColumnType("smallint")
.HasColumnName("w2808")
.HasComment("Неисправность энкодера");
b.Property<short?>("W2810")
.HasColumnType("smallint")
.HasColumnName("w2810")
.HasComment(" автоматический сброс блокировки");
b.HasKey("IdTelemetry", "DateTime");
b.ToTable("t_telemetry_data_spin");

View File

@ -11,135 +11,37 @@ namespace AsbCloudDb.Model
{
[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; }

View File

@ -1,3 +1,4 @@
using DocumentFormat.OpenXml.InkML;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
@ -25,7 +26,10 @@ namespace AsbCloudWebApi
{
var connectionStringName = "DefaultConnection";
AsbCloudInfrastructure.DependencyInjection.MakeContext(configuration.GetConnectionString(connectionStringName));
var context = AsbCloudInfrastructure.DependencyInjection.MakeContext(configuration.GetConnectionString(connectionStringName));
context.Database.SetCommandTimeout(TimeSpan.FromSeconds(5 * 60));
context.Database.Migrate();
Console.WriteLine("Óñïåøíî âûïîëíåíî.");
return;
}

View File

@ -296,69 +296,16 @@ namespace AsbCloudWebApi
RuntimeTypeModel.Default.Add(type, false)
.Add(1, nameof(TelemetryDataSpinDto.IdTelemetry))
.Add(2, nameof(TelemetryDataSpinDto.DateTime))
.Add(3, nameof(TelemetryDataSpinDto.TopDriveSpeed))
.Add(4, nameof(TelemetryDataSpinDto.TopDriveSpeedMin))
.Add(5, nameof(TelemetryDataSpinDto.TopDriveSpeedMax))
.Add(6, nameof(TelemetryDataSpinDto.TopDriveSpeedOffset))
.Add(7, nameof(TelemetryDataSpinDto.TopDriveSpeedErr))
.Add(8, nameof(TelemetryDataSpinDto.TopDriveTorque))
.Add(9, nameof(TelemetryDataSpinDto.TopDriveTorqueMin))
.Add(10, nameof(TelemetryDataSpinDto.TopDriveTorqueMax))
.Add(11, nameof(TelemetryDataSpinDto.TopDriveTorqueOffset))
.Add(12, nameof(TelemetryDataSpinDto.TopDriveTorqueErr))
.Add(13, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFrom))
.Add(14, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromMin))
.Add(15, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromMax))
.Add(16, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromOffset))
.Add(17, nameof(TelemetryDataSpinDto.TopDriveSpeedSpFromErr))
.Add(18, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFrom))
.Add(19, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromMin))
.Add(20, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromMax))
.Add(21, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromOffset))
.Add(22, nameof(TelemetryDataSpinDto.TopDriveTorqueSpFromErr))
.Add(23, nameof(TelemetryDataSpinDto.TopDriveSpeedSpTo))
.Add(24, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToMin))
.Add(25, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToMax))
.Add(26, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToOffset))
.Add(27, nameof(TelemetryDataSpinDto.TopDriveSpeedSpToErr))
.Add(28, nameof(TelemetryDataSpinDto.TopDriveTorqueSpTo))
.Add(29, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToMin))
.Add(30, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToMax))
.Add(31, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToOffset))
.Add(32, nameof(TelemetryDataSpinDto.TopDriveTorqueSpToErr))
.Add(33, nameof(TelemetryDataSpinDto.W2800))
.Add(34, nameof(TelemetryDataSpinDto.W2810))
.Add(35, nameof(TelemetryDataSpinDto.Mode))
.Add(36, nameof(TelemetryDataSpinDto.W2808))
.Add(37, nameof(TelemetryDataSpinDto.TorqueStarting))
.Add(38, nameof(TelemetryDataSpinDto.RotorTorqueAvg))
.Add(39, nameof(TelemetryDataSpinDto.EncoderResolution))
.Add(40, nameof(TelemetryDataSpinDto.Ratio))
.Add(41, nameof(TelemetryDataSpinDto.TorqueRightLimit))
.Add(42, nameof(TelemetryDataSpinDto.TorqueLeftLimit))
.Add(43, nameof(TelemetryDataSpinDto.RevolsRightLimit))
.Add(44, nameof(TelemetryDataSpinDto.RevolsLeftLimit))
.Add(45, nameof(TelemetryDataSpinDto.SpeedRightSp))
.Add(46, nameof(TelemetryDataSpinDto.SpeedLeftSp))
.Add(47, nameof(TelemetryDataSpinDto.RevolsRightTotal))
.Add(48, nameof(TelemetryDataSpinDto.RevolsLeftTotal))
.Add(49, nameof(TelemetryDataSpinDto.TurnRightOnceByTorque))
.Add(50, nameof(TelemetryDataSpinDto.TurnLeftOnceByTorque))
.Add(51, nameof(TelemetryDataSpinDto.TurnRightOnceByAngle))
.Add(52, nameof(TelemetryDataSpinDto.TurnLeftOnceByAngle))
.Add(53, nameof(TelemetryDataSpinDto.TurnRightOnceByRevols))
.Add(54, nameof(TelemetryDataSpinDto.TurnLeftOnceByRevols))
.Add(55, nameof(TelemetryDataSpinDto.BreakAngleK))
.Add(56, nameof(TelemetryDataSpinDto.ReverseKTorque))
.Add(57, nameof(TelemetryDataSpinDto.PositionZero))
.Add(58, nameof(TelemetryDataSpinDto.PositionRight))
.Add(59, nameof(TelemetryDataSpinDto.TorqueRampTime))
.Add(60, nameof(TelemetryDataSpinDto.Ver))
.Add(61, nameof(TelemetryDataSpinDto.ReverseSpeedSpZeroTime))
.Add(62, nameof(TelemetryDataSpinDto.UnlockBySectorOut))
.Add(63, nameof(TelemetryDataSpinDto.PidMuxTorqueLeftLimit))
.Add(64, nameof(TelemetryDataSpinDto.State))
.Add(65, nameof(TelemetryDataSpinDto.BreakAngleLeft));
.Add(64, nameof(TelemetryDataSpinDto.State));
}
static void EnshureRegisteredDataSaub()