State_Jbt.cs 2.87 KB
using System.Text.Json.Serialization;
using Rcs.Domain.Attributes;
using Rcs.Domain.Extensions;

namespace Rcs.Domain.Models.VDA5050.Jbt;

/// <summary>
/// AGV״̬��Ϣ��Jbt����Э����չ��
/// </summary>
[ProtocolInfo("Jbt", "2.0.0", nameof(State))]
public class State_Jbt : State
{
    #region �����ֶ�
    /// <summary>
    /// ��������
    /// </summary>
    [JsonPropertyName("upgState")]
    public Jbt_UpgState UpgState { get; set; } = new();
    /// <summary>
    /// ��ȡʽAGV״̬��Ϣ
    /// </summary>
    [JsonPropertyName("forkState")]
    public Jbt_ForkState JbtForkState { get; set; } = new();
    /// <summary>
    /// DZ������AGV״̬��Ϣ
    /// </summary>
    [JsonPropertyName("forkState")]
    public Jbt_JackState JbtJackState { get; set; } = new();
    /// <summary>
    /// DZ������AGV״̬��Ϣ
    /// </summary>
    [JsonPropertyName("files")]
    public List<Jbt_File> JbtFiles { get; set; } = new();
    [JsonPropertyName("loads")]
    public List<Jbt_Load>? JbtLoads { get; set; }
    #endregion

    #region ɾ���ֶ�
    [JsonIgnore]
    public new List<Load>? Loads { get; set; }
    #endregion

}
public class Jbt_UpgState {
    /// <summary>
    /// ����״̬
    /// </summary>
    [JsonPropertyName("upgState")]
    public string UpgState { get; set; }
    /// <summary>
    /// ����״̬
    /// </summary>
    [JsonPropertyName("errorDescription")]
    public string ErrorDescription { get; set; }
    /// <summary>
    /// ����״̬
    /// </summary>
    [JsonPropertyName("percent")]
    public string Percent { get; set; }
}
public class Jbt_ForkState
{
    /// <summary>
    /// ��ݾ����߶�
    /// </summary>
    [JsonPropertyName("liftHeight")]
    public double? LiftHeight { get; set; }

}
public class Jbt_JackState
{
    /// <summary>
    /// ��������Գ���Ƕ�, ��λ����rad, ȡֵ��Χ-PI��PI
    /// </summary>
    [JsonPropertyName("jackTheta")]
    public double? JackTheta { get; set; }

}
public class Jbt_File {
    /// <summary>
    /// �ļ�ID
    /// </summary>
    public string FileId { get; set; }
    /// <summary>
    /// �ļ��汾
    /// </summary>
    public string FileVersion { get; set; }
    /// <summary>
    /// �����
    /// </summary>
    public string FileType { get; set; }
}
public class Jbt_Load : Load {
    /// <summary>
    /// ���غͳ�������ϵ�ļн�
    /// </summary>
    [JsonPropertyName("theta")]
    public double Theta { get; set; }
    /// <summary>
    /// ����ID
    /// </summary>
    [JsonPropertyName("materialId")]
    public string? MaterialId { get; set; }
    /// <summary>
    /// ���ϱ���
    /// </summary>
    [JsonPropertyName("materialCode")]
    public string? MaterialCode { get; set; }
}