Professional OPC
Development Tools

logos

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. You do not have to be a licensed user of our product.

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.

EasyUAClient communication makes Windows application crash

More
05 Mar 2024 12:02 #12616 by Crodel
Thanks a lot. We renamed the .exe, and the Applicationtitle, and generated a new certificate. That worked.
And the long transfer times come from the server, whenever they use a certain development view for the PLC. When they stop that view, transfer times are better.
Best regards,
:) Andreas
The following user(s) said Thank You: support

Please Log in or Create an account to join the conversation.

More
04 Mar 2024 17:29 #12614 by support
Well, I know :-)

However, if you make it longer (4 characters or more I think), the problem should disappear.
This is a bug in the OPC Foundation SDK that we are using. We have made a workaround in later version of our software, so it will work in newer versions.

Best regards

Please Log in or Create an account to join the conversation.

More
04 Mar 2024 17:21 #12613 by Crodel
Hello,
What a question ;-) Three characters only: WPS.exe.
Best regards,
:) Andreas

Please Log in or Create an account to join the conversation.

More
02 Mar 2024 14:24 #12608 by support
Hello.

This is also a separate issue. But, we have seen it (or something similar) too. Let me ask: How long (how many characters) is the name of your EXE?

Regards

Please Log in or Create an account to join the conversation.

More
01 Mar 2024 14:18 #12601 by Crodel
Hello,

Thanks a lot for your reply - you share my impression that it's a configuration thing on the PLC side. The CPU load on the PC says the same.

Anyway, there is one thimg, let's call it an irregularity, I cannot explain and I feel very very uncomfartable with. As long as we start our PC program clicking the .exe in windows explorer or clicking a link on the desktop it runs fine - despite of the slowness.
If we start the .exe by calling it from the commandline, the communication does not work at all. This is strange - usually it should not matter how the program is started.
For every attempt to call a WriteValue or ReadMultipleItems we have an exception in our log file which looks like in the attached log excerpt.:
I saw several similar ´looking stack traces in some forum entries, but could not find anything useful in there for me.
Can you help with that?

Best regards,
:) Andreas
Attachments:

Please Log in or Create an account to join the conversation.

More
29 Feb 2024 17:56 #12600 by support
Hello.
I am quite confident that the slowness is unrelated to the previous crash, or the workaround. It is a separate issue.

I have no hard numbers on performance. It depends on many factors. It could easily be caused by the server (or the network connection, if it is remote). Also, unless extra effort is taken, QuickOPC maintains connections automatically, which means that the first operation requires the connection to be set up, and is thus slower. One would need to analyze in deep - such as take the Wireshark captures - to first assign the "blame" on either the client side, network side, or the server.

Regards

Please Log in or Create an account to join the conversation.

More
29 Feb 2024 15:39 #12599 by Crodel
Hello,
this helped a bit. At least the software does not crash any more, and all the non-communication-releted functions work fine.
Anyway, communication seems to be slow: 450 msec typically for requesting 70 variables in a single ReadMultiple call is much slower as we have seen before.
What is a good UA data rate in your experience?
:) Andreas

Please Log in or Create an account to join the conversation.

More
29 Feb 2024 08:05 #12598 by support
Hello.
This is a pretty old version, not officially supported (and not supported on Windows 10 Entrerprise 22H2) .

It would be useful to have look into the Windows Event log (Application),

However, we have seen this kind of problems happening due to a 3rd party library which we are using. So, there is a chance you are facing the same issue. Please follow the instructions here: kb.opclabs.com/How_to_disable_prerequisites_boxing .

If you are using OPC UA only, and have already generated the certificate, disabling the "boxing" should have no negative effect.

Best regards.

Please Log in or Create an account to join the conversation.

More
28 Feb 2024 16:54 #12597 by Crodel
Hi,
we have a test bench software using QuickOPC (2018.3) for OPC UA communication with a S7 PLC. The (Windows) application runs without problems in two installations (unfortunately in China, and we don't have access any more)...
Now, our customer ordered a new testbench here in Germany.
We took the code, installed it on a PC of our costomer and ran into a nightmare.

First problem is solved already: Our program did not generate the certificate for the client. We created one with the Opc.Ua.CertificateGenerator. Worked fine.

The application itself is a windows apllication handling test parameters and results in a (SqlServer Express) database.
The communication architecture is pretty basic, an EasyOPCClient instance is polling values from the PLC (ReadMultipleValues) driven by a windows timer, and then there are WriteValues for interactions from the user. Nothing fancy.
Communication is hidden behind an interface (with functions like GetAllValues() and WriteThisAndThat()). We have two implementations: a dummy for simulated tests (without QuickOPC) and a real QuickOPC UA implmentation.

The program works fine with the simulation. As soon as we use the real thing, the nightmare starts again.
As long as we keep our fingers off the program, it seems to run fine, and shows the values we read from the PLC.
As soon as we interact with the program (e.g. open a form that shows parameter sets in our database or a list of protocols), the program crashes at random places. The user interactions that causes the crash doesn't even need to be communication-related. There are no exceptions shown in our log file (we have try/catchs with logging around Application.Run() and around the EasyOPCClient calls). The eventlog shows GPFs (error code 000005) in an 'unknown' module or (sometimes) in ntdll.dll.
For me it looks like some unwanted interaction in maybe a secondary message loop or so - but I have no idea what happens behind the scenes of EasyUAClient.
As I said, we have two installations of the same code that run fine.
Operating system on the new PC is Windows 10 Entrerprise 22H2.
Any idea?

:) Andreas

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.064 seconds