Difference between revisions of "MC-Basic:pls.PLSPropagationDelay"

From SoftMC-Wiki
Jump to: navigation, search
(changed default from 0 to 2XcycleTime)
(Fixed corrupted text)
 
(One intermediate revision by the same user not shown)
Line 19: Line 19:
 
'''t = T p = p<sub>T </sub>v = v<sub>T </sub>a = a<sub>T '''</sub>
 
'''t = T p = p<sub>T </sub>v = v<sub>T </sub>a = a<sub>T '''</sub>
  
means '''p<sub>0</sub>?'"`UNIQ--nowiki-00000001-QINU`"'?<sub>T'''</sub>, the PLS output will be switched at:  
+
means '''p<sub>0</sub> < PLS<sub>pos</sub> < p<sub>T</sub>''', the PLS output will be switched at:  
  
 
'''t = (PLSPropagationDelay - T)*1000 + Δt'''
 
'''t = (PLSPropagationDelay - T)*1000 + Δt'''
  
From fw version 4.7.3 and above , it will be switch at:
+
From fw version 4.7.3 and above, it will be switch at:
  
 
'''t = PLSPropagationDelay *1000 + Δt'''
 
'''t = PLSPropagationDelay *1000 + Δt'''
Line 47: Line 47:
 
|EXAMPLE=
 
|EXAMPLE=
 
|SEE ALSO=  
 
|SEE ALSO=  
[[PLS Timing Issues| PLS Timing Issues]] <br> <!-- {{Bugzilla|4117}} -->  
+
[[PLS Timing Issues| PLS Timing Issues]]<br>
 +
[[MC-Basic:pls.PLSPropagationEnableDelay | PLSPropagationEnableDelay]]<br>
 +
[[MC-Basic:pls.PLSPropagationDisableDelay| PLSPropagationDisableDelay]]
 +
<br> <!-- {{Bugzilla|4117}} -->  
 
}}
 
}}

Latest revision as of 12:53, 11 July 2026

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

2x[cycle time]

Scope

Task, Terminal

Limitations

Can be set only when PLS is disabled.

See Also

PLS Timing Issues
PLSPropagationEnableDelay
PLSPropagationDisableDelay