MceActualPositionsIO

0.1.0

IO data for the MceActualPositions function.

Version history

0.1.0

  deGroot

Changes

Added:
  • first version

Overview

nametypedefaultcomment
bUseFeedbackPositionBOOL0input: use feedback- instead of command position (for ServoFloat motions)
bPosUpdatingBOOLoutput: position reading active
nLockTargetSINT0input: lock specific robot/frame (0=disabled, 10=R1 world, 12=R1 uf, 20=R2 world, 22=R2 uf, 30=R3 world, 32=R3 uf, 40=R4 world, 42=R4 uf)
nSmActualPositionUINT0in/out: state machine 1: getting actual position information
aPositionsARRAY [0..3] OF MceActualPositionDataoutput: actual positions per robot
aTcpSpeedsARRAY [0..3] OF REALoutput: actual TCP speed [mm/s] (requires S2C1702=1)

Details

bUseFeedbackPosition

BOOL
(default: 0)

Used as input

By default, the system returns the actual command position, which is fine for most applications. However, if you are running a ServoFloat motion, you might want to read the feedback position.

bPosUpdating

BOOL

Used as output

Position reading active.

nLockTarget

SINT
(default: 0)

This variable can be used to temporarily lock the sequence on a specific robot and frame to get the fastest TCP position and speed updates.

This stops the TCP position updates of all other robots and frames.

valueexplanation
0disabled
10first robot (R1), world frame
12first robot (R1), active user frame
20second robot (R2), world frame
22second robot (R2), active user frame
30third robot (R3), world frame
32third robot (R3), active user frame
40fourth robot (R4), world frame
42fourth robot (R4), active user frame

nSmActualPosition

UINT
(default: 0)

State machine 1: Getting actual position information from the MotoLogix system.

valueexplanation
0idle
10read TCP position in world
20read TCP position in active user frame

aPositions

ARRAY [0..3] OF MceActualPositionData

Used as output

Actual positions per robot.

Check the data type for more information.

aTcpSpeeds

ARRAY [0..3] OF REAL

Used as output

Actual TCP speed per robot, in mm/s. This requires parameter S2C1702=1.

TCP speed is only applicable for manipulators (e.g. R1).

Source code

Declarations

(*IO data for the MceActualPositions function*)
TYPE MceActualPositionsIO : 

(*
 * -----------------------------------------------------------------------------
 * Name               : MceActualPositionsIO
 * Version            : 0.1.0
 * Date               : 2022-02-24
 * Author             : deGroot
 * Family             : YaskawaMce
 * Organisation       : github.com/YaskawaEurope/mlx-examples
 * 
 * -----------------------------------------------------------------------------
 * IO data for the MceActualPositions function
 * -----------------------------------------------------------------------------
 *)

STRUCT
  bUseFeedbackPosition : BOOL := 0; (*input: use feedback- instead of command position (for ServoFloat motions)*)
  bPosUpdating : BOOL; (*output: position reading active*)
  nLockTarget : SINT := 0; (*input: lock specific robot/frame (0=disabled, 10=R1 world, 12=R1 uf, 20=R2 world, 22=R2 uf, 30=R3 world, 32=R3 uf, 40=R4 world, 42=R4 uf)*)
  nSmActualPosition : UINT := 0; (*in/out: state machine 1: getting actual position information*)
  aPositions : ARRAY [0..3] OF MceActualPositionData; (*output: actual positions per robot*)
  aTcpSpeeds : ARRAY [0..3] OF REAL; (*output: actual TCP speed [mm/s] (requires S2C1702=1)*)
END_STRUCT
END_TYPE

Pages built with Hugo - 23 Apr 2024 11:54 CEST