using Bro.Common.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Bro.Common.Model { public class ScrewResult : ICSVOutput { public DateTime DT { get; set; } /// /// 锁螺丝PSet序号 /// public int PSetNo { get; set; } = 1; /// /// 产品序号 /// public string SN { get; set; } /// /// 螺丝序号 /// public int ScrewIndex { get; set; } /// /// 螺丝枪反馈的结果 true OK false NG /// public bool Result { get; set; } = false; /// /// 检测是否浮钉 true:浮钉 false: 不是浮钉 /// public bool IsFloatingScrew { get; set; } = false; /// /// 浮钉检测的扭矩相关角度 /// public float TorqueRelatedAngle { get; set; } /// /// 浮钉检测的步骤相关角度 /// public float StepRelatedAngle { get; set; } /// /// 扭矩变化最大斜率 /// public float MaxTorqueSlope { get; set; } /// /// 最终力矩 /// public float LastTorque { get; set; } /// /// 最终角度 /// public float LastAngle { get; set; } /// /// 力矩波形图数据 /// public List CurveTorque { get; set; } = new List(); /// /// 角度波形图数据 /// public List CurveAngle { get; set; } = new List(); /// /// NG描述 /// public string ErrorCode { get; set; } /// /// 步骤扭矩集合 /// public float[] TorqueList { get; set; } = new float[3]; /// /// 步骤角度集合 /// public float[] AngleList { get; set; } = new float[3]; public string GetCSVHead() { List heads = new List() { "Time", "SN", "ScrewIndex", "Result", "PSetNo", "IsFloating", "FinalTorque", "FinalAngle", "Step1Torque", "Step1Angle", "Step2Torque", "Step2Angle", "Step3Torque", "Step3Angle", "TorqueRelatedAngle", "StepRelatedAngle", "MaxTorqueSlope", "NGDesc" }; return string.Join(",", heads); } public string GetCSVData() { List datas = new List() { DT.ToString("HH:mm:ss"), SN, ScrewIndex.ToString(), Result?"OK":"NG", PSetNo.ToString(), IsFloatingScrew?"Floating":"No", LastTorque.ToString("f2"), LastAngle.ToString("f2"), TorqueList[0].ToString("f2"), AngleList[0].ToString("f2"), TorqueList[1].ToString("f2"), AngleList[1].ToString("f2"), TorqueList[2].ToString("f2"), AngleList[2].ToString("f2"), TorqueRelatedAngle.ToString("f2"), StepRelatedAngle.ToString("f2"), MaxTorqueSlope.ToString("f2"), ErrorCode, }; return string.Join(",", datas); } } }