Type: |
Function block |
Available as of: |
V1.0.0.0 |
Inherits from: |
- |
Implements: |
- |
Versions: |
Current version |
The module moves the trains into a station. Thereby, the home positions of the trains must be between -lrBeltLength and +lrBeltLength. After calling up the function block, the train 1 stands in i_stParameter.uiStation and the rest of the trains in the distance of lrTrainsDistance behind it. The motion parameters can be set via the respective inputs. The application of the POU is the homing with multiturn encoder. If all trains have reached their end position, q_xHomeOk is set to TRUE. Then the module can be deactivated.
Input |
Data type |
Description |
---|---|---|
i_xEnable |
BOOL |
A rising edge FALSE -> TRUE activates the POU, a falling edge TRUE -> FALSE deactivates the POU. A deactivated POU does not execute any actions. |
i_xStart |
BOOL |
FALSE -> TRUE: Reference run is started |
i_stParameter |
Parameter structure to reference the MultiBelt network |
Output |
Data type |
Description |
---|---|---|
q_xActive |
BOOL |
TRUE: The POU is active and has to be executed further. FALSE: The POU is inactive. |
q_xReady |
BOOL |
TRUE: The POU is ready to operate and can accept user commands. FALSE: The POU is not ready to accept user commands. |
q_etDiag |
General library-independent statement on the diagnostic. A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message. |
|
q_etDiagExt |
POU-specific output on the diagnostic. q_etDiag = GD.ET_Diag.Ok -> status message q_etDiag <> GD.ET_Diag.Ok -> diagnostic message |
|
q_sMsg |
STRING[80] |
Event-triggered message which gives more detailed information on the diagnostic state. |
q_xHomeOk |
BOOL |
TRUE: The reference run has been completed successfully. |
Input/Output |
Data type |
Description |
---|---|---|
iq_stMultiBelt |
Parameter structure of the MultiBelt network |
q_etDiag |
q_etDiagExt |
Enumeration value |
Description |
---|---|---|---|
OK |
Disabled |
0 |
The POU is disabled. |
OK |
WaitAllTrainsStopped |
10 |
Wait until all the trains are stopped. |
OK |
WaitForHomeDone |
16 |
Wait until the homing is completed. |
OK |
WaitForStart |
2 |
Waiting for starting command. |
OK |
WaitForStartOff |
11 |
Wait for the reset of the start. |
InputParameterInvalid |
ControllerStopInterfaceInvalid |
101 |
The ControllerStopInterface is invalid. |
InputParameterInvalid |
DriveLogAdrInvalid |
26 |
The interface of the axis is invalid. |
InputParameterInvalid |
DriveNotSet |
81 |
The axis has not been set. |
InputParameterInvalid |
HomeAccelerationRange |
85 |
The acceleration for the homing is outside the valid range. |
InputParameterInvalid |
HomeDecelerationRange |
86 |
The deceleration for the homing is outside the valid range. |
InputParameterInvalid |
HomeJerkRange |
87 |
The jerk for the homing is outside the valid range. |
InputParameterInvalid |
HomeOffsetInvalid |
30 |
The distance between two trains is invalid. |
InputParameterInvalid |
HomeVelocityRange |
84 |
The velocity for the homing is outside the valid range. |
InputParameterInvalid |
LimitInterfaceInvalid |
36 |
The interface Limit is invalid. |
InputParameterInvalid |
NumOfStationsRange |
43 |
NumOfStations is outside the valid range. |
InputParameterInvalid |
RefActValuesInterfaceInvalid |
80 |
The interface RefActValues is invalid. |
InputParameterInvalid |
SetLimitInterfaceInvalid |
42 |
The interface SetLimit is invalid. |
InputParameterInvalid |
TrainOrderInvalid |
31 |
The sequence of the trains is invalid. |
SercosConditionInvalid |
SercosInterfaceInvalid |
24 |
The Sercos interface is invalid. |
Enumeration name: |
ControllerStopInterfaceInvalid |
Enumeration value: |
101 |
Description: |
The ControllerStopInterface is invalid. |
Issue |
Cause |
Solution |
---|---|---|
ControllerStopInterface invalid. |
Incorrect drive type. |
Select a correct drive type. |
Enumeration name: |
Disabled |
Enumeration value: |
0 |
Description: |
The POU is disabled. |
Issue |
Cause |
Solution |
---|---|---|
- |
Status message - Function block is not activated. The input i_xEnable is FALSE. |
Set the input i_xEnable to TRUE. |
Enumeration name: |
DriveLogAdrInvalid |
Enumeration value: |
26 |
Description: |
The interface of the axis is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The drive interface is invalid. |
stMultiBelt.astTrain[x].ifDrive.stLogAdr is not assigned or invalid value. |
Assign or modify stMultiBelt.astTrain[x].ifDrive.stLogAdr. |
Enumeration name: |
DriveNotSet |
Enumeration value: |
81 |
Description: |
The axis has not been set. |
Issue |
Cause |
Solution |
---|---|---|
The drive interface is invalid. |
The parameter stMultiBelt.astTrain[x].ifDrive is not assigned. |
Assign the parameter stMultiBelt.astTrain[x].ifDrive. |
Enumeration name: |
HomeAccelerationRange |
Enumeration value: |
85 |
Description: |
The acceleration for the homing is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
The parameter stHomePosToStationParameter.stMove.lrAcc is invalid. |
The parameter stHomePosToStationParameter.stMove.lrAcc is outside its value range. |
The parameter stHomePosToStationParameter.stMove.lrAcc must be > Gc_lrMinAcceleration. |
Enumeration name: |
HomeDecelerationRange |
Enumeration value: |
86 |
Description: |
The deceleration for the homing is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
The parameter stHomePosToStationParameter.stMove.lrDec is invalid. |
The parameter stHomePosToStationParameter.stMove.lrDec is outside its value range. |
The parameter stHomePosToStationParameter.stMove.lrDec must be > Gc_lrMinAcceleration. |
Enumeration name: |
HomeJerkRange |
Enumeration value: |
87 |
Description: |
The jerk for the homing is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
The parameter stHomePosToStationParameter.stMove.lrJerk is invalid. |
The parameter stHomePosToStationParameter.stMove.lrJerk is outside its value range. |
The parameter stHomePosToStationParameter.stMove.lrJerk must be > Gc_lrMinJerk. |
Enumeration name: |
HomeOffsetInvalid |
Enumeration value: |
30 |
Description: |
The distance between two trains is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The distance between two trains is invalid. |
The distance between two trains is smaller than the train length. |
The trains must be homed. The train positions are lost (retain variables) and must be set again. |
Enumeration name: |
HomeVelocityRange |
Enumeration value: |
84 |
Description: |
The velocity for the homing is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
The parameter stHomePosToStationParameter.stMove.lrVel is invalid. |
The parameter stHomePosToStationParameter.stMove.lrVel is outside its value range. |
The parameter stHomePosToStationParameter.stMove.lrVel must be > Gc_lrMinVelocity. |
Enumeration name: |
LimitInterfaceInvalid |
Enumeration value: |
36 |
Description: |
The interface Limit is invalid. |
Issue |
Cause |
Solution |
---|---|---|
Limit interface is invalid. |
Incorrect drive type. |
Select a correct drive type. |
Enumeration name: |
NumOfStationsRange |
Enumeration value: |
43 |
Description: |
NumOfStations is outside the valid range. |
Issue |
Cause |
Solution |
---|---|---|
The parameter stMultiBelt.stGeneral.uiNumOfStations is invalid. |
The parameter stMultiBelt.stGeneral.uiNumOfStations is outside its value range. |
The parameter stMultiBelt.stGeneral.uiNumOfStations must be in the range from 1 to Gc_uiMaxNumberOfStations. |
Enumeration name: |
RefActValuesInterfaceInvalid |
Enumeration value: |
80 |
Description: |
The interface RefActValues is invalid. |
Issue |
Cause |
Solution |
---|---|---|
RefActValues interface is invalid. |
Incorrect drive type. |
Select a correct drive type. |
Enumeration name: |
SercosInterfaceInvalid |
Enumeration value: |
24 |
Description: |
The Sercos interface is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The global Sercos interface is invalid. |
Incorrect drive bus or incorrect controller. |
Modify the drive bus or the controller. |
Enumeration name: |
SetLimitInterfaceInvalid |
Enumeration value: |
42 |
Description: |
The interface SetLimit is invalid. |
Issue |
Cause |
Solution |
---|---|---|
SetLimit interface is invalid. |
Incorrect drive type. |
Select a correct drive type. |
Enumeration name: |
TrainOrderInvalid |
Enumeration value: |
31 |
Description: |
The sequence of the trains is invalid. |
Issue |
Cause |
Solution |
---|---|---|
The sequence of the trains is incorrect. |
The trains must be positioned one after the other. |
The trains must be homed. |
Enumeration name: |
WaitAllTrainsStopped |
Enumeration value: |
10 |
Description: |
Wait until all the trains are stopped. |
Issue |
Cause |
Solution |
---|---|---|
- |
Status message - Stop when deactivating the function block. Input i_xEnable = FALSE. |
Set input i_xEnable to TRUE. |
Enumeration name: |
WaitForHomeDone |
Enumeration value: |
16 |
Description: |
Wait until the homing is completed. |
Status message - Wait until the homing is completed.