Member Login
member
passwd
remember me on
this computer.

- join now -
- forgot username or password? -

Search

Sponsored Communities
Cool stuff
Select a topic of interest:
...and press:
Neat Stuff
Control.com Stuff

Visit our shop for nerds in control lifestyle products.

Fortune
fortune: cpu time/usefulness ratio too high -- core dumped.
RSS Feed
RSS feed Use this link to get an RSS feed of the Control.com article flow, for private, non-commercial use only:
www.control.com/rss/
To get a personalized feed, become a member at no cost.
Select a Page Style
Select one of the following styles:
- BluFu
- Classic
(cookies required)
advertisement
from the I-Like-Java-Not-.Net department...
Java PLC
Human-Machine Interface and SCADA. topic
Posted by Jon Parise on 17 August, 2007 - 10:08 am
Has anyone every successfully gotten an Allen Bradley PLC (or any other) to talk to Java.

I have found .Net drivers out there for this task, but I prefer Java. I'd like to run a Linux server with a Java application to host a supervisory application.

I'll probably use .Net if I can't find anything else.

Any tips would be great!


Posted by Michael Griffin on 18 August, 2007 - 1:30 am
There are different kinds of AB (Rockwell) PLC with different protocols. The following link is for the ABEL library. http://sourceforge.net/projects/abplc5/

A lot of PLCs will speak Modbus, either as the main or secondary protocol. http://sourceforge.net/projects/jamod/

There is JMatic for Siemens PLCs.
http://www.langner.com/en/products/jmatic2.0.htm

Most of the DotNet stuff you see is actually just a C# or VB wrapper around an existing 'C' library. Most drivers are written in 'C'. If you have 'C' source for a driver and you want it in pure Java, you could rewrite it based on the 'C' source.

If you have a choice, Modbus RTU (serial) and Modbus/TCP (Ethernet) seem to be the closest industrial automation gets to open, non-proprietary protocols.


Posted by Anonymous on 18 August, 2007 - 1:15 am
SoftPLC is an open architecture controller product line provided by SoftPLC Corp. We provide a programmer's toolkit that includes a Java API that allows Java applications to communicate to/from the data table of our controllers.

SoftPLC runs ladder logic and has a data table format similar to the A-B SLC-500/PLC-5 so it is familiar to most A-B users.

A number of our customers have created Java based SCADA applications using this API.

Please contact cindy@softplc.com if you would like more information.


Posted by Matthew Lohbihler on 15 February, 2008 - 12:43 am
Another option is Mango M2M, by Serotonin Software. (See http://mango.serotoninsoftware.com/). This product is a full monitoring and control system that can simultaneously work with multiple protocols, including Modbus, BACnet, NMEA, and a number of others. We are currently strongly considering supporting AB products as well.

Serotonin provides an open source version of Mango, as well as a commercial - more fully-featured version.


Posted by Gilles Allard on 19 August, 2007 - 11:48 am
Java is an excellent choice for industrial applications since they must survive longer than "personal" operating systems will.

However there are very few drivers in Java. Jamod (jamod.sourceforge.net) implements Modbus communication (so you can communicate with Schneider PLCs). I personally wrote a java driver for ControlLogix, but it is not publicly available. There are many protocols for Allen-Bradley PLCs. DF1 and DH485 can be considered "legacy" protocols. The latest protocol is Ethernet/IP; it is supposedly an "open" protocol but you have to pay to get the specifications.

Good luck


Posted by James Ingraham on 19 August, 2007 - 3:50 pm
"Has anyone every successfully gotten an Allen Bradley PLC (or any other) to talk to Java."

I have successfully gotten Modbus/TCP devices to talk to Java. Implementing Ethernet/IP in Java is certainly do-able, but not for the faint of heart. You can download free sample code from http://www.ODVA.org, but I would estimate a 3 month project to have a full working production-ready system.

Other options, all in C not Java:
CIP/Ethernet Library for Linux (CELL). This may be dead; it looks like it hasn't been updated in a while. It's LGPL http://www.freshmeat.net/projects/cell/

IOMAK EtherNet/IP Stack, also LGPL
sourceforge.net/projects/iomak/

Commercial options:
Pyramid Solutions, http://www.pyramidsolutions.com
IXXAT, http://www.ixxat.com
Real Time Automation, http://www.rtaautomation.com

-James Ingraham
Sage Automation, Inc.

From Control Engineering magazine...
Related articles from Control Engineering magazine
Above articles copyright 2008 Reed Business Information. Subject to its Terms of Use.
Your use of this site is subject to the terms and conditions set forth under Legal Notices and the Privacy Policy. Please read those terms and conditions carefully. Subject to the rights expressly reserved to others under Legal Notices, the content of this site and the compilation thereof is © 1999-2008 Control Technology Corporation. All rights reserved.

Users of this site are benefiting from open source technologies, including PHP, MySQL and Apache. Be happy.

Internet Explorer 6.0 Fix

Advertisement
Our Advertisers
Help keep our servers running...
Patronize our advertisers!