Difference between revisions of "MC-Basic:pls.PLSPropagationDelay"
m |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
|SHORT FORM= none | |SHORT FORM= none | ||
|SYNTAX= <pls>.PLSPropagationDelay = <double> | |SYNTAX= <pls>.PLSPropagationDelay = <double> | ||
− | |AVAILABILITY= 4.7.1 | + | |AVAILABILITY= Version 4.7.1 and later. |
|DESCRIPTION= | |DESCRIPTION= | ||
− | + | 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.<br> | |
+ | 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). <br> | ||
+ | A value of 8.0, for examples, means 2 motion bus samples of 4 milliseconds. <br> | ||
+ | |||
+ | Typically used for the delay time calculation. In case '''''1000*PLSPropagationDelay/Ser.Cycletime > PositionErrorDelay''''' an error will be returned. | ||
{{Note/Danger | '''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, ...).'''}} | {{Note/Danger | '''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 in case | + | This means that in case PLS position falls between these two samples:<br> |
+ | |||
+ | '''t=0 p = p<sub>0 </sub>v = v<sub>0 </sub>a = a<sub>0 '''</sub><br>and: | ||
'''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> | ||
Line 23: | Line 29: | ||
where: | where: | ||
− | '''p''' – | + | ::'''p''' – position |
+ | ::'''v''' – velocity | ||
+ | ::'''a''' – acceleration | ||
+ | ::'''T''' – duration of one motion bus in milliseconds. | ||
− | Δt | + | Δ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| | + | {{Note| Since PLSPropagationDelay values are given in milliseconds, the user is responsible for changing it after any change in the '''''bus[*].cycletime'''''.}} |
|TYPE= double | |TYPE= double | ||
Line 35: | Line 44: | ||
|DEFAULT= 0 | |DEFAULT= 0 | ||
|SCOPE = Task, Terminal | |SCOPE = Task, Terminal | ||
− | |LIMITATIONS= | + | |LIMITATIONS= Can be set only when PLS is disabled. |
|EXAMPLE= | |EXAMPLE= | ||
|SEE ALSO= | |SEE ALSO= | ||
− | [[ | + | [[PLS Timing Issues| PLS Timing Issues]] <br> |
<!-- {{Bugzilla|4117}} --> | <!-- {{Bugzilla|4117}} --> | ||
}} | }} |
Latest revision as of 14:30, 10 October 2018
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 | |
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 | |
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.