Sign in to follow this  
Followers 0
Invisible_man

FX3U-ENEt fixed buffer with IEC-developer

6 posts in this topic

Hello, So i need to transfer a range of registers from plc 1 to plc 2 en visa versa, both are Mitsubishi FX3U plc's equipped with FX3U-ENET modules. To accomplish this, i used the software function blocks located on the GX-iec-developer installation cd (FX3UFixBuffPairingOpenActive for PLC1 and FX3UFixBuffPairingOpenUnpassive for PLC2, both v300) en implemented those following the example-program which came with them, using fixed buffer communication. At first glance, this works perfectly en fast, but it also needs to recover it self after loss of communication (pulling the network cable for example) and if the duration of the communication loss is within the timeout interval it just continues to send and receive data, but after it won't and i don's seem to get it to transfer data again, not until i reload the plc-software to the plc. When i reconnect the cable after the timeout expired, the ENET-module tells me the connection is open and running again (BFM#1600 = 5 on plc1, 0 on plc2 which is correct i believe), but the ENET module on plc2 gives me error code C023 (the open processing for the applicable connection is not completed) and sometimes plc2 will receive data but cannot send data back, but mostly both sending en receiving will not work anymore. I tried to reinitialize the ENET-module by writing H2 to BFM #1600 and also tried to bring the EnableConnection and EnableSend signals down and up again, but it still doesn't work until i reload the plc-programs. The settings of the ENET modules (EN-configurator) are left mostly default (timers and such) en the connectionsettings are done by the software modules them self. Anyone got an idea how i can resolve my problem? Attached a screenshot of both the used functionblocks (the upper for plc1, the lower for plc2)

Share this post


Link to post
Share on other sites
Try using two different port numbers for send/receive on your PairingOpenActive FB.

Share this post


Link to post
Share on other sites
Thank you for your answer. I dont't believe that with pairing open you have the option to use different ports for send and receive, only different ports for local en remote in case you have to communicate with more than 2 plc's. In EN-configurator with pairing open you also can't edit the second line because it's automatically filled with the settings of the first line.

Share this post


Link to post
Share on other sites
Sorry, my mistake (read your post a little fast). Do you have the possibility to upload your project, or maybe youst the specific POU you are using? It would be interesting to see the rest of the communication sequence....

Share this post


Link to post
Share on other sites
Well, i believe found the problem For your request to upload my programs, i made two stripped down versions with only the communication part in them. Testing those, to my surprise it simply kept on working time after time i pulled the network cable. The only difference between my full program and the test program was that i used R-registers in the full program (to conserve the use of D-registers) for the dynamically assigned system words in stead of the default D-registers which i used in the test program. Knowing that certain functions can't handle R-registers (for example the TIMER_100_FB_M function blocks, though this ends in a compiler error) i changed this setting back to D-registers and apparently that solved the problem (but to be sure more testing is needed).

Share this post


Link to post
Share on other sites
Great! Let us know when you've finished testing, and how it worked out!

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