NI Labs

cancel
Showing results for 
Search instead for 
Did you mean: 

Welcome to EtherNet/IP Driver for Communication to Allen Bradley ControlLogix PLCs

Hi Daviid,

 

What kind of device are you interested in interacting with? Depending on what type of protocol it supports it might be possible.

 

Eric

0 Kudos
Message 51 of 193
(8,821 Views)

I can communicate fine with my Logix controller for most tags. I am having a problem with my relay card. My relay card shows up in the controller tag list as  Local:3:O.Data 

It's a 1756-OW16I Logix Relay Card in the 3rd slot of my rack. That tag shows as a DINT while the individual relays show as a BOOL (Local:3:O.Data.5 - would be the 6th relay on the card) I can not talk to it either by card ar individual relay with the enetIP drivers. I can alias an individual relay and communicate with it though. For example, I can create a tag, call it RELAY_3 and alias it to Local:3:O.data.2 and that will control the third relay on the card. But if I want to check the state of the card  I can not read the relay status (Local:3:I.data) nor can I write to the card with an array to initialize the card to a specific state. The only way I can do this is through an alias and even that does not work at the card level. Any ideas?  

0 Kudos
Message 52 of 193
(8,813 Views)

Hi Dazach,

 

Thanks for finding this issue. I duplicated your error and found that we are not parsing the tags correctly when they have colons in them. I will submit an updated build that corrects this issue shortly.

 

Eric 

0 Kudos
Message 53 of 193
(8,808 Views)

Hello BlueCheese,

 

I would like to communicate with a bus card supplied by a swedish company called HMS Industrial Networks.  The card that they supply uses the CIP protocol.

 

/David

0 Kudos
Message 54 of 193
(8,799 Views)

Dazach,

 

If you re-download the EtherNet/IP support driver I have updated it with a small fix that will now allow you to address tags that correspond to I/O modules. The syntax is just as you described (and how it appears in RSLogix) such as Local:3: O.Data. (the space is just there to prevent the messageboard from coverting it to a smiley face).

 

Eric 

0 Kudos
Message 55 of 193
(8,774 Views)

BlueCheese wrote:

Hi Dazach,

 

Thanks for finding this issue. I duplicated your error and found that we are not parsing the tags correctly when they have colons in them. I will submit an updated build that corrects this issue shortly.

 

Eric 


Hi Eric,

Do I write my program with the correct tags or do I use alias tags and a for loop to get the data? I ask because I don't know what "submit an updated build that corrects this issue shortly" means. Will I have a fix shortly or will a corrective action be submitted shortly? I have about 2 days of coding to do but don't need the program complete until 4/10. Thanks for looking into this issue.

 

Mike

0 Kudos
Message 56 of 193
(8,773 Views)
You beat me to the punch 🙂
0 Kudos
Message 57 of 193
(8,772 Views)

Daviid,

 

Without knowing what specific device you are interacting with (that company appears to produce quite a few very different devices) I cannot say for sure if this driver would work. While the protocol may be CIP, it matters which CIP objects the device exposes. For instance, if it exposes the PCCC object or Data Table it is quite possible our driver could work.

 

I did notice that many of the HMS products support ModBus/TCP too, so that may be another option available as well.

 

Eric

0 Kudos
Message 58 of 193
(8,764 Views)

Hi Eric,

The 4/1 driver works from a card level but not from an individual port level. I can read/write a DINT to the card tag

Local:3: O.Data

but I can not write a BOOL to the individual port tag

Local:3: O.Data.0

Our general software practice is to write to the port (Data.x) and not the card. We generally only read back the card status with the card level tag. The port tag is a controller scoped BOOL tag.

 

Thanks for reviewing this, let me know your thoughts,

 

Mike

0 Kudos
Message 59 of 193
(8,742 Views)

Dazach,

 

What you are seeing appears to be a limitation of the ControlLogix itself. The separation of the DINT into its component BOOL type seems to be a convenience RSLogix5000 creates for programming but isn't fully abstracted enough to actually allow accessing them as a BOOL via a Data Table write.

 

Would you be able to do a read/modify/write?

 

Eric 

0 Kudos
Message 60 of 193
(8,739 Views)