Wagoappcontrolsuite: Release 1.0.1.4
Wagoappcontrolsuite: Release 1.0.1.4
Release 1.0.1.4
1 Description 1
2 10 Documentation 3
2.1 doc10_SystemProperties (FB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 29 Types 28
4.1 eControlledSystem (ENUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 eControllerDisabledMode (ENUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 eControllerType (ENUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4 eMethode (ENUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5 typConfiguration_01 (STRUCT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.6 typConfiguration_02 (STRUCT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.7 typControllerValues (STRUCT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.8 typPID_Configuration (STRUCT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.9 typTempConfiguration_01 (STRUCT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.10 typTempConfiguration_02 (STRUCT) . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
i
5 80 Status 36
5.1 Status (GVL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2 eStatus (ENUM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7 ParameterList (PARAMS) 40
8 VersionHistory (GVL) 41
9 Library Reference 42
9.1 3SLicense . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.1.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.1.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.2 Breakpoint Logging Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.2.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.2.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.3 CAA Types Extern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.3.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.3.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.4 CmpIecTask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.4.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.4.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.5 IoStandard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.5.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.5.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.6 Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.6.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9.6.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.7 VisuElem3DPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.7.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.7.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.7.3 Library Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.8 VisuElemCamDisplayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.8.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.8.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.8.3 Library Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.9 VisuElemMeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.9.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.9.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.10 VisuElemTextEditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.10.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.10.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.11 VisuElemTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.11.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.11.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.12 VisuElemXYChart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.12.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.12.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.13 VisuElems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.13.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.13.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.14 VisuElemsAlarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.14.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.14.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.15 VisuElemsDateTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.15.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.15.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.16 VisuElemsSpecialControls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
ii
9.16.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.16.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.17 VisuElemsWinControls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.17.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.17.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.18 VisuInputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.18.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.18.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9.19 VisuNativeControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.19.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.19.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.20 WagoAppProcessorLoad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.20.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.20.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.21 WagoSysErrorBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.21.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.21.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.21.3 Library Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.22 WagoSysKbusTerminalControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.22.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.22.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.23 WagoSysStandard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.23.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.23.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.24 WagoSysVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.24.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.24.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.25 WagoTypesErrorBase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.25.1 Library Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.25.2 Library Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
iii
CHAPTER 1
Description
This document is automatically generated. Because of this, the chapter 30 Visualization is not shown in this
document. If you are interested in getting to know more about visualization, we refer to the library manager of
e!Cockpit.
Subject to Changes
WAGO Kontakttechnik GmbH & Co. KG reserves the right to provide for any alterations or modifications. WAGO
Kontakttechnik GmbH & Co. KG owns all rights arising from the granting of patents or from the legal protection
of utility patents. Third-party products are always mentioned without any reference to patent rights. Thus, the
existence of such rights cannot be excluded.
Personnel Qualification
All tasks that are carried out with libraries made for the e!COCKPIT software must only be performed by qualified
electrical specialists instructed in PLC programming according to IEC 61131-3.
All tasks that have an effect on the properties or the behavior of automation hardware or software products must
only be performed by qualified employees with a thorough knowledge of handling the products concerned.
Intended Use of e!COCKPIT Libraries
Libraries created for the e!COCKPIT software are used to simplify the development of application projects in the
IEC 61131-3 programming languages.
For automation tasks, WAGO offers programmable logic controllers in a wide variety of performance classes.
In combination with a wide range of I/O modules, the controllers can process standard types of field signals.
Controllers can be implemented centrally or in decentralized configurations. The controllers offer interfaces for
the most commonly used fieldbuses for use in decentralized configurations. Fieldbus independent I/O modules
are then linked via fieldbus couplers. WAGO controllers offer a runtime environment for user programs called
e!RUNTIME. Software projects for implementation in e!RUNTIME environments can be created in e!COCKPIT.
The programming environment in e!COCKPIT is based on the established CODESYS 3 industrial standard. Users
with a previous knowledge of CODESYS 3 will thus find this environment largely familiar. The following pro-
gramming languages of the IEC 61131-3 standard are available:
• Structured Text (ST)
• Ladder Diagram (LD)
• Function Block Diagram (FBD)
• Instruction List (IL)
• Sequential Function Chart (SFC)
1
WagoAppControlSuite, Release 1.0.1.4
2
CHAPTER 2
10 Documentation
3
WagoAppControlSuite, Release 1.0.1.4
It is recommended to use the trace functionality of the system to roughly verify the determined values.
The Fb_PID function block operates according to the sum formula shown in the following figure:
Note: If the call interval of the control tasks is changed, the project must be recompiled and loaded again. An
online change is not supported for this change.
3.1 Controller
3.1.1 FbAutoTuneControlContinous_01 (FB)
Interface variables
5
WagoAppControlSuite, Release 1.0.1.4
Function
A controller with autotune functionality designed for general control with an analog manipulated output
Graphical Illustration
Function Description
This module represents a process controller with six different phases. Enabling the autotune functionality the first
time is done by activating input xEnable and xEnableAutoTune at the same time.
Phase 1) Settling phase ->internal state 5
In this phase, the controlled system is supplied with a set value the size of typConfiguration.
iP5StartLevel. Depending on the configuration value xUseLevelAsAbsoluteValue iP5StartLevel is
used as absolute or as %-value from the setpoint.
The system then waits until the system is in a stable state.
This phase can also be used to bring the system close to the actual operating point. This is particularly important
when the controlled system is non-linear, so that subsequent identification can determine the real behavior at the
operating point as well as possible.
Phase 2) Identification phase ->internal state 10
In this phase, the controlled system is supplied with a set value the size of typConfiguration.
iP10IdentLevel. Depending on the configuration value xUseLevelAsAbsoluteValue iP10IdentLevel
is used as absolute or as %-value from the setpoint. The waveform of the controlled system response is recorded.
The module returns an error if the step response cannot be recorded completely. Such is the case if the in-
ternal memory is too small. In this case, the error message is ArrayTooSmall. The rY output is reset to
zero by default. The problem can be resolved by increasing the tSampleRate sampling rate or increasing the
MAX_IDENTIFICATION_ARRAY parameter.
At the end of the identification phase, the controlled system parameters are determined using the inflectional
tangent method.
The output point for the control parameters represents the determined data set (rKs, rTu and rTg).
3.1. Controller 6
WagoAppControlSuite, Release 1.0.1.4
Note: Since the controlled system gain is unknown during initial identification, the process value is monitored
using the typConfiguration.rP10MaxProcessValueWhileIdentification configuration value.
When the process value threshold is reached, the output is reset to zero and the identification process terminated.
However, the process value can still rise further due to the properties of the controlled system. With that said, the
process value threshold should be selected as low as possible to preclude any damage due to impermissible high
process values. If an error interrupts identification, the function block must be disabled once. You can then restart
with a reduced value for typConfiguration.iP10IdentLevel.
This module can also be used as a traditional PID controller if the xUseExternalControlParameter is set
to TRUE. In this case, the controller operates with the rKp, rTn and rTv input values.
Note: A second identification phase is only performed if the difference between the current process value and the
new setpoint rSetPointValue is at least typConfiguration.rMinProcessDifference .
3.1. Controller 7
WagoAppControlSuite, Release 1.0.1.4
Function
A controller with autotune functionality designed for process control with a digital manipulated output
Graphical Illustration
3.1. Controller 8
WagoAppControlSuite, Release 1.0.1.4
Function Description
This module represents a process controller with six different phases. Enabling the autotune functionality the first
time is done by activating input xEnable and xEnableAutoTune at the same time.
Phase 1) Settling phase ->internal state 5
In this phase, the controlled system is supplied with a set value the size of typConfiguration.
iP5StartLevel. The system then waits until the system is in a stable state. This phase can also be used
to bring the system close to the actual operating point. This is particularly important when the controlled system
is non-linear, so that subsequent identification can determine the real behavior at the operating point as well as
possible.
Phase 2) Identification phase ->internal state 10
In this phase, the controlled system is supplied with a set value the size of typConfiguration.
iP10IdentLevel. The waveform of the controlled system response is recorded. The module returns an error
if the step response cannot be recorded completely. Such is the case if the internal memory is too small. In this
case, the error message is ArrayTooSmall. The xPWM output is reset to zero. The problem can be resolved by
increasing the tSampleRate sampling rate or increasing the MAX_IDENTIFICATION_ARRAY parameter.
At the end of the identification phase, the controlled system parameters are determined using the inflectional
tangent method.
The output point for the control parameters represents the determined data set (rKs, rTu and rTg).
Evaluating both typConfiguration.iP10StationaryEndpointControlTime and
typConfiguration.rP10StationaryEndpointPercentReferenceValue inputs determines
when the stationary end value is reached during the identification phase. If the process value does not change
more than the typConfiguration.rP10StationaryEndpointPercentReferenceValue percent
within the specified time, it is assumed that the stationary end value has been reached.
This module also allows you to interrupt identification early or to start calculating the controller parameters im-
mediately. This can be useful if the stationary end value is reached very slowly. In this case, the operator
can estimate the end value from the rStationaryEndvalue input directly and trigger calculation by the
xReleasedByOperator input.
Phase 3) Controlling the intermediate setpoint ->internal state 20
Following the identification phase, the system reaches a specific process value. The process difference from the
setpoint actually specified is determined. In this phase, the control parameters are set to an intermediate setpoint
that is 50 % of the process difference. Therefore, you have the option of roughly estimating the quality of the
control parameters.
Phase 4) Controlling the setpoint ->internal state 30
In this phase, the specified setpoint is controlled with the calculated control parameters. The quality of the control
must be assessed by the operator and improved by manual optimization, if necessary. It is recommended to use
the trace functionality to get a visual impression of the process profile.
The system switches to phase 5 once the setpoint is reached.
Phase 5) Maintain setpoint (regulating disturbance variables) ->internal state 40
The controller operates with the controller set determined by the typConfiguration.
eP40ControlMethode configuration value. The default value is CHR_aperiodisch_dis. If a new
setpoint is identified, the system switches to phase 6.
Phase 6) Regulating the setpoint step change ->internal state 50
The controller operates with the controller set determined by the typConfiguration.
eP50ControlMethode configuration value. The default value is CHR_aperiodisch_set. Once
the new setpoint is reached with the corresponding accuracy, the system switches to phase 5.
Note: Since the controlled system gain is unknown during initial identification, the process value is monitored
using the typConfiguration.rP10MaxProcessValueWhileIdentification configuration value.
3.1. Controller 9
WagoAppControlSuite, Release 1.0.1.4
When the process value threshold is reached, the output is reset to zero and the identification process terminated.
However, the process value can still rise further due to the properties of the controlled system. With that said, the
process value threshold should be selected as low as possible to preclude any damage due to impermissible high
process values. If an error interrupts identification, the function block must be disabled once. You can then restart
with a reduced value for typConfiguration.iP10IdentLevel.
This module can also be used as a traditional PID controller if the xUseExternalControlParameter is set
to TRUE. In this case, the controller operates with the rKp, rTn and rTv input values.
Note: A second identification phase is only performed if the difference between the current process value and the
new setpoint rSetPointValue it at least typConfiguration.rMinProcessDifference .
Function
A controller with autotune functionality designed for temperature control with an analog manipulated output
Graphical Illustration
3.1. Controller 10
WagoAppControlSuite, Release 1.0.1.4
Function Description
This module represents a temperature controller with six different phases.
Phase 1) Settling phase ->internal state 5
In this phase, the controlled system is supplied with a set value the size of typTempConfiguration.
iP5StartLevel. Depending on the configuration value xUseLevelAsAbsoluteValue iP5StartLevel is
used as absolute or as %-value from the setpoint.
The system then waits until the system is in a stable state.
This phase can also be used to bring the system close to the actual operating point. This is particularly important
when the controlled system is non-linear, so that subsequent identification can determine the real behavior at the
operating point as well as possible.
Phase 2) Identification phase ->internal state 10
In this phase, the controlled system is supplied with a set value the size of typTempConfiguration.
iP10IdentLevel. Depending on the configuration value xUseLevelAsAbsoluteValue iP10IdentLevel
is used as absolute or as %-value from the setpoint. The waveform of the controlled system response is recorded.
The module returns an error if the step response cannot be recorded completely. Such is the case if the in-
ternal memory is too small. In this case, the error message is ArrayTooSmall. The rY output is reset to
zero by default. The problem can be resolved by increasing the tSampleRate sampling rate or increasing the
MAX_IDENTIFICATION_ARRAY parameter.
At the end of the identification phase, the controlled system parameters are determined using the inflectional
tangent method.
The output point for the control parameters represents the determined data set (rKs, rTu and rTg).
Evaluating both typTempConfiguration.iP10StationaryEndpointControlTime and
typTempConfiguration.rP10StationaryEndpointPercentReferenceValue inputs deter-
mines when the stationary end value is reached during the identification phase. If the process value does not change
more than the typTempConfiguration.rP10StationaryEndpointPercentReferenceValue
percent within the specified time, it is assumed that the stationary end value has been reached.
This module also allows you to interrupt identification early or to start calculating the controller parameters im-
mediately. This can be useful if the stationary end value is reached very slowly. In this case, the operator
can estimate the end value from the rStationaryEndvalue input directly and trigger calculation by the
xReleasedByOperator input.
Phase 3) Controlling the intermediate setpoint ->internal state 20
Following the identification phase, the system reaches a specific temperature. The temperature difference from the
setpoint actually specified is determined. In this phase, the control parameters are set to an intermediate setpoint
3.1. Controller 11
WagoAppControlSuite, Release 1.0.1.4
that is 50 % of the temperature difference. Therefore, you have the option of roughly estimating the quality of the
control parameters.
Phase 4) Controlling the setpoint ->internal state 30
In this phase, the specified setpoint is controlled with the calculated control parameters. The quality of the control
must be assessed by the operator and improved by manual optimization, if necessary. It is recommended to use
the trace functionality to get a visual impression of the temperature profile.
The system switches to phase 5 once the setpoint is reached.
Phase 5) Maintain setpoint (regulating disturbance variables) ->internal state 40
The controller operates with the controller set determined by the typTempConfiguration.
eP40ControlMethode configuration value. The default value is CHR_aperiodisch_dis. If a new
setpoint is identified, the system switches to phase 6.
Phase 6) Regulating the setpoint step change ->internal state 50
The controller operates with the controller set determined by the typTempConfiguration.
eP50ControlMethode configuration value. The default value is CHR_aperiodisch_set. Once
the new setpoint is reached with the corresponding accuracy, the system switches to phase 5.
Note: Since the controlled system gain is unknown during initial identification, the temperature is moni-
tored using the typTempConfiguration.rP10MaxTemperatureWhileIdentification configura-
tion value.
When the temperature threshold is reached, the output is reset to zero and the identification process terminated.
However, the process temperature can still rise further due to the properties of the controlled system. With that
said, the temperature threshold should be selected as low as possible to preclude any damage due to impermissible
high temperatures. If an error interrupts identification, the function block must be disabled once. You can then
restart with a reduced value for typTempConfiguration.iP10IdentLevel.
This module can also be used as a traditional PID controller if the xUseExternalControlParameter is set
to TRUE. In this case, the controller operates with the rKp, rTn and rTv input values.
Note: A second identification phase is only performed if the temperature difference between the cur-
rent temperature and the new setpoint rSetPointValue it greater than typTempConfiguration.
rMinProcessDifference .
3.1. Controller 12
WagoAppControlSuite, Release 1.0.1.4
Function
A controller with autotune functionality designed for temperature control with a digital manipulated output
Graphical Illustration
Function Description
This module represents a temperature controller with six different phases.
Phase 1) Settling phase ->internal state 5
In this phase, the controlled system is supplied with a set value the size of typTempConfiguration.
iP5StartLevel. The system then waits until the system is in a stable state.
This phase can also be used to bring the system close to the actual operating point. This is particularly important
when the controlled system is non-linear, so that subsequent identification can determine the real behavior at the
operating point as well as possible.
3.1. Controller 13
WagoAppControlSuite, Release 1.0.1.4
Note: Since the controlled system gain is unknown during initial identification, the temperature is moni-
tored using the typTempConfiguration.rP10MaxTemperatureWhileIdentification configura-
tion value.
When the temperature threshold is reached, the output is reset to zero and the identification process terminated.
However, the process temperature can still rise further due to the properties of the controlled system. With that
said, the temperature threshold should be selected as low as possible to preclude any damage due to impermissible
high temperatures. If an error interrupts identification, the function block must be disabled once. You can then
restart with a reduced value for typTempConfiguration.iP10IdentLevel.
This module can also be used as a traditional PID controller if the xUseExternalControlParameter is set
to TRUE. In this case, the controller operates with the rKp, rTn and rTv input values.
3.1. Controller 14
WagoAppControlSuite, Release 1.0.1.4
Note: A second identification phase is only performed if the temperature difference between the cur-
rent temperature and the new setpoint rSetPointValue it greater than typTempConfiguration.
rMinProcessDifference .
Function Description
3.1. Controller 15
WagoAppControlSuite, Release 1.0.1.4
This module represents a controller that allows diverse controller types, e.g., PID or PI, by selecting the rKp, rTn
and rTv inputs.
The output value can be limited to the range from rOutputMin to rOutputMax. If the controller is operated
with a digital output via a PWM module, the limiting values must be set to rOutputMin=0 and rOutputMax=100.
An AntiWindUp of the integral gain is always realized. rOutputMin and rOutputMax are also used as
limiting values. Manual operation is realized via the xManualOperation input. Switching to automatic mode
is hitchless.
If the controller is disabled, the size of the setpoint is determined by the configuration of the
typConfiguration.eDisableMode and typConfiguration.rDisabledOutput, if necessary.
The output is reset to zero by default.
If the rate time of the controller modeled on a real rate time instead of the ideal rate time, corresponding damping
can be realized via typConfiguration.rTdamping.
You can configure other options via the typConfiguration input. typConfiguration.
xUseP_Modified allows the proportional multiplier to act on the process value instead of on the deviation
from the setpoint. The same applies to the rate time via typConfiguration.xUseD_Modified.
By typConfiguration.xChangeInDirection the effective direction can be changed. This option works
only in the standard PID mode.
3.2 General
3.2.1 FbAverageMovingFilter (FB)
Interface variables
Function description
The average value from wCount samples will be calculated. An error will be indicated if input wCount is greater
than the parameter MAX_AVERAGE_MOVING_FILTER divided by 2.
3.2. General 16
WagoAppControlSuite, Release 1.0.1.4
3.2. General 17
WagoAppControlSuite, Release 1.0.1.4
Function Description
This module allows identification of a controlled system. However, a non-oscillating, non-integrating con-
trolled system is required. The eControlledSystem input must therefore always be operated with the
eControlledSystem.PTn value (additional controlled system types shall be added in the future).
Identification may only be started if the system is in a steady state. Otherwise, the values are calculated incorrectly.
If the module is enabled by the xEnable input, identification is started by a change at the rSetPoint input.
The xManualOperation input allows to supply the controlled system manually with the value rSetPoint
without the identification being carried out. This can be useful, so that identification is only executed in the vicinity
of the real operating point (linearization of a nonlinear distance around the operating point). If identification is
started, make sure that the rManipulatedValueAtStart input is connected correctly. If this input has an
incorrect value, identification of the rKs gain factor of the controlled system is calculated incorrectly.
Note: The default for rSetPoint must be selected to prevent damage to the controlled system. Corresponding
monitoring functions must be added to the user program.
If there is no accurate knowledge of the behavior of the controlled system, start with low values for rSetPoint
to get a first impression.
This module maps the real controlled system behavior by PTn approximation.
The output point for the control parameters represents the data set (rKs, rTu and rTg). The module makes the
values possible for the selected eControllerType available at the aValues output. Assignment is as follows:
aValues[0] ->Ziegler, extended Ziegler-Nichols method
aValues[1] ->CHR_aperiodisch_dis, Chien/Hrones and Reswick, aperiodic disturbance response
aValues[2] ->CHR_aperiodisch_dis, Chien/Hrones and Reswick, aperiodic response to setpoint changes
aValues[3] ->CHR_20_dis, Chien/Hrones and Reswick, aperiodic disturbance response with 20 % overshoot
aValues[4] ->CHR_20_dis, Chien/Hrones and Reswick, aperiodic response to setpoint changes with 20 % over-
shoot
Only non-integrating systems are currently supported.
3.2. General 18
WagoAppControlSuite, Release 1.0.1.4
This module returns an error if the step response cannot be recorded completely. Such is the case if the internal
memory is too small. In this case, the error message is ArrayTooSmall. The rValue output is reset to zero
in this case. The problem can be resolved by increasing the tSampleRate sampling rate or increasing the
MAX_IDENTIFICATION_ARRAY parameter.
This module also allows you to interrupt identification early or to start calculating the controller parameters im-
mediately. This can be useful if the stationary end value is reached very slowly. In this case, the operator
can estimate the end value from the rStationaryEndvalue input directly and trigger calculation by the
xReleasedByOperator input.
Evaluating both iStationaryEndpointControlTime and rSetPointReachedLimit inputs deter-
mines when the stationary end value is reached during the identification phase. If the process value does not
change more than the rSetPointReachedLimit percent within the specified time, it is assumed that the
stationary end value has been reached.
FbControlledSystemIdentification_01.Identifikation_ITn (ACT)
FbControlledSystemIdentification_01.Identifikation_PTn (ACT)
3.2. General 19
WagoAppControlSuite, Release 1.0.1.4
Function description
A dead time element. An error will occure if the parameter MAX_DELAY is too small to allow for the delay defined
by tDelay.
Function description
This Hysteresis function has two modes:
1. if rActivate > rDeactivate
then xOut will be TRUE when rIn > rActivate and FALSE when rIn < rDeactivate.
2. if rActivate < rDeactivate
then xOut will be TRUE when rIn < rActivate and FALSE when rIn > rDeactivate.
3.2. General 20
WagoAppControlSuite, Release 1.0.1.4
Function description
This function block must be called in each cycle.
If enabled, the output starts with the value defined by rRampStartValue. Within the time period
tRampDuration the signal reaches the value defined by rRampEndValue Leaving the manual mode, while
xEnable is still true, will restart the signal generation, beginning with rRampStartValue
3.2. General 21
WagoAppControlSuite, Release 1.0.1.4
Function description
The input will be limited by the values rOutputMax and rOutputMin.
3.2. General 22
WagoAppControlSuite, Release 1.0.1.4
Function description
An ideal D-part can be archieved by setting rTdamping to zero. The output may be syncronized. This function-
ality will be perfomed with a rising edge of input xSyncOutput and will set the output to the value given by
rManualValue. The output is limited by rOutputMax and rOutputMin.
Function description
The output may be syncronized. This functionality will be perfomed with a rising edge of input xSyncOutput
and will set the output to the value given by rManualValue. The output will be limited by rOutputMax and
rOutputMin.
3.2. General 23
WagoAppControlSuite, Release 1.0.1.4
Function description
A proportional element for control structures
3.2. General 24
WagoAppControlSuite, Release 1.0.1.4
Function description
This function block may be used as a low pass filter.
Function description An input signal in the range from 0% to 100%, will be transformed in a puls width signal.
To increase accuracy, output values below the tMinimalSwitchOn value, will be internally stored and will be
added to the next output.
3.2. General 25
WagoAppControlSuite, Release 1.0.1.4
Function description
This function calculates controller parameter depending on the inputs rKs, rTu and rTg as well as
eControllerType.
Assignment is as follows:
FuControllerParameterCalculation_PTn[0] ->Ziegler, extended Ziegler-Nichols method
FuControllerParameterCalculation_PTn[1] ->CHR_aperiodisch_dis, Chien/Hrones and Reswick, aperiodic dis-
turbance response
FuControllerParameterCalculation_PTn[2] ->CHR_aperiodisch_dis, Chien/Hrones and Reswick, aperiodic re-
sponse to setpoint changes
FuControllerParameterCalculation_PTn[3] ->CHR_20_dis, Chien/Hrones and Reswick, aperiodic disturbance re-
sponse with 20 % overshoot
FuControllerParameterCalculation_PTn[4] ->CHR_20_dis, Chien/Hrones and Reswick, aperiodic response to set-
point changes with 20 % overshoot
3.2. General 26
WagoAppControlSuite, Release 1.0.1.4
Function description
3.2. General 27
CHAPTER 4
29 Types
28
WagoAppControlSuite, Release 1.0.1.4
CHAPTER 5
80 Status
39
CHAPTER 7
ParameterList (PARAMS)
40
CHAPTER 8
VersionHistory (GVL)
WagoAppControlSuite.library
date version author change
17.08.2020 1.0.1.4 u010663 Remove WagoVisuIcons
26.09.2019 1.0.1.3 u010663 Bugfix FbDelay
12.09.2019 1.0.1.2 u010663 No error, if xEnable and xEnableAutoTune are not set at the same time
for the first identification
24.06.2019 1.0.1.1 u010663 Improvement tSamplerate=0
08.01.2019 1.0.1.0 u015842 Properties: free placeholder added
29.08.2018 1.0.0.1 u010663 Bugfix setpoint 0
05.12.2017 1.0.0.0 u010663 First version
Release Notes:
41
CHAPTER 9
Library Reference
9.1 3SLicense
9.1.1 Library Identification
Placeholder: 3SLicense
Default Resolution: 3SLicense, 0.0.0.0 (3S - Smart Software Solutions GmbH)
Namespace: _3S_LICENSE
42
WagoAppControlSuite, Release 1.0.1.4
9.4 CmpIecTask
9.4.1 Library Identification
Placeholder: CmpIecTask
Default Resolution: CmpIecTask, * (System)
Namespace: CmpIecTask
9.5 IoStandard
9.5.1 Library Identification
Placeholder: IoStandard
Default Resolution: IoStandard, 3.5.9.0 (System)
Namespace: IoStandard
9.6 Standard
9.6.1 Library Identification
Placeholder: Standard
Default Resolution: Standard, * (System)
Namespace: Standard
9.7 VisuElem3DPath
9.7.1 Library Identification
Placeholder: System_VisuElem3DPath
Default Resolution: VisuElem3DPath, 3.5.15.40 (System)
Namespace: VisuElem3DPath
9.8 VisuElemCamDisplayer
9.8.1 Library Identification
Placeholder: System_VisuElemCamDisplayer
Default Resolution: VisuElemCamDisplayer, 3.5.15.0 (System)
Namespace: VisuElemCamDisplayer
9.7. VisuElem3DPath 44
WagoAppControlSuite, Release 1.0.1.4
9.9 VisuElemMeter
9.9.1 Library Identification
Placeholder: System_VisuElemMeter
Default Resolution: VisuElemMeter, 3.5.15.30 (System)
Namespace: VisuElemMeter
9.10 VisuElemTextEditor
9.10.1 Library Identification
Placeholder: System_VisuElemTextEditor
Default Resolution: VisuElemTextEditor, 3.5.15.0 (System)
Namespace: VisuElemTextEditor
9.11 VisuElemTrace
9.11.1 Library Identification
Placeholder: System_VisuElemTrace
Default Resolution: VisuElemTrace, 3.5.15.20 (System)
Namespace: VisuElemTrace
9.12 VisuElemXYChart
9.12.1 Library Identification
Placeholder: System_VisuElemXYChart
Default Resolution: VisuElemXYChart, 3.5.15.0 (System)
9.9. VisuElemMeter 45
WagoAppControlSuite, Release 1.0.1.4
Namespace: VisuElemXYChart
9.13 VisuElems
9.13.1 Library Identification
Placeholder: System_VisuElems
Default Resolution: VisuElems, 3.5.15.30 (System)
Namespace: VisuElems
9.14 VisuElemsAlarm
9.14.1 Library Identification
Placeholder: System_VisuElemsAlarm
Default Resolution: VisuElemsAlarm, 3.5.15.0 (System)
Namespace: VisuElemsAlarm
9.15 VisuElemsDateTime
9.15.1 Library Identification
Placeholder: System_VisuElemsDateTime
Default Resolution: VisuElemsDateTime, 3.5.15.10 (System)
Namespace: VisuElemsDateTime
9.13. VisuElems 46
WagoAppControlSuite, Release 1.0.1.4
• QualifiedOnly: False
• Key: System_VisuElemsDateTime
• SystemLibrary: True
• Optional: False
9.16 VisuElemsSpecialControls
9.16.1 Library Identification
Placeholder: System_VisuElemsSpecialControls
Default Resolution: VisuElemsSpecialControls, 3.5.15.0 (System)
Namespace: VisuElemsSpecialControls
9.17 VisuElemsWinControls
9.17.1 Library Identification
Placeholder: System_VisuElemsWinControls
Default Resolution: VisuElemsWinControls, 3.5.15.40 (System)
Namespace: VisuElemsWinControls
9.18 VisuInputs
9.18.1 Library Identification
Placeholder: system_visuinputs
Default Resolution: VisuInputs, 3.5.15.0 (System)
Namespace: visuinputs
9.16. VisuElemsSpecialControls 47
WagoAppControlSuite, Release 1.0.1.4
9.19 VisuNativeControl
9.19.1 Library Identification
Placeholder: System_VisuNativeControl
Default Resolution: VisuNativeControl, 3.5.15.0 (System)
Namespace: VisuNativeControl
9.20 WagoAppProcessorLoad
9.20.1 Library Identification
Placeholder: WagoAppProcessorLoad
Default Resolution: WagoAppProcessorLoad, 1.0.0.2 (WAGO)
Namespace: WagoAppProcessorLoad
9.21 WagoSysErrorBase
9.21.1 Library Identification
Placeholder: WagoSysErrorBase
Default Resolution: WagoSysErrorBase, * (WAGO)
Namespace: WagoSysErrorBase
Parameter: RES_LOG_MAX_FILES = 1
9.19. VisuNativeControl 48
WagoAppControlSuite, Release 1.0.1.4
9.22 WagoSysKbusTerminalControl
9.22.1 Library Identification
Placeholder: WagoSysKbusTerminalControl
Default Resolution: WagoSysKbusTerminalControl, 1.6.1.6 (WAGO)
Namespace: WagoSysKbusTerminalControl
9.23 WagoSysStandard
9.23.1 Library Identification
Placeholder: WagoSysStandard
Default Resolution: WagoSysStandard, 1.6.0.0 (WAGO)
Namespace: WagoSysStandard
9.24 WagoSysVersion
9.24.1 Library Identification
Name: WagoSysVersion
Version: 1.0.0.0
Company: WAGO
Namespace: WagoSysVersion
9.22. WagoSysKbusTerminalControl 49
WagoAppControlSuite, Release 1.0.1.4
9.25 WagoTypesErrorBase
9.25.1 Library Identification
Placeholder: WagoTypesErrorBase
Default Resolution: WagoTypesErrorBase, * (WAGO)
Namespace: WagoTypesErrorBase
9.25. WagoTypesErrorBase 50