Table of Contents

Class StepDriveModule

Namespace
Loehnert.Lisrt.AutomationController
Assembly
Loehnert.Lisrt.AutomationController.dll

Represents an step drive module.

public class StepDriveModule : PropertyChangedBase, ILisrtModule, IInitializable, INotifyPropertyChangedEx, INotifyPropertyChanged, IPositioningAxis, ISpeedAxis, IHasServiceView, IHasDeviceLabel
Inheritance
PropertyChangedBase
StepDriveModule
Implements
INotifyPropertyChangedEx
Inherited Members
PropertyChangedBase.Refresh()
PropertyChangedBase.IsNotifying
PropertyChangedBase.PropertyChanged

Properties

Acceleration

Gets or sets the movement speed.

[Configuration(1, Unit = "PositionUnit/s²")]
public double Acceleration { get; set; }

Property Value

double

AccelerationDutyCycleClockwise

Gets or sets the Acceleration duty cycle for clockwise movement.

[Configuration(20)]
public int AccelerationDutyCycleClockwise { get; set; }

Property Value

int

AccelerationDutyCycleCounterClockwise

Gets or sets the Acceleration duty cycle for counter clockwise movement.

[Configuration(20)]
public int AccelerationDutyCycleCounterClockwise { get; set; }

Property Value

int

AccelerationUnit

Gets acceleration unit.

public string AccelerationUnit { get; }

Property Value

string

CurrentPosition

Gets the current Position.

public double CurrentPosition { get; }

Property Value

double

Deceleration

Gets or sets the movement speed.

[Configuration(1, Unit = "PositionUnit/s²")]
public double Deceleration { get; set; }

Property Value

double

DecelerationDutyCycleClockwise

Gets or sets the Deceleration duty cycle for clockwise movement.

[Configuration(20)]
public int DecelerationDutyCycleClockwise { get; set; }

Property Value

int

DecelerationDutyCycleCounterClockwise

Gets or sets the Deceleration duty cycle for counter clockwise movement.

[Configuration(20)]
public int DecelerationDutyCycleCounterClockwise { get; set; }

Property Value

int

DeviceLabel

Gets or sets the label for the device.

[Configuration("")]
public string DeviceLabel { get; set; }

Property Value

string

DisableNotReferencedMessage

Gets or sets a value indicating whether the not referenced message will be shown.

public bool DisableNotReferencedMessage { get; set; }

Property Value

bool

Enabled

Gets or sets a value indicating whether the module is enabled.

[Configuration(false)]
public bool Enabled { get; set; }

Property Value

bool

HasError

Gets a value indicating whether the axis has an error.

public bool HasError { get; }

Property Value

bool

HasOverCurrentDetected

Gets a value indicating whether the step drive has detected over current.

public bool HasOverCurrentDetected { get; }

Property Value

bool

HasThermalShutdown

Gets a value indicating whether the step drive has a thermal shutdown.

public bool HasThermalShutdown { get; }

Property Value

bool

HasThermalWarning

Gets a value indicating whether the step drive has a thermal warning.

public bool HasThermalWarning { get; }

Property Value

bool

HoldDutyCycle

Gets or sets the movement speed.

[Configuration(10)]
public int HoldDutyCycle { get; set; }

Property Value

int

HomingOffset

Gets or sets the offset after homing the drive.

[Configuration(0, Description = "Offset after homing", Unit = "PositionUnit")]
public double HomingOffset { get; set; }

Property Value

double

HomingSpeed

Gets or sets the movement speed for homing.

[Configuration(-3.5, Description = "Speed at which homing is done, use negative speed to set homing direction counterclockwise. To home on current position, set to 0.", Unit = "PositionUnit/s")]
public double HomingSpeed { get; set; }

Property Value

double

HomingTimeoutInMS

Gets or sets the motion timeout for homing.

[Configuration(120000, Description = "Timeout for homing movement.", Unit = "ms")]
public int HomingTimeoutInMS { get; set; }

Property Value

int

Icon

Gets the icon from the module.

public Uri Icon { get; }

Property Value

Uri

InitializationState

Gets a value indicating whether the object is initialized.

public InitializationState InitializationState { get; }

Property Value

InitializationState

InstanceID

Gets or sets the ID for this instance.

public int InstanceID { get; set; }

Property Value

int

IsBusy

Gets a value indicating whether the axis is ready for an operation.

public bool IsBusy { get; }

Property Value

bool

IsReferenced

Gets a value indicating whether the step drive is homed.

public bool IsReferenced { get; }

Property Value

bool

JogSpeed

Gets or sets speed for Jogging.

[Configuration(3.5)]
public double JogSpeed { get; set; }

Property Value

double

LimitSwitchTypeClockwise

Gets or sets the clockwise limit switch type.

[Configuration(LimitSwitchType.None, Description = "Configures the clockwise limit switch type.")]
public LimitSwitchType LimitSwitchTypeClockwise { get; set; }

Property Value

LimitSwitchType

LimitSwitchTypeCounterclockwise

Gets or sets the counter clockwise limit switch type.

[Configuration(LimitSwitchType.None, Description = "Configures the counter clockwise limit switch type.")]
public LimitSwitchType LimitSwitchTypeCounterclockwise { get; set; }

Property Value

LimitSwitchType

MaximumPosition

Gets or sets the maximum position that can be reached.

[Configuration(290, Description = "Minimum position that can be reached", Unit = "PositionUnit")]
public double MaximumPosition { get; set; }

Property Value

double

MaximumSpeed

Gets or sets the maximum speed that can be reached.

[Configuration(20, Description = "Minimum position that can be reached", Unit = "PositionUnit/s")]
public double MaximumSpeed { get; set; }

Property Value

double

Microsteps

Gets or sets the micro steps count.

[Configuration(6)]
public int Microsteps { get; set; }

Property Value

int

MinimumPosition

Gets or sets the minimum position that can be reached.

[Configuration(0, Description = "Minimum position that can be reached", Unit = "PositionUnit")]
public double MinimumPosition { get; set; }

Property Value

double

MinimumSpeed

Gets or sets the minimum speed that can be reached.

[Configuration(-20, Description = "Minimum position that can be reached", Unit = "PositionUnit/s")]
public double MinimumSpeed { get; set; }

Property Value

double

Name

Gets or sets the name.

public string Name { get; set; }

Property Value

string

Parent

Gets or sets the parent module.

public ILisrtModule Parent { get; set; }

Property Value

ILisrtModule

PositionUnit

Gets or sets position unit.

[Configuration("mm", Description = "Unit used for position, speed and acceleration (only visually, to change conversion see StepsPerUnit.")]
public string PositionUnit { get; set; }

Property Value

string

PositioningSpeed

Gets or sets the positioning speed.

[Configuration(6, Description = "Speed at which positioning is done.", Unit = "PositionUnit/s")]
public double PositioningSpeed { get; set; }

Property Value

double

RunDutyCycleClockwise

Gets or sets the run duty cycle for clockwise movement.

[Configuration(20)]
public int RunDutyCycleClockwise { get; set; }

Property Value

int

RunDutyCycleCounterClockwise

Gets or sets the run duty cycle for counter clockwise movement.

[Configuration(20)]
public int RunDutyCycleCounterClockwise { get; set; }

Property Value

int

SafetyCircuitType

Gets or sets the safety circuit type.

[Configuration(SafetyCircuit.ProtectionDoor, Description = "Configures the type of circuit used for this drive")]
public SafetyCircuit SafetyCircuitType { get; set; }

Property Value

SafetyCircuit

SpeedUnit

Gets speed unit.

public string SpeedUnit { get; }

Property Value

string

StallCurrentInMilliampereClockwise

Gets or sets the stall current for clockwise movement in milliampere.

[Configuration(4000, Unit = "mA")]
public int StallCurrentInMilliampereClockwise { get; set; }

Property Value

int

StallCurrentInMilliampereCounterClockwise

Gets or sets the stall current for counter clockwise movement in milliampere.

[Configuration(4000, Unit = "mA")]
public int StallCurrentInMilliampereCounterClockwise { get; set; }

Property Value

int

StepsPerUnit

Gets or sets steps per unit.

[Configuration(75, Description = "Number of steps required to move by one unit.", Unit = "Step/PositionUnit")]
public double StepsPerUnit { get; set; }

Property Value

double

TreeItem

Gets the view model for the module.

public ITreeItem TreeItem { get; }

Property Value

ITreeItem

Methods

DoHoming()

Homing the step drive.

public void DoHoming()

Exceptions

TimeoutException

Thrown when motion was not completed in the expected time span.

Exit()

De initializes the object.

public void Exit()

GoToPosition(double, int)

Goes to the position.

public void GoToPosition(double position, int motionTimeOutInMS)

Parameters

position double

Set point position in PositionUnit.

motionTimeOutInMS int

Timeout for reaching position in milliseconds.

Exceptions

TimeoutException

Thrown when motion was not completed in the expected time span.

Initialize()

Initializes the object.

public void Initialize()

SetSpeed(double, int)

Moving the step drive with a constant speed.

public void SetSpeed(double speed, int timeout = 5000)

Parameters

speed double

Speed of motion.

timeout int

Timeout for reaching speed in MS.

ShowServiceView()

Shows the service window.

public void ShowServiceView()