Sign in to follow this  
Followers 0
ozeufu

host and NJ Connection via fins

6 posts in this topic

Hello all, I am trying to communicate nj with interface which is developed by c# or java via fins. However to understand fins communication firstly, i am using multiway software to send fins commands. after connection to nj through multiway, there is button to change mode and i can change the mode of NJ, run mode or program mode. But i couldn't write or read any variable from NJ. is that possible to write value of NJ variable wtih fins commands? if it is, are there any example or explanation for it? if i couldn't it with fins how can i control the NJ with my interface? There is software for it called compolet but it is quite expensevie solution for me. I check that document and written there "You cannot use FINS commands to access variables in an NJ-series CPU Unit. To access variables, change from FINS to CIP commands. You can use CIP commands to access variables by addressing them to the NJ-series CPU Unit through an EtherNet/IP network." page(14) it confused my mind. http://downloads.omron.us/IAB/Products/Automation%20Systems/Machine %20Automation%20Controllers/NJ%20Series/W518/Sysmac_NJ_FINS_TechnicalGuide_en_201205_W518-E1-01.pdf I look forward to your comments. Thanks in advance. Have a nice day.

Share this post


Link to post
Share on other sites
CIP Protocol is an EtherNet/IP protocol and can access NJ variables by variable name. But, if you want to use FINS commands, you can do so, but you have to define addresses for your variables in the NJ. To do this, go to the Global Variables and when you create a new variable, type the address in the AT field, using this format %(Address). I show an example below where I created a variable called "IntegerValue" and I assigned it to D0 (Data Memory 0). Then you can use FINS commands to read or write from / to D0.
1 person likes this

Share this post


Link to post
Share on other sites
Thank you Michael. If it is possible, could you share an example fins command to write a value to D0? I am not good at about fins. I am reading fins command user manual but i couldn't understand verywell. http://paginas.fe.up.pt/~pfs/recursos/plcs/omron/cs1/com_manual/sec31.pdf

Share this post


Link to post
Share on other sites
Well, there is more to the Ethernet packet than this, but the FINS command itself would be: (I inserted spaces to illustrate the different parts of the command) 0102 82 000000 0001 ABCD 0102 means memory area write 82 means DM 000000 means a starting address of 0 (within the DM area in this case), if it was D10, this would be 000A00 (first 4 hex digits specify the starting address) 0001 means that 1 word is being written ABCD is the hexadecimal data to be written There are likely many posts on this site dealing with FINS communications.
2 people like this

Share this post


Link to post
Share on other sites
Hello, Thank you so much for clear explanation. I understood now how it is working . Have a nice day.

Share this post


Link to post
Share on other sites
Anyone has implemented a CIP protocol driver? some code sample in .net?

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
Sign in to follow this  
Followers 0