private string WriteEdgeCuttingDatasFunc(ushort flib, List <EdgeCuttingDataToCncDto> edgeCuttings) { Focas1.IODBEDGE2 list = new Focas1.IODBEDGE2(); int i = 0; foreach (var prop in list.GetType().GetProperties()) { if (i >= edgeCuttings.Count()) { break; } var angle = edgeCuttings[i].Angle.GetDecimals(); var gap = edgeCuttings[i].Gap.GetDecimals(); var r_len = edgeCuttings[i].RecoveryDistance.GetDecimals(); var r_feed = edgeCuttings[i].RecoveryFeedrate.GetDecimals(); prop.SetValue(list, new Focas1.IODBEDGE2_data() { slct = 32767, power = edgeCuttings[i].Power, freq = edgeCuttings[i].Frequency, duty = edgeCuttings[i].Duty, g_press = (short)(edgeCuttings[i].GasPressure * 100), g_kind = edgeCuttings[i].GasCode, pier_t = edgeCuttings[i].PiercingTime, angle = angle.Item1, gap = gap.Item1, r_len = r_len.Item1, r_feed = r_feed.Item1, r_freq = edgeCuttings[i].RecoveryFrequency, r_duty = edgeCuttings[i].RecoveryDuty, gap_axis = edgeCuttings[i].GapAxis, angle_dec = (char)angle.Item2, gap_dec = (char)gap.Item2, r_len_dec = (char)r_len.Item2, r_feed_dec = (char)r_feed.Item2, pb_power = edgeCuttings[i].PbPower, }, null); i++; if (i >= LaserLibraryEdgeCuttingDataQuantity) { break; } } short num = LaserLibraryEdgeCuttingDataQuantity; var ret = Focas1.cnc_wrpscdedge2(flib, 201, ref num, list); if (ret != 0) { var err_msg = GetEdgeCuttingDataErrorMessage(flib); return($"写入尖角参数错误,{err_msg}"); } return(null); }
public string WriteSingleEdgeCuttingData(ushort flib, EdgeCuttingDataToCncDto edgeCutting) { Focas1.IODBEDGE2 list = new Focas1.IODBEDGE2(); var angle = edgeCutting.Angle.GetDecimals(); var gap = edgeCutting.Gap.GetDecimals(); var r_len = edgeCutting.RecoveryDistance.GetDecimals(); var r_feed = edgeCutting.RecoveryFeedrate.GetDecimals(); list.data1.slct = 32767; list.data1.power = edgeCutting.Power; list.data1.freq = edgeCutting.Frequency; list.data1.duty = edgeCutting.Duty; list.data1.g_press = (short)(edgeCutting.GasPressure * 100); list.data1.g_kind = edgeCutting.GasCode; list.data1.pier_t = edgeCutting.PiercingTime; list.data1.angle = angle.Item1; list.data1.gap = gap.Item1; list.data1.r_len = r_len.Item1; list.data1.r_feed = r_feed.Item1; list.data1.r_freq = edgeCutting.RecoveryFrequency; list.data1.r_duty = edgeCutting.RecoveryDuty; list.data1.gap_axis = edgeCutting.GapAxis; list.data1.angle_dec = (char)angle.Item2; list.data1.gap_dec = (char)gap.Item2; list.data1.r_len_dec = (char)r_len.Item2; list.data1.r_feed_dec = (char)r_feed.Item2; list.data1.pb_power = edgeCutting.PbPower; short num = 1; short start_num = edgeCutting.ENo; var ret = Focas1.cnc_wrpscdedge2(flib, start_num, ref num, list); if (ret != 0) { var err_msg = GetEdgeCuttingDataErrorMessage(flib); return($"写入尖角参数错误,{err_msg}"); } FreeConnect(flib); return(null); }