UniStream UID-0808THS PTO
Ofir Levi
Sep-3rd, 2020 12:10

You can implement Pulse Train Output (PTO) via the high-speed outputs of I/O Module UID-0808THS.

Using PTO you can, for example, build Motion/Speed profiles that are appropriate for stepper motors.

Supported Modes:
- Pulse (Uses a single high-speed output)
- Pulse + Direction (Uses 2 high-speed outputs, one for the pulse, and the second to control direction)
- Clockwise/Counter Clockwise (Uses 2 high-speed outputs, one for Forward direction, the other for Backward)

Only 1 PTO instance may be implemented per I/O module, on Block 1. Block 2 is free.

Select Block 1, select PTO, then click Interface to select the PTO mode.

This is where you determine the number of pulses per Unit.
To control your output using straight frequency, set Pulse Ratio = 1 and Units Ratio = 1.

Calculate Frequency to Units according to the following:

PTO Properties:

Motion Profile

To implement PTO, you need to supply the motion profile parameters via a PTO Config struct, and then link the struct to the PTO Ladder Elements.

To create a PTO config struct, right click in the Global tag window, scroll down until you reach PTO Config and select it.

PTO Function Blocks

The PTO function blocks are listed under COM:PTO in the Ladder Toolbox.

Note that each FB is automatically allocated a Data Block - a specific, reserved memory section - when you include it in your program.

PTO Move

The PTO Move FB takes its parameters from a PTO Config Struct.
This struct contains the parameters of the motion profile the function block will execute.

The FB must be constantly called even if the execute input is OFF.
Note that, at the top of the PTO Move function, you must assign the Move Data Block, which is for internal use only; you do not use it in your program.

Executing Motion

Motion execution is controlled via Parameter C, Start Move:

The rising edge of the Start Move bit is the trigger for the PTO Move operation.

During Steady State of an existing motion, but not during acceleration or deceleration, you can raise PTO to start a new motion. This aborts the motion that was in progress. If the new motion is in the opposite direction of the current one, the motion will decelerate according to the current motion profile, then travel in the new direction.

While the Start Move bit is ON, the function's output parameters Target Reached, Error, and Error ID are continuously updated. When Start Move turns OFF, the movement continues. However, the outputs are not continuously updated. When either the target is reached, or an error occurs, the appropriate output will turn on for a single cycle.



PTO Set Home

Use PTO Home FB to set the current position to the Home Offset value.

The FB must be constantly called even if the execute input is OFF.
Note that, at the top of the PTO Home function, you must assign the Home Data Block, which is for internal use only; you do not use it in your program.

Homing is controlled via Parameter C, Start Home:

The rising edge of the Start Home bit is the trigger for the PTO Homing operation.

To trigger a new Homing operation, you turn Start Home OFF and ON (rising edge)

While the Start Home bit is ON, if an error occurs, it is reported: the Error bit turns ON, and Error ID indicates the error. When Start Home turns OFF, these outputs report the error for a single cycle.


Stopping

You control Stopping via I/O module's struct:

PTO Stop Mode: set the bit to:
0 = Halt; stops according to the deceleration time and jerk given in the currently executing motion profile
1 = Stop;use the rising edge of this bit to cause an immediate, emergency stop with no regard for position or any other parameter

Change units

Use this element in cases where changing PTO user units dynamically is necessary.


Was this article helpful?
7 out of 8 found this helpful