Java PLC

J

Thread Starter

Jon Parise

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!
 
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 [email protected] if you would like more information.
 
M

Michael Griffin

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.
 
G

Gilles Allard

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
 
J

James Ingraham

"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.
 
M

Matthew Lohbihler

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.
 
Top