MC-Basic:pls.PLSPropagationDelay

From SoftMC-Wiki
Jump to: navigation, search

PLS propagation delay expresses the elapsed time from the moment the position command is sent to the drive until it is set as a command value in the drive’s position loop.
The value is expressed in milliseconds, in double floating point format. Internally, it is always rounded to the nearest microsecond (e.g., 2.5001 is considered 2.5).
A value of 8.0, for examples, means 2 motion bus samples of 4 milliseconds.

Typically used for the delay time calculation. In case 1000*PLSPropagationDelay/Ser.Cycletime > PositionErrorDelay an error will be returned.

DANGER.svgDANGER
Using PLSPropagationDelay discards the old automatic use of PositionErrorDelay property. It is user's responsibility to adjust the PLSPropagationDelay value in the newest FW versions. The value depends on the type of the motion bus and the devices used (drives, remote IOs, ...).

This means that in case PLS position falls between these two samples:

t=0 p = p0 v = v0 a = a0
and:

t = T p = pT v = vT a = aT

means p0 < PLSpos < pT, the PLS output will be switched at:

t = (PLSPropagationDelay - T)*1000 + Δt

From fw version 4.7.3 and above , it will be switch at:

t = PLSPropagationDelay *1000 + Δt

where:

p – position
v – velocity
a – acceleration
T – duration of one motion bus in milliseconds.

Δt - the inter-sample delay; that is, the time at which the motion crosses the PLS position, as measured from the beginning of the sample (t=0).


NOTE-Info.svgNOTE
Since PLSPropagationDelay values are given in milliseconds, the user is responsible for changing it after any change in the bus[*].cycletime.

Short form

none

Syntax

<pls>.PLSPropagationDelay = <double>

Availability

Version 4.7.1 and later.

Type

double

Range

0 - MAXD

Units

ms

Default

0

Scope

Task, Terminal

Limitations

Can be set only when PLS is disabled.

See Also

PLS Timing Issues