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

From SoftMC-Wiki
Jump to: navigation, search
m (Text replace - "motion-bus" to "motion bus")
m
 
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=
  
The delay will express the time between the moment of sending the position command to the drive until it is set as a command value of the drive's position loop. It will be expressed in milliseconds in double floating point format and will be assigned by the user. It's default value will be 8.0 means 2 motion bus samples of 4ms. Typically used for the delay time calculation. In case '''''1000*PLSPropagationDelay/Ser.Cycletime > PositionErrorDelay''''' an error will be returned.  
+
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, PLS position falls between these two samples:'''t=0 p = p<sub>0 </sub>v = v<sub>0 </sub>a = a<sub>0 '''</sub>and:
+
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''' – positionv – velocity '''a''' – acceleration '''T''' – duration of one motion bus in milliseconds.
+
::'''p''' – position
 +
::'''v''' – velocity
 +
::'''a''' – acceleration  
 +
::'''T''' – duration of one motion bus in milliseconds.
  
Δt ''the '''inter-sample delay''''', time when the position passes PLSpos value measured from t=0.
+
Δ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| As the PLSPropagationDelay values are given in milliseconds it will be a user responsibility to change it after each change of the sercos.cyceltime. Value will be in double-floating point format internally always rounded up to microsecond value '''(i.e. 2.5001 same as 2.5)'''.}}
+
{{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=  

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.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