Sign in to follow this  
Followers 0
LPG

FINS problem

22 posts in this topic

Hi to all, I have a little problem when I try to connect via FINS comand to a PLC I'm using a Sysmac CJ1M CPU12 unit and ETN21 unit in a new plant project. I've configured the Ethernet unit with an IP address and I've connected ok to PLC via Ethernet. The node address in the unit is set to 8 The proyect (CDM) connects ok with this node without errors. The problem appears when I've tried to read with a FINS application from a VB6 program. I've received a "Directory not empty (FINS error 0 x 2108)." and is impossible to read anything. I have 3 more PLC's in other network and I haven't any problem with them. What I'm doing wrong? Please can anyone advise me? Regards Paco

Share this post


Link to post
Share on other sites
Can you post some screen shots or copy / paste of the FINS command that you are sending, and the response. The full FINS command and the full response would be the most helpful.

Share this post


Link to post
Share on other sites
Hi, (I was on holidays) The problem is not the comand, because I send this command to the other PLC's and I receceive a good response. I tried the simplest 0501 command. This is th first PLC that I've install. The others were installed yet. Curiossly I test the FINS connection with CX one Network utility without problem. Only from the VB test program is wrong. Thank you for your interest.

Share this post


Link to post
Share on other sites
Hi again I left a screenshot, using UDP utility...

Share this post


Link to post
Share on other sites
I have a few questions: Can you show a screen shot of the configuration of the Ethernet/IP module? Can you show the firmware version of the ETN21? (In the IO Table of CX Programmer, right click on the module and select 'Unit Manufacturing Information'). What subnet mask are you using for the PC and PLC? If you can provide this information, I can help.

Share this post


Link to post
Share on other sites
Hi PCMR, Thank you for your time... I've attached too the CX-Net screen with the PLC connected One tip: Conversion is showing marked the option IP addres table but in PLC I have the first option (Automatic - Dynamic) Edited by LPG

Share this post


Link to post
Share on other sites
I am confused as to why this does not work. One thing that I can tell you is that in the FINS utility, the Source UDP port may not be correct. The original author (a colleague of mine) did not actually change the source UDP port in the VB code. Possibly you have changed it. So, it shows 9610, but really uses 9600. I cannot reproduce the problem. I am using the same UDP FINS VB code, an ETN21 with the same firmware version. (There are no problems with different firmwares, but older firmware did not support different UDP ports at PC and PLC). Can you double check the setup in the PLC ethernet card? In your VB screen shot, you show the PC sending FINS commands as node 03. Normally in FINS Ethernet, we use the last octet of the IP for the node. What happens if you type 79 as the FINS Node for the PC? This is the HEX of 121. Is another node on the network FINS Node 3?

Share this post


Link to post
Share on other sites
Just a shot in the dark; could it be the CPU has an invalid routing setting for the ETN21?

Share this post


Link to post
Share on other sites
PDL Good thought, but I don't think it will be a routing table issue. The UDP FINS command is from Net 0 to Net 0. 0 = 'local' in the word of Omron. Even if there is a routing table, and the ETN21 is not in it, it should respond to net 0.

Share this post


Link to post
Share on other sites
OK nevermind

Share this post


Link to post
Share on other sites
I still think that the key is in the module setup.

Share this post


Link to post
Share on other sites
LPG, you could save a lot of screenshots posting by saving the IO table setup file for the ETN21, right click in IO table and select "save parameters". Now post the file zipped and we can all review the settings.

Share this post


Link to post
Share on other sites
Good Morning, PCMR, I've used by two years UDP utility to check and test the PLC's in the plant. Is a good tool, and I've made many programs based in it, that read and write data in those PLC's. Is the first time that I found one problem like this. Checking the error registry in teh unit I've found this (screenshot) I've attach the configuration file for ETN module. But I only see "garbage" in it (jeje). I post a screenshot that show the answer from a running PLC. Param_CJ1W_ETN21_ETN21Mode_.zip

Share this post


Link to post
Share on other sites
When you open it in explorer, yes. But in the IO table you can load the paramters with the "load parameter" option the same way you save them

Share this post


Link to post
Share on other sites
LPG. I setup the network exactly as shown by LPG. Same IP, same subnet, etc. I was able to reproduce the problem, and determine the solution. The solution is to allow dynamic changes to the IP address of the PC as shown below in the ETN21 setup. The 2 screen shots are basically the same information for version 1.3 and 1.4 ETN21 modules. If the 'Change to Dynamic' option is not on, the ETN21 module will only respond to IP / FINS Nodes that are listed in the FINS to IP conversion table. As your table was blank, the ETN21 would not recognize the command as valid from a valid IP and FINS Node. So, you could leave 'Change to Dynamic' unchecked, but then you must list the PC in the FINS to IP conversion table. Edited by PMCR

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites
Is incredible but this is the solution. I was stuck for a days. Really I don't know why this was selected, and why I don't change it... ¿? I was only looking for the FINS error 2108, argggg. You save me... Thank you for all

Share this post


Link to post
Share on other sites
Ain't he awesome! Salute PMCR!

Share this post


Link to post
Share on other sites
Hi everyone I'm new in this things, but i'm trying to connect an CP1L with a CP1W-CIF41 card to my pc, and use fins comands, but i alway get the same answear: c0000201350001a00000010185010001 Can anyone help me with this Thanks in advance

Share this post


Link to post
Share on other sites
Most likely it is a FINS Routing problem. A 'Quick Fix' is to set the FINS Net and FINS Node to 00 for the source and destination. So Local Node Net = 00 Node = 00 Unit = 00 Remote Node Net = 00 Node = 00 Unit = 00 This will probably fix the issue. The better way to fix it is to use proper FINS routing. I did a quick video on Youtube last week on how to setup a FINS routing table. You would use Unit 253 and 252 for sockets 1 and 2 (yes that seems backwards).

Share this post


Link to post
Share on other sites
Excellent video PMCR I am sure this will help many! p.s. I thought that perhaps the frame length the utility uses could be the problem as this CP1W-CIF41 unit has a limited frame length of 500 or 1000 bytes as apposed to ETN21 units which have 2000 bytes if I remember correctly?

Share this post


Link to post
Share on other sites
PdL You are correct as usual. The CIF41 has a frame length of 1000 bytes as a limit (could be 1004, I don't remember). That frame length would not be a problem unless the command or response was longer than 1000 bytes. An 0501 should definitely be a shorter response.

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