Starting with System Platform 2020 AVEVA/Wonderware discontinued supporting DI objects in favor of the OI server technology. Unfortunately this requires a migration effort of existing CXS BACnet applications to remove the DI device objects. While OI servers provide some new features on the communication side there are drawbacks on the engineering side:
- The server configuration is no longer edited in the IDE (has moved to the SMC)
- The server configuration is no longer stored in the Galaxy
- Deployment to a remote node requires an additional manual installation step
This article describes the steps necessary to migrate an existing DI object based CXS BACnet application to versions 2020, 2020R2, 2023 and higher:
In a nutshell these tasks need to be executed:
- Replace the DI port and DI device objects with standard clients (DDE/SL or OPC)
For remote server access it is always preferable to use the DDE/SL in order to avoid DCOM issues - Install the CXS BACnet Server(s) on the target nodes using the stand alone setup
- Configure the CXS BACnet Server(s) using the SMC
Replacing the DI communication objects
There are two different strategies replacing the DI port and DI device objects:
- Client device objects
Replacing each DI device object with a DDE/SL (or OPC) client using exactly the same name and topic.
This also is true for redundant setups using the redundant DI object for each pair of device clients.
Advantages:
- Granular deployment on a device basis
- Redundancy on the device level
- Application object IO references don’t change
- Minimal application modification
- Granular deployment on a device basis
- Client port objects
Replacing each DI port object with a DDE/SL (or OPC) client.
This requires to populate the topic list with all previous DI device names .
Advantages:
- Single client for multiple devices
- Redundancy on the server level
- Single client for multiple devices
The decision which strategy to use is mainly driven by the desired structure and required granular maintenance. However, there are also procedural considerations:
- Client device objects can easily be created manually and the impact on the application is minimal since no IO references change
- The creation of client port objects can be fully automated by the CXS BACnet Application Generator adjusting the application object IO references automatically
Migration steps in detail
- Client DDE/SL device objects (manual migration)
- Save the configuration file of the CXS DASBACnet Server with fully deployed DI objects
The configuration file is found under:
C:\ProgrammData\ConneXSoft\DAServer\DASBACnet\DASBACnet.AAcfg - Undeploy all DI objects
- For each DI device object create a DDE/SL client with the same name and topic, removing the DI object.
- Configure the topic to point to the associated device group
- Install the CXS DASBACnet Server on the node where the DI port object was originally deployed to and copy the save configuration file back into the configuration location
- Save the configuration file of the CXS DASBACnet Server with fully deployed DI objects
- Client DDE/SL port object(s)
- This migration can be executed automatically using the CXS BACnet Application Generator
- The CXS BACnet Application Generator provides an OI mode setting in the ArchestrA options allowing a re-generation of the application with the correctly loaded namespace
- Automatic creation of DDE/SL clients
- Automatic configuration of the DDE/SL clients
- Automatic adjustment of all associated application object IO references
- Automatic generation of the stand alone CXS DASBACnet Server configuration file
- This migration can be executed automatically using the CXS BACnet Application Generator
Note: The upcoming version of the CXS BACnet Application Generator will also support the automatic migration to a client DDE/SL device objects application (first option)