Supported platforms: CODESYS 3.5
The joystick FB scales input voltage to calibrated control signal.
Dead band and progression are included in scaling.
The FB includes calibration functionality.
Calibration parameters, dead band and progression are checked for
valid range and that calibration values increase logically: maximum ≥ middle ≥ minimum.
A startup error is diagnosed if control is requested on the rising edge of i_Enable.
The output control signal is set to zero if i_Enable is FALSE, parameter error is diagnosed or startup error is diagnosed.
All internal FB initializations are done on the rising edge of i_Enable.
All errors are reset on the rising edge of i_Enable.
Joystick must be connected to voltage input. |
The FB uses internally - S_Joystick FB from SafeJoystickCalibrationAndDiagnostic library. |
Following parameters are taken into use at the rising edge of i_Enable: - i_pCalibratedMin - i_pCalibratedMid - i_pCalibratedMax - i_DeadBand - i_ProgressionPosDir - i_ProgressionNegDir - i_SignalErrorTolerance + Any initialized event code. |
Input variable name |
Data type |
Range |
Description |
i_Enable |
BOOL |
FALSE/TRUE |
Enables controlling of o_Control output |
i_SignalVoltage |
DINT |
hardware specific |
Voltage measured from joystick output pin (mV). |
i_ReferenceVoltage |
DINT |
hardware specific |
Voltage measured from joystick supply pin (mV). |
i_pCalibratedMax |
POINTER TO DINT |
500…1000 |
Pointer to maximum calibration value of joystick. Value is given in per mil of supply voltage (1000 = 100,0%). |
i_pCalibratedMid |
POINTER TO DINT |
250…750 |
Pointer to middle calibration value of joystick. Value is given in per mil of supply voltage (1000 = 100,0%). |
i_pCalibratedMin |
POINTER TO DINT |
0…500 |
Pointer to minimum calibration value of joystick. Value is given in per mil of supply voltage (1000 = 100,0%). |
i_Deadband |
DINT |
0…1000 |
Dead band of joystick in center position, value given in per mil of position range |
i_Progression_PosDir |
DINT |
-100…100 |
Positive direction’s progression curve factor. |
i_Progression_NegDir |
DINT |
-100…100 |
Negative direction’s progression curve factor. |
i_SignalErrorTolerance |
DINT |
-1, 0…500 |
Defines how many volts Signal is allowed to be out of calibrated range. Value is given in per mil of supply voltage (500 = 50,0%), range depends on selected value type. With value -1, diagnostics is not used. |
i_CalibrationMode |
BOOL |
FALSE/TRUE |
Enables calibration of o_Control output. |
Output variable name |
Data type |
Range |
Description |
o_Control |
INT |
|
Calibrated control signal value. |
o_SignalTooHigh |
BOOL |
FALSE/TRUE |
Signal input value is higher than maximum tolerated value |
o_SignalTooLow |
BOOL |
FALSE/TRUE |
Signal input value is lower than minimum tolerated value |
o_ParameterError |
BOOL |
FALSE/TRUE |
True when incorrect parameter value in any of the monitored parameters. |
o_StartupError |
BOOL |
FALSE/TRUE |
Joystick not released when i_Enable rises. |
o_CalibrationDone |
BOOL |
FALSE/TRUE |
Joystick calibration finished successfully. |
o_CalibrationError |
BOOL |
FALSE/TRUE |
Joystick calibration error. |
This optional method sets pointer for event code.
Input variable name |
Data type |
Description |
i_Enable |
BOOL |
Enable operation. |
i_pEventCode |
POINTER TO EPEC_DITF.EventCode |
Pointer to signal event code value provided by the application. |
See Diagnostic Interface library description of error status and event code functionality.
FunctionID and EventID are only set if EventCode is used. |
A parameter error is diagnosed if:
|
Conditions |
o_Control |
Output error set TRUE |
Event code FunctionID |
Event code EventID |
i_Enable TRUE AND parameter error |
0 |
o_ParameterError |
JOYSTICK |
PARAMETER_ERROR |
i_Enable rises AND parameters ok AND signal voltage outside dead band |
0 |
o_StartupError |
JOYSTICK |
STARTUP_ERROR |
i_Enable rises AND parameters ok AND signal voltage within dead band |
Scaled control value |
- |
NO_FUNC |
NO_ERROR |
i_Enable TRUE AND parameters ok AND no startup error AND signal > calibrated maximum value + error tolerance |
0 |
o_SignalTooHigh |
JOYSTICK |
INPUT_TOO_HIGH |
i_Enable TRUE AND parameters ok AND no startup error AND signal < calibrated minimum value - error tolerance |
0 |
o_SignalTooLow |
JOYSTICK |
INPUT_TOO_LOW |
Source file topic100742.htm
Last updated 19-Dec-2024