Exemplo n.º 1
0
        private double GetFollowHeight(PierceParameters para)
        {
            double height = para.NozzleHeight;
            double max    = GlobalModel.Params.LayerConfig.FollowMaxHeight;

            if (height > max)
            {
                height = max;
            }
            return(height);
        }
Exemplo n.º 2
0
 private void UpdateMachineInfo(MachineInformation info, PierceParameters piercePara)
 {
     info.Delay += piercePara.DelayTime / 1000.0;
     if (piercePara.IsStepTime)
     {
         info.Delay += piercePara.StepTime / 1000.0;
     }
     if (piercePara.IsExtraPuffing)
     {
         info.Delay += piercePara.ExtraPuffing / 1000.0;
     }
 }
Exemplo n.º 3
0
 private void PierceCore(PierceParameters para, CancellationToken token)
 {
     //Control Axis Z
     this.MoveZ(this.GetFollowHeight(para), token);
     //Control gas
     if (SystemContext.Hardware?.IsBlowingOn == false)
     {
         SystemContext.Hardware?.SetBlowingPara(para.GasKind, para.GasPressure);
         SystemContext.Hardware?.BlowingOn();
         this.OnBlowingEnabledChanged?.Invoke(true);
         double delay = GlobalModel.Params.LayerConfig.OpenAirDelay;
         if (this.isFirst)
         {
             delay += GlobalModel.Params.LayerConfig.FirstOpenAirDelay;
         }
         token.WaitHandle.WaitOne((int)delay);
     }
     //Control focus
     //Control laser
     if (this.config.LaserEnabled)
     {
         var laserPara = new LaserParameter
         {
             FrequencyHz       = para.PulseFrequency,
             DutyCircle        = para.PulseDutyFactorPercent,
             VoltagePercentage = para.PowerPercent
         };
         SystemContext.Hardware?.LaserOn(laserPara);
         this.OnLaserEnabledChanged?.Invoke(true);
         this.OnLaserParaChanged?.Invoke(laserPara);
         //Delay -> (Laser off -> Delay -> Laser on)
         token.WaitHandle.WaitOne((int)para.DelayTime);
         if (para.IsExtraPuffing)
         {
             SystemContext.Hardware?.LaserOff();
             this.OnLaserEnabledChanged?.Invoke(false);
             token.WaitHandle.WaitOne((int)para.ExtraPuffing);
         }
     }
 }