-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple ReadAsync requests #417
Comments
Sorry @johnvarney612 - not sure what is going on there. Are you able to provide a code repro, debug logs, wireshark logs etc. |
The last image shows the tags in the PLC. |
This is all a guess, but it looks like the following might be happening:
What timeouts are you using? Does ~2 seconds sound right? Hmm, actually that might be in the core DLL. I'll need to check as I thought I removed all that code a while ago. |
If you can capture the debug output from the core library that would really help. |
Thanks for the quick response. |
It may just be a timing issue. The core DLL does not set up a connection to a PLC until there is a tag for it. The first tag out of the gate triggers this process and if the other tags are somehow slightly delayed in starting their creation, the library may only find one fully ready request in the queue. Hopefully the logs will shed some light on why this is happening consistently in this case. |
Debug logs.txt |
Thanks. Unfortunately, this dump starts just as the ForwardClose is being sent. Can you please gather logs from the time the app starts and with log level 4 (Detail)? The error returned from the PLC is:
So the connection ID is not found on the PLC. We really need to see what happened well before this to figure out what is happening. |
Hi @johnvarney612 - were you able to gather the additional logs that kyle requested? |
I am using multiple ReadAsync requests with a Task.WaitAll.
For one task array of 7 tags I see several requests sent to the PLC when viewed with WireShark. For example, one for all 7 tasks, one for the first task, one for another task ...
Is this behavior expected?
When testing with a unit test the read never fails. When testing in the application, the initial read task fails with a timeout error but the remaining 6 complete successfully. Using WireShark, the first one fails with a connection failure. Any ideas?
The text was updated successfully, but these errors were encountered: