SolarModeCalibration (FB)
FUNCTION_BLOCK SolarModeCalibration EXTENDS AbbLCon3
This function block represents an operation mode that allows to calibrate the tracker reference point. This function is necessary to calibrate the reference point (Z) when incremental encoders are used for the first time.
Sequence of the calibration process.
- Option 1
Move the tracker by using SolarModeManual to a position that lets you measure that position easily.
Get the angular position by using a high accuracy measurement device. Store this value in PosCalc input variable.
- Enabling function block to start calibrating process, then:
The system will be moved automatically towards reference point.
The system will stop as soon as reference point (Z) is reached. Encoders position function will store the calibrating value at ZValue.
The calibrating process finished.
- Option 2
(Option 2 needs a Sunny day to complete the process.)
- On the other hand, if you cannot determine tracker position by using a high accuracy measurement de-vice, it is possible to use a simple solar radiation sensor to determinate the correct tracker position. Us-ing the following steps,
Move the tracker using SolarModeManual to a position ahead of the sun.
Using a solar radiation sensor, you must wait until the tracker will be focused. At this moment you store the calculated position of the sun (obtained by using a sun position algorithm).
- Enabling function block to start calibrating process, then:
System will be moved automatically towards reference points.
The system will stop as soon as reference point (Z) is reached. Encoders position function will store the calibrating value at ZValue.
The calibrating process finished
Note
For more detailed explanation of the calibration mode with example and different types, refer to Automation Builder help of Solar Library.
- InOut:
Scope
Name
Type
Initial
Comment
Inherited from
Input
EnableBOOLFALSE
A rising edge (Enable = TRUE) starts a single operation, the output Busy goes to TRUE. All other inputs are read and considered continuously. A falling edge (Enable = FALSE) aborts the operation, if BUSY=TRUE (Note: During Aborting the Busy is still TRUE). Afterwards all outputs will be reset. For executing another operation the Enable input needs to be retriggered by another rising edge!
AbbLCon3
Output
DoneBOOLFALSE
Operation is completed without error (while outputs Busy and Error are FALSE). This output is TRUE for at least one cycle or until Enable is set to FALSE.
AbbLCon3
BusyBOOLFALSE
Operation is running (while outputs Done and Error are FALSE)
AbbLCon3
ErrorBOOLFALSE
Operation is stopped with error (while outputs Busy and Done are FALSE). This output is TRUE for at least one cycle or until Enable is set to FALSE. The output ErrorID gives more details about the error.
AbbLCon3
Input
TypeModeBYTE1
- 2: This input indicates which kind of configuration sensors are going to be used to determinate home positions.
1: ZSensor is only one pulse signal. First movement: backward.
2: ZSensor is only one pulse signal. First movement: forward.
3: ZSensor uses cam switch. First movement: forward.
4: ZSensor uses cam switch. First movement: backward.
PosCalcREAL0
3: Calculated tracker position using a high accuracy measurement device or a sun position algorithm.
ZPulseBOOL0
- 4: Boolean expression that indicates the positioning device has reached its Z position.
TYPE 1 & 2 : ZPulse = RdyForCalib, output variable of encoders function.
TYPE 3 & 4 : ZPulse = variable that indicates the state of input Z.
LimitSwitchBOOL0
- 5: Boolean expression that indicates home position has been reached. It is used in Type 1 & Type 2.
TYPE 1 : LimitSwitch = LimitSwitchMin
TYPE 2 : LimitSwitch = LimitSwitchMax
StartCalibBOOL0
6: Boolean expression that indicates reading process of the encoder has finished. PosAct = PosCalc
Inout
GoToPosRefBOOL7: Boolean expression that enables position control block
PosRefREAL8: Desired position to locate the tracker.
JogFwdBOOL9: In order to manually move the system forward, input is set to TRUE
JogBwdBOOL10: In order to manually move the system backward, input is set to TRUE
Output
ErrorIDNO_ERROR
4: Error code
CalibStartedBOOLFALSE
5: Output CalibStarted indicates calibrating process has started
PosStartValueREAL0
6: The counter can be set to start value. If input StartCalib = TRUE, the counter takes this value
RdyForCalibBOOLFALSE
7: Enable the calibrating process
Methods:
A_StartAction
B_CyclicAction
C_CleaningAction
D_AbortAction
E_ResetAction
Structure:
SolarModeCalibration.A_StartAction(METH)SolarModeCalibration.B_CyclicAction(METH)SolarModeCalibration.C_CleaningAction(METH)SolarModeCalibration.D_AbortAction(METH)SolarModeCalibration.E_ResetAction(METH)SolarModeCalibration.zACTION_TYPE_1(ACT)SolarModeCalibration.zACTION_TYPE_2(ACT)SolarModeCalibration.zACTION_TYPE_3(ACT)SolarModeCalibration.zACTION_TYPE_4(ACT)