01/11/2024
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
- Implemented Categories
- 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
- Have a 64-bit client but manually add the 3 registry entries on the 32-bit machine
- 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
- Build a client that will fetch the 32-bit registry
- 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
- Install OPC Core component 32-bit on the 64-bit remote machine
- 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.
01/11/2024
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).
05/30/2017
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.
1 Guest(s)