GithubHelp home page GithubHelp logo

marcopar / ethernetip4j Goto Github PK

View Code? Open in Web Editor NEW
14.0 5.0 3.0 1.14 MB

EthernetIp4j is a communication protocol for Rockwell's Allen-Bradley PLC systems, written entirely in Java. This is my branch.

Java 100.00%

ethernetip4j's Introduction

ethernetip4j

NOTE: i switched work and i have no longer access to any Allen Bradley PLC, so i'm unable to do any activity on this project.

EthernetIp4j is a communication protocol library for Rockwell's Allen-Bradley PLC systems, written entirely in Java.

This project has been imported on 2015/05/11 from:

https://code.google.com/p/ethernetip4j/

I have no informations about the original project authors, the only info i have are the "shortened" email addressess available on google code:

[email protected] Owner - Maja Arvehammar

[email protected] Owner - Probably: https://github.com/sewalliniusm

[email protected] Owner

[email protected] Committer

[email protected] Committer

I will update this informations and give proper credit for their work if i manage to get their names.

The project on google code is dead and the latest patches i made available on the google code issue tracker have never been merged into the project trunk. So now i am starting this new project where i have applied all my patches.

Please note that i am mantaining this project because i need it for my current job. However my knowledge of the protocol and the library itself is very limited, also i do not have access to the full documentation of the ethernet/ip and cip protocols (that btw are pretty complex). The modifications i have done are the result of a very difficult and tedious process of bug hunting, documentation hunting, trial and error and luck.

So please understand that i can't assure prompt bugfixing or proper project development unless i need to solve the same issue for my work.

Good luck and have fun!

ethernetip4j's People

Contributors

marcopar avatar

Stargazers

Fred avatar  avatar CodeJason avatar Ahmet avatar  avatar  avatar  avatar  avatar H. Hakan Akansel avatar Justin Searle avatar Faweiz avatar  avatar Samantha Rosch avatar  avatar

Watchers

James Cloos avatar  avatar Faweiz avatar  avatar Samantha Rosch avatar

ethernetip4j's Issues

several bug fixes and enhancements

Hi,
please find the attached small patch that addresses the follow issues:

- Fix for fragmented read. 
Current version threats the response always as an array. That is not the case 
when you are reading the maximum object numbers that fit a single fragment + 1. 
In that case the "+1" is returned as a simple object. So check like the one 
done for normal read should be done.

- In CipCommandSpecificDataRequest.fillBuffer the parameters 
routePathLinkedAddress and routePathPort are swapped.

The patch also adds support for reading the STRING datatype using the 
SimpleLogixCommunicator class

Original issue reported on code.google.com by [email protected] on 18 Mar 2014 at 4:10

Attachments:

Micrologix 850

Hello,

Do you know if the libe ethernetip4j works with Micrologix 850?

thaks,

new cumulative patch

Sorry but my tree has diverged too much to be able to send single patched to 
individual issues so i gathering everything here

- fix for segment lenght calculation in CipMessageRouterRequest that causes 
padding errors and consecuent failure of the request (issue 3)

- fix for errors when accessing array positions larger than 255

- fix for swapped parameters routePathLinkedAddress and routePathPort  in 
CipCommandSpecificDataRequest.fillBuffer (issue 2)

- fix for array handling in SimpleLogixCommunicator (issue 2)

- better error handling with extended status

- string support in SimpleLogixCommunicator by adding two commodity methods 
writeString and readString

- fixed bug that made writeString to fail

Original issue reported on code.google.com by [email protected] on 10 Feb 2015 at 12:51

Attachments:

BOOL type support

Is anyone working on supporting BOOL type?

I think current implementation is broken as BOOL are packed in DINT (i 
believe). For sure it does not work with my PLCs...

Original issue reported on code.google.com by [email protected] on 20 Mar 2014 at 9:31

Cumulative patch for various bugs

Sorry but my tree has diverged too much to be able to send single patched to 
individual issues so i gathering everything here

- fix for segment lenght calculation in CipMessageRouterRequest that causes 
padding errors and consecuent failure of the request (issue 3)

- fix for errors when accessing array positions larger than 255

- fix for swapped parameters routePathLinkedAddress and routePathPort  in 
CipCommandSpecificDataRequest.fillBuffer (issue 2)

- fix for array handling in SimpleLogixCommunicator (issue 2)

- better error handling with extended status

- string support in SimpleLogixCommunicator


Original issue reported on code.google.com by [email protected] on 27 Mar 2014 at 5:23

Attachments:

Reading SINT problem

What steps will reproduce the problem?
1. I've tried to read SINT value from controller.
2.
3.

What is the expected output? What do you see instead?

I've expected byte value but got char.

What version of the product are you using? On what operating system?

the last 0.4

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 15 Aug 2014 at 6:11

Write string problem

What steps will reproduce the problem?
1. I'm trying to write string value.


What is the expected output? What do you see instead?

Expect to see STRING value on the controller. It doesn't work with large 
strings >2 letters.

What version of the product are you using? On what operating system?

the last 0.4 with last patch

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 15 Aug 2014 at 6:14

Not able to read more than 9 tag values

Hi, when reading multiple tags using the example, it is not able to read more than 9 tags a time.

Below is the exception.

se.opendataexchange.ethernetip4j.exceptions.InvalidEncapsulationPackageException: Package can not be a valid Ethernet/IP Cip package.
at se.opendataexchange.ethernetip4j.segments.CipPacketResponse.createPackage(CipPacketResponse.java:81)
at se.opendataexchange.ethernetip4j.services.UnconnectedMessageManagerResponse.validate(UnconnectedMessageManagerResponse.java:50)
at se.opendataexchange.ethernetip4j.clx.SimpleLogixCommunicator.read(SimpleLogixCommunicator.java:81)
at se.opendataexchange.ethernetip4j.test.TestClass.main(TestClass.java:59)

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.