MLMotionStatus
Function A function calculates a result according to the current value of its inputs. A function has no internal data and is not linked to declared instances. - Returns the status of the motion engine 0 (zero).
Inputs
Input |
Data Type |
Range |
Unit |
Default |
Description |
---|---|---|---|---|---|
En |
BOOL |
0, 1 |
N/A |
No default |
Enable function. |
Outputs
Output |
Data Type |
Range |
Unit |
Description |
---|---|---|---|---|
OK |
BOOL |
No range |
N/A |
|
Status |
DINT |
0, 3 |
N/A |
Status of the Motion Engine. Based on the Internal Defines, the status is one of these:
|
Remarks
-
-
This function or function block returns cached data.
See Program a Multi-Core Controller for more information.
FBD Language Example
FFLD Language Example
IL Language Example
Not available.
ST Language Example
//Initialization code to start EtherCAT ***EtherCAT is an open, high-performance Ethernet-based fieldbus system. The development goal of EtherCAT was to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs network.
//First initialize network with MLMotionInit command
//Then wait for command to finish by monitoring MLMotionStatus output
//Once initialized, create any cam profiles and PLCopen A vendor -and product- independent worldwide association active in Industrial Control and aiming at standardizing PLC file formats based on XML or Pipenetwork devices
//Then call MLMotionStart and monitor MLMotionStatus again before beginning rest of program
FirstCycle := TRUE;
On FirstCycle DO //Initialize the motion engine
MLMotionInit( 1000);
END_DO;
MotionEngineStatus := MLMotionStatus();//Check the current status of the motion engine
//Once motion engine is initialized, create CAM profiles and defined Axis, then start the motion engine
ON MotionEngineStatus = MLSTATUS_INITIALISED DO
Profiles( MLPR_CREATE_PROFILES );
PLCopen( 0 );
MLMotionStart();
END_DO;
IF MotionEngineStatus = MLSTATUS_RUNNING THEN
bMotionEngineStarted := TRUE;
ELSE
bMotionEngineStarted := FALSE;
END_IF;