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: 

Compact RIO EtherNet/IP Industrial Communication Data Packaging

Hello,

I’m new to the Industrial Communications for EtherNet/IP module and quite a few questions. I am using a Compact RIO 9074 I first configured the Compact RIO’s Ethernet Adapter eth1 port to TCP/IP Network and entered the static IP address to the same subnet as the Fanuc LR. This was then saved and deployed to the Compact RIO. I then implemented the VI for the Access Assembly Instance Data through Explicit Messages, built the application and deployed it to the Compact Rio. This VI was run and the system shows that its making a connection, however, it’s still not able to communicate.

In the example, there are two arrays, the Data Received, and Data to Set. I want to know if there’s a certain way of configuring the Data to Set to a scanner.

Thank you.

Thomas

0 Kudos
Message 1 of 22
(10,428 Views)

Hi Thomas, 

 

I think I have a few other posts that explain this in more detail, but we don't support scanner functionality for Assemblies or Implicit communication. We do for explicit. 

 

Having screenshots of you labview VIs and the Fanuc programming environment would help. 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 2 of 22
(10,426 Views)

Hi Jesse

Thanks for the reply. May I ask what's the difference between explicit and implicit? The LabVIEW VI is the AccessAssemblyInstanceDate (Explicit) VI. I'm going to presume that this will enable me to use the compact rio as a scanner, if I implement this VI? 

 

The configuration is shown in the attachment. 

 

 

0 Kudos
Message 3 of 22
(10,420 Views)

Here is the VI corresponding. The network address is set to be within the same subnet as the Robot. 

0 Kudos
Message 4 of 22
(10,419 Views)

Here is the Block diagram 

0 Kudos
Message 5 of 22
(10,418 Views)

Hi TP, 

 

There is a basic overview of implicit vs explicit here and here, also in other documents on the web. Funtionally Explicit is TCP based and transfers data slower than Implicit, which is UDP based. 

 

There are two things which come to mind: 

1) I think your IP address should be the IP of your actual PLC 

2) All Ethernet/IP devices are required to have certain information. I think you are on the right track with your class address but they may not be the same as the example shows. Do you have a user manual for the PLC? Usually somewhere in the manual the addressing scheme is laid out.

 

 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 6 of 22
(10,390 Views)

Hi Jesse

Thanks for your information it was very helpful.

I thought that the IP address of the Compact RIO’s Ethernet terminal needed to be within the same subnet but not the exact same.

 

I agree with the Ethernet/IP having an address scheme laid out. Having a look at the example project, it claims I need to create the assembly instance. This can be done using the create assembly instance example VI.

 

Does the create assembly instance VI need to be running with the Assembly Instance Data (using Explicit Messaging)? If so I’m having difficulty understanding how to apply this. Under the create assembly VI, it uses I/O Data function, while using an array of Data to Set and Data Received. Will the assembly address need to be set up in this array?

 

I’m having a look through the manual for the Robot and the information I provided before is the configuration for the scanner.

 

Thanks

 

Thomas

0 Kudos
Message 7 of 22
(10,375 Views)

Hi Jesse, 

I found this in the manual which explains a little more about Explicit messaging. I'll send the table output value supplied. I'm wondering if this can be applied to the example. If I focuss on the instance numbers 101 and 151. 

Download All
0 Kudos
Message 8 of 22
(10,372 Views)

Hi Thomas, 

 

The Ethernet/IP examples were meant to be used without a PLC attached. The instructions are referring to the way you would setup two separate controllers to talk to one another. You definitely don't need the create assembly running on your PC to communicate with your PLC. However, if you have another computer with labview you may consider running the Create Assembly example on that PC. Accessing an assembly on a second PC will allow you to test network condiitons and make sure your addressing scheme is right. 

 

Try 10.100.250.10,0,1 with the TagReadWriteRaw example also. I am not sure it will work in this case, but the assemblies have a slot associated with them which seems to be Logix type naming convention. 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 9 of 22
(10,364 Views)

Hi Jesse,

So what you're saying is I shouldn't have to create an Assembly Instance if I set the format up correctly? I don't have information to Tag names inside the Robot. What I want I really need help understanding is how to set up the Data Received and Data to Set array's which is difficult without exactly knowing how to format it. 

 

Thomas

0 Kudos
Message 10 of 22
(10,359 Views)