Ejemplo n.º 1
0
        private void timer1_Tick(object sender, System.EventArgs e)
        {
            if (!this.Visible || axis == null)
            {
                timer1.Enabled = false;
                return;
            }

            EnableBtn.State  = axis.IsEnabled;
            PositionLbl.Text = axis.GetActualPosition().ToString("F2") + axis.Unit;
        }
Ejemplo n.º 2
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                //Console.Beep(600, 200);
                timer1.Enabled = false;
                if (!_simulationX)
                {
                    _actualPositionX = Math.Round(_axisX.GetActualPosition(), 3);
                    //Application.DoEvents();
                }

                if (!_simulationY)
                {
                    _actualPositionY = Math.Round(_axisY.GetActualPosition(), 3);
                    //Application.DoEvents();
                }

                if (!_simulationTheta)
                {
                    _actualPositionTheta = Math.Round(_axisTheta.GetActualPosition(), 3);
                    //Application.DoEvents();
                }
                Application.DoEvents();

                touchscreenNumBoxActualPositionX.Text = Math.Round(_actualPositionX, 3).ToString();
                touchscreenNumBoxTeachPositionX.Text  = _teachPositionX.ToString();

                touchscreenNumBoxActualPositionY.Text = Math.Round(_actualPositionY, 3).ToString();
                touchscreenNumBoxTeachPositionY.Text  = _teachPositionY.ToString();

                touchscreenNumBoxActualPositionTheta.Text = Math.Round(_actualPositionTheta, 3).ToString();
                touchscreenNumBoxTeachPositionTheta.Text  = _teachPositionTheta.ToString();

                // Enable status
                ledToggleEnableX.State = _axisX.IsEnabled;
            }
            catch (Exception ex)
            {
                labelStatus.Text = ex.Message;
            }
            timer1.Enabled = true;
        }
Ejemplo n.º 3
0
        private void timer1_Tick(object sender, System.EventArgs e)
        {
            if (this.Visible == false)
            {
                timer1.Enabled = false;
                return;
            }

            if (axis != null)
            {
                try
                {
                    ledEnabled.State = axis.IsEnabled;
                    ledHomed.State   = axis.IsHomed;

                    buttonHome.Enabled = axis.IsEnabled;
                    buttonMove.Enabled = axis.IsEnabled && ledHomed.State;
                    buttonStop.Enabled = axis.IsEnabled;

                    fmtActualPosition.Number  = axis.GetActualPosition();
                    fmtCommandPosition.Number = axis.GetCommandPosition();

                    if (checkHomedStatus)
                    {
                        TimeSpan elapsed = DateTime.Now.Subtract(homeStart);
                        if (elapsed.Seconds > 10)
                        {
                            checkHomedStatus = false;
                            if (!axis.IsHomed)
                            {
                                DisplayError("Failed to home within 10 seconds");
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    DisplayError("Status update error: " + ex.Message);
                }
            }
        }
Ejemplo n.º 4
0
        public void BoundaryCheck()
        {
            if (HSTMachine.Workcell.HSTSettings.Install.OperationMode == OperationMode.Simulation)
            {
                return;
            }

            try
            {
                double dMoveDownPos = _teachPointRecipe.InputEEPickHeight;//lowest position in operation range

                if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog)
                {
                    Log.Info(this, "InputEE Axis before move position:{0}, Target position:{1}, Acce:{2}, Dece:{3}, Vel:{4}", _InputEndEffectorZAxis.GetActualPosition(), dMoveDownPos, _axesProfile.InputEEZ.Acceleration, _axesProfile.InputEEZ.Deceleration, _axesProfile.InputEEZ.Velocity);
                }

                if (!_workcell.IsIgnoreHomeAxisForByPass)
                {
                    _InputEndEffectorZAxis.MoveAbsolute(_axesProfile.InputEEZ.Acceleration, _axesProfile.InputEEZ.Velocity, dMoveDownPos, _moveTimeout);

                    while (_InputEndEffectorZAxis.GetActualPosition() < dMoveDownPos - 10)
                    {
                        MessageBox.Show(string.Format("{0}: Actual Position not tally with target position after move done", this));
                        if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog)
                        {
                            Log.Info(this, "InputEEMoveZAxis. _InputEndEffectorZAxis.GetActualPosition():{0} targetposition:{1}", _InputEndEffectorZAxis.GetActualPosition(), dMoveDownPos);
                        }
                        Thread.Sleep(100);
                    }
                }

                if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog)
                {
                    Log.Info(this, "InputEE Axis after move position:{0}, Target position:{1}, Acce:{2}, Dece:{3}, Vel:{4}", _InputEndEffectorZAxis.GetActualPosition(), dMoveDownPos, _axesProfile.InputEEZ.Acceleration, _axesProfile.InputEEZ.Deceleration, _axesProfile.InputEEZ.Velocity);
                }
            }
            catch (Exception ex)
            {
                HSTException.Throw(HSTErrors.InputHandlerZAxisMoveDownError, ex);
            }

            try
            {
                double dMoveUpPos = _teachPointRecipe.InputEESafeHeight;//highest position in operation range

                if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog)
                {
                    Log.Info(this, "InputEE Axis before move position:{0}, Target position:{1}, Acce:{2}, Dece:{3}, Vel:{4}", _InputEndEffectorZAxis.GetActualPosition(), dMoveUpPos, _axesProfile.InputEEZ.Acceleration, _axesProfile.InputEEZ.Deceleration, _axesProfile.InputEEZ.Velocity);
                }

                if (!_workcell.IsIgnoreHomeAxisForByPass)
                {
                    _InputEndEffectorZAxis.MoveAbsolute(_axesProfile.InputEEZ.Acceleration, _axesProfile.InputEEZ.Velocity, dMoveUpPos, _moveTimeout);

                    while (_InputEndEffectorZAxis.GetActualPosition() > dMoveUpPos + 10)
                    {
                        MessageBox.Show(string.Format("{0}: Actual Position not tally with target position after move done", this));
                        if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog)
                        {
                            Log.Info(this, "InputEE MoveZAxis. _InputEndEffectorZAxis.GetActualPosition():{0} targetposition:{1}", _InputEndEffectorZAxis.GetActualPosition(), dMoveUpPos);
                        }
                        Thread.Sleep(100);
                    }
                }

                if (HSTMachine.Workcell.HSTSettings.Install.EnableDebugLog)
                {
                    Log.Info(this, "InputEE Axis after move position:{0}, Target position:{1}, Acce:{2}, Dece:{3}, Vel:{4}", _InputEndEffectorZAxis.GetActualPosition(), dMoveUpPos, _axesProfile.InputEEZ.Acceleration, _axesProfile.InputEEZ.Deceleration, _axesProfile.InputEEZ.Velocity);
                }
            }
            catch (Exception ex)
            {
                HSTException.Throw(HSTErrors.InputHandlerZAxisMoveUpError, ex);
            }
        }