public string WriteSingleSlopeControlData(ushort flib, SlopeControlDataToCncDto slopeControl) { Focas1.IODBPWRCTL list = new Focas1.IODBPWRCTL(); var feed_r = slopeControl.FeedrateR.GetDecimals(); list.data1.slct = 16383; list.data1.power_min = slopeControl.PowerMin; list.data1.pwr_sp_zr = slopeControl.PowerSpeedZero; list.data1.freq_min = slopeControl.FrequencyMin; list.data1.freq_sp_zr = slopeControl.FrequencySpeedZero; list.data1.duty_min = slopeControl.DutyMin; list.data1.duty_sp_zr = slopeControl.DutySpeedZero; list.data1.feed_r_dec = (char)feed_r.Item2; list.data1.feed_r = feed_r.Item1; list.data1.ag_press_min = slopeControl.GasPressMin; list.data1.ag_press_sp_zr = slopeControl.GasPressSpeedZero; list.data1.pb_power_min = slopeControl.PbPowerMin; list.data1.pb_pwr_sp_zr = slopeControl.PbPowerSpeedZero; short num = 1; short start_num = slopeControl.ENo; var ret = Focas1.cnc_wrlpscdpwrctl(flib, start_num, ref num, list); if (ret != 0) { var err_msg = GetSlopeControlDataErrorMessage(flib); return($"写入功率控制参数错误,{err_msg}"); } return(null); }
private string WriteSlopeControlDatasFunc(ushort flib, List <SlopeControlDataToCncDto> slopeControls) { Focas1.IODBPWRCTL list = new Focas1.IODBPWRCTL(); short i = 0; foreach (var prop in list.GetType().GetProperties()) { if (i >= slopeControls.Count()) { break; } var feed_r = slopeControls[i].FeedrateR.GetDecimals(); prop.SetValue(list, new Focas1.IODBPWRCTL_data() { slct = 16383, power_min = slopeControls[i].PowerMin, pwr_sp_zr = slopeControls[i].PowerSpeedZero, freq_min = slopeControls[i].FrequencyMin, freq_sp_zr = slopeControls[i].FrequencySpeedZero, duty_min = slopeControls[i].DutyMin, duty_sp_zr = slopeControls[i].DutySpeedZero, feed_r_dec = (char)feed_r.Item2, feed_r = feed_r.Item1, ag_press_min = slopeControls[i].GasPressMin, ag_press_sp_zr = slopeControls[i].GasPressSpeedZero, pb_power_min = slopeControls[i].PbPowerMin, pb_pwr_sp_zr = slopeControls[i].PbPowerSpeedZero, }, null); i++; if (i >= LaserLibrarySlopeControlDataQuantity) { break; } } short num = LaserLibrarySlopeControlDataQuantity; var ret = Focas1.cnc_wrlpscdpwrctl(flib, 901, ref num, list); if (ret != 0) { var err_msg = GetSlopeControlDataErrorMessage(flib); return($"写入功率控制参数错误,{err_msg}"); } return(null); }