From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

I am looking for what type/setup of Read/Write command in RSLogix 5000 to be used with the NI Ethernet I/P Driver

I am working on trying to get LabView to communicate with an Allen-Bradley Compact Logix PLC using the NI Ethernet I/P driver.  I am currently getting errors on both system of a CIP Message instruction error and cannot determine if the problem is in the PLC or the NI.  At this time we are leaning toward the PLC, thus I was wondering if anyone new what type/setup of message read and write to utilize.

0 Kudos
Message 1 of 10
(6,079 Views)
Hi, For implicit messaging, you only need to add a new "Geneeric Ethernet Module" specifying parameters for the I/O connection, like IP of the VI adapter, assembly instance ID and sizes. For tag messaging, you need to add tags in RSLogix5000 and use tag read/write VI to read/write them.
0 Kudos
Message 2 of 10
(6,059 Views)

that has all been done, but in the message read/write we get a CIP error and get errors in the VI.  If we use a generic message read/write we need instance number for the VI and that is not given anywhere in the documentation.

0 Kudos
Message 3 of 10
(6,051 Views)

sorry the error is actually the class or instance is not supported. 

0 Kudos
Message 4 of 10
(6,050 Views)

I noticed on the forum that there have been a lot of questions regarding Ethernet from the Ni to Rockwell compactlogix, has anyone been successful? I am in the process of quoting a job that I want to use the standalone 24 bit NI modules across ethernet to a compactlogx, I need help to know if this has/can be done. Thanks!!

0 Kudos
Message 5 of 10
(6,024 Views)

at this time I have had 3-4 programmers two from PLC and two from NI trying to get the communications to work.  I have seen several discussions where they have had success, but I have not been able to actually discuss with anyone or seen any examples of how they got this to work.  At this time we are about to drop the NI from the equation and go to the PLC with all data and go from there.

 

 

0 Kudos
Message 6 of 10
(6,020 Views)

Wow, thanks for the information, I may have to convince my customer that we can only get 16bit resolution. I can use my Wago ethernet I/O to get true 16 bit instead of the Rockwell 15bit, so that might have to be good enough. Thank you so much for the response, saves me a lot of heartache!! It is much appreciated!!

0 Kudos
Message 7 of 10
(6,017 Views)

no problem will keep this thread posted of any answers that I may receive in the near future on the matter.

0 Kudos
Message 8 of 10
(6,015 Views)

Hi jabcae,

 

Your description is too vague.

Now instead of implicit messaging, I guess you are using explicit messaging - CIP Attribute Get/Set Single.vi, correct? And the error is class or instance is not supported? 

There are possibliities. Without you being specific, I guess the manual should surely specify which attribute supports which CIP serivces, and including CIP Attribute Get/Set Single or not.

 

 

 

0 Kudos
Message 9 of 10
(6,003 Views)

I've had a cRIO rack & ControlLogix rack work.  I'll be posting a new subject about how it stopped working after an upgrade, but that may be a different issue.

 

The method I used was mentioned in another post here.  I used the 'implicit messaging' method.  

 

The cRIO rack created two 'Assemblies', one for each direction.  One is the 'Consumer', with ID=101, size=64.  The other is the 'Producer' with ID=100, size=72.  It writes to a buffer for the PLC using EthernetIP Set Assembly Instance Data.vi, and reads a buffer from the PLC using EthernetIP Get Assembly Instance Data.vi.

 

The PLC has an ethernet adapter.  Under 'Ethernet', I added a generic "ETHERNET-MODULE" named "NI_cRIO".  That is configured with Comm Format=INT {note the cRIO is always SINT or I8}, Input Instance=100, Input Size=36, Output Instance=101, OutputSize=32, Configuration Instance=102, Configuration Size=0.  The configuration is never used.  The PLC program accesses the data published from the cRIO as "NI_cRIO:I.Data[0]", etc. and fills the buffer to send back as "NI_cRIO:O.Data[0]", etc.

 

This doesn't require any MSG command.  The PLC automatically does a fetch and send each time the program scans.  I'm not that concerned with the exact details.

 

___________________
CLD, CPI; User since rev 8.6.
0 Kudos
Message 10 of 10
(5,946 Views)