How to import a WAGO CoDeSys configuration
The WAGO CoDeSys Smart Generator allows you to import a CoDeSys symbol file (.SYM) to generate the following PcVue configuration elements:
- Data acquisition network, devices, and frames for the Modbus Ip driver.
- I/O variables including mapping onto frames.
The Symbol File is produced by the WAGO CoDeSys programming software. For information on how to generate the symbol file, see the help supplied with the CoDeSys software. It is not necessary to have the WAGO CoDeSys programming software installed for the smart generator to run.
Refer to the overview topic Smart Generators overview to learn more.
Selecting the source data
Before you start the import process, we recommend that you back up the PcVue variables configuration in case of any problems occurring during the import process. The variable configuration is stored in the file VAREXP.DAT in the project's C folder.
Make sure that PcVue is shut down before copying the file.
-
Go to Configure then Smart Generators and click New WAGO import. The WAGO Smart Generator dialog opens.
-
Click on the ellipsis button in File name field, then select the .sym file that contains the WAGO CoDeSys project file to import.
Show picture
-
Enter an Alias for the equipment. This is the name by which the device will be known in PcVue.
-
Enter the IP adress of the WAGO coupler in the IP address field.
-
Click the Advanced/Options button, then select a server list and a client list in the Networking list tab to define the behavior of PcVue variables for a multi-station project.
The lists of servers and clients must already have been created in PcVue and the station from which you run the smart generator must be in the servers list.
-
Select the Internal variables Modbus tab, and select the device internal variables for which you want to generate PcVue I/O variables. The access and addresses of these variables are as follows:
Name Access Address Description WS_TIME Read/Write
4096 Watchdog time WD_FCM1_16 Read/Write
4097 Watchdog function coding mask 1_16 WD_FCM17_32 Read/Write
4098 Watchdog function coding mask 17_32 WD_TRIGGER Read/Write
4099 Watchdog trigger WD_STOP_MASK Read/Write
4101 Watchdog stop WD_RUNNING Read
4102 Current Watchdog status WD_RESTART Read/Write
4103 Restart Watchdog WD_STOP_SIMPLE Read/Write
4104 Simply stop watchdog WD_ALTERNATIVE Read/Write
4106 Watchdog configuration LED_ERR_CODE Read
4128 Led Error Code LED_ERR_ARG Read
4129 Led Error Argument LEN_ANALOG_OUT Read
4130 Number of analog output data in the process image (in bits) LEN_ANALOG_IN Read
4131 Number of analog input data in the process image (in bits) LEN_DIGIT_OUT Read
4132 Number of digital output data in the process image (in bits) LEN_DIGIT_IN Read
4133 Number of digital input data in the process image (in bits) BOOTCONFIG Read/Write
4136 Boot configuration MODBUS_TIMEOUT Read/Write
4138 Configuration Modbus/TCP Timeout FW Read
8208 Firmware version INFO_TEM Read/Write
8209 Wago item number -
Select the Digital output access tab, and select whether to map Digital outputs on Bit or Word frames in PcVue.
Defining branches and selecting variables
After you have selected the source data and configured the networking lists and options of the import via the Select project dialog, the next step is to define the branches and select the variables you want to generate.
-
Click Next, the variable import process is initialized and the Select import type dialog opens. Select the type of import you need:
- Custom import if you want to access the Select variables dialog in which you can filter and manually select the list of variables to import.
- Full import if you want to generate variables for all source data.
-
(Custom import option) Adjust the filters to find the variables to import. The Name field allows to filter the list of variables according to the name in the source data. You can use wildcards, the asterisk (matches any number of characters) and the question mark (matches a single character).
For example:
'Pump1' would only match a source data named 'Pump1'.
'Pump?' would match 'Pump1' or 'Pump2' etc. but not 'Pump10'.
'Pump*' would match 'Pump1', 'Pump2' and 'Pump10' but also 'Pumpkin'.The variables that match the filter appear in the Available Items pane.
-
(Custom import option) Select the variables filtered in the Available items pane for import and click the right-arrow -> button. The variables in the Selected items pane are to be imported and generated.
-
Click Next, the WordBits dialog opens, adjust the filters using the Name field which allows to filter the list of variables according to the name in the source data. You can use wildcards, the asterisk (matches any number of characters) and the question mark (matches a single character). For example:
'Pump1' would only match a source data named 'Pump1'. 'Pump?' would match 'Pump1' or 'Pump2' etc. but not 'Pump10'. 'Pump*' would match 'Pump1', 'Pump2' and 'Pump10' but also 'Pumpkin'.The variables that match the filter appear in the Available Items pane.
By default, the bit variable names are generated by adding .bn to the register name, where n is the rank of the bit. For example, if the register name was PLC_PRG.MW1287, the smart generator would generate bit variables named PLC_PRG.MW1287.B0, PLC_PRG.MW1287.B1 etc.
You can customize the text that is added to the register name using the WordBit configuration dialog displayed from the Configure button.
-
Select the register (word) variables that will be treated as 16 individual bits by PcVue and click the right-arrow -> button to move them to the Selected items pane.
-
Select which bits are to be used for each variable by selecting the variable name in the Selected items pane and clicking the BitSet button. By default, all bits are used.
-
Click Next, the Branch Management dialog opens. This step allows you to control how branches and variable names are derived from source data names so that the generated variables fit in the branching and naming logic of your project. First, you can enter a global branch if you want to prefix the name of all generated variables with a particular branch segment. You can also select branch separator options to control how source data names will be split into branch segments:
-
Use numeric characters as branch separator - If selected, a branch separator will be added after each numeric character. For example, a source data named MOT1DEFAULT1 will generate a variable named MOT1.DEFAULT1.
-
Use specific sequence character as branch separator - If selected, the sequence of characters you select will be replaced by a branch separator. For example, if you select the underscore ('_') as sequence character, a source data named CONTROLROOM_COMMAND will generate a variable named CONTROLROOM.COMMAND.
A branch separator is not added when a numeric character is at the end of the name.
-
Renaming and generating variables
After you have defined the branch and selected variables to generate via the Select variables dialog, the next step offers the possibility to edit the variables you have selected and prepare them for generation.
If a variable is displayed in red, it means that it is invalid for use in PcVue and will not be generated. Use the Rename variables dialog to ensure variable name compliance:
- The max length of a variable name is 255 characters.
- The max number of branch elements in a variable name is 12.
- The name of a branch element or the name of the leaf element cannot be empty (length =0) or exceed 255 characters.
- The name of a variable can only include letters, digits, or the underscore.
- Variable names shall be unique. Two variables cannot have the same name.
-
Click Next. The Generate variables dialog opens, listing all variables selected for generation. To rename variables, either select variables and click Rename selected, or use the Rename invalid button. The Rename variables dialog displays variables in a grid and offers several actions.
-
The Rename variables dialog is designed to make it easy to give a final polish to variable names and fix invalid ones, and also to bulk modify variable properties, to set the Command level or Alarm property for example.
The following operations are available:
- To modify a single variable, double click it, or select it and click Properties. You can edit its name in the General tab. Click OK to validate.
- To add a leaf to one or more variables (to add a .Cmd or .AlarmTmpHigh for example), select them, then click Suffix and enter the suffix to be added. Click OK to validate.
- To replace characters in the name of one or more variables, select them, then click Replace to open the Replace dialog. Enter the strings to search and replace, then click OK.
- To replace branch segments, select the variables, then select the branch segments to be replaced by clicking on the column header and click Replace to open the Replace dialog. Enter the strings to search and replace, then click OK.
- To delete a branch segment, select the variables, then the branch segments to be removed by clicking on the column header and click Delete. The selected branch segments are then removed from the selected variables.
- To merge branches, select the variables, then the branch segments to be merged by clicking on the column header and click Merge. The selected branch segments are then deleted for the selected variables. You can only merge consecutive branch segments.
You can edit the variable properties in the Details tab. These properties can be its type, domain, nature etc.
You can use Shift+click to select a group of adjacent variables and branches or Ctrl+click to select several individual variables.
Once you are done editing the variables click OK to close the dialog.
-
Click Finish and Yes in the Generation dialog to start the generation of variables in PcVue. A dialog is displayed indicating the progress. Any variables in the smart generator that already exist in PcVue are discarded. The corresponding variables in PcVue are not overwritten or updated in any way.
Any variables appearing in red are invalid and will not be generated when clicking Finish.
Synchronizing an existing import
When you synchronize an import, the smart generator compares the configuration elements available in the import file with those that have been imported previously to PcVue.
The synchronizing process takes into account any filter that you may have used previously with the import. For example if there are 400 variables in the import file and the previous use of the import was with a filter and created 100 variables in PcVue, synchronization will inform you that there are 300 new variables available for import.
-
Select the import to synchronize in the right pane of the Smart Generators dialog. A list with actions appears under the Import references pane.
Show picture
-
Click Synchronize. This will open the smart generator dialog in which you can reconfigure the import. If variables have been added to the import file since the last import, the smart generator will display the Import new variables dialog, inviting you to make either a full or a custom import of the remaining variables.
-
If you select full import, all variables not already in PcVue are imported.
-
If you select custom import, you can filter the variables using the Select variables dialog.
-
If the smart generator finds variables in PcVue that no longer exist in the import file, a list of the variables is displayed. Using this list, you can choose to remove some or all of the variables from PcVue.
You can choose to only remove imported configuration elements of a smart generator without removing the smart generator import itself. This can be done by right-clicking the import generated and selecting Remove all imported objects.