ReadAsync and Read with Error Timeout

344 views
Skip to first unread message

Chirico Costal

unread,
Feb 25, 2021, 6:56:11 AM2/25/21
to libplctag
Hi,
I was trying the library by interfacing it with a WPF c # GUI specifically I was trying to implement the reconnection that every n milliseconds with a timer goes to Read n tags as many as I decided to monitor, but everything works when I use the function tag.Read and it returns me a first error of type ErrorRead and the following ErrorTimeout until I reestablish the connection (I tested up to 1 hour of disconnection) and waiting a maximum of 25 seconds from it I get the updated values, while if I do everything with the function tag.ReadAsync I get a first error that varies between ErrorWrite, ErrorRead and ErrorBusy and that's it, it no longer triggers the timer and consequently when I re-establish the connection I don't see the updated value, there could be an error in the ReadAsync or am I wrong in the implementation?
I leave below some screenshots of the code.


ssssssss.png


fds.png


wrapper.png

tim...@gmail.com

unread,
Feb 25, 2021, 7:25:48 AM2/25/21
to libplctag
Hey there, this looks like you're using libplctag.NET, which version of the package are you using?
There are some issues around the async methods in v1.0.3 that are resolved in v1.0.4-beta.1

Chirico Costal

unread,
Feb 25, 2021, 8:33:14 AM2/25/21
to libplctag
Really thanks for the reply, it works perfectly now!!! When will it be released in a stable version?

tim...@gmail.com

unread,
Feb 25, 2021, 4:26:06 PM2/25/21
to libplctag
That's great to hear! Actually I'm just waiting for it to be tested well. I've done some testing on my end, but it needs more eyes.
Could you please let me know which methods, properties you are using on the Tag objects:

Chirico Costal

unread,
Feb 26, 2021, 3:19:02 AM2/26/21
to libplctag
At the moment we are testing this method of TagOfT: Read, ReadAsync operations, Initialize, Dispose and GetStatus with all DataType but we realized that 4 DataType are missing such us, SByte, UInt, ULong, UShort and for there we were created a new Classes from the Base one (DataType : PlcMapperBase<datatype>)

tim...@gmail.com

unread,
Feb 26, 2021, 6:04:17 AM2/26/21
to libplctag
That is great to hear!

If you do get a chance to test the Write methods that would be great

Chirico Costal

unread,
Feb 26, 2021, 7:15:45 AM2/26/21
to libplctag
OK, next week i will working on Write methods, Can ask you a question about the Licence of libplctag.Net expecificaly on the Distribution clause? 

timyhac

unread,
Feb 26, 2021, 4:04:03 PM2/26/21
to Chirico Costal, libplctag

--
You received this message because you are subscribed to a topic in the Google Groups "libplctag" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/libplctag/C8N95RyHUrg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to libplctag+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/libplctag/cde47546-7222-4439-9e02-694a64228f08n%40googlegroups.com.

Chirico Costal

unread,
Feb 28, 2021, 4:04:57 AM2/28/21
to libplctag
Yes, I'll explain briefly.
We want to use the library in private software for commercial use. We want to sell this software in two ways:
The first would be to sell the software encapsulated in a PC set up and configured with our other proprietary software where the customer would not have direct access to the use the software it is used only internally;
The second it would be to sell in the form of .exe, for example a Client type software in which the library is implemented and he will be able to connect, read and write with the plc.
In both cases what will I have to share?
Because in the first case mentioned above, the customer will not have access to the PC so if I put the License file and a reference link to the code he will never be able to look at it, instead in the second case, I will put the License and the reference link to the code in the root folder , is this enough or do I have to add something else?

timyhac

unread,
Feb 28, 2021, 5:46:47 AM2/28/21
to Chirico Costal, libplctag
I'm not a lawyer so I can't provide legally useful advice.

Clause 3.2 of MPL talks about informing the recipient of certain things when you distribute an executable (which is what you're doing), but not how you need to do it.

Something I've seen is apps having a Third-Party licenses page, which lists all of the libraries it uses and can be used to fulfil whatever disclosure requirements they have.

Or maybe it's just part of some other communication (license agreement/contract) you have with them.

I'm an engineer, not a lawyer, so you should get advice from elsewhere.


Reply all
Reply to author
Forward
0 new messages