Applies To:
  • CitectSCADA 5.xx

How to setup Run/Backup Redundancy with included projects? 

Run/Backup redundancy is completed by providing two copies of the Citect projects for use by all Citect stations.  In the event that Citect stations can not access the files in the RUN directory they will automatically change to look for the files specified by the BACKUP path and continue from there.

The Run and Backup paths contain the pointers to the compiled project and while no included projects are used, the Run/Backup redundancy will swap happily between them with no faults.

As Citect does not copy all the files it requires into the run project but obtains graphics and symbol libraries directly from the included projects the position of these included projects must also be known for the Run/Backup redundancy to work correctly with included projects.  This path information is compiled into the _include.rdb file, generated from the information in the master.dbf file in the user directory.  The master.dbf file resides in the user directory specified in the Citect.ini file.

For the information to be found when the same project is run on multiple computers each computer must have access to the paths to the specified data.  If you have linked on you computer a database in path C:\Citect\User\Fred then only other computers with a copy of the Fred directory on their computer will be able to access the graphics and symbols in that project. The solution to this problem is either to use networked driver letters F:, G: and ensure that these mappings are correct on all your computers or to use UNC names e.g.  \\computername\share\citect\user\fred.  Either of these solutions will allow that compile to find all the included project information.

Now we have include projects working from a single source the needs of the second source become obvious.  They must also use path names accessible to everyone but use path names that are not currently in the Run project as these have been found to be unavailable.  To do this we must have a different master.dbf file to ensure these paths are compiled into a different _include.rdb file.

The simplest solution to make this all happen is to put the files on each of the machines to be used as Run and Backup paths.  Attach (via the browse option) using the UNC path names each of the projects that you wish to include.  Compile both machines and set the Run and Backup directories on other machines to the UNC path names used on each of the servers.


The simplest test of this redundancy is to start up a machine connected to the Run and Backup servers and to then turn of the Run server and ensure that a page from each of the included projects can be displayed.  If any cannot be displayed then the database required cannot be found and you should ensure that the link in the project editor was made with the UNC path names and not the C:.

If you want to be sure of the paths being used.

  1. Display the kernel
  2. (Main Window) Type page rdb
  3. (RDB Window) Use Page Up/Down to find the section _include.include
  4. (RDB Window) Type "V" for verbose mode
  5. (RDB Window) Use Page Up/Down to view each of the project paths