Pally for Doosan - Variables and I/O's

Pally for Doosan - Variables and I/O's

In Pally, you can get access to the following variables via Global_pally_context, so you need to add Global_pally_context. before the variables.

In the tables below, we have written the complete names, including the Global_pally_context.

Speed and acceleration variables

Name

Description

Global_pally_context.max_acceleration

Maximum acceleration, mm/s2

Global_pally_context.max_speed

Maximum tool speed, mm/s

Global_pally_context.precise_acceleration

Acceleration during movement in the approach distance area, mm/s2

Global_pally_context.precise_speed

Tool speed during movement in the approach distance area, mm/s

Global_pally_context.min_grip_quality

Minimum required grip quality for moving with full acceleration

Gripper variables

Name

Description

Global_pally_context.grip_delay

Delay after turning on the gripper at pickup, in seconds. Default: 0.2

Global_pally_context.grip_release_delay

Delay after turning off the gripper at the target position. Default: 0.2

Global_pally_context.gripper_tcp

TCP position, example X, Y, Z coordinates in mm [0.0, -100.0, 50.0]

Global_pally_context.gripper_cog

COG position, example X, Y, Z coordinates in mm [0.0, -100.0, 50.0]

Global_pally_context.gripper_weight

gripper weight, kgs

Tuning variables

Name

Description

Global_pally_context.release_strategy

Bitmask that selects one or more waypoints to be removed from the return
path, Default value 7
Bit 0: remove box free
Bit 1: remove target position
Bit 2: use vertical exit path
Bit 3: remove approach point
Bit 4: remove everything after smart-exit point

Global_pally_context.blend

Blend radius in linear movements as a fraction of the distance between subsequent waypoints. Default value 0.3. Recommended values: 0 - 0.3

Global_pally_context.gui_ip

Variable for Dart simulator, to set the IP address of the PC that runs the Dart Platform. Default value “127.0.0.1”

Global_pally_context.trace_program_callbacks

When set to True, the Task Editor will trace and highlight the current program line inside Pally Callbacks that is being executed. This can make
the execution of callbacks run slower. When set to False, the program lines will not be highlighted.

Global_pally_context.force_palletizing_mode

When setting this variable to True, the program will activate "Palletizing Mode". When False, the program will not change the current mode. In Palletizing Mode, the joint angle of the lower arm is fixed. This will avoid
singularity issues, but limit the degrees of freedom.

Global_pally_context.product_selection_strategy

Method to select a product on startup. Default value: 0
0: GUI
1: First
2: Predefined

Global_pally_context.product_selection_predefined

Name of the pattern file - without the file extension ".json" - when the product selection strategy is 2.

Global_pally_context.MovePerformed

A boolean value that Pally uses to check if it should move the robot on the path created by Pally. True - Pally will NOT move the robot on the path created by Pally. False - Pally will move the robot on the default calculated
path. This is the default value.

Global_pally_context.TaskPerformed

A boolean value that controls whether the main Pally program should proceed to the next box position on the pallet, or repeat the same box position again. True - Box has reached the target position on the pallet.
The program can proceed to the next box.
False - The Box has not reached the target position, the program should repeat the same position.
The default value is True unless lost vacuum is reported by the “vacuum lost” signal.

Global_pally_context.MoveTarget

A pose variable that contains the robot’s target pose

Product and pallet variables

Name

Description

Global_pally_context.ZoneNr

Indicates which part of the pallet is being palletized (when using zones)

Global_pally_context.LayerNr

An integer representing the current layer number that is being palletized. The value is zero-based. Any integer between 0 and the (total number of layers minus 1) for the current pattern

Global_pally_context.ProductCount

An integer that is equal to the number of boxes that have been palletized so far. Any value between 0 and the total number of boxes present in the pattern

Global_pally_context.ProductName

A string variable that is equal to the name of the current pattern file that is being palletized.

Global_pally_context.LayerAlt

The altitude, measured from the top of the empty pallet in mm.

Global_pally_context.LayerHeight

Height of the layer currently being processed in mm.

Global_pally_context.PalletNr

An integer representing the current pallet, either the left or the right pallet, that is being palletized.

1 = Right pallet
2 = Left pallet

Global_pally_context.PalletCenter

The PalletCenter variable contains a pose calculated from the 3 corner calibration points and refers to the center point on the empty pallet.

Global_pally_context.MountPosition

A pose variable that contains the new mounting position compared to the mounting position where Pally was calibrated.

I/O variables

In the Pally program, we use variables to define IO channels in a generic way. The address of every IO channel is defined by a special variable, which is an array. The 0th element of the array is always the IO type (standard IO, configurable IO, tool IO, MODBUS, etc. - see below for the complete list) and the 1st element is the actual IO channel number.

The first value (element 0 in the array) determines the type of IO to be used. Currently, the following types are supported:

  • 0: standard digital input / output

  • 1: configurable digital input / output

  • 2: tool digital input / output

  • 5: integer register input / output

  • 6: float register input / output

  • 10: standard digital input / output with inverse logic

  • 11: configurable digital input / output with inverse logic

  • 12: tool digital input / output with inverse logic

  • -1: Always LOW input / no output

  • -11: Always HIGH input / no output

The variable names are listed below: 

  • Conveyor IO

    • Global_pally_context.l1_sensors - Product sensors for primary conveyor

    • Global_pally_context.l2_sensors - Product sensors for secondary conveyor

  • Gripper IO

    • Global_pally_context.pick_signals - Turn on vacuum for custom gripper

    • Global_pally_context.drop_signals - Turn off vacuum for custom gripper

    • Global_pally_context.vacuum_lost_sensor - Signal for vacuum lost on the gripper

  • Pallet confirmation IO 

    • Global_pally_context.p1_button - right pallet confirmation signal

    • Global_pally_context.p2_button - left pallet confirmation signal

    • Global_pally_context.p1_led - Right pallet LED light

    • Global_pally_context.p2_led - Left pallet LED light

  • # LED tower IO

    • Global_pally_context.green_led

    • Global_pally_context.yellow_led

    • Global_pally_context.red_led