The following general rules of motion are available:
General modified sinusoidal line ("modisincom"),
General modified acceleration trapezoid ("modacctrcom"),
Harmonic combination ("harmocomb"), and
Sine-straight combination ("sinstraightcomb").
The name in parentheses is the name of the profile to be used when calling the function FC_ProfileLoad().
The adaptation of these profiles is effected by using the function FC_ProfileSetParam().
Input |
Data type |
Description |
---|---|---|
i_diProfileId |
DINT |
Logical address of the profile |
i_diSubType |
DINT |
The "general modified acceleration trapezoid" and "harmonic combination" motion laws can be used for more than one standard motion task. The function of i_diSubType depends on the profile and is explained for the corresponding profile (see below, "Examples"). The parameter is only significant for profiles where the output and final state are different (for example, Velocity -> Reverse or rest -> Reverse). The value 0 represents the literal interpretation and the value 1 represents the inverted interpretation (Velocity -> Reverse inverted results in Reverse -> Velocity). |
i_diParSelect |
DINT |
The parameters iq_lrLambda, iq_lrC, iq_lrY1, iq_lrM0, iq_lrM1, iq_lrK0, iq_lrK1 are values that can be used to define properties of the resulting profile. However, only a certain subset of parameters from the above list can be preset, never all of them. The i_diParSelect parameter is used to specify the parameters from the above list that have to be preset. It sequences the positions of the corresponding parameters from the above list in ascending order. i_diParSelect = 137 then means that parameters iq_lrLambda, iq_lrY1, iq_lrK1 are to be preset. The parameters from the list are defined as VAR_IN_OUT. Parameters that are not preset are determined clearly by the preset parameters and are returned as calculation results. They are needed to calculate the connection conditions for other profiles. The preset options depend on the profile and are discussed below. |
Input/Output |
Data type |
Description |
---|---|---|
iq_lrLambda |
LREAL |
Position of the profile turning point The valid range for the profiles of this section is generally 0.0001...0.9999. |
iq_lrC |
LREAL |
Curve component of the profile The valid range for the profiles of this section is generally 0.0001...1. |
iq_lrY1 |
LREAL |
Position in the end point of the profile (F(1)) Not all profiles of this section are standardized. Therefore, it is necessary either to preset this variable or to know its value. |
iq_lrM0 |
LREAL |
Slope in the starting point of the profile (F‘(0)) |
iq_lrM1 |
LREAL |
Slope in the end point of the profile (F‘(1)) |
iq_lrK0 |
LREAL |
Bend in the starting point of the profile (F‘‘(0)) |
iq_lrK1 |
LREAL |
Bend in the end point of the profile (F‘‘(1)) |
Data type |
Description |
---|---|
DINT |
0: OK -1: i_diProfileId invalid -2: The value of the parameter iq_lrLambda is invalid -3: The value of the parameter i_diSubType is invalid -4: The value of the parameter i_diParSelect is invalid -5: The value of the parameter iq_lrY1 is invalid -6: The value of the parameter iq_lrM0 is invalid -7: The value of the parameter iq_lrM1 is invalid -8: The value of the parameter iq_lrK0 is invalid -9: The value of the parameter iq_lrK1 is invalid -10: The value of the parameter iq_lrC is invalid -20: The function is not supported by the selected profile -30: Profile is being used by another function and therefore is blocked. |
This means that the "new" profiles can only be parameterized with the function FC_ProfileSetParam(). It is not possible to use the functions FC_ProfileSetLambda() or FC_ProfileSetC() to modify only the parameter Lambda or C of the profile. This is not possible because, in contrast to previous profiles, the allowable value ranges for these parameters are dependent on the remaining parameters. Therefore, the compatibility of ALL parameters must be checked. This can only be done in the FC_ProfileSetParam() function.
Detailed properties of the profiles:
General modified sinusoidal line
Motion task: "Velocity to velocity"
Only the combination of parameters iq_lrLambda, iq_lrM0, iq_lrM1 can be preset. i_diSubType and i_diParSelect have no meaning on this rule.
General mod. acceleration trapezoid
Motion tasks: "Rest to reverse" and "Reverse to rest"
The motion task is selected by the parameter i_diSubType:
i_diSubType = 0 : „Rest to reverse“
i_diSubType = 1 : „'Reverse to rest“
For "Rest to reverse", there are the following preset options:
1. iq_lrLambda and iq_lrY1* (i_diParSelect = 13)
2. iq_lrK1 (i_diParSelect = 7)
For "Reverse to rest" there are the following preset options:
1. iq_lrLambda and iq_lrY1* (i_diParSelect = 13)
2. iq_lrK0 (i_diParSelect = 6)
*Note: Only the sign of iq_lrY1 can be preset. The value is always 1.
If iq_lrK0 or iq_lrK1 is preset, then the following must apply: | iq_lrK0 |, | iq_lrK1 | >= 2.025
Harmonic combination
Motion tasks: "Velocity to reverse" and "Reverse to velocity"
The selection of the motion task is effected via i_diSubType:
i_diSubType = 0: Velocity to reverse
i_diSubType = 1: Reverse to velocity
Parameter combinations that can be preset:
i_diSubType = 0:
1. iq_lrLambda, iq_lrM0, iq_lrK1 (i_diParSelect = 147)
The following conditions must be met:
2. iq_lrLambda, iq_lrY1, iq_lrK1 (i_diParSelect = 137)
The following conditions must be met:
3. iq_lrLambda, iq_lrY1, iq_lrM0 (i_diParSelect = 134)
The following conditions must be met:
4. iq_lrY1, iq_lrM0, iq_lrK1 (i_diParSelect = 347)
The following conditions must be met:
With the definitions
the following must be valid:
(1)
(2) One of the following values must be between 0.0001 and 0.9999:
This value is called Lambda. With it, the following must be valid
(3)
i_diSubType = 1: 1. iq_lrLambda, iq_lrM1, iq_lrK0 (i_diParSelect = 156)
The following conditions must be met:
2. iq_lrLambda, iq_lrY1, iq_lrK0 (i_diParSelect = 136)
The following conditions must be met:
3. iq_lrLambda, iq_lrY1, iq_lrM1 (i_diParSelect = 135)
The following conditions must be met:
4. iq_lrY1, iq_lrM1, iq_lrK0 (i_diParSelect = 356)
The following conditions must be met:
With the definitions
the following must be valid:
(1)
(2) One of the following values must be between 0.0001 and 0.9999:
This value is called Lambda.
With it, the following must be valid
(3)
Sinus-straight line combination
Motion task: "Reverse to reverse"
Predetermined parameter combinations (related value from i_diParSelect in parentheses):
iq_lrY1, iq_lrK0, iq_lrK1 (i_diParSelect = 367)
iq_lrC, iq_lrK0, iq_lrK1 (i_diParSelect = 267)
iq_lrLambda, iq_lrY1, iq_lrK0 (i_diParSelect = 136)
iq_lrC, iq_lrY1, iq_lrK0 (i_diParSelect = 236)
iq_lrLambda, iq_lrC, iq_lrK0 (i_diParSelect = 126)
iq_lrLambda, iq_lrY1, iq_lrK1 (i_diParSelect = 137)
iq_lrC, iq_lrY1, iq_lrK1 (i_diParSelect = 237)
iq_lrLambda, iq_lrC, iq_lrK1 (i_diParSelect = 127)
iq_lrLambda, iq_lrC, iq_lrY1 (i_diParSelect = 123)
Note: If iq_lrK0 or iq_lrK1 is preset, then the following must always apply:
If both are preset, then they must have different signs.