Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Communication Drivers

Convert a legacy DAServer to a Communication Driver

Convert a legacy DAServer to a Communication Driver

  • Last UpdatedNov 18, 2024
  • 2 minute read

In the initial releases, the I/O server was termed as DAServer (Data Access Server). Later it was named OI Server, and now it is called a Communication Driver. The main difference between a DAServer and an OI Server is that an OI Server supports multi-instance. There are no significant functional differences between an OI Server and a Communication Driver.

The SDK that was erstwhile used to create a DAServer is different from the current version of the SDK that can be used to create a Communication Driver. This section describes the process to follow to convert a legacy DAServer to a Communication Driver.

Convert a DAServer to a Communication Driver

  1. Upgrade DAServer projects to VS2022.

  2. Change _WIN32_WINNT version to 0x0500 in all DAServer projects.

  3. Update the DASToolkit libraries to include files with the latest SDK files provided.

  4. Change the GetModuleName() implementation in the DAServer runtime project. Copy and paste the following code snippet:

    STDAPI DllServerGetClassName(wchar_t *);

    LPCSTR SvIoServer::GetModuleName(void)

    {

    static char classname[100] = {0};

    if (classname[0] == 0)

    {

    wchar_t name[100];

    DllServerGetClassName(name);

    wcstombs(classname, name, 100);

    }

    return classname;

    }

  5. Remove const for CLSID CLSID_CIosActivate = DASSim::CLSID_IosActivate;

  6. Insert the DAServer CLSID to the new ServerExe.exe using ResMan.

  7. Find and replace DAServer ProgId to OI.<ServerName> (Do not use DAS in ProgId name, for example, ArchestrA.DASSim to OI.SIM).

  8. Change aaCfg, aaRul file installation path to Operations Integration Supervisory Servers location in the RuntimeMSM as shown below:

    <Directory Id="VendorFolder" Name="Wonderware">

    <Directory Id="DAServerFolder" Name="OI-Server">

    <Directory Id="DAServerPAKFolder" Name="$Operations Integration Supervisory Servers$">

    <Directory Id="DAServerNameFolder" Name="OI.SIM">

    <Directory Id="BaseInstanceFolder" Name="OI.SIM">

    <Component Id="DASSim.AArul" Guid="35742EC4-38F7-43CA-9DFE-002169FD8A2F">

    <File Id=" DASSim.AArul" Name=" DASSim.AArul" Source="..\..\Support\ DASSim.AArul" KeyPath="yes" />

    </Component>

    <Component Id=" DASSim.AAcfg" Guid="4F8C2DE3-EBAE-480A-AA9A-19E3EC336DD5" Permanent="yes" NeverOverwrite="yes">

    <File Id=" DASSim.AAcfg" Name=" DASSim.AAcfg" Source="..\..\Support\Configuration\ DASSim.AAcfg" KeyPath="yes"/>

    </Component>

    </Directory>

    <Component Id="OI.SIM.1" Guid=" NEW GUID " Permanent="yes" NeverOverwrite="yes">

    <File Id="OI.SIM.1" Name="OI.SIM.1" Source="..\..\Support\OI.SIM.1" KeyPath="yes" />

    </Component>

    </Directory>

    </Directory>

    </Directory>

    </Directory>

    </Directory>

  9. Comment <ServerName>.exe.reg5, <ServerName>.exe.reg4 and <ServerName>.exe.reg3 entries in the RuntimeMSMReg file.

  10. Go to C: > Program Files(x86) > Wonderware > OI-Server > OI-SDK > SamplesAndVideos > DAS2OIConversion. Copy the OIServerProductInstall.wsx file to the ProductInstall folder. Rename "OIServer" in the file name with the actual name of the Communication Driver. Open the file in VS2022 and update product name, version, and GUIDs appropriately.

TitleResults for “How to create a CRG?”Also Available in