fisothemes / LabVIEW-TwinCAT-ADS

Easy to use unofficial LabVIEW TwinCAT ADS API for communicating with Beckhoff PLCs via ADS. Features include Invoking Rpc Methods, Reading/Writing of PLC variables (including all Standard, Time, Strings, WStrings, Structs composed of the aforementioned, Nested STRUCTs and Multi-dimensional Arrays of the aforementioned datatypes) and more!
MIT License
12 stars 1 forks source link

Memory is full Error #1

Closed bogdankondr closed 1 year ago

bogdankondr commented 1 year ago

Hello! Thank you for a TwinCat driver. It works fine. But I have a problem. I'm connecting to the device and reading using "TwinCAT ads:read.vi". It works, but in 40 minutes I have an Error 2 - Invoke node (possible reason: Memory is full) that appears inside the "Get symbol information.vi" after TcAdsSymbolInfoCollection invoke node. If I increase the pause between reading, the error will appear later. But, anyway, it appears. What can be the reason of such behaviour?

fisothemes commented 1 year ago

Hi, Thanks for using the lib. Can I ask which version you're using? You might want to have a look at the change logs of the releases or try the lastest pre-release.

fisothemes commented 1 year ago

Hello! Thank you for a TwinCat driver. It works fine. But I have a problem. I'm connecting to the device and reading using "TwinCAT ads:read.vi". It works, but in 40 minutes I have an Error 2 - Invoke node (possible reason: Memory is full) that appears inside the "Get symbol information.vi" after TcAdsSymbolInfoCollection invoke node. If I increase the pause between reading, the error will appear later. But, anyway, it appears. What can be the reason of such behaviour?

Hi,

I ran the DETT and ran the Read.vi for a few hours under constant load. I was unable to find the reference leak. That error occurs due to a .NET reference leak.

Examining your reply you say the issue occurs under in the Get Symbol Information VI inside the Read VI. Unfortunately I that VI hasn't been inside the Read VI in a long time and has nothing to do with it. It's simply a wrapper for the Get From Symbol Map VI and is an extension for low level usage e.g. making your own custom sym info structs/clusters. The Read VI uses the Get From Symbol Map VI directly.

From the above it indicates to me that you're using an older version of the library, and judging from the name and issue it probably a pre 0.0.0.1 version, probably dating back to 2022 when the project spent a year in limbo. Look at the March 9, 2023 commit comment.

Personally I would recommend you use version 1.0.2.6 it's pretty stable.

I will leave this issue open until Wednesday unless new developments occur.

bogdankondr commented 1 year ago

Hi, Thanks for using the lib. Can I ask which version you're using? You might want to have a look at the change logs of the releases or try the lastest pre-release.

Yes. I used old version of the driver. I tried to download new version and test with it. Now I don't have this problem and everythink works fine. Thank you.

fisothemes commented 1 year ago

Hi, Thanks for using the lib. Can I ask which version you're using? You might want to have a look at the change logs of the releases or try the lastest pre-release.

Yes. I used old version of the driver. I tried to download new version and test with it. Now I don't have this problem and everythink works fine. Thank you.

No worries 👍