private string WritePiercingDatasFunc(ushort flib, List <PiercingDataToCncDto> piercings) { Focas1.IODBPIRC list = new Focas1.IODBPIRC(); short i = 0; foreach (var prop in list.GetType().GetProperties()) { if (i >= piercings.Count()) { break; } var def_pos = piercings[i].StandardDisplacement.GetDecimalsWithReference(piercings[i].StandardDisplacement2); var def_pos2 = piercings[i].StandardDisplacement2.GetDecimalsWithReference(piercings[i].StandardDisplacement); prop.SetValue(list, new Focas1.IODBPIRC_data() { slct = 32767, power = piercings[i].Power, freq = piercings[i].Frequency, duty = piercings[i].Duty, i_freq = piercings[i].StepFrequency, i_duty = piercings[i].StepDuty, step_t = piercings[i].StepTime, step_sum = piercings[i].StepQuantity, pier_t = piercings[i].PiercingTime, g_press = (short)(piercings[i].GasPressure * 100), g_kind = piercings[i].GasCode, g_time = (short)(piercings[i].GasSettingTime * 10), def_pos = (short)def_pos.Item1, def_pos2 = (short)def_pos2.Item1, gap_axis = piercings[i].GapAxis, def_pos2_dec = (char)def_pos2.Item2, pb_power = piercings[i].PbPower, }, null); i++; if (i >= LaserLibraryPiercingDataQuantity) { break; } } short num = LaserLibraryPiercingDataQuantity; var ret = Focas1.cnc_wrpscdpirc(flib, 101, ref num, list); if (ret != 0) { var err_msg = GetPiercingDataErrorMessage(flib); return($"写入穿孔参数错误,{err_msg}"); } return(null); }
public string WriteSinglePiercingData(ushort flib, PiercingDataToCncDto piercing) { Focas1.IODBPIRC list = new Focas1.IODBPIRC(); var def_pos = piercing.StandardDisplacement.GetDecimalsWithReference(piercing.StandardDisplacement2); var def_pos2 = piercing.StandardDisplacement2.GetDecimalsWithReference(piercing.StandardDisplacement); list.data1.slct = 32767; list.data1.power = piercing.Power; list.data1.freq = piercing.Frequency; list.data1.duty = piercing.Duty; list.data1.i_freq = piercing.StepFrequency; list.data1.i_duty = piercing.StepDuty; list.data1.step_t = piercing.StepTime; list.data1.step_sum = piercing.StepQuantity; list.data1.pier_t = piercing.PiercingTime; list.data1.g_press = (short)(piercing.GasPressure * 100); list.data1.g_kind = piercing.GasCode; list.data1.g_time = (short)(piercing.GasSettingTime * 10); list.data1.def_pos = (short)def_pos.Item1; list.data1.def_pos2 = (short)def_pos2.Item1; list.data1.gap_axis = piercing.GapAxis; list.data1.def_pos2_dec = (char)def_pos2.Item2; list.data1.pb_power = piercing.PbPower; short num = 1; short start_num = piercing.ENo; var ret = Focas1.cnc_wrpscdpirc(flib, start_num, ref num, list); if (ret != 0) { var err_msg = GetPiercingDataErrorMessage(flib); return($"写入穿孔参数错误,{err_msg}"); } return(null); }