Applies To:
  • CitectSCADA 5.40

Summary:
Citect says "driver not initialised". The usual problem is a .DLL file is the wrong version.

Citect, and CItect drivers use many Microsoft DLL files, as well as 3rd party DLLs in some drivers.  These 3rd party DLLs are normally supplied with a specific API bought from a 3rd party.

For any number of reasons, you may find the wrong mix of files on your system.

 

Solution:
The solution is to check these DLLs with the Dependency Walker. This is a free utility available at http://www.dependencywalker.com/.  The following assumes you have version 2.0 of the tool.

Step 1. Static Check

Open the driver.dll (replace driver with actual name) with the Dependency Walker and it will show static dependency issues.

Ensure View | Full Paths is ticked so you can see which DLL is in use.  Not all of the coloured faults may be fatal, some code paths which may crash, may never be called in the application.

Known DLLs which you can ignore often come up and are for language localisation. Some will obviously be fatal.

It also shows the path of where the DLLs (View->Full Paths) live.

Step 2. Dynamic checks

Open citect32.exe with DW. Ensure that the citect.ini file has the RUN= path set.

This will be set if you have the project highlighted in the citect explorer.

Click on Profile | Start Profiling

Ensure "Hook the process ..." is ticked and "log loadlibrary" as well as "Use full paths"

Click on OK .

This will then run citect and show any realtime dependency issues.

Step 3.

Save the traces in a xx.dwi file, a "save as" option, and send this back to Citect Support

Note: CItect may not be able to resolve your problem if it lies with 3rd party DLLs

 

Keywords:
 

Attachments