Motor classes
The Experior.Core.Motors.Motor class is used in Experior to model motors. The motors are used to initiate movements of loads, parts or assemblies. The main class deriving from Experior.Core.Motors.Motor is the class Experior.Core.Motors.Electric. The Experior.Core.Motors.Electric class is the main motor used in in discrete mode.
Motors that interact with the PLC are typically of the class Experior.Core.Motors.ElectricExtended which derives from the Electric motor class
There are several classes deriving from the ElectricExtended class.
- Experior.Core.Motors.Surface: This class represents a surface motor that is used to move a load and this motor is typically added to a ConveyorBelt part.
- Experior.Core.Motors.Vector: This represents a Vector motor used to move a part/assembly in a certain direction determined by the VectorDirection property.
- Experior.Core.Motors.Rotation: This represents a Rotation motor used to rotate an assembly/part in the horizontal plane.
- Experior.Core.Motors.EccentricLinear: This represents an eccentric motor where the attached parts/assembly will move linearly up/down
- Experior.Core.Motors.EccentricRotation: This represents an eccentric motor where the attached parts/assembly will rotate up/down
Main methods/properties of an ElectricMotor:
Backward(): This will put the motor in Backward mode. This method does not start the motor if it wasn’t running yet. It only sets the current running direction. If the motor was in Forward mode before the call of this method then the DirectionChanged event is triggered.
Forward(): This will put the motor in Forward mode. This method does not start the motor if it wasn’t running yet. It only sets the current running direction. If the motor was in Backward mode before the call of this method then the DirectionChanged event is triggered.
Start(): This will start an idle motor. It does not change the direction.
Stop(): This method will stop a running motor.
SwitchDirection(): This method will change the direction of the motor. If it was forward the new direction will become backward, and if it was backward the new direction will become forward.
event MotorEvent DirectionChanged: This event is triggered when the direction of the motor is changed (from forward to backward or vice versa). The delegate contains the motor as only argument.
event MotorEvent Started: This event is triggered when the motor is started. The delegate contains the motor as only argument
event MotorEvent Stopped: This event is triggered when a running motor is stopped. The delegate contains the motor as only argument.
bool Running: This getter property returns true if the motor is started and running, false otherwise.
float Speed: This property returns/sets the nominal speed of the motor.
float CurrentSpeed: This getter property returns the current speed of the motor. Note that this can be different from the nominal speed in case the motor is accelerating/decelerating , when frequency encoder is used, when alternate speed is used.
Directions Direction: This getter returns the current direction of the motor. Possible values are Experior.Core.Motors.Motor.Directions.Backward and Experior.Core.Motors.Motor.Directions.Forward.
Reset(): This method resets the motor.
bool Enabled: This getter/setter property controls whether the current motor is enabled (value equals true) or disabled (false). In case the motor is disabled it can’t be started.