You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@plc4x.apache.org by Julian Feinauer <j....@pragmaticminds.de> on 2018/09/24 19:55:35 UTC

Rockwell Controller

Hey,

I talked to a customer today about the integration of a Rockwell Controller.
As I remember (and some google confirmed that) is Rockwell closely related to Ethernet/IP Protocol.
Does anybody have any experience with Rockwell controllers?

Julian

Re: Rockwell Controller

Posted by Pier Fumagalli <pi...@betaversion.org>.
Julian,

I work at Körber Digital (part of the bigger Körber Group, which does
manufacturing machines of all sorts). The Rockwells I have are "on lease"
from the other group companies, they are the same exact models they use in
their big paper, tobacco, palletising, ... machines.

Sorry but I really have no idea where to get them, or how much they cost...

Pier

On Wed, Sep 26, 2018 at 12:05 PM Julian Feinauer <
j.feinauer@pragmaticminds.de> wrote:

> Pier,
>
> could you as an expert give us an advice for a "cheap" rockwell controller
> (with all necessary features) that we could purchase for testing.
> This would help us to validate the Ethernet/IP protokoll before we go to
> customers : )
>
> Thanks!
> Julian
>
> Am 25.09.18, 13:46 schrieb "Pier Fumagalli" <pi...@betaversion.org>:
>
>     Chris,
>
>     I can definitely do some wire-sharking, but the library I'm using is
>     MIT-licensed, and not too hard to read
>
>     https://github.com/cmseaton42/node-ethernet-ip
>
>     Pier
>
>     On Tue, Sep 25, 2018 at 1:44 PM Christofer Dutz <
> christofer.dutz@c-ware.de>
>     wrote:
>
>     > Hi Pier,
>     >
>     > what would be super awesome would be to create a wireshark dump of
> this
>     > feature and send that to me.
>     >
>     > I have implemented a first version of the EntherNet/IP protocol
> driver,
>     > but I would call it "highly experimental".
>     > But I'll be working hard on making them more and more mature. And
> such
>     > WireShark dumps would definitely help.
>     >
>     > Currently on EtherNet/IP devices, I have to address things with an
> address
>     > format like "#1#2#3" which doesn't contain much usefull information.
>     > Would definitely love using "symbolic addressing"
>     >
>     > Chris
>     >
>     > Am 25.09.18, 05:27 schrieb "Pier Fumagalli" <pi...@betaversion.org>:
>     >
>     >     Julian,
>     >
>     >     actually, the Allan Bradley / Rockwell has a nice feature about
>     > "tagging"
>     >     variables / memory locations within the PLC itself.
>     >
>     >     When reading (at least with the library I'm using) I simply say
> what
>     > tag I
>     >     want to read (e.g. "speed"), optionally a program name
> (different tags
>     > are
>     >     grouped by program, or exist as "controller tag") and all the
> data type
>     >     information associated with it comes back with the value at
> protocol
>     > level.
>     >
>     >     I haven't dug into Chris' work on PLC4X quite just yet (just too
> much
>     > work)
>     >     but I assume it'll work the same as the JavaScript
> implementation.
>     >
>     >     I also assume there's a way to list all those "tags", but that's
> not
>     >     implemented quite yet in the library I'm using :-( Luckily I have
>     > access to
>     >     a WindoSH box with the Rockwell software where (through millions
> of
>     > clicks)
>     >     I can actually find the list of tags & such!
>     >
>     >     Happy to help in any way...
>     >
>     >         Pier
>     >
>     >     PS
>     >
>     >     On Tue, Sep 25, 2018 at 6:30 AM Julian Feinauer <
>     >     j.feinauer@pragmaticminds.de> wrote:
>     >
>     >     > Hi Pier,
>     >     >
>     >     > thanks for your kind offer.
>     >     > Perhaps you can, yes : )
>     >     >
>     >     > We had a discussion because the colleagues do not know exactly
> the
>     > program
>     >     > on the plc.
>     >     > So the question is to what degree we are able to extract
> sensible
>     > values
>     >     > from the plc.
>     >     >
>     >     > I know that for an S7 Controller this is basically impossible
> as all
>     > I can
>     >     > request via protocol is an offset and a length from a byte
> array, so
>     > I have
>     >     > to know where bits, bytes, ints or doubles are stored to do
> the right
>     >     > "deserialization".
>     >     > On the other hand, I learned from the Modbus Protocol that
> there are
>     >     > specific memory areas which are tied to datatypes, so in the
> case of
>     > modus
>     >     > it should work to request "unknown" variables and perhaps
> decipher
>     > them by
>     >     > comparing their content with whats on the HMI or something.
>     >     >
>     >     > So my question is how this works for the Allan Bradley /
> Rockwell
>     >     > controller and the Ethernet/IP protocol.
>     >     >
>     >     > Thank you already!
>     >     > Julian
>     >     >
>     >     > PS.: I will try to find out today what kind of controller this
> is
>     > exactly.
>     >     >
>     >     > Am 25.09.18, 00:04 schrieb "Pier Fumagalli" <
> pier@betaversion.org>:
>     >     >
>     >     >     I have a couple of Allan Bradley / Rockwell on my desk
> (Control
>     > Logix
>     >     > and
>     >     >     Compact Logix, both series 5xxx) and yes, they're both
> using
>     >     > Ethernet/IP as
>     >     >     the underlying protocol.
>     >     >
>     >     >     I use https://github.com/cmseaton42/node-ethernet-ip to
> read
>     > from them
>     >     >     currently...
>     >     >
>     >     >     Anything I can help with? :-)
>     >     >
>     >     >     Pier
>     >     >
>     >     >     On Mon, Sep 24, 2018 at 9:55 PM Julian Feinauer <
>     >     >     j.feinauer@pragmaticminds.de> wrote:
>     >     >
>     >     >     > Hey,
>     >     >     >
>     >     >     > I talked to a customer today about the integration of a
>     > Rockwell
>     >     >     > Controller.
>     >     >     > As I remember (and some google confirmed that) is
> Rockwell
>     > closely
>     >     > related
>     >     >     > to Ethernet/IP Protocol.
>     >     >     > Does anybody have any experience with Rockwell
> controllers?
>     >     >     >
>     >     >     > Julian
>     >     >     >
>     >     >
>     >     >
>     >     >
>     >
>     >
>     >
>
>
>

Re: Rockwell Controller

Posted by Julian Feinauer <j....@pragmaticminds.de>.
Pier,

could you as an expert give us an advice for a "cheap" rockwell controller (with all necessary features) that we could purchase for testing.
This would help us to validate the Ethernet/IP protokoll before we go to customers : )

Thanks!
Julian

Am 25.09.18, 13:46 schrieb "Pier Fumagalli" <pi...@betaversion.org>:

    Chris,
    
    I can definitely do some wire-sharking, but the library I'm using is
    MIT-licensed, and not too hard to read
    
    https://github.com/cmseaton42/node-ethernet-ip
    
    Pier
    
    On Tue, Sep 25, 2018 at 1:44 PM Christofer Dutz <ch...@c-ware.de>
    wrote:
    
    > Hi Pier,
    >
    > what would be super awesome would be to create a wireshark dump of this
    > feature and send that to me.
    >
    > I have implemented a first version of the EntherNet/IP protocol driver,
    > but I would call it "highly experimental".
    > But I'll be working hard on making them more and more mature. And such
    > WireShark dumps would definitely help.
    >
    > Currently on EtherNet/IP devices, I have to address things with an address
    > format like "#1#2#3" which doesn't contain much usefull information.
    > Would definitely love using "symbolic addressing"
    >
    > Chris
    >
    > Am 25.09.18, 05:27 schrieb "Pier Fumagalli" <pi...@betaversion.org>:
    >
    >     Julian,
    >
    >     actually, the Allan Bradley / Rockwell has a nice feature about
    > "tagging"
    >     variables / memory locations within the PLC itself.
    >
    >     When reading (at least with the library I'm using) I simply say what
    > tag I
    >     want to read (e.g. "speed"), optionally a program name (different tags
    > are
    >     grouped by program, or exist as "controller tag") and all the data type
    >     information associated with it comes back with the value at protocol
    > level.
    >
    >     I haven't dug into Chris' work on PLC4X quite just yet (just too much
    > work)
    >     but I assume it'll work the same as the JavaScript implementation.
    >
    >     I also assume there's a way to list all those "tags", but that's not
    >     implemented quite yet in the library I'm using :-( Luckily I have
    > access to
    >     a WindoSH box with the Rockwell software where (through millions of
    > clicks)
    >     I can actually find the list of tags & such!
    >
    >     Happy to help in any way...
    >
    >         Pier
    >
    >     PS
    >
    >     On Tue, Sep 25, 2018 at 6:30 AM Julian Feinauer <
    >     j.feinauer@pragmaticminds.de> wrote:
    >
    >     > Hi Pier,
    >     >
    >     > thanks for your kind offer.
    >     > Perhaps you can, yes : )
    >     >
    >     > We had a discussion because the colleagues do not know exactly the
    > program
    >     > on the plc.
    >     > So the question is to what degree we are able to extract sensible
    > values
    >     > from the plc.
    >     >
    >     > I know that for an S7 Controller this is basically impossible as all
    > I can
    >     > request via protocol is an offset and a length from a byte array, so
    > I have
    >     > to know where bits, bytes, ints or doubles are stored to do the right
    >     > "deserialization".
    >     > On the other hand, I learned from the Modbus Protocol that there are
    >     > specific memory areas which are tied to datatypes, so in the case of
    > modus
    >     > it should work to request "unknown" variables and perhaps decipher
    > them by
    >     > comparing their content with whats on the HMI or something.
    >     >
    >     > So my question is how this works for the Allan Bradley / Rockwell
    >     > controller and the Ethernet/IP protocol.
    >     >
    >     > Thank you already!
    >     > Julian
    >     >
    >     > PS.: I will try to find out today what kind of controller this is
    > exactly.
    >     >
    >     > Am 25.09.18, 00:04 schrieb "Pier Fumagalli" <pi...@betaversion.org>:
    >     >
    >     >     I have a couple of Allan Bradley / Rockwell on my desk (Control
    > Logix
    >     > and
    >     >     Compact Logix, both series 5xxx) and yes, they're both using
    >     > Ethernet/IP as
    >     >     the underlying protocol.
    >     >
    >     >     I use https://github.com/cmseaton42/node-ethernet-ip to read
    > from them
    >     >     currently...
    >     >
    >     >     Anything I can help with? :-)
    >     >
    >     >     Pier
    >     >
    >     >     On Mon, Sep 24, 2018 at 9:55 PM Julian Feinauer <
    >     >     j.feinauer@pragmaticminds.de> wrote:
    >     >
    >     >     > Hey,
    >     >     >
    >     >     > I talked to a customer today about the integration of a
    > Rockwell
    >     >     > Controller.
    >     >     > As I remember (and some google confirmed that) is Rockwell
    > closely
    >     > related
    >     >     > to Ethernet/IP Protocol.
    >     >     > Does anybody have any experience with Rockwell controllers?
    >     >     >
    >     >     > Julian
    >     >     >
    >     >
    >     >
    >     >
    >
    >
    >
    


Re: Rockwell Controller

Posted by Pier Fumagalli <pi...@betaversion.org>.
Chris,

I can definitely do some wire-sharking, but the library I'm using is
MIT-licensed, and not too hard to read

https://github.com/cmseaton42/node-ethernet-ip

Pier

On Tue, Sep 25, 2018 at 1:44 PM Christofer Dutz <ch...@c-ware.de>
wrote:

> Hi Pier,
>
> what would be super awesome would be to create a wireshark dump of this
> feature and send that to me.
>
> I have implemented a first version of the EntherNet/IP protocol driver,
> but I would call it "highly experimental".
> But I'll be working hard on making them more and more mature. And such
> WireShark dumps would definitely help.
>
> Currently on EtherNet/IP devices, I have to address things with an address
> format like "#1#2#3" which doesn't contain much usefull information.
> Would definitely love using "symbolic addressing"
>
> Chris
>
> Am 25.09.18, 05:27 schrieb "Pier Fumagalli" <pi...@betaversion.org>:
>
>     Julian,
>
>     actually, the Allan Bradley / Rockwell has a nice feature about
> "tagging"
>     variables / memory locations within the PLC itself.
>
>     When reading (at least with the library I'm using) I simply say what
> tag I
>     want to read (e.g. "speed"), optionally a program name (different tags
> are
>     grouped by program, or exist as "controller tag") and all the data type
>     information associated with it comes back with the value at protocol
> level.
>
>     I haven't dug into Chris' work on PLC4X quite just yet (just too much
> work)
>     but I assume it'll work the same as the JavaScript implementation.
>
>     I also assume there's a way to list all those "tags", but that's not
>     implemented quite yet in the library I'm using :-( Luckily I have
> access to
>     a WindoSH box with the Rockwell software where (through millions of
> clicks)
>     I can actually find the list of tags & such!
>
>     Happy to help in any way...
>
>         Pier
>
>     PS
>
>     On Tue, Sep 25, 2018 at 6:30 AM Julian Feinauer <
>     j.feinauer@pragmaticminds.de> wrote:
>
>     > Hi Pier,
>     >
>     > thanks for your kind offer.
>     > Perhaps you can, yes : )
>     >
>     > We had a discussion because the colleagues do not know exactly the
> program
>     > on the plc.
>     > So the question is to what degree we are able to extract sensible
> values
>     > from the plc.
>     >
>     > I know that for an S7 Controller this is basically impossible as all
> I can
>     > request via protocol is an offset and a length from a byte array, so
> I have
>     > to know where bits, bytes, ints or doubles are stored to do the right
>     > "deserialization".
>     > On the other hand, I learned from the Modbus Protocol that there are
>     > specific memory areas which are tied to datatypes, so in the case of
> modus
>     > it should work to request "unknown" variables and perhaps decipher
> them by
>     > comparing their content with whats on the HMI or something.
>     >
>     > So my question is how this works for the Allan Bradley / Rockwell
>     > controller and the Ethernet/IP protocol.
>     >
>     > Thank you already!
>     > Julian
>     >
>     > PS.: I will try to find out today what kind of controller this is
> exactly.
>     >
>     > Am 25.09.18, 00:04 schrieb "Pier Fumagalli" <pi...@betaversion.org>:
>     >
>     >     I have a couple of Allan Bradley / Rockwell on my desk (Control
> Logix
>     > and
>     >     Compact Logix, both series 5xxx) and yes, they're both using
>     > Ethernet/IP as
>     >     the underlying protocol.
>     >
>     >     I use https://github.com/cmseaton42/node-ethernet-ip to read
> from them
>     >     currently...
>     >
>     >     Anything I can help with? :-)
>     >
>     >     Pier
>     >
>     >     On Mon, Sep 24, 2018 at 9:55 PM Julian Feinauer <
>     >     j.feinauer@pragmaticminds.de> wrote:
>     >
>     >     > Hey,
>     >     >
>     >     > I talked to a customer today about the integration of a
> Rockwell
>     >     > Controller.
>     >     > As I remember (and some google confirmed that) is Rockwell
> closely
>     > related
>     >     > to Ethernet/IP Protocol.
>     >     > Does anybody have any experience with Rockwell controllers?
>     >     >
>     >     > Julian
>     >     >
>     >
>     >
>     >
>
>
>

Re: Rockwell Controller

Posted by Christofer Dutz <ch...@c-ware.de>.
Hi Pier,

what would be super awesome would be to create a wireshark dump of this feature and send that to me.

I have implemented a first version of the EntherNet/IP protocol driver, but I would call it "highly experimental".
But I'll be working hard on making them more and more mature. And such WireShark dumps would definitely help.

Currently on EtherNet/IP devices, I have to address things with an address format like "#1#2#3" which doesn't contain much usefull information.
Would definitely love using "symbolic addressing"

Chris

Am 25.09.18, 05:27 schrieb "Pier Fumagalli" <pi...@betaversion.org>:

    Julian,
    
    actually, the Allan Bradley / Rockwell has a nice feature about "tagging"
    variables / memory locations within the PLC itself.
    
    When reading (at least with the library I'm using) I simply say what tag I
    want to read (e.g. "speed"), optionally a program name (different tags are
    grouped by program, or exist as "controller tag") and all the data type
    information associated with it comes back with the value at protocol level.
    
    I haven't dug into Chris' work on PLC4X quite just yet (just too much work)
    but I assume it'll work the same as the JavaScript implementation.
    
    I also assume there's a way to list all those "tags", but that's not
    implemented quite yet in the library I'm using :-( Luckily I have access to
    a WindoSH box with the Rockwell software where (through millions of clicks)
    I can actually find the list of tags & such!
    
    Happy to help in any way...
    
        Pier
    
    PS
    
    On Tue, Sep 25, 2018 at 6:30 AM Julian Feinauer <
    j.feinauer@pragmaticminds.de> wrote:
    
    > Hi Pier,
    >
    > thanks for your kind offer.
    > Perhaps you can, yes : )
    >
    > We had a discussion because the colleagues do not know exactly the program
    > on the plc.
    > So the question is to what degree we are able to extract sensible values
    > from the plc.
    >
    > I know that for an S7 Controller this is basically impossible as all I can
    > request via protocol is an offset and a length from a byte array, so I have
    > to know where bits, bytes, ints or doubles are stored to do the right
    > "deserialization".
    > On the other hand, I learned from the Modbus Protocol that there are
    > specific memory areas which are tied to datatypes, so in the case of modus
    > it should work to request "unknown" variables and perhaps decipher them by
    > comparing their content with whats on the HMI or something.
    >
    > So my question is how this works for the Allan Bradley / Rockwell
    > controller and the Ethernet/IP protocol.
    >
    > Thank you already!
    > Julian
    >
    > PS.: I will try to find out today what kind of controller this is exactly.
    >
    > Am 25.09.18, 00:04 schrieb "Pier Fumagalli" <pi...@betaversion.org>:
    >
    >     I have a couple of Allan Bradley / Rockwell on my desk (Control Logix
    > and
    >     Compact Logix, both series 5xxx) and yes, they're both using
    > Ethernet/IP as
    >     the underlying protocol.
    >
    >     I use https://github.com/cmseaton42/node-ethernet-ip to read from them
    >     currently...
    >
    >     Anything I can help with? :-)
    >
    >     Pier
    >
    >     On Mon, Sep 24, 2018 at 9:55 PM Julian Feinauer <
    >     j.feinauer@pragmaticminds.de> wrote:
    >
    >     > Hey,
    >     >
    >     > I talked to a customer today about the integration of a Rockwell
    >     > Controller.
    >     > As I remember (and some google confirmed that) is Rockwell closely
    > related
    >     > to Ethernet/IP Protocol.
    >     > Does anybody have any experience with Rockwell controllers?
    >     >
    >     > Julian
    >     >
    >
    >
    >
    


Re: Rockwell Controller

Posted by Pier Fumagalli <pi...@betaversion.org>.
Julian,

actually, the Allan Bradley / Rockwell has a nice feature about "tagging"
variables / memory locations within the PLC itself.

When reading (at least with the library I'm using) I simply say what tag I
want to read (e.g. "speed"), optionally a program name (different tags are
grouped by program, or exist as "controller tag") and all the data type
information associated with it comes back with the value at protocol level.

I haven't dug into Chris' work on PLC4X quite just yet (just too much work)
but I assume it'll work the same as the JavaScript implementation.

I also assume there's a way to list all those "tags", but that's not
implemented quite yet in the library I'm using :-( Luckily I have access to
a WindoSH box with the Rockwell software where (through millions of clicks)
I can actually find the list of tags & such!

Happy to help in any way...

    Pier

PS

On Tue, Sep 25, 2018 at 6:30 AM Julian Feinauer <
j.feinauer@pragmaticminds.de> wrote:

> Hi Pier,
>
> thanks for your kind offer.
> Perhaps you can, yes : )
>
> We had a discussion because the colleagues do not know exactly the program
> on the plc.
> So the question is to what degree we are able to extract sensible values
> from the plc.
>
> I know that for an S7 Controller this is basically impossible as all I can
> request via protocol is an offset and a length from a byte array, so I have
> to know where bits, bytes, ints or doubles are stored to do the right
> "deserialization".
> On the other hand, I learned from the Modbus Protocol that there are
> specific memory areas which are tied to datatypes, so in the case of modus
> it should work to request "unknown" variables and perhaps decipher them by
> comparing their content with whats on the HMI or something.
>
> So my question is how this works for the Allan Bradley / Rockwell
> controller and the Ethernet/IP protocol.
>
> Thank you already!
> Julian
>
> PS.: I will try to find out today what kind of controller this is exactly.
>
> Am 25.09.18, 00:04 schrieb "Pier Fumagalli" <pi...@betaversion.org>:
>
>     I have a couple of Allan Bradley / Rockwell on my desk (Control Logix
> and
>     Compact Logix, both series 5xxx) and yes, they're both using
> Ethernet/IP as
>     the underlying protocol.
>
>     I use https://github.com/cmseaton42/node-ethernet-ip to read from them
>     currently...
>
>     Anything I can help with? :-)
>
>     Pier
>
>     On Mon, Sep 24, 2018 at 9:55 PM Julian Feinauer <
>     j.feinauer@pragmaticminds.de> wrote:
>
>     > Hey,
>     >
>     > I talked to a customer today about the integration of a Rockwell
>     > Controller.
>     > As I remember (and some google confirmed that) is Rockwell closely
> related
>     > to Ethernet/IP Protocol.
>     > Does anybody have any experience with Rockwell controllers?
>     >
>     > Julian
>     >
>
>
>

Re: Rockwell Controller

Posted by Julian Feinauer <j....@pragmaticminds.de>.
Hi Pier,

thanks for your kind offer.
Perhaps you can, yes : )

We had a discussion because the colleagues do not know exactly the program on the plc.
So the question is to what degree we are able to extract sensible values from the plc.

I know that for an S7 Controller this is basically impossible as all I can request via protocol is an offset and a length from a byte array, so I have to know where bits, bytes, ints or doubles are stored to do the right "deserialization".
On the other hand, I learned from the Modbus Protocol that there are specific memory areas which are tied to datatypes, so in the case of modus it should work to request "unknown" variables and perhaps decipher them by comparing their content with whats on the HMI or something.

So my question is how this works for the Allan Bradley / Rockwell controller and the Ethernet/IP protocol.

Thank you already!
Julian

PS.: I will try to find out today what kind of controller this is exactly.

Am 25.09.18, 00:04 schrieb "Pier Fumagalli" <pi...@betaversion.org>:

    I have a couple of Allan Bradley / Rockwell on my desk (Control Logix and
    Compact Logix, both series 5xxx) and yes, they're both using Ethernet/IP as
    the underlying protocol.
    
    I use https://github.com/cmseaton42/node-ethernet-ip to read from them
    currently...
    
    Anything I can help with? :-)
    
    Pier
    
    On Mon, Sep 24, 2018 at 9:55 PM Julian Feinauer <
    j.feinauer@pragmaticminds.de> wrote:
    
    > Hey,
    >
    > I talked to a customer today about the integration of a Rockwell
    > Controller.
    > As I remember (and some google confirmed that) is Rockwell closely related
    > to Ethernet/IP Protocol.
    > Does anybody have any experience with Rockwell controllers?
    >
    > Julian
    >
    


Re: Rockwell Controller

Posted by Pier Fumagalli <pi...@betaversion.org>.
I have a couple of Allan Bradley / Rockwell on my desk (Control Logix and
Compact Logix, both series 5xxx) and yes, they're both using Ethernet/IP as
the underlying protocol.

I use https://github.com/cmseaton42/node-ethernet-ip to read from them
currently...

Anything I can help with? :-)

Pier

On Mon, Sep 24, 2018 at 9:55 PM Julian Feinauer <
j.feinauer@pragmaticminds.de> wrote:

> Hey,
>
> I talked to a customer today about the integration of a Rockwell
> Controller.
> As I remember (and some google confirmed that) is Rockwell closely related
> to Ethernet/IP Protocol.
> Does anybody have any experience with Rockwell controllers?
>
> Julian
>