public enuPositionerStatus SetAxisAbsolutePosition(enuAxes _axis, double _position) { if (Settings.AutoValidateParam) { if (ValidateAxisAbsolutePosition(_axis, ref _position) != enuPositionerStatus.Ready) { return(mPosStatus); } double mSpeed = 0; if (GetAxisSpeed(_axis, ref mSpeed) != enuPositionerStatus.Ready) { return(mPosStatus); } if (ValidateAxisSpeed(_axis, ref mSpeed) != enuPositionerStatus.Ready) { return(mPosStatus); } } if (mPosStatus == enuPositionerStatus.Ready) { HWStatus = LogError(Positioner.MoveAbsSingleAxis(AxisIndex(_axis), _position, true)); //if (HWStatus == enuHWStatus.Ready) mPosStatus = enuPositionerStatus.Ready; } return(mPosStatus); }
public enuHWStatus Connect() { hwStatus = enuHWStatus.NotInitialized; _serialPort = new SerialPort(); _serialPort.PortName = "COM" + Convert.ToString(Settings.COMPort); _serialPort.BaudRate = Settings.Baudrate; _serialPort.Parity = Settings.Parity; _serialPort.DataBits = Settings.Databits; _serialPort.StopBits = Settings.StopBits; _serialPort.Handshake = Settings.Handshake; //todo auto eacho parameter _serialPort.ReadTimeout = 500; _serialPort.WriteTimeout = 500; //Bind the events on the following event handler _serialPort.ErrorReceived += new SerialErrorReceivedEventHandler(SerialErrorReceived); _serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); _serialPort.Open(); _serialPort.DiscardInBuffer(); _serialPort.DiscardOutBuffer(); if (Status().HasFlag(enuPumpStatus.Ready)) { hwStatus = enuHWStatus.Ready; } else { log.Add("Could not initiate pump!"); } return(hwStatus); }
private enuHWStatus RemeasureAxes(int _axis) { enuHWStatus stat = enuHWStatus.Ready; stat |= LogError(Positioner.RMeasureEx(Convert.ToInt16(Math.Pow(_axis, 2)))); return(stat); }
public enuHWStatus Connect() { hwStatus = enuHWStatus.NotInitialized; _serialPort = new SerialPort(); _serialPort.PortName = "COM" + Convert.ToString(Settings.COMPort); _serialPort.BaudRate = Settings.Baudrate; _serialPort.Parity = Settings.Parity; _serialPort.DataBits = Settings.Databits; _serialPort.StopBits = Settings.StopBits; //todo auto eacho parameter _serialPort.ReadTimeout = 500; _serialPort.WriteTimeout = 500; //Bind the events on the following event handler _serialPort.ErrorReceived += new SerialErrorReceivedEventHandler(SerialErrorReceived); _serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); _serialPort.Open(); _serialPort.DiscardInBuffer(); _serialPort.DiscardOutBuffer(); if (true) //todo: check RS232 connection status { InitTransducerChannels(); hwStatus = enuHWStatus.Ready; } else { log.Add("Could not initiate sensor!", "Error"); } return(hwStatus); }
public enuPositionerStatus SetSpeeds(Position _speeds) { if (mPosStatus == enuPositionerStatus.Ready) { HWStatus = LogError(Positioner.SetVel(_speeds.X, _speeds.Y, _speeds.Z, 0)); } return(mPosStatus); }
public enuPositionerStatus GetAxisAbsolutePosition(enuAxes _axis, ref double _pos) { if (mPosStatus == enuPositionerStatus.Ready) { HWStatus = LogError(Positioner.GetPosSingleAxis(AxisIndex(_axis), ref _pos)); } return(mPosStatus);// mPosStatus was modified by HWStatus already }
public enuPositionerStatus SetAbsolutePosition(Position _pos) { if (mPosStatus == enuPositionerStatus.Ready) { if (Settings.AutoValidateParam) { if (ValidateAbsolutePosition(ref _pos) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by ValidateAbsolutePosition already } Position nspeeds = new Position(); if (GetSpeeds(ref nspeeds) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by GetSpeeds already } if (ValidateSpeeds(ref nspeeds) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by ValidateSpeeds already } if (SetSpeeds(nspeeds) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by SetSpeeds already } } // if new Z-Position is higher retract z first double nZ = double.NaN; double mZ = _pos.Z; // remeber the desired z-coordinate if (GetAxisAbsolutePosition(enuAxes.ZAxis, ref nZ) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by GetAxisAbsolutePosition already } if (mZ <= nZ) //the desired height is lower, than the actual { _pos.Z = nZ; //write the current Z-coordinate in the position to move HWStatus = LogError(Positioner.MoveAbs(_pos.X, _pos.Y, _pos.Z, 0, true)); if (HWStatus != enuHWStatus.Ready) { return(mPosStatus); // move XY while not changing Z } if (SetAxisAbsolutePosition(enuAxes.ZAxis, mZ) != enuPositionerStatus.Ready) { return(mPosStatus); //and move Z } } else { if (SetAxisAbsolutePosition(enuAxes.ZAxis, _pos.Z) != enuPositionerStatus.Ready) { return(mPosStatus); //move Z first } HWStatus = LogError(Positioner.MoveAbs(_pos.X, _pos.Y, _pos.Z, 0, true)); } } return(mPosStatus); }
public enuPositionerStatus GetSpeeds(ref Position _speeds) { double X = 0, Y = 0, Z = 0, A = 0; if (mPosStatus == enuPositionerStatus.Ready) { HWStatus = LogError(Positioner.GetVel(ref X, ref Y, ref Z, ref A)); } if (mPosStatus == enuPositionerStatus.Ready) { _speeds = new Position(X, Y, Z, A); } return(mPosStatus);// mPosStatus was modified by HWStatus already }
public enuPositionerStatus SetAxisSpeed(enuAxes _axis, double _speed) { if (mPosStatus == enuPositionerStatus.Ready) { if (Settings.AutoValidateParam) { if (ValidateAxisSpeed(_axis, ref _speed) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by ValidateAxisSpeed already } } HWStatus = LogError(Positioner.SetVelSingleAxis(AxisIndex(_axis), _speed)); } return(mPosStatus); // mPosStatus was modified by HWStatus already }
public enuPositionerStatus GetAbsolutePosition(ref Position _pos) { double X = 0, Y = 0, Z = 0, A = 0; if (mPosStatus == enuPositionerStatus.Ready) { HWStatus = LogError(Positioner.GetPos(ref X, ref Y, ref Z, ref A)); } if (mPosStatus == enuPositionerStatus.Ready) { _pos.X = X; _pos.Y = Y; _pos.Z = Z; _pos.A = A; } return(mPosStatus); }
private enuHWStatus ReCalibrateAxes(int _axis) { // calibrate // mHWStatus |= LogError(Positioner.SetCalibRMAccel(&XD, &YD, &ZD, &AD)); //Stellt Beschleunigung ab, die für den Kalibriervorgang verwendet werden soll. eingestellten Dimension/s² // measure // Setzen der Verfahrgeschwindigkeiten die für das Herausfahren aus den Endschaltern //während des Kalibriervorgangs bzw. des Tischhubmessens verwendet //werden sollen. enuHWStatus stat = LogError(Positioner.SetCalibRMBackSpeed(500, 500, 500, 500)); //µm/s // Setzen der Verfahrgeschwindigkeiten, welche während des Kalibriervorgangs //verwendet werden sollen. stat |= LogError(Positioner.SetCalibRMVel(1000, 1000, 1000, 1000));//µm/s // Funktion zum Setzen eines Kalibrier - Offsets, der beim Kalibrieren nach dem //Freifahren des Enschalters gefahren wird. stat |= LogError(Positioner.SetCalibOffset(1000, 1000, 1000, 1000)); //Funktion zum Starten der Kalibrierroutine einer einzelnen Achse. stat |= LogError(Positioner.CalibrateEx(Convert.ToInt16(Math.Pow(_axis, 2)))); return(stat); }
public enuPositionerStatus SetAxisRelativePosition(enuAxes _axis, double _increment) { if (mPosStatus == enuPositionerStatus.Ready) { if (Settings.AutoValidateParam) { if (ValidateAxisRelativeMovement(_axis, ref _increment) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by ValidateAxisRelativeMovement already } double mSpeed = 0; if (GetAxisSpeed(_axis, ref mSpeed) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by GetAxisSpeed already } if (ValidateAxisSpeed(_axis, ref mSpeed) != enuPositionerStatus.Ready) { return(mPosStatus); // mPosStatus was modified by ValidateAxisSpeed already } } HWStatus = LogError(Positioner.MoveRelSingleAxis(AxisIndex(_axis), _increment, true)); } return(mPosStatus); // mPosStatus was evtl. modified by HWStatus already }
public enuPositionerStatus GetAxisSpeed(enuAxes _axis, ref double _speed) { double X = 0, Y = 0, Z = 0, A = 0; _speed = 0; if (mPosStatus == enuPositionerStatus.Ready) { HWStatus = LogError(Positioner.GetVel(ref X, ref Y, ref Z, ref A)); } if (mPosStatus == enuPositionerStatus.Ready) // mPosStatus was modified by HWStatus already { switch (_axis) { case enuAxes.XAxis: _speed = X; break; case enuAxes.YAxis: _speed = Y; break; case enuAxes.ZAxis: _speed = Z; break; case enuAxes.AAxis: _speed = A; break; default: mPosStatus = enuPositionerStatus.Error; break; } } return(mPosStatus); }
public enuPositionerStatus StopMovement() { HWStatus = LogError(Positioner.StopAxes()); return(mPosStatus); }
public enuPositionerStatus AxisStop(enuAxes _axis) { // mHWStatus = LogError(Positioner.SetAbortFlag()); HWStatus = LogError(Positioner.StopAxes()); return(mPosStatus); }