Hoddy

Sending data from NJ to robot with ethernet

10 posts in this topic

Hello! 

We are a group of students who need help with sending coordinates from a NJ101-controller to a Nachi MZ07 robot-arm. We get the coordinates from a FQ-M Omron camera to the NJ controller but need to pass them forward to the robot with ethernet. Anyone know how we can achieve this in sysmac studio (setups, configs, function blocks etc)?

- Thanks for any answers!

Share this post


Link to post
Share on other sites

According to Nachi's sales literature, the MZ07 supports EtherNet/IP.  So, I would get an EDS file for the Nachi robot and install it in Sysmac Studio.  Then, you need information on the assemblies that the robot uses.  You can choose which assemblies to use and then make a connection with EtherNet/IP to variables in the NJ.  Start looking in that direction.

1 person likes this

Share this post


Link to post
Share on other sites

Thanks for your last reply!

We have the Ethernet/IP (Fieldbus) board installed in the robot controller, and the EDS installed in Sysmac Studio. But we dont understand how to make the variables in the robot to communicate with the variables in NJ. Do you have experience with this? Would appreciate a detailed explanation so we can understand it better! unfortunately, no one on our school can help us, and we have read the manuals up and down the past 2 weeks!

- Thanks for any reply!

Share this post


Link to post
Share on other sites

Attach the EDS file here and I can provide a small sample of how to do it.

Share this post


Link to post
Share on other sites

Take a look at this:

Nachi EIP Sample.smc2

I used the default of 16 bytes for the input and output assemblies.  See if you can reproduce this setup and then let me know if you have questions.  It is not the most intuitive setup that Omron has produced, but I think with this point in the right direction, you can figure it out.  Of course the settings in this project will have to be downloaded to the network for it to function.  I did not do any code.  Just the Global Variables, the Tag Sets (input and output) for the EIP Configuration and the Connection.

By the way, the 100 and 150 in the Target Variables column of the connection setting come from the EDS file and are the Assembly numbers for the input and output assemblies.  To get to this, go to Tools pulldown menu, then choose EtherNet/IP Connection settings.  Next, double click on the only device in the EtherNet/IP Device List.  Then click on the lower of the two buttons on the left hand side of the window and it will show the connection.

1 person likes this

Share this post


Link to post
Share on other sites

I can't open the file :/ I've got Sysmac version 1. But helped a lot with the things you wrote here! Thank you so much! 

Share this post


Link to post
Share on other sites

Ok, I have exported my program as an .smc file, but this means that the EtherNet/IP settings are not contained within Sysmac Studio, they are then done only in Network Configurator for EtherNet/IP.  I have attached the files below:

Nachi EIP Sample.smc

NJ to Nachi EIP.nvf

If you have registered your copy of Sysmac Studio online, I would highly recommend updating.  You can do it online for free and it will get you all the way up to the current version (1.15).  Many things have changed / been improved since 1.0.  You can get to the online update here:

571787d2840df_Onlineupdate.jpg.db57c7572

1 person likes this

Share this post


Link to post
Share on other sites

Thank you! Got the communication going now! One last question: How can we make use of a WORD as 8 single BOOL?  When we get a TRUE statement from the robot we get 0000 0001 in a WORD in sysmac. So we want to use the WORD as 8 seperate TRUE or FALSE from robot. Or is it possible to have a single BOOL as input?

Share this post


Link to post
Share on other sites

You can do it two ways.  You can use a union, or you can use a structure. 

First, I will explain a union:  A union is when you would like to view a word in multiple formats.  For instance, if you would like to use the word value as a whole and would like to use the bit also.  You can define a union and then make the variable that union data type. 

If I create this union:

wG+crDGPXtntAAAAABJRU5ErkJggg==

and then define the variable as shown below:

csXFyF+AAAAAElFTkSuQmCC

Then I can look at a bit from the first word and the word value of that same word, like this:

wPA7PGTvswxlQAAAABJRU5ErkJggg==

However, I think that a Structure will be better suited for what you are trying to do.

If you know the layout of the Nachi assemblies, you can create a structure to match.  So, I made up this example of what the Nachi 8 word (16 byte) input assembly might look like:

It consists of one word of bits and then 7 other integers:

WNGhnYNHThwoFhcVwwu86lwBZdERUthDS5NH+CcE

You could even get more granular with the InputBits field by using the USER offset type (but V1.0 processors do not support this type).  What I mean by this is if you had newer hardware and software, you could break each bit out individually (Ready, Error, Done, Running, etc.)

Then I define the variable to look like this:

gwwP8Hmz0qyXcu+lwAAAAASUVORK5CYII=

Then I can use the variable like this:

D8IXB3PFwSsKAAAAABJRU5ErkJggg==

A structure allows you to create a single variable that has multiple different formats inside.  Hopefully this helps.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now