64-bit client cannot connect to 32-bit server|Classic OPC: DA|Classic OPC: DA, A&E, HDA, XML-DA, etc.|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
64-bit client cannot connect to 32-bit server|Classic OPC: DA
Avatar
Clément Perrin
Member
Members
Forum Posts: 4
Member Since:
01/11/2024
sp_UserOfflineSmall Offline
1
10/24/2024 - 10:03
sp_Permalink sp_Print sp_EditHistory

Hello everyone,

I am opening a topic which is the exact contrary of an already existing topic.
I am having trouble accessible a 32-bit server with OPC DA and I have been doing some digging into the registry to better understand why.

The 32-bit server has only these two registry:

  • HKEY_CLASSES_ROOT\CLSID\{CLSID of the Server}
    • Implemented Categories
      • {63D5F430-CFE4-11D1-B2C8-0060083BA1FB}
      • {63D5F432-CFE4-11D1-B2C8-0060083BA1FB}
    • InprocServer32
        • (Default) String REG_SZ: C:\Program Files\...\OPCServer\OPC.dll
        • ThreadingModel String REG_SZ: both
    • ProgID
      • (Default) String REG_SZ: ServerOPC.1
    • VersionIndependentProgID
      • (Default) String REG_SZ: ServerOPC
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{CLSID of the Server}

Whereas I understand that a 64-bit client look at these addresses

  • HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{CLSID of the Server}
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{CLSID of the Server}
  • HKEY_CLASSES_ROOT\WOW6432Node\AppID\{CLSID of the Server}

I have thought of different solutions

  1. Have a 64-bit client but manually add the 3 registry entries on the 32-bit machine
  2. Have a 32-bit client (must be installed on 32-bit machine?) that DO look the way it needs to look a 32-bit registry
  3. Build a client that will fetch the 32-bit registry
  4. Install OPC Core component 64-bit on the 32-bit machine but i don't know if it would break something in the already running system
  5. Install OPC Core component 32-bit on the 64-bit remote machine 
  6. Use a 32-bit virtual machine on the 64-bit remote machine

My end-goal is to remotely access the OPC DA server and convert it to the OPC UA server. I do prefer make the conversion on a remote system rather than on the machine. If it ends up not being possible, I am open to suggestion on how to build a OPC DA > OPC UA gateway to avoid paying licenses of thousands dollars per machines. 

Thank you for your help, 
Have a great end of week.

EDIT: On the 32-bit machine, running the 32-bit OPC DA server there is a client that I suppose to be 32-bit as well. This client can browse localy and finds itself in a second, however it cannot find itself if I do a remote connection putting the exact OPC Server name and the Hostname (found with cmd>hostname). I do believe that once I troubleshoot this issue, it will unlock a lot of answers.

Avatar
Randy Armstrong
Admin
Forum Posts: 1564
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
10/24/2024 - 20:56
sp_Permalink sp_Print

Have you installed the x64 version of the OPC Core Components?

It includes a implementation of OpcEnum that allows 64 clients to find 32 bit servers and vise versa.

Avatar
Clément Perrin
Member
Members
Forum Posts: 4
Member Since:
01/11/2024
sp_UserOfflineSmall Offline
3
10/25/2024 - 00:42
sp_Permalink sp_Print sp_EditHistory

Thank you for your reply.

Should le x64 version of the OPC Core Components be installed on the 64-bit machine or the 32-bit machine?

Additionnaly, I'd like to point out this: Even on the 32-bit machine where the 32 bit server runs, when using an existing 32-bit client called " OPC QuickClient", it can connect localy, but can't connect "remotely to itself" with its name of the OPC Server and its Hostname. 

Because of this, I wonder if would even work because of the described different in registry.

EDIT: I do have OPC Core Components installed on my 64-bit machine. For context, this machine runs OPC UA without any issues, i just believe that the OPC Server I am trying to troubleshoot was coded in weird way (it is from a machine manufacturer that doesn't exist anymore so I can't get information about how it was coded).

Avatar
Randy Armstrong
Admin
Forum Posts: 1564
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
4
10/27/2024 - 00:58
sp_Permalink sp_Print

You would install the version of Core Components that matches the processor architecture on the machine.

OpcEnum hides the dependencies on the registry and provides a COM API to discover servers.

So it a better option for connecting remotely.

I can't remember how things worked with remote connectivity but I do remember testing connections to 64-bit via a 32-bit client so it should work.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 46
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1435
Posts: 4855