06-12-2013 08:56 AM
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.
06-12-2013 10:20 AM
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
06-12-2013 10:28 AM
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.
06-12-2013 10:37 AM
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?
06-12-2013 01:25 PM
Is there a way I can ping from the Compact RIO's second port?
06-13-2013 11:11 AM
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
06-13-2013 12:27 PM
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.
06-13-2013 12:36 PM
Right, that is the Logix addressing scheme, which I think your robot uses.
06-13-2013 12:40 PM
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?
06-16-2013 01:09 AM
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