Compare commits
2 Commits
5464aa361a
...
6927c9048c
Author | SHA1 | Date |
---|---|---|
huangxianguo | 6927c9048c | |
huangxianguo | e98b1bf31f |
|
@ -0,0 +1,6 @@
|
|||
namespace MasstransferCommon.Model.Atrributes;
|
||||
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
public class Hide : Attribute
|
||||
{
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
namespace MasstransferCommon.Model.Atrributes;
|
||||
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
public class Property : Attribute
|
||||
{
|
||||
public bool IsReadOnly { get; set; } = false;
|
||||
|
||||
// 字符串格式
|
||||
public string? Format { get; set; }
|
||||
|
||||
// 显示控件的宽
|
||||
public double Width { get; set; }
|
||||
|
||||
// 显示控件的高
|
||||
public double Height { get; set; }
|
||||
|
||||
public double Max { get; set; }
|
||||
|
||||
public double Min { get; set; }
|
||||
|
||||
public string Group { get; set; }
|
||||
|
||||
public bool IsPassword { get; set; }
|
||||
|
||||
public string Variable { get; set; }
|
||||
|
||||
public int Axis { get; set; } = -1;
|
||||
|
||||
public int Index { get; set; } = -1;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
using System.ComponentModel;
|
||||
|
||||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum AltimetryStrategyEnum
|
||||
{
|
||||
[Description("按面积")] ByArea = 1,
|
||||
[Description("按坐标")] ByCoordinate = 2
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum ChipColorEnum
|
||||
{
|
||||
R = 1,
|
||||
G = 2,
|
||||
B = 3
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
using System.ComponentModel;
|
||||
|
||||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum DirectionEnum
|
||||
{
|
||||
[Description("行方向")] ROW = 1,
|
||||
[Description("列方向")] COLUMN = 2,
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum GainAutoEnum
|
||||
{
|
||||
Off,
|
||||
Once,
|
||||
Continuous
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
using System.ComponentModel;
|
||||
|
||||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
/// <summary>
|
||||
/// 生产作业状态
|
||||
/// </summary>
|
||||
public enum JobStateEnum
|
||||
{
|
||||
[Description("待生产")] Waiting = 0,
|
||||
|
||||
[Description("生产中")] Producing = 1,
|
||||
|
||||
[Description("已完成")] Completed = 2,
|
||||
|
||||
[Description("已取消")] Canceled = 3,
|
||||
|
||||
[Description("生产异常")] Abnormal = 4,
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum LineModeEnum
|
||||
{
|
||||
Strobe
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum LineSelectorEnum
|
||||
{
|
||||
Line0,
|
||||
Line1,
|
||||
Line2,
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
using System.ComponentModel;
|
||||
|
||||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
/// <summary>
|
||||
/// 扫码枪接口类型
|
||||
/// </summary>
|
||||
public enum ScannerInterfaceEnum
|
||||
{
|
||||
/// <summary>
|
||||
/// 串口
|
||||
/// </summary>
|
||||
[Description("串口")] Serial,
|
||||
|
||||
/// <summary>
|
||||
/// TCP
|
||||
/// </summary>
|
||||
[Description("网口")] Tcp,
|
||||
|
||||
/// <summary>
|
||||
/// USB
|
||||
/// </summary>
|
||||
[Description("USB")] Usb,
|
||||
|
||||
/// <summary>
|
||||
/// 蓝牙
|
||||
/// </summary>
|
||||
[Description("蓝牙")] Bluetooth,
|
||||
|
||||
/// <summary>
|
||||
/// 无线
|
||||
/// </summary>
|
||||
[Description("无线")] Wireless
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum TlsProtocolsEnum
|
||||
{
|
||||
TLS_1_2,
|
||||
TLS_1_3
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum TriggerActivationEnum
|
||||
{
|
||||
RisingEdge,
|
||||
FallingEdge,
|
||||
LevelHigh,
|
||||
LevelLow,
|
||||
AnyEdge
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum TriggerModeEnum
|
||||
{
|
||||
Off,
|
||||
On
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
namespace MasstransferCommon.Model.Enum;
|
||||
|
||||
public enum TriggerSourceEnum
|
||||
{
|
||||
Software,
|
||||
Line0,
|
||||
Line2,
|
||||
Counter0,
|
||||
Anyway
|
||||
}
|
|
@ -0,0 +1,129 @@
|
|||
using MasstransferCommon.Model.Constant;
|
||||
using MasstransferCommon.Utils;
|
||||
using MasstransferCommunicate.Mqtt.Client;
|
||||
using MasstransferCore.Model.Entity;
|
||||
using MasstransferExporter.DataExporter.Model;
|
||||
using MasstransferInfrastructure.Database.Sqlite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter;
|
||||
|
||||
/// <summary>
|
||||
/// 配方管理相关业务类
|
||||
/// </summary>
|
||||
public class FormulaService
|
||||
{
|
||||
private static readonly SqliteHelper Db = SqliteHelper.GetInstance();
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有的配方列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static List<FormulaDTO> GetAllFormulas()
|
||||
{
|
||||
var formulas = Db.ListAll<Formula>();
|
||||
return BeanUtil.CopyProperties<FormulaDTO>(formulas);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据配方id来获取配方信息
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
private static FormulaDTO GetFormulaById(string id)
|
||||
{
|
||||
var formula = Db.GetById<Formula>(id);
|
||||
var dto = BeanUtil.CopyProperties<FormulaDTO>(formula);
|
||||
dto.WorkBenchSetting = GetWorkBenchSettingByFormulaId(id) ?? new WorkBenchSetting();
|
||||
dto.WaferSetting = GetWaferSettingByFormulaId(id) ?? new WaferSetting();
|
||||
dto.PcbSetting = GetPcbSettingByFormulaId(id) ?? new PcbSetting();
|
||||
dto.NeedleSetting = GetNeedleSettingByFormulaId(id) ?? new NeedleSetting();
|
||||
dto.AltimetryParams = GetAltimetryParamsByFormulaId(id) ?? new AltimetryParams();
|
||||
dto.JobSetting = GetJobSettingByFormulaId(id) ?? new JobSetting();
|
||||
dto.AxisPositionParams = GetAxisPositionParamsByFormulaId(id) ?? new AxisPositionParams();
|
||||
dto.AlgorithmParams = GetAlgorithmParamsByFormulaId(id) ?? new AlgorithmParams();
|
||||
dto.AxisVariables = GetAxisVariablesByFormulaId(id) ?? new AxisVariables();
|
||||
return dto;
|
||||
}
|
||||
|
||||
private static NeedleSetting? GetNeedleSettingByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<NeedleSetting>("select * from needle_settings where formulaId = ?", formulaId)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static WorkBenchSetting? GetWorkBenchSettingByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<WorkBenchSetting>("select * from work_bench_settings where formulaId = ?", formulaId)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static PcbSetting? GetPcbSettingByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<PcbSetting>("select * from pcb_settings where formulaId = ?", formulaId).FirstOrDefault();
|
||||
}
|
||||
|
||||
private static WaferSetting? GetWaferSettingByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<WaferSetting>("select * from wafer_settings where formulaId = ?", formulaId).FirstOrDefault();
|
||||
}
|
||||
|
||||
|
||||
private static JobSetting? GetJobSettingByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<JobSetting>("select * from job_settings where formulaId = ?", formulaId)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static AxisVariables? GetAxisVariablesByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<AxisVariables>("select * from axis_variables where formula_id = ?", formulaId)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static AxisPositionParams? GetAxisPositionParamsByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<AxisPositionParams>("select * from axis_position_params where formula_id = ?", formulaId)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static AlgorithmParams? GetAlgorithmParamsByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<AlgorithmParams>("select * from algorithm_params where formula_id = ?", formulaId)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static AltimetryParams? GetAltimetryParamsByFormulaId(string formulaId)
|
||||
{
|
||||
return Db.Query<AltimetryParams>("select * from altimetry_params where formula_id = ?", formulaId)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 定时上报配方数据
|
||||
/// </summary>
|
||||
public static async Task FormulaDataExporter()
|
||||
{
|
||||
try
|
||||
{
|
||||
var formulas = GetAllFormulas();
|
||||
|
||||
foreach (var formula in formulas)
|
||||
{
|
||||
var formulaDto = GetFormulaById(formula.Id);
|
||||
if (formulaDto == null) continue;
|
||||
var data = new ConfigData()
|
||||
{
|
||||
Name = formulaDto.Name,
|
||||
Param = formulaDto,
|
||||
Type = "formula"
|
||||
};
|
||||
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, data);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine($"定时上报配方数据失败: {e}");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,167 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Atrributes;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 算法参数
|
||||
/// </summary>
|
||||
[Table("algorithm_params")]
|
||||
[Description("算法参数")]
|
||||
public class AlgorithmParams : Entity
|
||||
{
|
||||
[Column("formula_id"), Description("配方Id"), Hide]
|
||||
public string FormulaId { get; set; }
|
||||
|
||||
[Column("chip_detect_angle_start")]
|
||||
[Description("芯片识别开始角度")]
|
||||
public double ChipDetectAngleStart { get; set; }
|
||||
|
||||
[Column("chip_detect_angle_extent")]
|
||||
[Description("芯片识别角度范围")]
|
||||
public double ChipDetectAngleExtent { get; set; }
|
||||
|
||||
[Column("chip_max_angle")]
|
||||
[Description("芯片识别最大角度")]
|
||||
public double ChipMaxAngle { get; set; }
|
||||
|
||||
[Column("chip_detect_min_score")]
|
||||
[Description("芯片识别最小分数 eg:0.6")]
|
||||
public double ChipDetectMinScore { get; set; }
|
||||
|
||||
[Column("chip_detect_max_overlap")]
|
||||
[Description("芯片识别最大重叠 eg:0.5")]
|
||||
public double ChipDetectMaxOverlap { get; set; }
|
||||
|
||||
[Column("chip_detect_greediness")]
|
||||
[Description("芯片识别贪婪度 eg:0.9")]
|
||||
public double ChipDetectGreediness { get; set; }
|
||||
|
||||
[Column("solder_joint_chip_detect_angle_start")]
|
||||
[Description("焊点识别 开始角度")]
|
||||
public int SolderJointChipDetectAngleStart { get; set; }
|
||||
|
||||
[Column("solder_joint_chip_detect_angle_extent")]
|
||||
[Description("焊点识别 角度范围")]
|
||||
public int SolderJointChipDetectAngleExtent { get; set; }
|
||||
|
||||
[Column("solder_joint_chip_detect_min_score")]
|
||||
[Description("焊点识别最小分数 eg:0.6")]
|
||||
public double SolderJointChipDetectMinScore { get; set; }
|
||||
|
||||
[Column("solder_joint_chip_detect_max_overlap")]
|
||||
[Description("焊点识别贪婪度 eg:0.9")]
|
||||
public double SolderJointChipDetectGreediness { get; set; }
|
||||
|
||||
[Column("chip_amount_per_row")]
|
||||
[Description("每行芯片数量")]
|
||||
public int ChipAmountPerRow { get; set; }
|
||||
|
||||
[Column("chip_padding_x")]
|
||||
[Description("芯片坐标X轴补偿间距值"), Property(Format = "0.#######")]
|
||||
public double ChipPaddingX { get; set; }
|
||||
|
||||
[Column("chip_padding_y")]
|
||||
[Description("芯片坐标Y轴补偿间距值"), Property(Format = "0.#######")]
|
||||
public double ChipPaddingY { get; set; }
|
||||
|
||||
[Column("chip_constant_x"), Property(Format = "0.#######")]
|
||||
[Description("芯片坐标X轴补偿常量")]
|
||||
public double ChipConstantX { get; set; }
|
||||
|
||||
[Column("chip_constant_y")]
|
||||
[Description("芯片坐标Y轴补偿常量"), Property(Format = "0.#######")]
|
||||
public double ChipConstantY { get; set; }
|
||||
|
||||
[Column("chip_constant_x_for_right2left")]
|
||||
[Description("芯片从右到左方向动打补偿值")]
|
||||
public double ChipConstantXForRight2Left { get; set; }
|
||||
|
||||
[Column("chip_constant_x_for_left2_right")]
|
||||
[Description("芯片从左到右方向动打补偿值")]
|
||||
public double ChipConstantXForLeft2Right { get; set; }
|
||||
|
||||
[Column("chip_multi_of_total_padding_x")]
|
||||
[Description("芯片坐标X轴补偿间距值系数")]
|
||||
public double ChipMultiOfTotalPaddingX { get; set; }
|
||||
|
||||
[Column("chip_multi_of_total_padding_y")]
|
||||
[Description("芯片坐标Y轴补偿间距值系数")]
|
||||
public double ChipMultiOfTotalPaddingY { get; set; }
|
||||
|
||||
[Column("pcb_diff_x_tolerance")]
|
||||
[Description("PCB路径插补3点之间的距离差值容忍值")]
|
||||
public double PcbDiffXTolerance { get; set; }
|
||||
|
||||
[Column("chip_diff_x_tolerance")]
|
||||
[Description("芯片路径插补3点之间的距离差值容忍值")]
|
||||
public double ChipDiffXTolerance { get; set; }
|
||||
|
||||
[Column("pcb_wrap_threshold")]
|
||||
[Description("pcb路径换行逻辑的Y值阈值")]
|
||||
public double PcbWrapThreshold { get; set; }
|
||||
|
||||
[Column("chip_wrap_threshold")]
|
||||
[Description("芯片路径换行逻辑的Y值阈值")]
|
||||
public double ChipWrapThreshold { get; set; }
|
||||
|
||||
[Column("interpolate_wrap_count")]
|
||||
[Description("换行插点数")]
|
||||
public int InterpolateWrapCount { get; set; }
|
||||
|
||||
[Column("pcb_merge_similar_point_windows"), Description("PCB路径合并相似点窗口")]
|
||||
public string PcbMergeSimilarPointWindows { get; set; } = "29,34";
|
||||
|
||||
[Column("chip_merge_similar_point_windows"), Description("芯片路径合并相似点窗口")]
|
||||
public string ChipMergeSimilarPointWindows { get; set; } = "29,34";
|
||||
|
||||
[Column("pcb_row_similar_threshold"), Description("PCB路径行相似度阈值")]
|
||||
public double PcbRowSimilarThreshold { get; set; }
|
||||
|
||||
[Column("pcb_col_similar_threshold"), Description("PCB路径列相似度阈值")]
|
||||
public double PcbColSimilarThreshold { get; set; }
|
||||
|
||||
[Column("chip_row_similar_threshold"), Description("芯片路径行相似度阈值")]
|
||||
public double ChipRowSimilarThreshold { get; set; }
|
||||
|
||||
[Column("chip_col_similar_threshold"), Description("芯片路径列相似度阈值")]
|
||||
public double ChipColSimilarThreshold { get; set; }
|
||||
|
||||
[Column("skip_chips"), Description("跳过芯片数量")]
|
||||
public int SkipChips { get; set; }
|
||||
|
||||
[Column("bin_coordinate_transform_strategy"), Description("晶圆机构坐标转换策略,0:基于角度,1:基于矩阵")]
|
||||
public int BinCoordinateTransformStrategy { get; set; }
|
||||
|
||||
[Column("x_over_speed_distant_threshold"), Description("动打X方向导致加速度过大的3点之间距离差的阈值")]
|
||||
public double XOverSpeedDistantThreshold { get; set; }
|
||||
|
||||
[Column("y_over_speed_distant_threshold"), Description("动打Y方向导致加速度过大的3点之间距离差的阈值")]
|
||||
public double YOverSpeedDistantThreshold { get; set; }
|
||||
|
||||
[Column("from_right_Chip_offset_to_solder_joint_center"), Description("从右到左方向芯片对齐焊点中心需要增加的X偏移量")]
|
||||
public double FromRightChipOffsetToSolderJointCenter { get; set; }
|
||||
|
||||
[Column("from_left_Chip_offset_to_solder_joint_center"), Description("从左到右方向芯片对齐焊点中心需要增加的X偏移量")]
|
||||
public double FromLeftChipOffsetToSolderJointCenter { get; set; }
|
||||
|
||||
[Column("from_right_early_strike_offset"), Description("从右到左方向提前下针的X偏移量")]
|
||||
public double FromRightEarlyStrikeOffset { get; set; }
|
||||
|
||||
[Column("from_left_early_strike_offset"), Description("从左到右方向提前下针的X偏移量")]
|
||||
public double FromLeftEarlyStrikeOffset { get; set; }
|
||||
|
||||
[Column("chip_min_gray"), Description("芯片最小灰度值")]
|
||||
public double ChipMinGray { get; set; }
|
||||
|
||||
[Column("chip_max_gray"), Description("芯片最大灰度值")]
|
||||
public double ChipMaxGray { get; set; }
|
||||
|
||||
[Column("chip_min_area"), Description("芯片筛选最小面积")]
|
||||
public double ChipMinArea { get; set; }
|
||||
|
||||
[Column("chip_max_area"), Description("芯片筛选最大面积")]
|
||||
public double ChipMaxArea { get; set; }
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using MasstransferCommon.Model.Enum;
|
||||
using MasstransferCommon.Utils;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 测高参数
|
||||
/// </summary>
|
||||
[Table("altimetry_params")]
|
||||
[Description("测高参数")]
|
||||
public class AltimetryParams : Entity
|
||||
{
|
||||
[Column("formula_id"), Description("配方Id")]
|
||||
public string FormulaId { get; set; }
|
||||
|
||||
[Column("RowArea"), Description("针刺测高区域行数")]
|
||||
public int RowArea { get; set; }
|
||||
|
||||
[Column("ColumnArea"), Description("针刺测高区域列数")]
|
||||
public int ColumnArea { get; set; }
|
||||
|
||||
[Column(" altimetry_strategy"), Description("测高策略,1:按区域,2:按指定点位")]
|
||||
public AltimetryStrategyEnum Strategy { get; set; }
|
||||
|
||||
[Column("delta_height_of_plane"), Description("测高平面高度补偿值")]
|
||||
public double DeltaHeightOfPlane { get; set; }
|
||||
|
||||
[Column("first_point_per_row_delta_height"), Description("换行第一个点的补偿值")]
|
||||
public double FirstPointPerRowDeltaHeight { get; set; }
|
||||
|
||||
[Column("normal_delta_height"), Description("其他点补偿值")]
|
||||
public double NormalDeltaHeight { get; set; }
|
||||
|
||||
[Column("base_height"), Description("针刺测高基准高度")]
|
||||
public double BaseHeight { get; set; }
|
||||
|
||||
[Column("delta_base_height"), Description("第一个针刺测高值与基准高度的差值")]
|
||||
public double DeltaBaseHeight { get; set; }
|
||||
|
||||
[Column("p2p_delta"), Description("p2p的高度补偿")]
|
||||
public double P2PDelta { get; set; }
|
||||
|
||||
[Column("acupuncture_altimetry_coordinates_json"), Description("针刺测高坐标 eg: [[x1,y1],[x2,y2],[x3,y3]]")]
|
||||
public string AcupunctureAltimetryCoordinatesJson { get; set; }
|
||||
|
||||
[Ignore, Description("针刺测高坐标 eg: [[x1,y1],[x2,y2],[x3,y3]]")]
|
||||
public double[][] AcupunctureAltimetryCoordinates
|
||||
{
|
||||
get => JsonUtil.FromJsonOrDefault<double[][]>(AcupunctureAltimetryCoordinatesJson);
|
||||
set => AcupunctureAltimetryCoordinatesJson = JsonUtil.ToJson(value);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,267 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Atrributes;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferCore.Model.Entity;
|
||||
|
||||
/// <summary>
|
||||
/// ACS 位置参数
|
||||
/// </summary>
|
||||
[Table("axis_position_params"), Description("轴位置参数")]
|
||||
public class AxisPositionParams : MasstransferCommon.Model.Entity.Entity
|
||||
{
|
||||
[Column("formula_id"), Description("配方Id")]
|
||||
public string FormulaId { get; set; }
|
||||
|
||||
|
||||
[Column("wafer_y_manual_position"), Description("晶环龙门Y手动位置"),
|
||||
Property(Group = "WaferY", Variable = "stAxisArPos", Axis = 0, Index = 0)]
|
||||
public double WaferYManualPosition { get; set; }
|
||||
|
||||
[Column("wafer_y_idle_position"), Description("晶环龙门Y待机位置"),
|
||||
Property(Group = "WaferY", Variable = "stAxisArPos", Axis = 0, Index = 1)]
|
||||
public double WaferYIdlePosition { get; set; }
|
||||
|
||||
[Column("wafer_y_loading_position"), Description("晶环龙门Y换料位置"),
|
||||
Property(Group = "WaferY", Variable = "stAxisArPos", Axis = 0, Index = 2)]
|
||||
public double WaferYLoadingPosition { get; set; }
|
||||
|
||||
[Column("wafer_y_camera_position"), Description("晶环龙门Y拍照位置"),
|
||||
Property(Group = "WaferY", Variable = "stAxisArPos", Axis = 0, Index = 3)]
|
||||
public double WaferYCameraPosition { get; set; }
|
||||
|
||||
[Column("wafer_y_scanner_position"), Description("晶环龙门Y扫码位置"),
|
||||
Property(Group = "WaferY", Variable = "stAxisArPos", Axis = 0, Index = 4)]
|
||||
public double WaferYScannerPosition { get; set; }
|
||||
|
||||
|
||||
[Column("needle_y_manual_position"), Description("针刺龙门Y手动位置"),
|
||||
Property(Group = "NeedleY", Variable = "stAxisArPos", Axis = 2, Index = 0)]
|
||||
public double NeedleYManualPosition { get; set; }
|
||||
|
||||
[Column("needle_y_idle_position"), Description("针刺龙门Y待机位置"),
|
||||
Property(Group = "NeedleY", Variable = "stAxisArPos", Axis = 2, Index = 1)]
|
||||
public double NeedleYIdlePosition { get; set; }
|
||||
|
||||
[Column("needle_y_camera_position"), Description("针刺龙门Y拍照位置"),
|
||||
Property(Group = "NeedleY", Variable = "stAxisArPos", Axis = 2, Index = 2)]
|
||||
public double NeedleYCameraPosition { get; set; }
|
||||
|
||||
[Column("needle_y_scanner_position"), Description("针刺龙门Y扫码位置"),
|
||||
Property(Group = "NeedleY", Variable = "stAxisArPos", Axis = 2, Index = 3)]
|
||||
public double NeedleYScannerPosition { get; set; }
|
||||
|
||||
|
||||
[Column("wafer_x_manual_position"), Description("晶环龙门X手动位置"),
|
||||
Property(Group = "WaferX", Variable = "stAxisArPos", Axis = 4, Index = 0)]
|
||||
public double WaferXManualPosition { get; set; }
|
||||
|
||||
[Column("wafer_x_idle_position"), Description("晶环龙门X待机位置"),
|
||||
Property(Group = "WaferX", Variable = "stAxisArPos", Axis = 4, Index = 1)]
|
||||
public double WaferXIdlePosition { get; set; }
|
||||
|
||||
[Column("wafer_x_loading_position"), Description("晶环龙门X换料位置"),
|
||||
Property(Group = "WaferX", Variable = "stAxisArPos", Axis = 4, Index = 2)]
|
||||
public double WaferXLoadingPosition { get; set; }
|
||||
|
||||
[Column("wafer_x_camera_position"), Description("晶环龙门X拍照位置"),
|
||||
Property(Group = "WaferX", Variable = "stAxisArPos", Axis = 4, Index = 3)]
|
||||
public double WaferXCameraPosition { get; set; }
|
||||
|
||||
[Column("wafer_x_scanner_position"), Description("晶环龙门X扫码位置"),
|
||||
Property(Group = "WaferX", Variable = "stAxisArPos", Axis = 4, Index = 4)]
|
||||
public double WaferXScannerPosition { get; set; }
|
||||
|
||||
|
||||
[Column("needle_x_manual_position"), Description("针刺龙门X手动位置"),
|
||||
Property(Group = "NeedleX", Variable = "stAxisArPos", Axis = 5, Index = 0)]
|
||||
public double NeedleXManualPosition { get; set; }
|
||||
|
||||
[Column("needle_x_idle_position"), Description("针刺龙门X待机位置"),
|
||||
Property(Group = "NeedleX", Variable = "stAxisArPos", Axis = 5, Index = 1)]
|
||||
public double NeedleXIdlePosition { get; set; }
|
||||
|
||||
[Column("needle_x_camera_position"), Description("针刺龙门X拍照位置"),
|
||||
Property(Group = "NeedleX", Variable = "stAxisArPos", Axis = 5, Index = 2)]
|
||||
public double NeedleXCameraPosition { get; set; }
|
||||
|
||||
|
||||
[Column("wafer_x_2_manual_position"), Description("晶环龙门X_2手动位置"),
|
||||
Property(Group = "WaferX", Variable = "stAxisArPos", Axis = 6, Index = 0)]
|
||||
public double WaferX2ManualPosition { get; set; }
|
||||
|
||||
[Column("wafer_x2_idle_position"), Description("晶环龙门X_2待机位置"),
|
||||
Property(Group = "WaferX", Variable = "stAxisArPos", Axis = 6, Index = 1)]
|
||||
public double WaferX2IdlePosition { get; set; }
|
||||
|
||||
|
||||
[Column("needle_x2_manual_position"), Description("针刺龙门X_2手动位置"),
|
||||
Property(Group = "NeedleX", Variable = "stAxisArPos", Axis = 7, Index = 0)]
|
||||
public double NeedleX2ManualPosition { get; set; }
|
||||
|
||||
[Column("needle_x2_idle_position"), Description("针刺龙门X_2待机位置"),
|
||||
Property(Group = "NeedleX", Variable = "stAxisArPos", Axis = 7, Index = 1)]
|
||||
public double NeedleX2IdlePosition { get; set; }
|
||||
|
||||
|
||||
[Column("needle_z_motor_manual_position"), Description("针刺音圈Z手动位置"),
|
||||
Property(Group = "NeedleZ", Variable = "stAxisArPos", Axis = 8, Index = 0)]
|
||||
public double NeedleZMotorManualPosition { get; set; }
|
||||
|
||||
[Column("needle_z_motor_idle_position"), Description("针刺音圈Z待机位置"),
|
||||
Property(Group = "NeedleZ", Variable = "stAxisArPos", Axis = 8, Index = 1)]
|
||||
public double NeedleZMotorIdlePosition { get; set; }
|
||||
|
||||
[Column("needle_z_motor_job_position"), Description("针刺音圈Z打晶抬升位置"),
|
||||
Property(Group = "NeedleZ", Variable = "stAxisArPos", Axis = 8, Index = 2)]
|
||||
public double NeedleZMotorJobPosition { get; set; }
|
||||
|
||||
|
||||
[Column("needle_z_servo_manual_position"), Description("针刺伺服Z手动位置"),
|
||||
Property(Group = "NeedleZ", Variable = "stAxisArPos", Axis = 9, Index = 0)]
|
||||
public double NeedleZServoManualPosition { get; set; }
|
||||
|
||||
[Column("needle_z_servo_idle_position"), Description("针刺伺服Z待机位置"),
|
||||
Property(Group = "NeedleZ", Variable = "stAxisArPos", Axis = 9, Index = 1)]
|
||||
public double NeedleZServoIdlePosition { get; set; }
|
||||
|
||||
[Column("needle_z_servo_pcb_camera_position"), Description("针刺伺服Z基板拍照位"),
|
||||
Property(Group = "NeedleZ", Variable = "stAxisArPos", Axis = 9, Index = 2)]
|
||||
public double NeedleZServoPcbCameraPosition { get; set; }
|
||||
|
||||
[Column("needle_z_servo_wafer_camera_position"), Description("针刺伺服Z芯片拍照位"),
|
||||
Property(Group = "NeedleZ", Variable = "stAxisArPos", Axis = 9, Index = 3)]
|
||||
public double NeedleZServoWaferCameraPosition { get; set; }
|
||||
|
||||
[Column("needle_z_servo_job_position"), Description("针刺伺服Z打晶位置"),
|
||||
Property(Group = "NeedleZ", Variable = "stAxisArPos", Axis = 9, Index = 4)]
|
||||
public double NeedleZServoJobPosition { get; set; }
|
||||
|
||||
|
||||
[Column("wafer_z_servo_manual_position"), Description("晶环升降伺服Z手动位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 10, Index = 0)]
|
||||
public double WaferZServoManualPosition { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_idle_position"), Description("晶环升降伺服Z待机位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 10, Index = 1)]
|
||||
public double WaferZServoIdlePosition { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_manual_position"), Description("晶环旋转伺服手动位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 11, Index = 0)]
|
||||
public double WaferRotateServoManualPosition { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_idle_position"), Description("晶环旋转伺服待机位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 11, Index = 1)]
|
||||
public double WaferRotateServoIdlePosition { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_origin_position"), Description("晶环旋转伺服相对原点位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 11, Index = 2)]
|
||||
public double WaferRotateServoOriginPosition { get; set; }
|
||||
|
||||
|
||||
[Column("wafer_z_servo_loading_manual_position"), Description("晶环换料升降伺服手动位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 0)]
|
||||
public double WaferZServoLoadingManualPosition { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_loading_idle_position"), Description("晶环换料升降伺服待机位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 1)]
|
||||
public double WaferZServoLoadingIdlePosition { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_relate_wafer_rotate_servo_loading_idle_position"), Description("晶环换料升降伺服晶环旋转端换料位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 2)]
|
||||
public double WaferZServoRelateWaferRotateServoLoadingIdlePosition { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box1_position"), Description("晶环换料升降伺服晶环料盒1层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 3)]
|
||||
public double WaferZServoToWaferBox1Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box2_position"), Description("晶环换料升降伺服晶环料盒2层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 4)]
|
||||
public double WaferZServoToWaferBox2Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box3_position"), Description("晶环换料升降伺服晶环料盒3层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 5)]
|
||||
public double WaferZServoToWaferBox3Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box4_position"), Description("晶环换料升降伺服晶环料盒4层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 6)]
|
||||
public double WaferZServoToWaferBox4Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box5_position"), Description("晶环换料升降伺服晶环料盒5层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 7)]
|
||||
public double WaferZServoToWaferBox5Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box6_position"), Description("晶环换料升降伺服晶环料盒6层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 8)]
|
||||
public double WaferZServoToWaferBox6Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box7_position"), Description("晶环换料升降伺服晶环料盒7层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 9)]
|
||||
public double WaferZServoToWaferBox7Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box8_position"), Description("晶环换料升降伺服晶环料盒8层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 10)]
|
||||
public double WaferZServoToWaferBox8Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box9_position"), Description("晶环换料升降伺服晶环料盒9层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 11)]
|
||||
public double WaferZServoToWaferBox9Position { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_to_wafer_box10_position"), Description("晶环换料升降伺服晶环料盒10层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 12, Index = 12)]
|
||||
public double WaferZServoToWaferBox10Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_loading_manual_position"), Description("晶环换料平移伺服手动位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 0)]
|
||||
public double WaferTranslationServoLoadingManualPosition { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_loading_idle_position"), Description("晶环换料平移伺服待机位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 1)]
|
||||
public double WaferTranslationServoLoadingIdlePosition { get; set; }
|
||||
|
||||
|
||||
[Column("wafer_translation_servo_relate_wafer_rotate_servo_loading_idle_position"),
|
||||
Description("晶环换料平移伺服晶环旋转端换料位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 2)]
|
||||
public double WaferTranslationServoRelateWaferRotateServoLoadingIdlePosition { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box1_position"), Description("晶环换料平移伺服晶环料盒1层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 3)]
|
||||
public double WaferTranslationServoToWaferBox1Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box2_position"), Description("晶环换料平移伺服晶环料盒2层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 4)]
|
||||
public double WaferTranslationServoToWaferBox2Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box3_position"), Description("晶环换料平移伺服晶环料盒3层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 5)]
|
||||
public double WaferTranslationServoToWaferBox3Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box4_position"), Description("晶环换料平移伺服晶环料盒4层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 6)]
|
||||
public double WaferTranslationServoToWaferBox4Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box5_position"), Description("晶环换料平移伺服晶环料盒5层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 7)]
|
||||
public double WaferTranslationServoToWaferBox5Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box6_position"), Description("晶环换料平移伺服晶环料盒6层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 8)]
|
||||
public double WaferTranslationServoToWaferBox6Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box7_position"), Description("晶环换料平移伺服晶环料盒7层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 9)]
|
||||
public double WaferTranslationServoToWaferBox7Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box8_position"), Description("晶环换料平移伺服晶环料盒8层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 10)]
|
||||
public double WaferTranslationServoToWaferBox8Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box9_position"), Description("晶环换料平移伺服晶环料盒9层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 11)]
|
||||
public double WaferTranslationServoToWaferBox9Position { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_to_wafer_box10_position"), Description("晶环换料平移伺服晶环料盒10层位置"),
|
||||
Property(Group = "WaferLoading", Variable = "stAxisArPos", Axis = 13, Index = 12)]
|
||||
public double WaferTranslationServoToWaferBox10Position { get; set; }
|
||||
}
|
|
@ -0,0 +1,380 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Atrributes;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 轴变量参数
|
||||
/// </summary>
|
||||
[Table("axis_variables"), Description("轴变量")]
|
||||
public class AxisVariables : Entity
|
||||
{
|
||||
[Column("formula_id"), Description("配方Id")]
|
||||
public string FormulaId { get; set; }
|
||||
|
||||
[Column("needle_z_job_compensation"), Description("针刺Z轴工作补偿")]
|
||||
public double NeedleZJobCompensation { get; set; }
|
||||
|
||||
[Column("needle_x_1_flying_trigger_velocity"), Description("针刺X轴飞拍速度")]
|
||||
public double NeedleX1FlyingTriggerVelocity { get; set; }
|
||||
|
||||
[Column("job_frequency"), Description("动打频率")]
|
||||
public int JobFrequency { get; set; }
|
||||
|
||||
[Column("wafer_y_auto_velocity"), Description("晶圆Y轴自动速度")]
|
||||
public int WaferYAutoVelocity { get; set; }
|
||||
|
||||
[Column("wafer_y_auto_acceleration"), Description("晶圆Y轴自动加速度")]
|
||||
public int WaferYAutoAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_y_auto_deceleration"), Description("晶圆Y轴自动减速度")]
|
||||
public int WaferYAutoDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_y_auto_jerk"), Description("晶圆Y轴自动加加速度")]
|
||||
public int WaferYAutoJerk { get; set; }
|
||||
|
||||
[Column("wafer_y_reset_velocity"), Description("晶圆Y轴回原速度")]
|
||||
public int WaferYResetVelocity { get; set; }
|
||||
|
||||
[Column("wafer_y_reset_acceleration"), Description("晶圆Y轴回原加速度")]
|
||||
public int WaferYResetAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_y_reset_deceleration"), Description("晶圆Y轴回原减速度")]
|
||||
public int WaferYResetDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_y_reset_jerk"), Description("晶圆Y轴回原加加速度")]
|
||||
public int WaferYResetJerk { get; set; }
|
||||
|
||||
[Column("needle_y_auto_velocity"), Description("针刺Y轴自动速度")]
|
||||
public int NeedleYAutoVelocity { get; set; }
|
||||
|
||||
[Column("needle_y_auto_acceleration"), Description("针刺Y轴自动加速度")]
|
||||
public int NeedleYAutoAcceleration { get; set; }
|
||||
|
||||
[Column("needle_y_auto_deceleration"), Description("针刺Y轴自动减速度")]
|
||||
public int NeedleYAutoDeceleration { get; set; }
|
||||
|
||||
[Column("needle_y_auto_jerk"), Description("针刺Y轴自动加加速度")]
|
||||
public int NeedleYAutoJerk { get; set; }
|
||||
|
||||
[Column("needle_y_reset_velocity"), Description("针刺Y轴回原速度")]
|
||||
public int NeedleYResetVelocity { get; set; }
|
||||
|
||||
[Column("needle_y_reset_acceleration"), Description("针刺Y轴回原加速度")]
|
||||
public int NeedleYResetAcceleration { get; set; }
|
||||
|
||||
[Column("needle_y_reset_deceleration"), Description("针刺Y轴回原减速度")]
|
||||
public int NeedleYResetDeceleration { get; set; }
|
||||
|
||||
[Column("needle_y_reset_jerk"), Description("针刺Y轴回原加加速度")]
|
||||
public int NeedleYResetJerk { get; set; }
|
||||
|
||||
[Column("wafer_x_auto_velocity"), Description("晶圆X轴自动速度")]
|
||||
public int WaferXAutoVelocity { get; set; }
|
||||
|
||||
[Column("wafer_x_auto_acceleration"), Description("晶圆X轴自动加速度")]
|
||||
public int WaferXAutoAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_x_auto_deceleration"), Description("晶圆X轴自动减速度")]
|
||||
public int WaferXAutoDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_x_auto_jerk"), Description("晶圆X轴自动加加速度")]
|
||||
public int WaferXAutoJerk { get; set; }
|
||||
|
||||
[Column("wafer_x_reset_velocity"), Description("晶圆X回原速度")]
|
||||
public int WaferXResetVelocity { get; set; }
|
||||
|
||||
[Column("wafer_x_reset_acceleration"), Description("晶圆X轴回原加速度")]
|
||||
public int WaferXResetAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_x_reset_deceleration"), Description("晶圆X轴回原减速度")]
|
||||
public int WaferXResetDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_x_reset_jerk"), Description("晶圆X轴回原加加速度")]
|
||||
public int WaferXResetJerk { get; set; }
|
||||
|
||||
[Column("needle_x_auto_velocity"), Description("针刺X轴自动速度")]
|
||||
public int NeedleXAutoVelocity { get; set; }
|
||||
|
||||
[Column("needle_x_auto_acceleration"), Description("针刺X轴自动加速度")]
|
||||
public int NeedleXAutoAcceleration { get; set; }
|
||||
|
||||
[Column("needle_x_auto_deceleration"), Description("针刺X轴自动减速度")]
|
||||
public int NeedleXAutoDeceleration { get; set; }
|
||||
|
||||
[Column("needle_x_auto_jerk"), Description("针刺X轴自动加加速度")]
|
||||
public int NeedleXAutoJerk { get; set; }
|
||||
|
||||
|
||||
[Column("needle_x_reset_velocity"), Description("针刺X回原速度")]
|
||||
public int NeedleXResetVelocity { get; set; }
|
||||
|
||||
[Column("needle_x_reset_acceleration"), Description("针刺X轴回原加速度")]
|
||||
public int NeedleXResetAcceleration { get; set; }
|
||||
|
||||
[Column("needle_x_reset_deceleration"), Description("针刺X轴回原减速度")]
|
||||
public int NeedleXResetDeceleration { get; set; }
|
||||
|
||||
[Column("needle_x_reset_jerk"), Description("针刺X轴回原加加速度")]
|
||||
public int NeedleXResetJerk { get; set; }
|
||||
|
||||
[Column("wafer_x2_auto_velocity"), Description("晶圆X2轴自动速度"),
|
||||
Property(Group = "WaferX", Variable = "axisVel", Axis = 6, Index = 0)]
|
||||
public int WaferX2AutoVelocity { get; set; }
|
||||
|
||||
[Column("wafer_x2_auto_acceleration"), Description("晶圆X2轴自动加速度"),
|
||||
Property(Group = "WaferX", Variable = "axisAcc", Axis = 6, Index = 0)]
|
||||
public int WaferX2AutoAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_x2_auto_deceleration"), Description("晶圆X2轴自动减速度"),
|
||||
Property(Group = "WaferX", Variable = "axisDec", Axis = 6, Index = 0)]
|
||||
public int WaferX2AutoDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_x2_auto_jerk"), Description("晶圆X2轴自动加加速度"),
|
||||
Property(Group = "WaferX", Variable = "axisJerk", Axis = 6, Index = 0)]
|
||||
public int WaferX2AutoJerk { get; set; }
|
||||
|
||||
[Column("wafer_x2_reset_velocity"), Description("晶圆X2回原速度"),
|
||||
Property(Group = "WaferX", Variable = "axisVel", Axis = 6, Index = 1)]
|
||||
public int WaferX2ResetVelocity { get; set; }
|
||||
|
||||
[Column("wafer_x2_reset_acceleration"), Description("晶圆X2轴回原加速度"),
|
||||
Property(Group = "WaferX", Variable = "axisAcc", Axis = 6, Index = 1)]
|
||||
public int WaferX2ResetAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_x2_reset_deceleration"), Description("晶圆X2轴回原减速度"),
|
||||
Property(Group = "WaferX", Variable = "axisDec", Axis = 6, Index = 1)]
|
||||
public int WaferX2ResetDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_x2_reset_jerk"), Description("晶圆X2轴回原加加速度"),
|
||||
Property(Group = "WaferX", Variable = "axisJerk", Axis = 6, Index = 1)]
|
||||
public int WaferX2ResetJerk { get; set; }
|
||||
|
||||
[Column("needle_x2_auto_velocity"), Description("针刺X2轴自动速度"),
|
||||
Property(Group = "NeedleX", Variable = "axisVel", Axis = 7, Index = 0)]
|
||||
public int NeedleX2AutoVelocity { get; set; }
|
||||
|
||||
[Column("needle_x2_auto_acceleration"), Description("针刺X2轴自动加速度"), Property(Group = "NeedleX",
|
||||
Variable = "axisAcc", Axis = 7, Index = 0)]
|
||||
public int NeedleX2AutoAcceleration { get; set; }
|
||||
|
||||
[Column("needle_x2_auto_deceleration"), Description("针刺X2轴自动减速度"),
|
||||
Property(Group = "NeedleX", Variable = "axisDec", Axis = 7, Index = 0)]
|
||||
public int NeedleX2AutoDeceleration { get; set; }
|
||||
|
||||
[Column("needle_x2_auto_jerk"), Description("针刺X2轴自动加加速度"),
|
||||
Property(Group = "NeedleX", Variable = "axisJerk", Axis = 7, Index = 0)]
|
||||
public int NeedleX2AutoJerk { get; set; }
|
||||
|
||||
[Column("needle_x2_reset_velocity"), Description("针刺X2回原速度"),
|
||||
Property(Group = "NeedleX", Variable = "axisVel", Axis = 7, Index = 1)]
|
||||
public int NeedleX2ResetVelocity { get; set; }
|
||||
|
||||
[Column("needle_x2_reset_acceleration"), Description("针刺X2轴回原加速度"),
|
||||
Property(Group = "NeedleX", Variable = "axisAcc", Axis = 7, Index = 1)]
|
||||
public int NeedleX2ResetAcceleration { get; set; }
|
||||
|
||||
[Column("needle_x2_reset_deceleration"), Description("针刺X2轴回原减速度"),
|
||||
Property(Group = "NeedleX", Variable = "axisDec", Axis = 7, Index = 1)]
|
||||
public int NeedleX2ResetDeceleration { get; set; }
|
||||
|
||||
[Column("needle_x2_reset_jerk"), Description("针刺X2轴回原加加速度"),
|
||||
Property(Group = "NeedleX", Variable = "axisJerk", Axis = 7, Index = 1)]
|
||||
public int NeedleX2ResetJerk { get; set; }
|
||||
|
||||
[Column("needle_z_auto_velocity"), Description("针刺升降音圈电机自动速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisVel", Axis = 8, Index = 0)]
|
||||
public int NeedleZAutoVelocity { get; set; }
|
||||
|
||||
[Column("needle_z_auto_acceleration"), Description("针刺升降音圈电机自动加速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisAcc", Axis = 8, Index = 0)]
|
||||
public int NeedleZAutoAcceleration { get; set; }
|
||||
|
||||
[Column("needle_z_auto_deceleration"), Description("针刺升降音圈电机自动减速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisDec", Axis = 8, Index = 0)]
|
||||
public int NeedleZAutoDeceleration { get; set; }
|
||||
|
||||
[Column("needle_z_auto_jerk"), Description("针刺升降音圈电机自动加加速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisJerk", Axis = 8, Index = 0)]
|
||||
public int NeedleZAutoJerk { get; set; }
|
||||
|
||||
[Column("needle_z_reset_velocity"), Description("针刺升降音圈电机回原速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisVel", Axis = 8, Index = 1)]
|
||||
public int NeedleZResetVelocity { get; set; }
|
||||
|
||||
[Column("needle_z_reset_acceleration"), Description("针刺升降音圈电机回原加速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisAcc", Axis = 8, Index = 1)]
|
||||
public int NeedleZResetAcceleration { get; set; }
|
||||
|
||||
[Column("needle_z_reset_deceleration"), Description("针刺升降音圈电机回原减速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisDec", Axis = 8, Index = 1)]
|
||||
public int NeedleZResetDeceleration { get; set; }
|
||||
|
||||
[Column("needle_z_reset_jerk"), Description("针刺升降音圈电机回原加加速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisJerk", Axis = 8, Index = 1)]
|
||||
public int NeedleZResetJerk { get; set; }
|
||||
|
||||
[Column("needle_z_servo_auto_velocity"), Description("针刺升降伺服自动速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisVel", Axis = 9, Index = 0)]
|
||||
public int NeedleZServoAutoVelocity { get; set; }
|
||||
|
||||
[Column("needle_z_servo_auto_acceleration"), Description("针刺升降伺服自动加速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisAcc", Axis = 9, Index = 0)]
|
||||
public int NeedleZServoAutoAcceleration { get; set; }
|
||||
|
||||
[Column("needle_z_servo_auto_deceleration"), Description("针刺升降伺服自动减速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisDec", Axis = 9, Index = 0)]
|
||||
public int NeedleZServoAutoDeceleration { get; set; }
|
||||
|
||||
[Column("needle_z_servo_auto_jerk"), Description("针刺升降伺服自动加加速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisJerk", Axis = 9, Index = 0)]
|
||||
public int NeedleZServoAutoJerk { get; set; }
|
||||
|
||||
[Column("needle_z_servo_reset_velocity"), Description("针刺升降伺服回原速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisVel", Axis = 9, Index = 1)]
|
||||
public int NeedleZServoResetVelocity { get; set; }
|
||||
|
||||
[Column("needle_z_servo_reset_acceleration"), Description("针刺升降伺服回原加速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisAcc", Axis = 9, Index = 1)]
|
||||
public int NeedleZServoResetAcceleration { get; set; }
|
||||
|
||||
[Column("needle_z_servo_reset_deceleration"), Description("针刺升降伺服回原减速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisDec", Axis = 9, Index = 1)]
|
||||
public int NeedleZServoResetDeceleration { get; set; }
|
||||
|
||||
[Column("needle_z_servo_reset_jerk"), Description("针刺升降伺服回原加加速度"),
|
||||
Property(Group = "NeedleZ", Variable = "axisJerk", Axis = 9, Index = 1)]
|
||||
public int NeedleZServoResetJerk { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_auto_velocity"), Description("晶环升降伺服自动速度"),
|
||||
Property(Group = "WaferZ", Variable = "axisVel", Axis = 10, Index = 0)]
|
||||
public int WaferZServoAutoVelocity { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_auto_acceleration"), Description("晶环升降伺服自动加速度"),
|
||||
Property(Group = "WaferZ", Variable = "axisAcc", Axis = 10, Index = 0)]
|
||||
public int WaferZServoAutoAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_auto_deceleration"), Description("晶环升降伺服自动减速度"),
|
||||
Property(Group = "WaferZ", Variable = "axisDec", Axis = 10, Index = 0)]
|
||||
public int WaferZServoAutoDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_auto_jerk"), Description("晶环升降伺服自动加加速度"),
|
||||
Property(Group = "WaferZ", Variable = "axisJerk", Axis = 10, Index = 0)]
|
||||
public int WaferZServoAutoJerk { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_reset_velocity"), Description("晶环升降伺服回原速度"),
|
||||
Property(Group = "WaferZ", Variable = "axisVel", Axis = 10, Index = 1)]
|
||||
public int WaferZServoResetVelocity { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_reset_acceleration"), Description("晶环升降伺服回原加速度"),
|
||||
Property(Group = "WaferZ", Variable = "axisAcc", Axis = 10, Index = 1)]
|
||||
public int WaferZServoResetAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_reset_deceleration"), Description("晶环升降伺服回原减速度"),
|
||||
Property(Group = "WaferZ", Variable = "axisDec", Axis = 10, Index = 1)]
|
||||
public int WaferZServoResetDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_z_servo_reset_jerk"), Description("晶环升降伺服回原加加速度"),
|
||||
Property(Group = "WaferZ", Variable = "axisJerk", Axis = 10, Index = 1)]
|
||||
public int WaferZServoResetJerk { get; set; }
|
||||
|
||||
|
||||
[Column("wafer_rotate_servo_auto_velocity"), Description("晶环旋转伺服自动速度"),
|
||||
Property(Group = "WaferRotate", Variable = "axisVel", Axis = 11, Index = 0)]
|
||||
public int WaferRotateServoAutoVelocity { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_auto_acceleration"), Description("晶环旋转伺服自动加速度"),
|
||||
Property(Group = "WaferRotate", Variable = "axisAcc", Axis = 11, Index = 0)]
|
||||
public int WaferRotateServoAutoAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_auto_deceleration"), Description("晶环旋转伺服自动减速度"),
|
||||
Property(Group = "WaferRotate", Variable = "axisDec", Axis = 11, Index = 0)]
|
||||
public int WaferRotateServoAutoDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_auto_jerk"), Description("晶环旋转伺服自动加加速度"),
|
||||
Property(Group = "WaferRotate", Variable = "axisJerk", Axis = 11, Index = 0)]
|
||||
public int WaferRotateServoAutoJerk { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_reset_velocity"), Description("晶环旋转伺服回原速度"),
|
||||
Property(Group = "WaferRotate", Variable = "axisVel", Axis = 11, Index = 1)]
|
||||
public int WaferRotateServoResetVelocity { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_reset_acceleration"), Description("晶环旋转伺服回原加速度"),
|
||||
Property(Group = "WaferRotate", Variable = "axisAcc", Axis = 11, Index = 1)]
|
||||
public int WaferRotateServoResetAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_reset_deceleration"), Description("晶环旋转伺服回原减速度"),
|
||||
Property(Group = "WaferRotate", Variable = "axisDec", Axis = 11, Index = 1)]
|
||||
public int WaferRotateServoResetDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_rotate_servo_reset_jerk"), Description("晶环旋转伺服回原加加速度"),
|
||||
Property(Group = "WaferRotate", Variable = "axisJerk", Axis = 11, Index = 1)]
|
||||
public int WaferRotateServoResetJerk { get; set; }
|
||||
|
||||
[Column("wafer_up_down_servo_auto_velocity"), Description("晶环上料升降步进自动速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisVel", Axis = 12, Index = 0)]
|
||||
public int WaferUpDownServoAutoVelocity { get; set; }
|
||||
|
||||
[Column("wafer_up_down_servo_auto_acceleration"), Description("晶环上料升降步进自动加速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisAcc", Axis = 12, Index = 0)]
|
||||
public int WaferUpDownServoAutoAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_up_down_servo_auto_deceleration"), Description("晶环上料升降步进自动减速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisDec", Axis = 12, Index = 0)]
|
||||
public int WaferUpDownServoAutoDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_up_down_servo_auto_jerk"), Description("晶环上料升降步进自动加加速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisJerk", Axis = 12, Index = 0)]
|
||||
public int WaferUpDownServoAutoJerk { get; set; }
|
||||
|
||||
[Column("wafer_up_down_servo_reset_velocity"), Description("晶环上料升降步进回原速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisVel", Axis = 12, Index = 1)]
|
||||
public int WaferUpDownServoResetVelocity { get; set; }
|
||||
|
||||
[Column("wafer_up_down_servo_reset_acceleration"), Description("晶环上料升降步进回原加速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisAcc", Axis = 12, Index = 1)]
|
||||
public int WaferUpDownServoResetAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_up_down_servo_reset_deceleration"), Description("晶环上料升降步进回原减速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisDec", Axis = 12, Index = 1)]
|
||||
public int WaferUpDownServoResetDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_up_down_servo_reset_jerk"), Description("晶环上料升降步进回原加加速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisJerk", Axis = 12, Index = 1)]
|
||||
public int WaferUpDownServoResetJerk { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_auto_velocity"), Description("晶环上料平移步进自动速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisVel", Axis = 13, Index = 0)]
|
||||
public int WaferTranslationServoAutoVelocity { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_auto_acceleration"), Description("晶环上料平移步进自动加速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisAcc", Axis = 13, Index = 0)]
|
||||
public int WaferTranslationServoAutoAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_auto_deceleration"), Description("晶环上料平移步进自动减速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisDec", Axis = 13, Index = 0)]
|
||||
public int WaferTranslationServoAutoDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_auto_jerk"), Description("晶环上料平移步进自动加加速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisJerk", Axis = 13, Index = 0)]
|
||||
public int WaferTranslationServoAutoJerk { get; set; }
|
||||
|
||||
|
||||
[Column("wafer_translation_servo_reset_velocity"), Description("晶环上料平移步进回原速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisVel", Axis = 13, Index = 1)]
|
||||
public int WaferTranslationServoResetVelocity { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_acceleration"), Description("晶环上料平移步进回原加速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisAcc", Axis = 13, Index = 1)]
|
||||
public int WaferTranslationServoAcceleration { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_deceleration"), Description("晶环上料平移步进回原减速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisDec", Axis = 13, Index = 1)]
|
||||
public int WaferTranslationServoDeceleration { get; set; }
|
||||
|
||||
[Column("wafer_translation_servo_reset_jerk"), Description("晶环上料平移步进回原加加速度"),
|
||||
Property(Group = "WaferLoading", Variable = "axisJerk", Axis = 13, Index = 1)]
|
||||
public int WaferTranslationServoResetJerk { get; set; }
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Atrributes;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using MasstransferCommon.Model.Enum;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
[Table("camera_internal_params"), Description("相机内部参数")]
|
||||
public class CameraInternalParams : Entity
|
||||
{
|
||||
[Column("type"), Description("参数类型")] public string Type { get; set; }
|
||||
|
||||
[Column("balance_ratio"), Description("白平衡值")]
|
||||
public int BalanceRatio { get; set; }
|
||||
|
||||
[Column("exposure_time"), Description("曝光时间"), Property(Min = 15, Max = 2000)]
|
||||
public int ExposureTime { get; set; }
|
||||
|
||||
[Column("exposure_auto"), Description("自动曝光")]
|
||||
public bool ExposureAuto { get; set; }
|
||||
|
||||
[Column("gain"), Description("增益")] public float Gain { get; set; }
|
||||
|
||||
[Column("gain_auto"), Description("自动增益")]
|
||||
public GainAutoEnum GainAuto { get; set; }
|
||||
|
||||
[Column("black_level"), Description("灰度值")]
|
||||
public float BlackLevel { get; set; }
|
||||
|
||||
[Column("black_level_enable"), Description("黑电平调节使能")]
|
||||
public bool BlackLevelEnable { get; set; }
|
||||
|
||||
[Column("balance_white_auto"), Description("自动白平衡")]
|
||||
public bool BalanceWhiteAuto { get; set; }
|
||||
|
||||
[Column("resulting_frame_rate"), Description("实际采集帧率fps")]
|
||||
public float ResultingFrameRate { get; set; }
|
||||
|
||||
[Column("gamma"), Description("gamma值"), Property(Min = 0, Max = 4)]
|
||||
public float Gamma { get; set; }
|
||||
|
||||
[Column("gamma_enable"), Description("是否gamma使能")]
|
||||
public bool GammaEnable { get; set; }
|
||||
|
||||
[Column("line_mode"), Description("IO 模式")]
|
||||
public LineModeEnum LineMode { get; set; }
|
||||
|
||||
[Column("line_selector"), Description("IO 选择")]
|
||||
public LineSelectorEnum LineSelector { get; set; }
|
||||
|
||||
[Column("trigger_activation"), Description("触发激活")]
|
||||
public TriggerActivationEnum TriggerActivation { get; set; }
|
||||
|
||||
[Column("trigger_mode"), Description("触发模式")]
|
||||
public TriggerModeEnum TriggerMode { get; set; }
|
||||
|
||||
[Column("trigger_source"), Description("触发源")]
|
||||
public TriggerSourceEnum TriggerSource { get; set; }
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Atrributes;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 相机参数
|
||||
/// </summary>
|
||||
[Table("camera_params")]
|
||||
[Description("相机参数")]
|
||||
public class CameraParams : Entity
|
||||
{
|
||||
[Column("camera_sn"), Description("相机序列号")]
|
||||
public string CameraSn { get; set; }
|
||||
|
||||
[Column("sdk"), Description("SDK")] public string Sdk { get; set; }
|
||||
|
||||
[Column("dll"), Description("DLL")] public string Dll { get; set; }
|
||||
|
||||
[Column("scale_ratio"), Description("视频缩放比例")]
|
||||
public double ScaleRatio { get; set; }
|
||||
|
||||
[Column("pixel_length"), Description("像素长度"), Property(Format = "0.########")]
|
||||
public double PixelLength { get; set; }
|
||||
|
||||
[Column("deflect_angle"), Description("相机偏转角度"), Property(Format = "0.#####")]
|
||||
public double DeflectAngle { get; set; }
|
||||
|
||||
[Column("camera_inner_param_template"), Description("相机内参模板")]
|
||||
public string CameraInnerParamTemplate { get; set; }
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 配置数据
|
||||
/// </summary>
|
||||
public class ConfigData
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Type { get; set; }
|
||||
|
||||
public object Param { get; set; }
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 配方信息
|
||||
/// </summary>
|
||||
[Table("formulas")]
|
||||
public class Formula : Entity
|
||||
{
|
||||
[Column("name"), Description("配方名称")] public string Name { get; set; }
|
||||
|
||||
[Column("code"), Description("配方编码")] public string Code { get; set; }
|
||||
|
||||
[Column("description"), Description("配方描述")]
|
||||
public string Description { get; set; }
|
||||
|
||||
[Column("selected"), Description("是否启用")]
|
||||
public bool Selected { get; set; }
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 配方参数信息
|
||||
/// </summary>
|
||||
public class FormulaConfig
|
||||
{
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using MasstransferCore.Model.Entity;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 配方信息
|
||||
/// </summary>
|
||||
public class FormulaDTO
|
||||
{
|
||||
public string Id { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public string Code { get; set; }
|
||||
|
||||
public string Description { get; set; }
|
||||
|
||||
public bool Selected { get; set; }
|
||||
|
||||
public WorkBenchSetting? WorkBenchSetting { get; set; }
|
||||
|
||||
public PcbSetting? PcbSetting { get; set; }
|
||||
|
||||
public WaferSetting? WaferSetting { get; set; }
|
||||
|
||||
public NeedleSetting? NeedleSetting { get; set; }
|
||||
|
||||
public AltimetryParams? AltimetryParams { get; set; }
|
||||
public JobSetting? JobSetting { get; set; }
|
||||
|
||||
public AxisVariables? AxisVariables { get; set; }
|
||||
|
||||
public AxisPositionParams? AxisPositionParams { get; set; }
|
||||
|
||||
public AlgorithmParams? AlgorithmParams { get; set; }
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 作业配置
|
||||
/// </summary>
|
||||
[Table("job_settings")]
|
||||
public class JobSetting : Entity
|
||||
{
|
||||
[Column("formulaId"), Description("配方Id")]
|
||||
public string? FormulaId { get; set; }
|
||||
|
||||
[Column("batch_no"), Description("批次号")]
|
||||
public string? BatchNo { get; set; }
|
||||
|
||||
[Column("chip_amount_per_batch"), Description("每批次的芯片数量")]
|
||||
public int ChipAmountPerBatch { get; set; }
|
||||
|
||||
[Column("strike_detect_threshold"), Description("每次动打数量检测阈值")]
|
||||
public int StrikeDetectThreshold { get; set; }
|
||||
|
||||
[Column("max_re_strike_times"), Description("最大补打次数")]
|
||||
public int MaxReStrikeTimes { get; set; }
|
||||
|
||||
[Column("missing_threshold"), Description("最大漏打数量阈值")]
|
||||
public int MissingThreshold { get; set; }
|
||||
|
||||
[Column("batch_preset_capacity"), Description("批次预设容量")]
|
||||
public int BatchPresetCapacity { get; set; }
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 日志参数
|
||||
/// </summary>
|
||||
[Table("log_params")]
|
||||
[Description("日志参数")]
|
||||
public class LogParams : Entity
|
||||
{
|
||||
[Column("level"), Description("日志级别")] public string? Level { get; set; }
|
||||
|
||||
[Column("path"), Description("日志存放路径")]
|
||||
public string? Path { get; set; }
|
||||
|
||||
[Column("upload_corn"), Description("日志上传时间")]
|
||||
public string? UploadCorn { get; set; }
|
||||
|
||||
[Column("upload_levels"), Description("日志上传级别")]
|
||||
public string? UploadLevels { get; set; }
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
[Table("minio_params"), Description("MinIO参数")]
|
||||
public class MinioParams : Entity
|
||||
{
|
||||
[Column("minio_access_key"), Description("Minio AccessKey")]
|
||||
public string MinioAccessKey { get; set; }
|
||||
|
||||
[Column("minio_secret_key"), Description("Minio SecretKey")]
|
||||
public string MinioSecretKey { get; set; }
|
||||
|
||||
[Column("minio_bucket"), Description("Minio Bucket")]
|
||||
public string MinioBucket { get; set; }
|
||||
|
||||
[Column("minio_endpoint"), Description("Minio Endpoint")]
|
||||
public string MinioEndpoint { get; set; }
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Atrributes;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
[Table("mqtt_params"), Description("Mqtt连接参数")]
|
||||
public class MqttParams : Entity
|
||||
{
|
||||
[Column("server_address"), Description("服务器地址")]
|
||||
public string ServerAddress { get; set; }
|
||||
|
||||
[Column("port"), Description("端口")] public int Port { get; set; }
|
||||
|
||||
[Column("user_name"), Description("用户名")]
|
||||
public string UserName { get; set; }
|
||||
|
||||
[Column("password"), Description("密码"), Property(IsPassword = true)]
|
||||
public string Password { get; set; }
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 生产配方-针刺机构配置参数
|
||||
/// </summary>
|
||||
[Table("needle_settings")]
|
||||
public class NeedleSetting : Entity
|
||||
{
|
||||
[Column("formulaId"), Description("配方Id")]
|
||||
public string FormulaId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 基础下针高度
|
||||
/// </summary>
|
||||
[Column("base_acupuncture_high"), Description("基础下针高度")]
|
||||
public double BaseAcupunctureHigh { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 针刺x坐标相对于激光x坐标的偏移值
|
||||
/// </summary>
|
||||
[Column("delta_x_between_pcb_and_laser"), Description("针刺x坐标相对于激光x坐标的偏移值")]
|
||||
public double DeltaXBetweenPcbAndLaser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 针刺y坐标相对于激光y坐标的偏移值
|
||||
/// </summary>
|
||||
[Column("delta_y_between_pcb_and_laser"), Description("针刺y坐标相对于激光y坐标的偏移值")]
|
||||
public double DeltaYBetweenPcbAndLaser { get; set; }
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using MasstransferCommon.Model.Enum;
|
||||
using SQLite;
|
||||
using ChipColorEnum = MasstransferCommon.Model.Entity.ChipColorEnum;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 生产配方-pcb设置参数
|
||||
/// </summary>
|
||||
[Table("pcb_settings"), Description("PCB设置")]
|
||||
public class PcbSetting : Entity
|
||||
{
|
||||
[Column("formulaId"), Description("配方Id")]
|
||||
public string? FormulaId { get; set; }
|
||||
|
||||
[Column("type"), Description("基材类型")] public SubstrateTypeEnum TypeEnum { get; set; }
|
||||
|
||||
|
||||
[Column("solder_joint_width"), Description("焊点宽度")]
|
||||
public double SolderJointWidth { get; set; }
|
||||
|
||||
[Column("solder_joint_height"), Description("焊点高度")]
|
||||
public double SolderJointHeight { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 焊点内间距
|
||||
/// </summary>
|
||||
[Column("padding"), Description("焊点内间距")]
|
||||
public double Padding { get; set; }
|
||||
|
||||
[Column("row_margin"), Description("焊点的行间距")]
|
||||
public double RowMargin { get; set; }
|
||||
|
||||
[Column("column_margin"), Description("焊点的列间距")]
|
||||
public double ColumnMargin { get; set; }
|
||||
|
||||
[Column("row"), Description("行数")] public int Row { get; set; }
|
||||
|
||||
[Column("column"), Description("列数")] public int Column { get; set; }
|
||||
|
||||
[Column("strike_direction"), Description("动打方向")]
|
||||
public DirectionEnum StrikeDirection { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// RGB 1;R,2:G,3:B
|
||||
/// </summary>
|
||||
[Column("rgb"), Description("RGB")]
|
||||
public ChipColorEnum ChipColor { get; set; }
|
||||
|
||||
[Column("pcb_chip_amount_per_row"), Description("每行PCB芯片数量")]
|
||||
public int PcbChipAmountPerRow { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// PCB模板
|
||||
/// </summary>
|
||||
[Column("pcb_template"), Description("PCB模板")]
|
||||
public string? PcbTemplate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Mark1模板
|
||||
/// </summary>
|
||||
[Column("mark1_template"), Description("Mark1模板")]
|
||||
public string? Mark1Template { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Mark2模板
|
||||
/// </summary>
|
||||
[Column("mark2_template"), Description("Mark2模板")]
|
||||
public string? Mark2Template { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Mark3模板
|
||||
/// </summary>
|
||||
[Column("mark3_template"), Description("Mark3模板")]
|
||||
public string? Mark3Template { get; set; }
|
||||
|
||||
[Column("mark_origin_coordinates_json"), Description("Mark点的像素坐标系下对应像素原点的针刺坐标")]
|
||||
[Obsolete("已废弃,使用WorkBenchSetting.SolderJointX 配置")]
|
||||
public string MarkOriginCoordinatesJson { get; set; }
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using MasstransferCommon.Model.Enum;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 扫码器参数
|
||||
/// </summary>
|
||||
[Table("scanner_params"), Description("扫描枪参数")]
|
||||
public class ScannerParams : Entity
|
||||
{
|
||||
[Column("interface_enum"), Description("扫码枪接口类型")]
|
||||
public ScannerInterfaceEnum InterfaceEnum { get; set; }
|
||||
|
||||
[Column("wafer_ip_address"), Description("晶环扫描枪IP地址")]
|
||||
public string WaferIpAddress { get; set; }
|
||||
|
||||
[Column("wafer_port"), Description("晶环扫描枪端口号")]
|
||||
public int WaferPort { get; set; }
|
||||
|
||||
[Column("wafer_port_name"), Description("晶环扫码枪串口名称")]
|
||||
public string WaferPortName { get; set; }
|
||||
|
||||
[Column("wafer_baud_rate"), Description("晶环扫码枪波特率")]
|
||||
public int WaferBaudRate { get; set; }
|
||||
|
||||
[Column("wafer_scan_delay"), Description("晶环扫码枪扫描间隔")]
|
||||
public int WaferScanDelay { get; set; }
|
||||
|
||||
[Column("pcb_ip_address"), Description("PCB扫描枪IP地址")]
|
||||
public string PcbIpAddress { get; set; }
|
||||
|
||||
[Column("pcb_port"), Description("PCB扫描枪端口号")]
|
||||
public int PcbPort { get; set; }
|
||||
|
||||
[Column("pcb_port_name"), Description("PCB扫码枪串口名称")]
|
||||
public string PcbPortName { get; set; }
|
||||
|
||||
[Column("pcb_baud_rate"), Description("PCB扫码枪枪波特率")]
|
||||
public int PcbBaudRate { get; set; }
|
||||
|
||||
[Column("pcb_scan_delay"), Description("PCB扫码枪枪扫描间隔")]
|
||||
public int PcbScanDelay { get; set; }
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 系统参数
|
||||
/// </summary>
|
||||
[Table("system_params")]
|
||||
[Description("系统参数")]
|
||||
public class SystemParams : Entity
|
||||
{
|
||||
[Column("device_type"), Description("设备类型")]
|
||||
public string? DeviceType { get; set; }
|
||||
|
||||
[Column("version"), Description("版本号")]
|
||||
public string? Version { get; set; }
|
||||
|
||||
[Column("name"), Description("名称")] public string? Name { get; set; }
|
||||
|
||||
[Column("acs_ip"), Description("ACS 控制器IP")]
|
||||
public string AcsIp { get; set; }
|
||||
|
||||
[Column("image_storage_path"), Description("照片存储路径")]
|
||||
public string? ImageStoragePath { get; set; }
|
||||
|
||||
[Column("camera_viewer_storage_path"), Description("相机预览控件图片存储路径")]
|
||||
public string? CameraViewerStoragePath { get; set; }
|
||||
|
||||
[Column("enable_auto_clear_image"), Description("是否自动清除历史照片")]
|
||||
public bool EnableAutoClearImage { get; set; }
|
||||
|
||||
[Column("retained_day"), Description("照片保留天数")]
|
||||
public int RetainedDay { get; set; }
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 系统参数DTO
|
||||
/// </summary>
|
||||
public class SystemParamsDTO
|
||||
{
|
||||
public CameraParams CameraParams { get; set; }
|
||||
|
||||
public SystemParams SystemParams { get; set; }
|
||||
|
||||
public LogParams LogParams { get; set; }
|
||||
|
||||
public ScannerParams ScannerParams { get; set; }
|
||||
|
||||
public CameraInternalParams WaferCameraInternalParams { get; set; }
|
||||
|
||||
public CameraInternalParams SubstrateCameraInternalParams { get; set; }
|
||||
|
||||
public MinioParams MinioParams { get; set; }
|
||||
|
||||
public MqttParams MqttParams { get; set; }
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 生产配方-wafer配置参数
|
||||
/// </summary>
|
||||
[Table("wafer_settings")]
|
||||
public class WaferSetting : Entity
|
||||
{
|
||||
[Column("formulaId"), Description("配方Id")]
|
||||
public string FormulaId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 芯片间距
|
||||
/// </summary>
|
||||
[Column("pitch"), Description("芯片间距")]
|
||||
public double Pitch { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 芯片高
|
||||
/// </summary>
|
||||
[Column("height"), Description("芯片高")]
|
||||
public double Height { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 芯片宽
|
||||
/// </summary>
|
||||
[Column("width"), Description("芯片宽")]
|
||||
public double Width { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 合并行容忍度
|
||||
/// </summary>
|
||||
[Column("row_similar_threshold"), Description("合行容忍度")]
|
||||
public double RowSimilarThreshold { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 合并列容忍度
|
||||
/// </summary>
|
||||
[Column("column_similar_threshold"), Description("合列容忍度")]
|
||||
public double ColumnSimilarThreshold { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 芯片最大旋转角度
|
||||
/// </summary>
|
||||
[Column("max_angle"), Description("芯片最大旋转角度")]
|
||||
public double MaxAngle { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 芯片模板
|
||||
/// </summary>
|
||||
[Column("bin_template"), Description("芯片模板")]
|
||||
public string BinTemplate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 芯片ncc模板
|
||||
/// </summary>
|
||||
[Column("bin_ncc_template"), Description("芯片ncc模板")]
|
||||
public string BinNccTemplate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 标定模板
|
||||
/// </summary>
|
||||
[Column("calibration_template"), Description("标定模板")]
|
||||
public string CalibrationTemplate { get; set; }
|
||||
}
|
|
@ -0,0 +1,93 @@
|
|||
using System.ComponentModel;
|
||||
using MasstransferCommon.Model.Entity;
|
||||
using SQLite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter.Model;
|
||||
|
||||
/// <summary>
|
||||
/// 生产配方-工作台配置参数
|
||||
/// </summary>
|
||||
[Table("work_bench_settings")]
|
||||
public class WorkBenchSetting : Entity
|
||||
{
|
||||
// 所属的配方id
|
||||
[Column("formulaId"), Description("配方Id")]
|
||||
public string FormulaId { get; set; }
|
||||
|
||||
[Column("bin_scan_start_x"), Description("晶圆飞拍时PCB机构开始X坐标")]
|
||||
public double BinScanStartX { get; set; }
|
||||
|
||||
[Column("bin_scan_start_y"), Description("晶圆飞拍时PCB机构开始Y坐标")]
|
||||
public double BinScanStartY { get; set; }
|
||||
|
||||
[Column("bin_scan_end_x"), Description("晶圆飞拍时PCB机构结束X坐标")]
|
||||
public double BinScanEndX { get; set; }
|
||||
|
||||
[Column("bin"), Description("晶圆飞拍时PCB机构结束Y坐标")]
|
||||
public double BinScanEndY { get; set; }
|
||||
|
||||
[Column("bin_scan_distance_x"), Description("晶圆飞拍X轴间距")]
|
||||
public double BinScanDistanceX { get; set; }
|
||||
|
||||
[Column("bin_scan_distance_y"), Description("晶圆飞拍Y轴间距")]
|
||||
public double BinScanDistanceY { get; set; }
|
||||
|
||||
[Column("bin_scan_move_x"), Description("晶圆飞拍初始X坐标")]
|
||||
public double BinScanMoveX { get; set; }
|
||||
|
||||
[Column("bin_scan_move_y"), Description("晶圆飞拍初始Y坐标")]
|
||||
public double BinScanMoveY { get; set; }
|
||||
|
||||
[Column("bin_scan_Height"), Description("晶圆飞拍相机高度")]
|
||||
public double BinScanHeight { get; set; }
|
||||
|
||||
[Column("pcb_scan_Height"), Description("PCB飞拍相机高度")]
|
||||
public double PcbScanHeight { get; set; }
|
||||
|
||||
[Column("solder_joint_x1"), Description("焊点1拍照坐标X")]
|
||||
public double SolderJointX1 { get; set; }
|
||||
|
||||
[Column("solder_joint_y1"), Description("焊点1拍照坐标Y")]
|
||||
public double SolderJointY1 { get; set; }
|
||||
|
||||
[Column("solder_joint_x2"), Description("焊点2拍照坐标X")]
|
||||
public double SolderJointX2 { get; set; }
|
||||
|
||||
[Column("solder_joint_y2"), Description("焊点2拍照坐标Y")]
|
||||
public double SolderJointY2 { get; set; }
|
||||
|
||||
[Column("solder_joint_x3"), Description("焊点3拍照坐标X")]
|
||||
public double SolderJointX3 { get; set; }
|
||||
|
||||
[Column("solder_joint_y3"), Description("焊点3拍照坐标Y")]
|
||||
public double SolderJointY3 { get; set; }
|
||||
|
||||
[Column("pcb_scan_origin_offset"), Description("基板扫描原点补偿值")]
|
||||
public double PcbScanOriginOffset { get; set; }
|
||||
|
||||
[Column("bin_scan_origin_offset"), Description("芯片飞拍原点补偿值")]
|
||||
public double BinScanOriginOffset { get; set; }
|
||||
|
||||
[Column("result_detect_origin_offset"), Description("结果检测原点补偿值")]
|
||||
public double ResultDetectOriginOffset { get; set; }
|
||||
|
||||
[Column("detect_pcb_x_distance"), Description("结果检测时pcbX飞拍间距")]
|
||||
public double DetectPcbXDistance { get; set; }
|
||||
|
||||
[Column("detect_pcb_y_distance"), Description("结果检测时pcbY轴飞拍间距")]
|
||||
public double DetectPcbYDistance { get; set; }
|
||||
|
||||
[Column("delta_x_between_acupuncture_and_bin_structure"),
|
||||
Description("晶圆机构每移动1单位相对于针刺机构移动的x补偿值, binx*(1+DeltaXBetweenAcupunctureAndBinStructure) = pcbx")]
|
||||
public double DeltaXBetweenAcupunctureAndBinStructure { get; set; }
|
||||
|
||||
[Column("delta_Y_between_acupuncture_and_bin_structure"),
|
||||
Description("晶圆机构每移动1单位相对于针刺机构移动的y补偿值, biny*(1+DeltaYBetweenAcupunctureAndBinStructure) = pcby")]
|
||||
public double DeltaYBetweenAcupunctureAndBinStructure { get; set; }
|
||||
|
||||
[Column("angle_between_acupuncture_and_bin_structure"), Description("晶圆机构与针刺机构的夹角")]
|
||||
public double AngleBetweenAcupunctureAndBinStructure { get; set; }
|
||||
|
||||
[Column("bin_calibration_scan_Height"), Description("晶圆机构标定拍照高度")]
|
||||
public double BinCalibrationScanHeight { get; set; }
|
||||
}
|
|
@ -0,0 +1,149 @@
|
|||
using MasstransferCommon.Model.Constant;
|
||||
using MasstransferCommunicate.Mqtt.Client;
|
||||
using MasstransferExporter.DataExporter.Model;
|
||||
using MasstransferInfrastructure.Database.Sqlite;
|
||||
|
||||
namespace MasstransferExporter.DataExporter;
|
||||
|
||||
/// <summary>
|
||||
/// 系统配置参数服务
|
||||
/// </summary>
|
||||
public class SystemParamsService
|
||||
{
|
||||
private static readonly SqliteHelper Db = SqliteHelper.GetInstance();
|
||||
|
||||
/// <summary>
|
||||
/// 系统参数上报
|
||||
/// </summary>
|
||||
public static async Task SystemParamsExporter()
|
||||
{
|
||||
try
|
||||
{
|
||||
var cameraParams = new ConfigData()
|
||||
{
|
||||
Name = "相机配置",
|
||||
Param = GetCameraParams(),
|
||||
Type = "system"
|
||||
};
|
||||
|
||||
var substrateCameraInternalParams = new ConfigData()
|
||||
{
|
||||
Name = "基板拍照相机内参",
|
||||
Param = GetSubstrateParams(),
|
||||
Type = "system"
|
||||
};
|
||||
|
||||
var waferCameraInternalParams = new ConfigData()
|
||||
{
|
||||
Name = "芯片拍照相机内参",
|
||||
Param = GetWaferParams(),
|
||||
Type = "system"
|
||||
};
|
||||
var logParams = new ConfigData()
|
||||
{
|
||||
Name = "日志配置",
|
||||
Param = GetLogParams(),
|
||||
Type = "system"
|
||||
};
|
||||
|
||||
var systemParams = new ConfigData()
|
||||
{
|
||||
Name = "系统配置",
|
||||
Param = GetSystemParams(),
|
||||
Type = "system"
|
||||
};
|
||||
|
||||
var scannerParams = new ConfigData()
|
||||
{
|
||||
Name = "扫描器配置",
|
||||
Param = GetScannerParams(),
|
||||
Type = "system"
|
||||
};
|
||||
|
||||
var minioParams = new ConfigData()
|
||||
{
|
||||
Name = "MinIO配置",
|
||||
Param = GetMinioParams(),
|
||||
Type = "system"
|
||||
};
|
||||
|
||||
var mqttParams = new ConfigData()
|
||||
{
|
||||
Name = "MQTT配置",
|
||||
Param = GetMqttConnectParams(),
|
||||
Type = "system"
|
||||
};
|
||||
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, cameraParams);
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, substrateCameraInternalParams);
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, waferCameraInternalParams);
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, logParams);
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, systemParams);
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, scannerParams);
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, minioParams);
|
||||
await MessageQueueHelper.Publish(Topics.ReportConfigData, mqttParams);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine($"系统配置参数上报失败: {e}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static CameraParams? GetCameraParams()
|
||||
{
|
||||
return Db.Query<CameraParams>("select * from camera_params limit 1")
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取wafer相机参数
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static CameraInternalParams? GetWaferParams()
|
||||
{
|
||||
return Db.Query<CameraInternalParams>("select * from camera_internal_params where type = 'wafer'")
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取基材相机参数
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static CameraInternalParams? GetSubstrateParams()
|
||||
{
|
||||
return Db.Query<CameraInternalParams>("select * from camera_internal_params where type = 'substrate'")
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static LogParams? GetLogParams()
|
||||
{
|
||||
return Db.Query<LogParams>("select * from log_params limit 1")
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static SystemParams? GetSystemParams()
|
||||
{
|
||||
return Db.Query<SystemParams>("select * from system_params limit 1")
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
|
||||
private static ScannerParams? GetScannerParams()
|
||||
{
|
||||
return Db.Query<ScannerParams>("select * from scanner_params limit 1")
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static MinioParams? GetMinioParams()
|
||||
{
|
||||
return Db.Query<MinioParams>("select * from minio_params limit 1")
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
private static MqttParams? GetMqttConnectParams()
|
||||
{
|
||||
return Db.Query<MqttParams>("select * from mqtt_params limit 1")
|
||||
.FirstOrDefault();
|
||||
}
|
||||
}
|
|
@ -32,7 +32,7 @@ public class LogFileExporter
|
|||
|
||||
foreach (var file in files)
|
||||
{
|
||||
var fileName = $"sn/{TimeUtil.FormatTime(yesterday, "yyyy-MM-dd")}/{level}/{file.Name}";
|
||||
var fileName = $"123456/{TimeUtil.FormatTime(yesterday, "yyyy-MM-dd")}/{level}/{file.Name}";
|
||||
|
||||
await _minio.UploadFileAsync("log", fileName, file.FullName);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
using MasstransferCommunicate.Mqtt.Client;
|
||||
using MasstransferExporter.LogExporter;
|
||||
using MasstransferExporter.DataExporter;
|
||||
using MasstransferInfrastructure.Mqtt.Model;
|
||||
|
||||
class Program
|
||||
|
@ -15,7 +15,7 @@ class Program
|
|||
|
||||
await MessageQueueHelper.InitConnect(options);
|
||||
|
||||
await LogFileExporter.ExportLogFile();
|
||||
await SystemParamsService.SystemParamsExporter();
|
||||
|
||||
|
||||
Console.WriteLine("按任意键退出");
|
||||
|
|
Loading…
Reference in New Issue