Error 538500 When Running DCAF Application

Updated May 3, 2018

Reported In

Software

  • LabVIEW Professional

Programming Language

  • LabVIEW G

Other

  • Distributed Control and Automation Framework (DCAF)

Issue Details

When running a DCAF application I receive Error 538500: Class Not Found.

Solution

Applications built using the Distributed Control and Automation Framework (DCAF) dynamically instantiate all modules required to run a specific configuration at runtime. Error 538500: Class Not Found indicates that the application was not able to find one or more of the modules used in the current configuration. The following steps describe how to ensure your DCAF application is able to find all required modules.
 
  1. Launch the Standard Configuration Editor and open the configuration file for your application.
  2. In the System Configuration hierarchy, select the target you are deploying your application to.
  3. In the Configuration tab, edit the Includes file path to point to your application's module includes file (for the Basic Execution Template project this is Host Module Includes.vi). If your project does not yet have an includes file, leave this blank.
  4. Click Generate. If Includes file path was left blank, choose where to save the includes file.
  5. Verify that this includes file is statically called within your application. This is often done by placing the VI in the application's startup VI .

Additional Information

DCAF has been developed using LabVIEW Object Oriented Programming. The target, DCAF engine, each module's configuration, and many other components are all LabVIEW objects. When a DCAF application loads and initializes a target in a specified configuration file it will parse the configuration file and attempt to instantiate each required object by name. If the framework is unable to instantiate the object by name it will throw Error 538500.

The framework does not know which classes will be needed until it reads the configuration file so we need to make sure each required class is included in the application. The module includes file which we script is simply a VI with a class object constant for each class which will be required during runtime. While this VI will not do anything during execution, it will tell LabVIEW that the class files will need to be included when the application is deployed or built.

WAS THIS ARTICLE HELPFUL?

Not Helpful