Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

Compact RIO EtherNet/IP Industrial Communication Data Packaging

Hi Thomas, 

 

Right, you shouldn't need to setup Assemblies. I think you just need to get the addressing right at this point.

 

The format of Data Received and Data to Set should just be an array of bytes. To me it looks like any issues would come from incorrrect Class, Instance or Attribute numbers.

 

If you continue to have have issues a good plan of attack may be to setup the Create Assembly examples on a second computer and access them before talking to the Fanuc. As noted above this will allow you to test the network.

 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 11 of 22
(5,649 Views)

Hi Jesse,

I'm reading one of the links that you sent me and it explains the explicit messaging address. I want to verify something with you with respect to the VI. It claims the Service code is the describing the action/service required. I want to know if the Data to Set array is the Service code? If so, looking back at the Fanuc information, it states the service is 0x0E in hex. I'm wondering if the array is the service code, would I have to convert the hex code into binary and input that into the VI? 

 

Thanks again Jesse! 

 

Thomas

0 Kudos
Message 12 of 22
(5,641 Views)

The service code should be taken care of behind the scenes for you by the VI. You know that you need to do a write operation because you are using a write VI. The VI just modifies the header with the appropriate command. 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 13 of 22
(5,638 Views)

Ok so the VI produces this code as its exporting the connection right? This may be a very abstract question but is there a set protocol that needs to be followed to implement a command? 

0 Kudos
Message 14 of 22
(5,636 Views)

Is there a way I can ping from the Compact RIO's second port? 

0 Kudos
Message 15 of 22
(5,618 Views)

Hi Thomas, 

 

The driver should take care of all of the formatting and complexities for you. You should only need to be using the VIs on the block diagram - the examples are as complex as you will every need to get. 

 

LV RT routes data automatically based on their end IP addresses. If NIC A is on subnet A, and the end route for the package is on subnet A, Ethernet traffic will be routed over NIC A, and vice versa.

 

If you open a console session to the controller through serial out, with putty or another program, you should be able to enter vxworks ping commands. I expect the commands to be routed by LVRT. 

 

I didn't realize that you were on a controller though. Try running the examples on your computer and make sure you can talk EIP to the controller

 

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 16 of 22
(5,590 Views)

Hi Jesse

 

Thanks for the reply. A connection has been established between the cRIO and the Robot. It's able toogle one bit. I'm looking back at the information you presented about the assemblies having a slot associated with them. In this case, the digital I/O's are associated with Rack 89 slot 1. From what I understant the network address will therefore be equivalent to the IP address, the blackplane, which in this care would be 89, and the slot which is 1. 


0 Kudos
Message 17 of 22
(5,585 Views)

Right, that is the Logix addressing scheme, which I think your robot uses.

 

Jesse Dennis
Engineer
INTP
0 Kudos
Message 18 of 22
(5,582 Views)

Ok so in order for that to work I'll have to do the tag read/write. One thing that's puzzling me is why doesn't the Tag Read allow the Assembly Instance number or Class number to be inputs? Is it because I'm using Tags?  

0 Kudos
Message 19 of 22
(5,579 Views)

Communication using tags via explicit messages does not use assemblies. I'd be extremely surprised if your device supported them as they are mainly only implemented by ControlLogix PLCs.

 

Can you link to the manual for your device you are communicating with? What sorts of modes does it support? With many non-PLC devices, the likely types of supported communications are typically explicit messages to read/write assemblies on the device (or read/write other CIP objects directly) or possibly implicit I/O configured on the device side.

 

First figure out what types of communication your device supports, then figure out which one you want to use and who is going to initiate the communication.


Eric

0 Kudos
Message 20 of 22
(5,524 Views)