How to import a BACnet configuration
The Smart Generator for BACnet allows you to import a BACnet configuration file to generate the following PcVue configuration elements:
-
Data acquisition network and devices for the BACnet client driver.
- I/O variables including mapping onto device elements.
The following file types are supported:
-
EDE (Engineering Data Exchange) - A file format promoted by the BIG-EU organization (BACnet Interest Group - Europe). The Smart Generator supports EDE version 2.2.
-
IEIEJ - A file format specified by the Institute of Electrical Installation Engineers of Japan.
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 BACnet import. The Smart Generator for BACnet dialog opens.
-
Select the type of the BACnet configuration file to import in the Select project type dialog. You can select either EDE or IEIEJ.
Show picture
-
(EDE type) Click Next, the Select project dialog opens. Click on the ellipsis button in File name field and go to the folder that contains the BACnet project file containing the variables and the communication objects to import.
-
(EDE type) Optionally, check the Include Unit definition file property and click the ellipses button to select the unit definition file. A Unit definition file can be used to convert the BACnet units reference number into a meaningful string for use in PcVue. The file must be in Csv format with each line containing a BACnet unit number followed by the string for PcVue. The character used as the separator must be the same as for the BACnet project file. This is an example of the Unit definition file:
Copy# Unit Texts Reference
#Code,Unit Text
"0","SqMeters"
"1","SqFeet"
"2","Milliamperes"
"3","Amperes"
"4","Ohms"
"5","Volts"
"6","Kilovolts"
"7","Megavolts"
"8","VoltAmperes"
"9","KilovoltAmperes" -
(IEIEJ type) Click Next, the Select project dialog opens. Click on the ellipsis button in File name field and go to the folder that contains the BACnet project file containing the variables and the communication objects to import.
-
(IEIEJ type) Enter the ID of the device.
-
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 Advanced options tab and set BACnet settings. Here you can view and change the following properties:
-
Network name - If specified, it defines the name given to the BACnet network created in PcVue.
-
CSV delimiter - If specified, it defines the character used to delimit fields in the imported files. The default is the character specified as list separator in your system’s Region and Language settings.
-
CSV encoding - If specified, it defines the character encoding used in the imported files. Clicking in the field displays a drop down list box from where the selection is made. The default is the encoding for your system’s current ANSI code page.
-
Default write priority - If specified, it defines the BACnet default write priority. The default is 16.
-
Replace invalid characters - If selected, it allows to specify the replacement string of the invalid characters.
-
Item Suffix - Only available for IEIEJ import type. If specified, the names of configuration objects imported contain the defined suffixes. These objects can be input, output, or alarm specific.
-
The advanced options for both BACnet import types are almost identical.
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 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.
-
-
Click Next, the Automation objects dialog opens. Select those devices and Automation objects that are to be imported such as Notification Class, Schedule, Calendar, Trend Log, and Trend Log Multiple. You can click the Replace button to open a search and replace dialog that can be used to change the names of the devices or Automation objects.
Show picture
-
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.
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.
EDE and IEIEJ input data references
PcVue configuration elements are generated from the EDE and IEIEJ BACnet configuration elements as follows.
BACnet network
No useful information is available in inputs data for the BACnet network, your inputs are required:
-
Network name - The name of the generated BACnet network
-
Server list - The name of the Network Servers list used for data acquisition elements and I/O variables.
BACnet device (EDE file)
From input file | Configuration element or property in PcVue |
obj-name of device-obj | Device name |
objdeviceinstance of device-obj | Device ID |
description of device-obj | Device description |
Variables (EDE file)
From input file | Configuration element or property in PcVue |
obj-name | Name |
objdeviceinstance and obj-instance (Keyname) | Mapping |
description | Title |
obj-type | Type |
commandable / settable | Command ("Y"/"N") |
min-present-value | Minimum |
max-present-value | Maximum |
vendor-specific-deadband | Deadband |
unit-code (reference to unit file) | Unit |
supports COV | COV setting ("Y" / "N") |
In addition, you can manually input values for the following properties that will be associated to the generated variables:
-
Domain
-
Nature
-
Server List
-
Client List
Supported object types (obj-type)
Code | Object type |
0 | Analog input |
1 | Analog output |
2 | Analog value |
3 | Binary input |
4 | Binary output |
5 | Binary value |
6 | Calendar |
7 | Command |
11 | Group |
12 | Loop |
13 | Multistate input |
14 | Multistate output |
15 | Notification class |
17 | Schedule |
18 | Averaging |
19 | Multistate value |
23 | Accumulator |
24 | Pulse converter |
An EDE import references the Keynames in the EDE file instead of directly mapping the address on the device. The EDE files are copied into the TP project folder.
BACnet device (IEIEJ file)
From input file | Configuration element or property in PcVue |
Filename | Device name |
Filename | Device ID |
Variables (IEIEJ file)
From input file | Configuration element or property in PcVue |
Object-name (Code 77) | Name |
Object-Instance (Code -1) | Mapping |
Object-Type (Code 79) | Title |
Minimum-Value (Code 69) | Type |
Maximum-Value (Code 65) | Command ("Y"/"N") |
Unit-Name (Code 117) | Unit |
In addition, you can manually input values for the following properties that will be associated to the generated variables:
-
Domain
-
Nature
-
Server List
-
Client List