示例#1
0
 public ParameterCEtherCATMotion(string folderPath, string fileName)
     : base(folderPath, fileName)
 {
     _cardNo            = 16;
     strVel             = 0;
     constVel           = 100;
     endVel             = 0;
     tAcc               = 0.1;
     tDec               = 0.1;
     accVel             = 100;
     decVel             = 100;
     homeMode           = 28;
     homeSwitchVel      = 50;
     homeZeroVel        = 5;
     homeAccVel         = 100;
     homeOffset         = 0;
     homeTimeout        = 60;
     jogMicroSpeed      = 0.1;
     jogLowSpeed        = 1;
     jogMidSpeed        = 5;
     jogHighSpeed       = 10;
     jogMaxSpeed        = 20;
     distPerRole        = 1;
     pulsePerRole       = 1;
     pulseMode          = PulseMode.AB_Phase;
     encMode            = EncMode.CW_CCW;
     logicORG           = true;
     logicZ             = false;
     logicSvon          = true;
     inPositionPrecise  = 0.001;
     stopCmdWaitSeconds = 0;
 }
示例#2
0
        public ParameterM314(string folderPath, string fileName)
            : base(folderPath, fileName)
        {
            strVelA = 50;
            devVelA = 100;
            accVelA = 0.1;
            decVelA = 0.1;

            strVelM = 5;
            devVelM = 10;
            accVelM = 0.1;
            decVelM = 0.1;

            oPRDevVelH   = 50;
            creepStrVelH = 1;
            creepDevVelH = 5;
            creepAccVelH = 0.1;
            creepDecVelH = 0.1;
            offsetH      = 0;

            jogMicroSpeed = 0.1;
            jogLowSpeed   = 1;
            jogMidSpeed   = 5;
            jogHighSpeed  = 10;
            jogMaxSpeed   = 20;

            distPerRole  = 1;
            pulsePerRole = 1;

            homeMode  = HomeMode.OnePoint;
            pulseMode = PulseMode.CW_CCW_Falling_edge;
            encMode   = EncMode.X4;

            encDir             = 0;
            logicORG           = true;
            logicEZ            = false;
            logicSD            = true;
            logicLTC           = true;
            clearDelay         = 1;
            latchSource        = 0;
            doubleHomeInitKey  = true;
            isActive           = true;
            enabled            = true;
            homeTimeout        = 600000;
            doubleHomeTimeout  = 600000;
            softLimitEnabled   = false;
            inPositionPrecise  = 0.001;
            stopCmdWaitSeconds = 0;
        }
示例#3
0
 public bool SetPulseMode(short axis, PulseMode plm)
 {
     lock (lockObj)
     {
         if (plm == PulseMode.PLDI)
         {
             LTDMC.dmc_set_pulse_outmode(usCardNo, (ushort)axis, 0);
         }
         else
         {
             LTDMC.dmc_set_pulse_outmode(usCardNo, (ushort)axis, 4);
         }
     }
     return(true);
 }
示例#4
0
 public bool SetPulseMode(short axis, PulseMode plm)
 {
     lock (lockObj)
     {
         if (plm == PulseMode.PLDI)
         {
             gts.mc.GT_StepDir(usCardNo, (short)(axis + 1));
         }
         else
         {
             gts.mc.GT_StepPulse(usCardNo, (short)(axis + 1));
         }
     }
     return(true);
 }
 public bool SetPulseMode(short sAxis, PulseMode plm)
 {
     lock (lockObj)
     {
         if (plm == PulseMode.PLDI)
         {
             Dmc1000.d1000_set_pls_outmode((ushort)sAxis, 0);
         }
         else
         {
             Dmc1000.d1000_set_pls_outmode((ushort)sAxis, 4);
         }
     }
     return(true);
 }
示例#6
0
        public bool SetPulseMode(short axis, PulseMode psm)
        {
            bool sRtn = false;

            lock (lockObj)
            {
                if (psm == PulseMode.PLDI)
                {
                    sRtn = APS168_W64.APS168.APS_set_axis_param_f(axis, (int)APS_Define_W32.APS_Define.PRA_PLS_IPT_MODE, 0) == 0 ? true : false;
                }
                else
                {
                    sRtn = APS168_W64.APS168.APS_set_axis_param_f(axis, (int)APS_Define_W32.APS_Define.PRA_PLS_IPT_MODE, 1) == 0 ? true : false;
                }
            }
            return(sRtn);
        }
示例#7
0
 public ParameterL122M2X4(string folderPath, string fileName)
     : base(folderPath, fileName)
 {
     isActive           = true;
     strVelA            = 50;
     devVelA            = 100;
     accVelA            = 0.1;
     decVelA            = 0.1;
     strVelM            = 5;
     devVelM            = 10;
     accVelM            = 0.1;
     decVelM            = 0.1;
     creepStrVelH       = 1;
     creepDevVelH       = 5;
     creepAccVelH       = 0.1;
     creepDecVelH       = 0.1;
     oPRDevVelH         = 50;
     offsetH            = 0;
     jogMicroSpeed      = 0.1;
     jogLowSpeed        = 1;
     jogMidSpeed        = 5;
     jogHighSpeed       = 10;
     jogMaxSpeed        = 20;
     distPerRole        = 1;
     pulsePerRole       = 1;
     maxVel             = 20000;
     homeMode           = HomeMode.OnePoint;
     pulseMode          = PulseMode.AB_Phase;
     encMode            = EncMode.CW_CCW;
     encDir             = 0;
     logicORG           = true;
     logicZ             = false;
     logicSD            = true;
     logicLTC           = true;
     clearDelay         = 1;
     softLimitEnabled   = false;
     inPositionPrecise  = 0.001;
     stopCmdWaitSeconds = 0;
 }
示例#8
0
 public bool SetPulseMode(short axis, PulseMode psm)
 {
     return(true);
 }
示例#9
0
 /// <summary>
 /// Creates a new pulse that is triggered based on an internal event/signal
 /// </summary>
 /// <param name="timeBase">The timebase of the pulse</param>
 /// <param name="delay">The ticks of the off-phase</param>
 /// <param name="width">The ticks of the on-phase</param>
 /// <param name="signalType">The type of trigger signal line</param>
 /// <param name="triggerEvent">The internal trigger event</param>
 /// <param name="signalPolarity">The polarity of the trigger signal</param>
 /// <param name="outputType">The type of pulse output line</param>
 /// <param name="outputNumber">The output line identifier</param>
 /// <param name="outputPolarity">The polarity of the on-phase</param>
 /// <param name="pulseMode">The pulse generation mode</param>
 public IMGPulse(PulseTimebase timeBase, uint delay, uint width, IMG_SIGNAL_TYPE signalType, InternalSignalIdentifier triggerEvent, TriggerPolarity signalPolarity, IMG_SIGNAL_TYPE outputType, uint outputNumber, PulsePolarity outputPolarity, PulseMode pulseMode)
 {
     if (signalType != IMG_SIGNAL_TYPE.IMG_SIGNAL_STATUS)
     {
         throw new ArgumentException("signalType", "If an internal event is specified to trigger pulse generation, the signal type must be IMG_SIGNAL_STATUS!");
     }
     NIImaq.CheckError(NIImaq.imgPulseCreate2(timeBase, delay, width, signalType, triggerEvent, signalPolarity, outputType, outputNumber, outputPolarity, pulseMode, ref _plsId));
 }
示例#10
0
 /// <summary>
 /// Creates a new pulse that is triggered based on an external line
 /// </summary>
 /// <param name="timeBase">The timebase of the pulse</param>
 /// <param name="delay">The ticks of the off-phase</param>
 /// <param name="width">The ticks of the on-phase</param>
 /// <param name="signalType">The type of trigger signal line</param>
 /// <param name="signalIdentifier">The trigger signal line identifier</param>
 /// <param name="signalPolarity">The polarity of the trigger signal</param>
 /// <param name="outputType">The type of pulse output line</param>
 /// <param name="outputNumber">The output line identifier</param>
 /// <param name="outputPolarity">The polarity of the on-phase</param>
 /// <param name="pulseMode">The pulse generation mode</param>
 public IMGPulse(PulseTimebase timeBase, uint delay, uint width, IMG_SIGNAL_TYPE signalType, uint signalIdentifier, TriggerPolarity signalPolarity, IMG_SIGNAL_TYPE outputType, uint outputNumber, PulsePolarity outputPolarity, PulseMode pulseMode)
 {
     NIImaq.CheckError(NIImaq.imgPulseCreate2(timeBase, delay, width, signalType, signalIdentifier, signalPolarity, outputType, outputNumber, outputPolarity, pulseMode, ref _plsId));
 }