Software Specification
AWLConverter
insite GmbH
Introduction#
The AWLConverter is a software application that converts the data definitions in a Siemens S7 project to XML- or C#-source-files. The conversion to XML format generates data definition files (DDFs) that can be used in different tools of the IDAT family. The conversion to C#-source-files generates files for INAX (INsite Automation frameworX).
Purpose and Objective##
Easy creation of files that map PLC/S7 data structures.
Definitions, Acronyms, Abbreviations##
- Data Definition File (DDF): A file which describes the structure of single or combined variables and defines the mapping of these variables.
- Mapping: Variables are mapped to a defined data or memory area.
General Description#
The special features and setting options of the software are described below.
System Environment##
The software is written in C# with Visual Studio 2017 for the .NET framework 4.6.1.
User Interface#
The application is dialog-based. The usage is straightforward, though some features need a bit of explanation.
MainWindow Controls##
The application features tool tips for all controls. Here, you see a more detailed explanation of the function behind each control:
Common symbols:
... browse for file/directory
$ $ clear file/directory selection or text filter
- Select the format of the created files. Currently "IDatTemplate" (DDF in XML-format) and "InaxTemplate" (C#-source) are supported. If you select "InaxTemplate", there will be a further tab allowing you to work on the PLC symbols, which is not possible and not needed for DDFs.
- Sets the S7-project from which the data structures are extracted. You can enter the filename manually, browse for it or clear the current selection.
- Sets the output directory for the created files. You can enter the directory manually, browse for it, open the directory with the explorer or clear the current selection.
- Creates, saves or loads a pattern file. A pattern file can save your selections and apply them again to a different or changed S7-project. See below for more details. You can enter the filename manually, create a new one, open it, save it or clear the current selection.
- Enter a text pattern that is matched against the contents of the item list.
- The list of all data blocks in the PLC-project. If you select "InaxTemplate" there's a further tab that allows you to switch to the "symbols"-view. Beside the symbolic name, the absolute name, the DB number and information regarding your item selection is displayed. You’ll find more on item selection below. If you double click on a grid line, the FilterEditor opens and allows you to select/deselect certain items from a data block for backup/restore.
- Used to check/uncheck all items at once.
- Start creation of output files.
- Status line.
- Pattern reader writer. (This are reader writer modules to save and restore patterns in different formats)
FilterEditor Controls##
By clicking on a grid line (a PLC data block) in the main window, the FilterEditor opens. It allows you to select/deselect certain items from a data block for backup/restore.\
- Enter a text pattern that is matched against the contents of the item list.
- Tab to select the view that allows you to exclude certain items from a restore operation. In other words, the selected items are "read-only" in respect to the PLC data content.
- Tab to select the view that allows you to narrow down the backed-up items to one or more subsets of the data block. If there is no subset defined, all items are backed up! Be aware, that the subset selection has no impact to the available items shown in other parts of the UI due to internal reasons. See below for details.
- List with all available items. A double click on an item moves it to the section list below.
- List with the currently selected items. A double click on an item removes it from the list.
- Apply the changes.
Using the FilterEditor#
Unrestored Items##
The terminology in certain controls of the AWLConverter is derived from it's use to create files for the PLCDataManager. At least "unrestored items" are items that will be excluded from write operations to the PLC. So normally all items inside a data block are read from the PLC but the "unrestored" items will not be written back on a restore operation. Imagine a data block, where a single item could be a production counter, others could be a set of configuration values that you just entered to optimize the machine's performance. Though you want to back-up your settings and maybe restore them at a later time, you don't want to override the production counter on a restore! In this case you would declare the production counter to be an "unrestored item".
Subsets of Items for Back-up##
Per default, the entire data block is read from the PLC and – in the case of the PLCDataManager - saved in a file. You can narrow down the saved items, by picking only the items you really need to save. This can decrease the memory usage on the disk and increase performance.
Pattern#
In order not to have to start all over again, we have built a support in the form of patterns. We support different formats for this functionality.
XmlPattern##
All the selections you make on the main window and in the FilterEditor can be saved in a pattern file. If you later open the same or a different PLC project and reload the saved pattern file, the AWLConverter will (try to) match the selections you made to the new symbolic content of the selected S7-project.
ParasavePattern##
In remembrance of our outdated program Parasave there is now also the possibility to use the Parasave.ini file as a pattern. So you can upgrade the Parasave-Configuration to our new tools.
DirectoryPattern##
In order to be able to import already created files that were not backed up in an xml pattern, there is now also the DirectoryPattern, which omits the settings from the generated cs files by selecting a directory with these files.
Installation#
This requires the "Microsoft .NET Framework 4.6.1" to be installed and available on the destination system under Windows.
The application files can be copied to any directory. The application can be started directly from this directory.