MC_GrpReadCmdVel

PLCopen motion icon Pipe Network motion icon

 Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - Reads the command velocity of the axes in the group and the path velocity.

Inputs

Input

Data Type

Range

Unit

Default

Description

Enable

BOOL

0, 1

N/A

No default

If TRUE, this function block reads the current commanded velocity of the group and the axes in the group.

AxesGroup

AXES_GROUP_REF

No range

N/A

No default

The axes group the commanded velocity is read from.

CoordSystem

SINT

One of these enumeration values:

  • MC_COORDINATE_SYSTEM_ACS = 0
  • MC_COORDINATE_SYSTEM_MCS = 1
  • MC_COORDINATE_SYSTEM_PCS = 2

N/A

No default

The coordinate system used when reading the commanded velocity.

Velocity[ ]

LREAL

No range

User unit/sec

No default

An array where the velocity data is written.

  • The length of the array must equal the maximum number of axes allowed in the group.
  • The maximum number of axes is an argument to the MC_CreateAxesGrp function block used to create axes groups.

Outputs

Output

Data Type

Range

Unit

Description

Valid

BOOL

No range

N/A

If TRUE, the velocities were read without error.

Error

BOOL

No range

N/A

If TRUE, an error has occurred.

ErrorID

INT

No range

N/A

Indicates the error if Error output is TRUE.

See the table in PLCopen Function Block ErrorIDs.

PathVelocity

LREAL

No range

User unit/sec

The current commanded path velocity of the group.

This is measured by taking the square root of the sum of the squared velocities of each axis.

Remarks

  • See Coordinated Motion, the top-level topic for Coordinated Motion.
  • See Function Blocks - General Rules for more information about how inputs and outputs work.
  • The MC_GrpReadCmdVel function block fills the array specified by the Velocity argument with the commanded velocity for the coordinate system, which is specified by the CoordSystem argument.
    • The path velocity is reported by the PathVelocity output.
  • This function or function block does not generate any motion.

  • Currently, only the ACS coordinate system is supported.
    See Coordinate Systems for more information.

  • There is a one-to-one correspondence between the axes in the Axes Group and the velocity values in the Velocity Array.
  • Each element in the Velocity Array corresponds to the axis element in the Axis Group array.
  • If a index in the Axes Group is unassigned, the velocity value for that array element in the Velocity array is 0 (zero).
  • If a index in the Axes Group is unassigned, the velocity value for that array element in the Velocity array is 0 (zero).
  • If the element does contain an axis, the velocity value is filled with the current velocity for that axis.
    • This is an example of how this works:

Figure 6-143: MC_GrpReadCmdVel

FBD Language Example

FFLD Language Example

IL Language Example

            BEGIN_ILClosed "Instruction List"
This is a low-level language and resembles assembly
            
CAL Inst_MC_GrpReadCmdVel( DoRead, Group, CoordSys, VelList )
END_IL

ST Language Example

            (*MC_GrpReadCmdVel STClosed "Structured text"
A high-level language that is block structured and syntactically resembles Pascal example *)
Inst_MC_GrpReadCmdVel(DoRead, Group, CoordSys, VelList );

See Also