Class CmmtDriveModule
Represents a module for a CMMT-ST-...-MP/EP drive with telegram 111 configured.
public class CmmtDriveModule : InitializableCompositeModule, ICompositeModule, ILisrtModule, IInitializable, INotifyPropertyChangedEx, INotifyPropertyChanged, IPositioningAxis, IHasServiceView, IHasDeviceLabel
- Inheritance
-
PropertyChangedBaseCmmtDriveModule
- Implements
-
INotifyPropertyChangedEx
- Inherited Members
-
PropertyChangedBase.Refresh()PropertyChangedBase.IsNotifyingPropertyChangedBase.PropertyChanged
Remarks
Configuration
1. Fieldbus
Either configure the Fieldbus with the hardware switches S1 to S3 on the top of the device or configure it in the Festo Automation Suite on the Fieldbus -> Configuration page.
2. Communication telegram
To enable the full control via Modbus, the telegram 111 must be selected on page Profiles -> PROFIdrive -> Telegram.
3. Insert the factor to the LisRT module configuration
Insert the correct configuration values to the configuration file, which you can find in the Festo Automation Suite on your CMMT component under Profiles -> PROFIdrive -> Factor Group
Festo Automation Suite Parameter | Module Configuration | Example |
---|---|---|
Actual user unit | PositionUnit | 'm' |
Position | PositionFactor | -6 -> PositionFactor = 0.000001 |
Velocity | VelocityFactor | -3 -> VelocityFactor = 0.001 |
Constructors
CmmtDriveModule(string, IModbusMaster)
Initializes a new instance of the CmmtDriveModule class.
public CmmtDriveModule(string name, IModbusMaster modbusModule)
Parameters
name
stringName of the module.
modbusModule
IModbusMasterModbus master module for communication.
Exceptions
- ArgumentNullException
Thrown when
name
is null or empty ormodbusModule
is null.
Properties
CurrentPosition
Gets the current position in PositionUnit.
public double CurrentPosition { get; }
Property Value
DeviceLabel
Gets or sets the device label.
[Configuration("")]
public string DeviceLabel { get; set; }
Property Value
DisableHasFaultMessage
Gets or sets a value indicating whether the has fault message will be shown.
public bool DisableHasFaultMessage { get; set; }
Property Value
DisableNotReferencedMessage
Gets or sets a value indicating whether the not referenced message will be shown.
public bool DisableNotReferencedMessage { get; set; }
Property Value
EnableDisableTimeoutInMS
Gets or sets the timeout for enabling or disabling the drive in ms.
public uint EnableDisableTimeoutInMS { get; set; }
Property Value
- uint
Default is 15000ms.
HomingTimeoutInMS
Gets or sets the maximum time in ms for homing.
[Configuration(30000, Unit = "ms", Description = "Maximum time for homing")]
public uint HomingTimeoutInMS { get; set; }
Property Value
- uint
Default is 30000ms.
Icon
Gets a icon which is representative for the module.
public override Uri Icon { get; }
Property Value
InstanceID
Gets or sets the instance ID.
public int InstanceID { get; set; }
Property Value
IsReferenced
Gets a value indicating whether the drive is referenced.
public bool IsReferenced { get; }
Property Value
MaximumPosition
Gets or sets the position maximum.
[Configuration(0, Unit = "See PositionUnit value")]
public double MaximumPosition { get; set; }
Property Value
MinimumPosition
Gets or sets the position minimum.
[Configuration(0, Unit = "See PositionUnit value")]
public double MinimumPosition { get; set; }
Property Value
PositionFactor
Gets or sets the factor for position.
[Configuration(1)]
public double PositionFactor { get; set; }
Property Value
PositionUnit
Gets or sets the position unit.
[Configuration("")]
public string PositionUnit { get; set; }
Property Value
PositioningTimeoutInMS
Gets or sets the maximum time in ms for positioning./>.
[Configuration(10000, Unit = "ms", Description = "Maximum time for positioning")]
public uint PositioningTimeoutInMS { get; set; }
Property Value
- uint
Default is 30000ms.
PositioningVelocity
Gets or sets the positioning velocity.
[Configuration(0, Unit = "PositionUnit per second")]
public double PositioningVelocity { get; set; }
Property Value
TreeItem
Gets the view model for the module.
public override ITreeItem TreeItem { get; }
Property Value
VelocityFactor
Gets or sets the factor for velocity.
[Configuration(1)]
public double VelocityFactor { get; set; }
Property Value
Methods
Disable()
Disables the drive.
public void Disable()
Remarks
Goes to 'S6: Switch On' state.
Exceptions
- NotInitializedException
Thrown when InitializationState is not Initialized.
DoHoming()
Does the homing.
public void DoHoming()
Exceptions
- NotInitializedException
Thrown when InitializationState is not Initialized.
- InvalidOperationException
Thrown when drive is not enabled
-or- drive is still busy.- TimeoutException
Thrown when homing was not completed in the expected time span, HomingTimeoutInMS.
- OperationCanceledException
Thrown when the drive is disabled during movement.
Enable()
Enables the drive.
public void Enable()
Exceptions
- NotInitializedException
Thrown when InitializationState is not Initialized.
- InvalidOperationException
Thrown when remote control is denied
-or- quick stop is active
-or- enabling is locked (e.g. by safe torque off signal)
-or- drive and motion could not be enabled within EnableDisableTimeoutInMS milliseconds.
Exit()
Exits the module.
public override void Exit()
GoToPosition(double, int)
Goes to the position
.
public void GoToPosition(double position, int timeout = 1000)
Parameters
position
doubleSet point position in PositionUnit.
timeout
intTimeout for reaching the position in milliseconds. If timeout is less than 0, PositioningTimeoutInMS is used.
Exceptions
- ArgumentOutOfRangeException
Thrown when
position
is not between MinimumPosition and MaximumPosition.- NotInitializedException
Thrown when InitializationState is not Initialized.
- InvalidOperationException
Thrown when drive is not enabled
-or- drive is not referenced
-or- drive is still busy
-or- PositionFactor is 0(zero)
-or- VelocityFactor is 0(zero).- TimeoutException
Thrown when positioning is not started
-or- position is not reached in the expectedtimeout
time.- OperationCanceledException
Thrown when the drive is disabled during movement.
Initialize()
Initializes the module.
public override void Initialize()
ResetFault()
Acknowledges a fault.
public void ResetFault()
Exceptions
- NotInitializedException
Thrown when InitializationState is not Initialized.
- InvalidOperationException
Thrown when warning and fault is not reset.
- TimeoutException
Throw when fault could not be reset within 3000ms.
ShowServiceView()
Shows the service window.
public void ShowServiceView()
StartNegativeJog()
Starts negative jog.
public void StartNegativeJog()
Exceptions
- NotInitializedException
Thrown when InitializationState is not Initialized.
- InvalidOperationException
Thrown when drive is not enabled.
StartPositiveJog()
Starts positive jog.
public void StartPositiveJog()
Exceptions
- NotInitializedException
Thrown when InitializationState is not Initialized.
- InvalidOperationException
Thrown when drive is not enabled.
StopJog()
Stops negative and positive jog.
public void StopJog()
Exceptions
- NotInitializedException
Thrown when InitializationState is not Initialized.