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);
        }