MLMotionStatus

PLCopen motion icon Pipe Network motion icon

 FunctionClosed 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

FALSE, TRUE

N/A

No default

EnableClosed Enable signal for the drive, Hardware-Enable with 24V signal to X8, Software-Enable command by setup Software, fieldbus or permanently set. Both are required for enabling the drive. function.

Outputs

Output

Data Type

Range

Unit

Description

OK

BOOL

FALSE, TRUE

N/A

Status

DINT

0, 3

N/A

Status of the Motion Engine.

Based on the Internal Defines, the status is one of these:

  • #define MLSTATUS_NOT_INITIALISED 0 (*Motion not initialized*)
  • #define MLSTATUS_RUNNING 1 (*Motion is running*)
  • #define MLSTATUS_STOPPED 2 (*Motion is stopped*)
  • #define MLSTATUS_ERROR 3 (*Motion is in error*)

Remarks

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

//Initialization code to start EtherCATClosed Ethernet ofr Control Automation Technology.
EtherCAT® is an open, high-performance Ethernet-based fieldbus system. 
The development goal of EtherCAT is 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 profilesClosed The position of a slave axis is mathematically linked to the position of a master axis. Example: A system where two rotating drums turn at a given ratio to each other. A more advanced case of electronic gearing is electronic camming. With electronic camming, a slave axis follows a profile that is a function of the master position. This profile need not be linear but it must be a mathematical function. and PLCopenClosed 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;

See Also