Code Monkey home page Code Monkey logo

Comments (8)

dmroeder avatar dmroeder commented on July 18, 2024

You shouldn't have to do anything special to use multiple instances reading at the same time. You just have to respect the modules limit of simultaneous connections. Is this a 1756-ENBT? If so, what firmware revision is it?

There was an "undocumented feature" in specific firmware revisions that caused a memory leak apparently, which triggered this error message.

If you can tell me what specific hardware you are communicating to and what firmware revisions they are, I may be able to help more.

from pylogix.

MarcosZornitta avatar MarcosZornitta commented on July 18, 2024

Yes, it's a 1756-ENBT/A. The firmware is in revision 6.006.

The hardware structure is:

capturar

Note that I have two ethernet cards, but I only use slot 7 to communicate with pylogix. The other card is for automation devices only.

Thanks in advance.

from pylogix.

dmroeder avatar dmroeder commented on July 18, 2024

Can you give me a little context on how/when the this happens? Can you share any of your code? You can email directly to me if you prefer.

from pylogix.

MarcosZornitta avatar MarcosZornitta commented on July 18, 2024

I still can not detect when this happens. However, if I leave only one program running the error does not happen (Only one program has been run for a month without problems). If I start reading tags in both programs, it reads without problems for a certain time and then displays the failure on the card. The codes do not have anything different, just read a bit (trigger) every 500ms and if it rises true the code starts reading about 1000 tags. Both programs do this, just change the tags that each reads.

But if you still need me to send you the code, I'll send it in your email.

from pylogix.

dmroeder avatar dmroeder commented on July 18, 2024

I have a ENBT and L73 at work that I will test with when I get some time. I cannot reproduce the issue with a CompactLogix, I think this is more of a ENBT firmware issue. I'll do my best to prove it out though. I'll make sure my ENBT has the same revision. The ENBT did have a memory leak issue, though according to the KB, you are running the firmware that was supposed to fix it. In fact, I think that is the latest.

http://www.plctalk.net/qanda/showthread.php?t=88929

I have been running a test over the last couple of days with my CompactLogix. I have 4 scripts running, each reads ~750 tags every 20 seconds. Each file has read ~6500 times so far with no issues

from pylogix.

MarcosZornitta avatar MarcosZornitta commented on July 18, 2024

Can you send me your email to me? I'll send you two short scripts that when running both at the same time the card presents the EXCP 0300 error.

[email protected]

from pylogix.

dmroeder avatar dmroeder commented on July 18, 2024

I sent you an email, I'll check into it when you send the scripts over.

from pylogix.

dmroeder avatar dmroeder commented on July 18, 2024

The cause of the error on the ENBT seemed to mostly have to do with calling .Close() with every read/write. Close() should really only be called when you are completely done exchanging data with the controller. The reason being, there’s a bit of overhead when a connection is made. If you were to make a script that just did one simple read it would work like this:

-Register session
-Forward Open
-Initial Read to get data type
-Read to get the data
-Close() is called by the user
-Forward Close
-Unregister Session

Now if you had a scrip where a thread was continuously reading a single tag, you would have the register session, forward open and initial read happening one time, now you’d just be calling Read() since the connection is open and we now know the data type. If Close() is called, we’d have to re-register the session and reopen the connection. This would be very inefficient and in the case of the ENBT, it was too much for it causing the error on the card.

So the moral of the story is, we should only call .Close() when we are completely finished exchanging

from pylogix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.