Giter Club home page Giter Club logo

Comments (14)

kyle-github avatar kyle-github commented on July 22, 2024

Hi Jacob,

I am not sure of the current support for any PLC 5-style PLCs right now.
There was a major reworking of the core I did for a project a while back
to change how packet sizes were chosen and I never tested PLC/5
communications after that. I believe that SLC500 and MicroLogix are very
similar to PLC 5's in the protocol.

I can look at this a bit this weekend. I have a PLC 5, but I do not have a
MicroLogix or a SLC500.

I would love it if you could test! We have the library in use in
production on several projects, so I am confident about how well it works
for ControlLogix systems. We almost always use the Java wrapper. But,
most core testing is done with the C wrapper.

I will try to look at the PLC 5 code this weekend to see if it is even
close to working.

Thanks for the interest!

As to coding help, I would love it, but I need to come up with a CLA
(Contributor Licensing Agreement). We don't want copyright, but we do need
something that says that you have never seen any Allen-Bradley/Rockwell
code. We could get in trouble if it turns out that you worked on their
stack at any point :-)

Best,
Kyle

On Thu, Jul 3, 2014 at 2:09 PM, Jacob Abel [email protected] wrote:

Hi, this is a question rather than an issue, but does this library support
SLC500 PLCs like the MicroLogix series? I actually just got done forking
and fixing TuxEIP for our own purposes and then found your library which
might work better for us. Thanks.

P.S. I might be able to test on a CompactLogix (as well as the
MicroLogix), if you are still needing testing. I might be able to help out
with coding too.


Reply to this email directly or view it on GitHub
#1.

from libplctag.

kyle-github avatar kyle-github commented on July 22, 2024

I have been hammered by other project and will be busy for a while. I am not sure I will have a chance to set up a test of this this month. I will keep trying to get a chance to do this. Sorry for the delay :-(

In the mean time, please make sure that the TuxEIP license is compatible with what you are doing. It turned out to be a problem for us and that was one of the original goads that got me to write this stack.

from libplctag.

 avatar commented on July 22, 2024

Thanks Kyle, no biggie. We aren't intending to distribute our program to anyone, so the GPL license isn't an issue.

from libplctag.

kyle-github avatar kyle-github commented on July 22, 2024

Hi,

I just pushed more code for PLC5 support. I do not have access to anything but a PLC5/30E so I can't test SLC and MicroLogix. I added some example code for hitting a PLC5. The example reads, writes and rereads a small array of floats.

The library has undergone some other internal changes. We are now running multithreading code against it in production. I added an example of how to do that too.

We still may be broken on Windows with VS C/C++. I do not have a Windows machine with that on it. I'm trying to get one to make sure everything works.

There is another change coming. Currently, there is a bit of a hack to get around the fact that Windows mutexes cannot be statically initialized. I am going to remove that hack in the future and replace it with native CAS (compare-and-swap) atomic functions. Windows and GCC both have them. I will probably do that when I get a Windows test environment.

Sorry these changes took so long.

Best,
Kyle

from libplctag.

kyle-github avatar kyle-github commented on July 22, 2024

Hi Jacob,

I sent a note via GitHub, but I'm not sure you saw it.

I added support for PLC5 read/write. Only INT and floats right now. I did
try reading Booleans and it works, but it pulls all 16-bits of the boolean
at once. I updated the example C code with a simple read/modify/write loop
and for a multithreaded example using a PLC5 target.

All I have is a PLC5/30E. So I can't tell if this works with SLC and
MicroLogix systems.

Best,
Kyle

On Sat, Jul 12, 2014 at 10:19 AM, Jacob Abel [email protected]
wrote:

Thanks Kyle, no biggie. We aren't intending to distribute our program to
anyone, so the GPL license isn't an issue.


Reply to this email directly or view it on GitHub
#1 (comment).

from libplctag.

 avatar commented on July 22, 2024

Hi kyle, got the original message. Been super busy and will test when I get
some time. Thanks!
On Oct 22, 2014 9:21 AM, "kyle-github" [email protected] wrote:

Hi Jacob,

I sent a note via GitHub, but I'm not sure you saw it.

I added support for PLC5 read/write. Only INT and floats right now. I did
try reading Booleans and it works, but it pulls all 16-bits of the boolean
at once. I updated the example C code with a simple read/modify/write loop
and for a multithreaded example using a PLC5 target.

All I have is a PLC5/30E. So I can't tell if this works with SLC and
MicroLogix systems.

Best,
Kyle

On Sat, Jul 12, 2014 at 10:19 AM, Jacob Abel [email protected]
wrote:

Thanks Kyle, no biggie. We aren't intending to distribute our program to
anyone, so the GPL license isn't an issue.


Reply to this email directly or view it on GitHub
#1 (comment).


Reply to this email directly or view it on GitHub
#1 (comment).

from libplctag.

kyle-github avatar kyle-github commented on July 22, 2024

Awesome. Thanks so much! It is hard to find SLC hardware. We had a
couple MicroLogix projects, but they were far away and all the hardware is
installed in cranes.

Best,
Kyle

On Wed, Oct 22, 2014 at 8:32 PM, Jacob Abel [email protected]
wrote:

Hi kyle, got the original message. Been super busy and will test when I
get
some time. Thanks!
On Oct 22, 2014 9:21 AM, "kyle-github" [email protected] wrote:

Hi Jacob,

I sent a note via GitHub, but I'm not sure you saw it.

I added support for PLC5 read/write. Only INT and floats right now. I
did
try reading Booleans and it works, but it pulls all 16-bits of the
boolean
at once. I updated the example C code with a simple read/modify/write
loop
and for a multithreaded example using a PLC5 target.

All I have is a PLC5/30E. So I can't tell if this works with SLC and
MicroLogix systems.

Best,
Kyle

On Sat, Jul 12, 2014 at 10:19 AM, Jacob Abel [email protected]
wrote:

Thanks Kyle, no biggie. We aren't intending to distribute our program
to
anyone, so the GPL license isn't an issue.


Reply to this email directly or view it on GitHub
<
https://github.com/kyle-github/libplctag/issues/1#issuecomment-48818274>.


Reply to this email directly or view it on GitHub
#1 (comment).


Reply to this email directly or view it on GitHub
#1 (comment).

from libplctag.

 avatar commented on July 22, 2024

Kyle, if you want, I could give you VPN access to my network and let you
work on a MicroLogix 1400 directly for a couple hours. It'd be a lot easier
for me to hook up the ML1400 and give you access than to actually find the
time to do that + compile/test. Let me know. While we're at it, if you
needed it, you could also test with a CompactLogix L23E as well.

On Thu, Oct 23, 2014 at 9:48 AM, kyle-github [email protected]
wrote:

Awesome. Thanks so much! It is hard to find SLC hardware. We had a
couple MicroLogix projects, but they were far away and all the hardware is
installed in cranes.

Best,
Kyle

On Wed, Oct 22, 2014 at 8:32 PM, Jacob Abel [email protected]
wrote:

Hi kyle, got the original message. Been super busy and will test when I
get
some time. Thanks!
On Oct 22, 2014 9:21 AM, "kyle-github" [email protected]
wrote:

Hi Jacob,

I sent a note via GitHub, but I'm not sure you saw it.

I added support for PLC5 read/write. Only INT and floats right now. I
did
try reading Booleans and it works, but it pulls all 16-bits of the
boolean
at once. I updated the example C code with a simple read/modify/write
loop
and for a multithreaded example using a PLC5 target.

All I have is a PLC5/30E. So I can't tell if this works with SLC and
MicroLogix systems.

Best,
Kyle

On Sat, Jul 12, 2014 at 10:19 AM, Jacob Abel [email protected]

wrote:

Thanks Kyle, no biggie. We aren't intending to distribute our
program
to
anyone, so the GPL license isn't an issue.


Reply to this email directly or view it on GitHub
<
https://github.com/kyle-github/libplctag/issues/1#issuecomment-48818274>.


Reply to this email directly or view it on GitHub
<
https://github.com/kyle-github/libplctag/issues/1#issuecomment-60112219>.


Reply to this email directly or view it on GitHub
#1 (comment).


Reply to this email directly or view it on GitHub
#1 (comment).

from libplctag.

kyle-github avatar kyle-github commented on July 22, 2024

Hi Jacob,

I'd like to use that as a last resort. I am trying to see if I can scare
up a MicroLogix from one of our local suppliers. I very much appreciate
the offer! I'll let you know if I can't get one.

I did initially test with a CompactLogix, but it has been a while. I am
not too worried about that because the internal software is pretty similar
to a ControlLogix system. The ENBT/EN2T module is built in and I think the
network software runs on the same CPU as the ladder code though.

I pushed another change over the weekend. You can add another parameter to
turn on read caching down in the library. It will cache read values for the
passed number of milliseconds. Writes automatically stop the cache. We
had a problem this weekend where multiple systems were hitting a web server
that wraps the C library and we were hammering the network module on the
PLC. I put in the write caching and the number of reads dropped a lot. I
have not updated the docs yet, but there is another example using read
caching and multi-threading.

Best,
Kyle

On Mon, Oct 27, 2014 at 10:51 AM, Jacob Abel [email protected]
wrote:

Kyle, if you want, I could give you VPN access to my network and let you
work on a MicroLogix 1400 directly for a couple hours. It'd be a lot
easier
for me to hook up the ML1400 and give you access than to actually find the
time to do that + compile/test. Let me know. While were at it, if you
needed it, you could also test with a CompactLogix L23E as well.

from libplctag.

kyle-github avatar kyle-github commented on July 22, 2024

Hi Jacob,

I was finally able to get a working SLC 500. I tested reading and writing INT and FLOAT data files. Everything seems to be fine. It will be a few weeks until I can try to get a MicroLogix.

Also, we did a test built on Max OS X and it worked just fine. I tweaked the Makefile so that it should produce the right dynamic library suffix. I need to add docs about building under OS X.

from libplctag.

 avatar commented on July 22, 2024

Awesome. If it works with a SLC, it should work just fine for a MicroLogix.
Sorry I haven't been able to test yet, been hammered for months now.

On Thu, Nov 20, 2014 at 11:24 AM, kyle-github [email protected]
wrote:

Hi Jacob,

I was finally able to get a working SLC 500. I tested reading and writing
INT and FLOAT data files. Everything seems to be fine. It will be a few
weeks until I can try to get a MicroLogix.

Also, we did a test built on Max OS X and it worked just fine. I tweaked
the Makefile so that it should produce the right dynamic library suffix. I
need to add docs about building under OS X.


Reply to this email directly or view it on GitHub
#1 (comment).

from libplctag.

kyle-github avatar kyle-github commented on July 22, 2024

Can I close this? Did it work?

from libplctag.

 avatar commented on July 22, 2024

Don't remember if I tested or not, but yes it can be closed
On Aug 31, 2015 11:21 AM, "Kyle Hayes" [email protected] wrote:

Can I close this? Did it work?


Reply to this email directly or view it on GitHub
#1 (comment)
.

from libplctag.

kyle-github avatar kyle-github commented on July 22, 2024

OK, thanks!

from libplctag.

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.