Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions or issues. You do not have to own a commercial license in order to use the OPC Labs support. Our team is actively monitoring the forums, and provides replies as soon as possible.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible.
Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
VB.NET app suddenly has no item changes | OPC-DA | COM
thanks for the additional information.
Do we know that this is a client-side problem? I.e. have you tried to connect to the same OPC server from some other OPC client, and what were the results?
Regards
Please Log in or Create an account to join the conversation.
1. During development, it runs as a console application. However, the app can be compiled to run as a Windows service, console application or background process, mainly by using a different entry point to the executable file. In production, we don't use a Windows service for OPC-DA. There it always runs as the interactive user, as do the OPC-DA servers.
2. My app is running as the interactive user.
3. Not that I know of. The user account has administrative privileges, but it is managed by a different IT department.
4. "opcrtkit" only had one instance running before and after I started my app. It runs under the SYSTEM (local system) account and not the interactive user.
Just tested if changing account of "opcrtkit" to my user account (interactive user) did the thing but no.
Please Log in or Create an account to join the conversation.
Thank you - the information about the error from Read is very useful. It is now clear that the problem with not getting anything in ItemChanged is the same thing. Essentially, the client code is stuck in making the connection to the server.
I have some more questions:
1. What kind of project is your program? E.g. Windows Forms app, WPF app, Web app, Windows service, Web service, console app, etc.
2. What is the user account it is running on? Is it "you" (the interactive, logged on user), or some other account?
3. Hasn't that account changed recently, or its permissions?
4. Please use Windows Task Manager, make sure it shows processes from all users, sort the list by process names, and then observe what happens with regard to "opcrtkit" (the OPC server process). Is there any such process before you start your app? If so, just one, or more? And, when you start your app, what happens? Does the count of "opcrtkit" processes change, and if so, how? What are the user accounts the Task Manager tells you the "opcrtkit" is running on? [If you are connecting to a differerent server, you need to use that server's executable name instead)]
Thank you, and best regards
Please Log in or Create an account to join the conversation.
15.01.2026 07:46:58 -> Exception: Name: OpcLabs.EasyOpc.OperationModel.OpcException
Message: An OPC operation failure with error ID 'RawEasyDAClient.HResult=0xC004C001' occurred, originating from '' and with depth of 1. The inner exception contains details about the problem.
HResult: -2146232832
StackTrace: bei OpcLabs.EasyOpc.Internal.EasyUtilities.CheckSuccess(OperationResult operationResult)
bei OpcLabs.EasyOpc.DataAccess.IEasyDAClientExtension.ReadItem(IEasyDAClient client, DAReadItemArguments readItemArguments)
bei OpcLabs.EasyOpc.DataAccess.IEasyDAClientExtension.ReadItem(IEasyDAClient client, String machineName, String serverClass, String itemId)
bei Self.OPC.DA.OpcDAProvider..ctor(OpcWrapper wrapper) in C:\Users\tom.siegel\Workspace\Code\WARIOS.Scada.Client\src\apps\OPC_Service\OPC\DA\OpcDAProvider.vb:Zeile 25.
bei Self.OPC.OpcWrapper.RegisterProviders() in C:\Users\tom.siegel\Workspace\Code\WARIOS.Scada.Client\src\apps\OPC_Service\OPC\OpcWrapper.vb:Zeile 592.
bei Self.OPC.OpcWrapper..ctor() in C:\Users\tom.siegel\Workspace\Code\WARIOS.Scada.Client\src\apps\OPC_Service\OPC\OpcWrapper.vb:Zeile 14.
bei Self.OPC.OpcWrapper.Create(OpcConfigXML configuration) in C:\Users\tom.siegel\Workspace\Code\WARIOS.Scada.Client\src\apps\OPC_Service\OPC\OpcWrapper.vb:Zeile 617.
bei Self.WTEB.OPC.Configuration.OpcConfigXML.CreateWrapper(OpcConfigXML poConfig) in C:\Users\tom.siegel\Workspace\Code\WARIOS.Scada.Client\src\apps\OPC_Service\Source\clsOPCConfigXML.vb:Zeile 85.
bei Self.OPCService.StartNewWrapper(OpcConfigXML poConfig, Boolean pbRestart) in C:\Users\tom.siegel\Workspace\Code\WARIOS.Scada.Client\src\apps\OPC_Service\Service\OPCService.vb:Zeile 665.
InnerException: Name: System.TimeoutException
Message: Cannot connect Data Access client (timeout).
+ The client method called (or event/callback invoked) was 'ReadMultipleItems[1]'.
HResult: -2146233083
StackTrace:
Here's the code
Please Log in or Create an account to join the conversation.
yes i misunderstood that. Unfortunately i am someone who clears this log frequently without saving it. However i can't remember seeing this specific log message before. We also have several production deployments where i don't remember encountering them. Hope that doesn't make it to hard.
Please Log in or Create an account to join the conversation.
I think you misunderstood question #2. I was not asking about current behavior. I was asking about entries in Windows Event Log from the past - before you started seeing the problem. At that time, when no problem was manifesting itself, was the application logging warnings with RPC_E_TOO_LATE ? Usually the Windows Event Log goes many weeks, if not months, into the past, so it should be possible to find it out.
Best regards
Please Log in or Create an account to join the conversation.
I have some additional questions/comments..
1. Are you connecting to an OPC server on the same machine as the client, or remote?
2. It is *critical* to know *with absolute certainty* whether the Windows Event log entries with RPC_E_TOO_LATE for this application have or have not appeared even *before* you started observing the problem. Please check that. It is quite possible that they were there before too, because they can indicate a harmless condition. And we do not want to be hunting for something that is not actually related to the current issue.
3. I do not see any logging at the code branch where it is needed most. For troubleshooting this, you should log e.Exception.Message as soon as .Succeeded is not True (in this case, the .Exception is actually never Nothing). Only then we can tell whether the ItemChanged was not called at all.
Best regards
Please Log in or Create an account to join the conversation.
my OPC client developed with QuickOPC was working just fine until one day no item changes where processed anymore. I saw that my EventHandler for the
After some digging around i found your thread about COM management:COM security initialization (process "OPC Interface WTEB" Id 38660, application domain "OPC Interface WTEB.exe" Id 1) for requestor 'ComSecurityInitializingEasyDAClient' failed; the initialization object was: (Default).
CoInitializeSecurity failure (0x80010119): Die Sicherheit muss initialisiert werden, bevor Schnittstellen gemarshallt oder unmarshallt werden. Änderungen können nach der Initialisierung nicht vorgenommen werden.
+ This error (RPC_E_TOO_LATE) is not uncommon in hosted .NET applications. Depending on various factors, it might be possible to prevent it, or safely ignore it (if COM works as intended). Consult the product documentation.
+ Current thread name: "", from thread pool: yes, managed thread Id: 19, apartment state: MTA.
COM management - OPC Labs Knowledge Base
I applied all the suggestions but nothing seems to restore the behaviour. So here is some code:
Startup:
ComSetup (was first introduced after the issue occured but didn't change anything)
Handling subscriptions and item changes (i can guarantee that we have items being subscribed with Handles)
Initialization of EasyDAClient
More useful information
- When calling ComSetup.Initialize() directly after steping into Main() we still get the message with RPC_E_TOO_LATE
- The apartment state is MTA
- I have tried changing the Authentication level to Packet Integrity (haven't restarted the PC though)
- No errors are thrown after subscribing via the EasyDAClient
- im using the OpcLabs.QuickOpc nuget package version 5.83.477
- i have tried different combinations of the SecurityParameters
- i have reinstalled QuickOPC and with that the Kit server which i am trying to communicate with
- i have another QuickOPC application which is working just fine which makes this even less understandable
I am not an expert when it comes to COM and i assume this is the root cause as all of the other logic of my client is working just fine, so i would greatly appriciate your help.
Best Regards
Tom
Please Log in or Create an account to join the conversation.
