Upgrade OPC Classic server from 32-bit to 64-bit, doesn't work|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
Upgrade OPC Classic server from 32-bit to 64-bit, doesn't work
Avatar
Franz Eversheim
Member
Members
Forum Posts: 6
Member Since:
02/18/2021
sp_UserOfflineSmall Offline
1
09/15/2023 - 05:58
sp_Permalink sp_Print

Hello all,
I tried to use the 64 bit Version of our self developed OPC server which works as 32 bit Version for years without any trouble, but the OPC client can't find the server. Both applications running on the same Win 64 PC.
I installed the newest OPC core components, deleted the DCOM configuration service entry of the 32 bit OPC server, and also cleaned the associated registry entries. Nothing helped.
I am grateful for any ideas.

Avatar
Randy Armstrong
Admin
Forum Posts: 1457
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
09/15/2023 - 08:18
sp_Permalink sp_Print

To use 64-bit COM apps you too need the 64but version of Core Components which includes a 64 bit version of OpcEnum.

Avatar
Franz Eversheim
Member
Members
Forum Posts: 6
Member Since:
02/18/2021
sp_UserOfflineSmall Offline
3
09/17/2023 - 22:36
sp_Permalink sp_Print

Thanks for the answer.
I installed the OPC Core Components Redistributable (x64) 3.00.108.msi, which is the newest package I found.

Avatar
Randy Armstrong
Admin
Forum Posts: 1457
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
4
09/17/2023 - 22:52
sp_Permalink sp_Print

Is the client using direct registry access to find hosts?

Many clients did and it would prevent them from seeing x64 servers.

Clients should always use OpcEnum to find servers.

Avatar
Franz Eversheim
Member
Members
Forum Posts: 6
Member Since:
02/18/2021
sp_UserOfflineSmall Offline
5
09/17/2023 - 23:00
sp_Permalink sp_Print

The OPC Client is a commercial product and works with 64 Bit OPC Servers according to the manufacturer.
In addition, I have tried the Matrikon OPC Explorer, also without success.
Is there a certain sequence that has to be followed when changing an OPC server from the 32 bit variant to the 64 bit variant? So the same application with the same name?

Avatar
Randy Armstrong
Admin
Forum Posts: 1457
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
6
09/17/2023 - 23:39
sp_Permalink sp_Print sp_EditHistory

Do you have access to this download:

https://opcfoundation.org/deve.....e-servers/

It has sample code that registers servers used to test OpcEnum.

It appears it does not have x64 code.

Avatar
Franz Eversheim
Member
Members
Forum Posts: 6
Member Since:
02/18/2021
sp_UserOfflineSmall Offline
7
09/17/2023 - 23:45
sp_Permalink sp_Print

I'm sorry, it looks like that I do not have access to this download.

Avatar
Randy Armstrong
Admin
Forum Posts: 1457
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
8
09/18/2023 - 00:16
sp_Permalink sp_Print sp_EditHistory

The issue is this: the server registers its component categories in its bitness but only clients with the same bitness can see them. OpcEnum installs a component that allows OpcEnum to Enumerate the categories in a different bitness.

Your server is likely not registering its component categories properly.

I suggest you use regedit to compare the registry entries of servers that do work and your server.

This may allow you to find what is missing.

Avatar
Franz Eversheim
Member
Members
Forum Posts: 6
Member Since:
02/18/2021
sp_UserOfflineSmall Offline
9
09/18/2023 - 00:32
sp_Permalink sp_Print

Thanks for the support. I'll look for another 64 bit OPC server and check the registry entries.

Avatar
Franz Eversheim
Member
Members
Forum Posts: 6
Member Since:
02/18/2021
sp_UserOfflineSmall Offline
10
09/20/2023 - 01:05
sp_Permalink sp_Print

The following registry keys were not present. After adding this parts manually, the OPC Client was able to connect to our 64-bit OPC server.

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\AppID\{E421E9FD-C93E-43E0-81A8-293BFF85A35E}]
@="My OPC DA Server"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\My_OPC_DA_Server]
@="My OPC DA Server"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\My_OPC_DA_Server\CLSID]
@="{E421E9FD-C93E-43E0-81A8-293BFF85A35E}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\My_OPC_DA_Server\OPC]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\My_OPC_DA_Server\OPC\Vendor]
@="the"

I copied this registry keys from another PC, where our 64-bit OPC server runs fine and is found by the OPC client application. Basically, the 64-bit variant works, but there must be differences between the two installations. So I am looking for any hint why our OPC server once will be registered properly and once not.
For example, is there a defined procedure for switching an OPC Server from one target platform to another, thus from 32- to 64-bit?
Is it necessary to first unregister the 32-bit OPC server instance and then register the new 64-bit instance?

Avatar
Randy Armstrong
Admin
Forum Posts: 1457
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
11
09/20/2023 - 03:41
sp_Permalink sp_Print sp_EditHistory

The missing WOW6432Node key registered your x64 server in the 32-bit registry.

The other entries register you server in the 64 but registry. It is not clear why it worked with 64 bit clients without them.

Maybe the issue is you registered your 64 bit server in the 32 bit registry and messed up the COM infrastructure.

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