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.

  1. Go to Configure then Smart Generators and click New BACnet import. The Smart Generator for BACnet dialog opens.

  2. Select the type of the BACnet configuration file to import in the Select project type dialog. You can select either EDE or IEIEJ. ClosedShow picture

  3. (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.

  4. (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"
  5. (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.

  6. (IEIEJ type) Enter the ID of the device.

  7. The advanced options for both BACnet import types are almost identical.

  8. 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.

  9. 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.

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.

  1. 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.

  2. 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. ClosedShow picture

  3. 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.
  4. (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.

  5. (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.

  6. ClosedShow picture

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.
  1. 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.

    ClosedShow picture

  2. 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.
    • You can edit the variable properties in the Details tab. These properties can be its type, domain, nature etc.

    • 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 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.

  3. 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.

  1. Select the import to synchronize in the right pane of the Smart Generators dialog. A list with actions appears under the Import references pane. ClosedShow picture

  2. 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