Machine parameters
The machine parameters are required to define the machine. Parameters that need to be adjusted for each machine can be entered here. These parameters are persisted in the background by the System Engineering Extension. When the TwinCAT 3 HMI server is started, the parameters are written to the PLC. This allows for quick and easy commissioning or maintenance of the individual areas of the machine.

Attributes
To include a variable from the PLC in the control for the machine parameters, the variable must be marked accordingly in the PLC with attributes.
General
Attributes | Description |
---|---|
'TcHmiSystemEng.Parameter.Name' | Name of the variable or node. If other variables are in use below this variable, this name is used as the navigation name in the TreeView. If the variable is not resolved further, the name is used as the display name of the variable within the control. 'Packing' |
'TcHmiSystemEng.Parameter.TreeViewImage' | The TreeViewImage can be used to attach an image file for the TreeView. This image is then added to the navigation in the TreeView at the corresponding position. 'Images/Labeling.svg' |
'TcHmiSystemEng.Parameter.Layer' | The display path for the TreeView can be adjusted by setting the layer. The symbol path from the PLC is used as the default value. By setting the value, the path can be moved upwards in the structure by the set value. '-2' (Moves the entry point up two levels.) |
Machine parameters
Attributes | Description |
---|---|
'TcHmiSystemEng.Parameter.Info' | An additional information text for the symbol can be transferred via Info. This can be helpful to clarify the function/effect of a change. 'Simulation with no sensor present' |
'TcHmiSystemEng.Parameter.Unit' | Specify the unit of the variable to be displayed. This is displayed later on the control 'mm' |
'TcHmiSystemEng.Parameter.Min' | The lower limit of the variable can be defined via the minimum value. This is checked for plausibility in the control and displayed. '100' |
'TcHmiSystemEng.Parameter.Max' | The upper limit of the variable can be defined via the maximum value. This is checked for plausibility in the control and displayed. '2000' |
'TcHmiSystemEng.Parameter.GroupName' | Variables can be grouped within the control by specifying a grouping. These are displayed together and can be expanded or collapsed. 'Configuration' |
Special features
Link variable to attributes
As it is not always possible to specify a fixed value, e.g. for the minimum and maximum value, it is possible to bind these to a variable.
Access to a variable at the same structure level:
FUNCTION_BLOCK FB_Machine
VAR
{attribute 'TcHmiSystemEng.Parameter.Name' := 'Label Speed'}
{attribute 'TcHmiSystemEng.Parameter.Unit' := 'mm/1'}
{attribute 'TcHmiSystemEng.Parameter.Min' := '@nMinSpeed'}
{attribute 'TcHmiSystemEng.Parameter.Max' := '@nMaxSpeed'}
nSpeed : REAL;
nMinSpeed : REAL := 0;
nMaxSpeed : REAL := 3000;
END_VAR

Access to a variable in a substructure:
FUNCTION_BLOCK FB_MachineUnit
VAR
{attribute 'TcHmiSystemEng.Parameter.Name' := 'Inspection'}
{attribute 'TcHmiSystemEng.Parameter.TreeViewImage' := '@this._sImage'}
_fbInspection : FB_InspectionUnit;
END_VAR
FUNCTION_BLOCK FB_InspectionUnit
VAR
{attribute 'TcHmiSystemEng.Parameter.Name' := 'Station Image'}
{attribute 'TcHmiSystemEng.Parameter.Info' := 'Image of the station'}
_sImage : STRING := 'Vision/normal.svg';
END_VAR

Preset variables
Placeholder attributes can be defined using so-called preset attributes. These can be used in substructures of function blocks. This is necessary, for example, if the attribute declarations have been made within a library function block. Function blocks that are in a library cannot be changed in the project. By declaring the placeholder in the variable, the value is transferred to the function block. In the case of multiple initialization, the preset variables can be used, for example, to create a separate name for each individual function block.
FUNCTION_BLOCK FB_Machine
VAR
{attribute 'TcHmiSystemEng.Parameter.Name' := 'Cut Cylinder'}
{attribute 'TcHmiSystemEng.Preset.Informations' := 'Cut Cylinder'}
_fbCutCylinder : FB_Cylinder;
END_VAR
FUNCTION_BLOCK FB_Cylinder
VAR_INPUT
{attribute 'TcHmiSystemEng.Parameter.Name' := 'Timeout'}
{attribute 'TcHmiSystemEng.Parameter.Info' := 'TcHmiSystemEng.Preset.Informations'}
timeout : TIME;
{attribute 'TcHmiSystemEng.Parameter.Name' := 'Simulation Feedback'}
{attribute 'TcHmiSystemEng.Parameter.Info' := 'TcHmiSystemEng.Preset.Informations'}
simulationFeedback : TIME;
END_VAR

Grouping variables
Variables can be grouped together using grouping. This means that they are displayed together in a group.
FUNCTION_BLOCK FB_Cylinder
VAR_INPUT
{attribute 'TcHmiSystemEng.Parameter.Name' := 'Simulation Feedback'}
{attribute 'TcHmiSystemEng.Parameter.Info' := 'Work process simulation time'}
{attribute 'TcHmiSystemEng.Parameter.GroupName' := 'Cut Cylinder'}
simulationFeedback : TIME;
{attribute 'TcHmiSystemEng.Parameter.Name' := 'Timeout'}
{attribute 'TcHmiSystemEng.Parameter.Info' := 'Work process timout'}
{attribute 'TcHmiSystemEng.Parameter.GroupName' := 'Cut Cylinder'}
timeout : TIME;
END_VAR
