Data point administration
The data point management (hereinafter abbreviated DPV) allows the definition and/or access to variables for the following areas:
Calling the "DPV" can be made via the following options:
Menu item ("Data point administration")
→ "only" definition or import of variables
→ „only“ definition or import of variables
Context menu ("Assign variable" menu item) use right mouse button on the input or output pin
→ Definition, Import and assignment of variables
1.1 Variables – Group Area
Currently, the "variables - Groups tree" composed of up to three main groups:
The groups that can not be changed or whose contents can not be changed are indicated by a lock in the icon. The following functions are provided:
|New folder||Toolbar, context menu||Create a new folder||x|
|Rename Folder||Toolbar, context menu, single mouse click (left)||Rename an existing folder||x|
|Delete Folder||Toolbar, context menu||Delete an existing folder (the variables in the folder and the underlying folder are assigned to the top-level folder)||x|
|New variable||Toolbar, context menu||Create a variable and assign to the selected folder||x|
|Expand or collect folder||Toolbar, context menu||Expand or collect the entire tree||x||x|
|Import IOs||Toolbar, context menu||Selection of a device or a file and reading the IO - information||x||x|
|Drop function||Mouse||Storing variables to be moved by drag in a folder||x|
|Select function||Mouse, arrow keys up/down||If the top entry of a group is selected, all the variables that are in this group, are displayed in the variable list (depending on the filter settings).
If a subgroup is selected, only the variables that are in this subgroup displayed (depending on the filter settings).
1.2 List of variables
The variable list shows, depending on the filter settings, all variables within the selected group.
The following functions are provided:
|Create variable||Toolbar, context menu||Creating a new variable (call the parameter assignment)|
|Delete variable||Toolbar, context menu||Permanently delete a variable|
|Edit variable||Toolbar, context menu||Edit an existing variable (calling the parameter assignment)|
|Rename variable||Context menu||· Rename a variable
· unique name in the main group
· is not case sensitive
|Select variable||Mouse double click||Assign variable to a pin or function block|
|Move variable(s)||Mouse (Drag)||Selection of variable(s) by standard methods (Mouse-, Shift-,Ctrl- Key), a multiple selection can be rejected only by right mouse button or left mouse button on an unmarked entry
Thereafter move the mouse (with pressed left button), the pointer changes, if a possible item is reached
|Sorting||Left mouse button||The list can be sorted by mouse-click in the title bar, at "Name", "Memory Type", "Address"|
|Mark for logging||Context menu (except for IO variables) or right mouse button||The label is currently not taken into account, in the future a mouse click (right) on the radio button "L?" of a variable will mark this for logging in a function block based logger|
1.3 Filter options
With the filter options the set of variables displayed in the Variable List can be restricted accordingly.
If the "DPV" accessed from the "Tools menu", all variables within each group are shown. Lists the "data type" and "access" can be used to filter within the filter options.
If the "DPV" is called on a function block or a pin of function block, there is a default filter options for "data type" and "access". Depending upon the option "UseFilterAsDefault" in the [Project] .DPICFG:
- All variables are displayed (Default)
- Variables that are not conform to the specified data type and / or the specified access grayed out and can’t be used
- Only the variables that correspond to the specified data type and/or the specified access are displayed
- A change of filtering is possible with the lists "data type" and "access" within the filter options
The available entries in the toolbar depend on the particular variable type. IO definitions can, for example, not be changed or added or deleted. These are always based on the import of a configuration. Application Internal variables (GVRs), however, can be manipulated in any way.
|Create a new folder (as an organizational structure)|
|Rename an existing folder|
|Delete an existing folder
All variables of the folder including the underlying folder are moved to the "root" (first entry for the respective variable type in the tree). This movement has no effect on the application.
|Expand or collect all folders|
|Create a new variable (data point)
The type of the data point is determined by the position in the tree. (for example a folder within the “GVR tree” is marked, the variable will be created as “GVR” a.s.o.)
|Change an existing variable
A parameter dialog is called. The properties of the variable can be changed.
|Delete an existing variable
The marked variable list entry is deleted. Variable references used in the application will generate an error.
If the "DPV" accessed through a connector pin, changes in general be taken with saving the project. If the changes are applied immediately, must be made through this toolbar item.
If the "DPV" from the "Options - menu" is called, there is the storage of changes with ending the "DPV" by "OK"
|Import of variable definitions from a connected device
After a scan of a network all available variables are loaded in the project by selecting a device.
|Offline Import of IO variables|
|Offline Import of application connection variables|
3 Context menus
All options described in the toolbar can also be selected by calling the context menu on the respective folder or variable entries.
An exception is the context menu call to an IO variable. Since no manipulation is possible here, in this case a window opens with information about the variable.
This window can be closed by a mouse click (right or left), by "ESC" or "RETURN".
4 Application internal variables
Application internal variables are, as the name already says, "only" valid within the application.These variables allow access to memory areas used by symbolic identifiers. It used the standard functionalities of test.con in terms of memory allocation. They are applicable to any data type. The determination of the appropriate data type during the parameter assignment dialog or will be defined by the call through a pin that is already occupied by a data type.
There is a distinction between function blocks that pass a reference to the data (without additional memory requirement) or a copy of the data is recommended (additional memory requirement).
For parameterization (create or change) a dialog is called within the "DPV".
|Name||Within the application internal variablesthe name must be unique. The upper-and lower-case are ignored. A review is carried out at "OK" and potential conflicts are displayed.|
|Name||The length of the name can not exceed 36 characters. A review is carried out at "OK" and potential conflicts are displayed.|
|Data type||The selection of the data type is made according to the provided types. If already set a data type by a pin, so this is preselected. If it is changed then it will be checked after closing the "DPV" whether this data type can be used (possibly data type change at the function block). If the data type is incompatible, the assignment is denied.|
|Adress||This determines how the programming system is to assign the addresses.
· Automatic address allocation
The memory needed is provided by the system
· Using fixed address
Special case for special applications
· Definition by connection (reference)
Memory, provided by other function blocks, will used
|Dimension||It can be single values, vectors and matrices are defined.|
4.2 IO variables
The IO variables are provided by import from a selected device or by selecting a configuration file.
The variables cannot be changed.
The variables used in the programming will be validated before downloading in to a device. Become unresolvable conflicts found, they will be documented in the message window and the download is canceled.
5 Application connection variables
There are videos, in which application connectors are explained on our YouTube channel.
The application connection variables are used for communication between two or more applications. Most is one of them in real-time domain. Currently these variables operate as follows (see also context diagram):
- There is only one source (the real-time application)
- These variables can be in the programming of real-time application, produced, edited and deleted only at this point.
- User applications that want to use these variables, the configuration automatically import from the device during a scan or offline can import from a file.
- Variables from the source (eg, real-time application) are written, are offered in a user application as read variables and vice versa.
- If an application authorized to configure application connection variables (currently the real-time application) and is detected when logging in to a device that the device is experiencing a configuration that comes from another project of the same type, the user is advised and can, if necessary, read the "old "configuration. This will usually occur when creating a new project and the first login to a device.
The parameterization of the application connection variables subject to the same restrictions as the parameterization of the application-internal variables. However, there are in the data direction of the variables made a significant difference.
Application connection variables are always addressed clearly. The direction is determined by using the variable and the using application. Represents the application the source of variable (provider) and the variable assigned reading this corresponds to a practitioner application (consumer) a writing variable. If such a variable created in the Configurator, it is not yet in relation to direction, ie writing/reading defined. Only by assigning to a pin or block occurs, the direction determination. This then can not be changed, except by deleting and recreating the variable.
|after action||Visualization of the data direction|
|Assignment to input pin|
|Assignment to output pin|