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