Comments (14)
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.
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.
Thanks Kyle, no biggie. We aren't intending to distribute our program to anyone, so the GPL license isn't an issue.
from libplctag.
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.
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.
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,
KyleOn 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.
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,
KyleOn 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.
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,
KyleOn 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,
KyleOn 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.
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.
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.
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.
Can I close this? Did it work?
from libplctag.
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.
OK, thanks!
from libplctag.
Related Issues (20)
- Connection Issue When Processor Is Deep In Rack ex.. Slot16 HOT 3
- Access AB L73 PLC through Private LAN HOT 1
- Can we use unconnected messaging with multi service request? HOT 3
- Use Libplctag Library as Server HOT 2
- path
- ErrorBadParam when reading a value from bool dimension HOT 3
- Data checking HOT 1
- libplctag never stops after disconnect / reconnect (AB CLX) HOT 3
- String Write is not working for Omron NJ/NX Controller HOT 5
- Multiple request are not packed into single request for Omron NX/NJ PLC HOT 2
- Symbol ID Addressing and quote request for additions to the library HOT 11
- Message packing on OmronNJ/NX beyond max response size HOT 2
- Standalone website to host documentation HOT 4
- Write is not working for SINT and USINT (1 byte) datatype for Omron NX/NJ PLC HOT 5
- MSR is not working for modbus_tcp protocol using libplctag library HOT 3
- MinGW timeapi.h issue HOT 4
- ASP.Net error HOT 2
- Parsing of port/link pairs is not correct in all cases HOT 5
- ControlNet is limited to 504 byte request/response packet sizes HOT 1
- Read/writing OmronNJ/NX TIME and DATE_AND_TIME data HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libplctag.