colmid50

FX2n-32can to Fx3u-canopen

16 posts in this topic

Could any one help with the upgrade of a Fx2n plc with fx2n-32 can to fx3u plc with fx3u-canopen Have made a duplicate machine 7 years after the 1st one which controlled 7 ssd drives via a canbus (no problems in 7 years) Now have to use fx3u series which we have done, uploaded old program but can't get the Canbus working as comms seem to be different with the FX3u-canopen Is there a simple program mod? desperate any help much appreciated. Any one that could mod the program so it will work? Col

Share this post


Link to post
Share on other sites
Hi We are still have trouble with this and it seems that the older Fx2n-32Can module uses DS301 protocol, does anyone know if we can still communicate with an older drive which uses a this protocol with a newer FX3u-CANopen module which uses a different protocol? Any help much appreciated

Share this post


Link to post
Share on other sites
The FX3U-CAN support the same protocols but in a newer Version. The newer CANopen Specification is more strict than the old Specification. You only have to adjust your program. In the Manual is everyting written what you need to know. https://eu3a.mitsubishielectric.com/fa/en/mymitsubishi/download_manager?id=9878

Share this post


Link to post
Share on other sites
The FX3U-CAN is a little bit different to work with than the FX2N-32CAN. Do you have the possibility to post your program? Basically, the SDO transfers from the module to the bus is pretty much the same. You have some new error registers, and the functionality to restart the module without power off-on the PLC. As for the PDO mapping the rules are, as mentioned, stricter so take caution if mapping PDO's via SDO's in the module.

Share this post


Link to post
Share on other sites
Hi Propeller head thanks for the info, we have been working with the mitsi support dept and quite frankly they are struggling... We were told that the units were directly compatible but they are obviously not.. Could I email the existing working program to you for your guidance Finding software engineers that work specifically with canbus and the mitsi units is a real struggle. regards Colin

Share this post


Link to post
Share on other sites
Hi Here is our existing program that works perfectly using the fx2n-32can Any help altering it would be much appreciated. regards Colin Servosaw 260907 B.zip

Share this post


Link to post
Share on other sites
I'm currently looking into your program, but do you know anything at all about the functionality of the CANopen module in the PLC? At first it looks like it's not transferring any data to any nodes, only SDO objects... Do you have any clue what it is doing? Are you using a CAN configuration tool in addition to the module to set it up, or is it just to plug it into the PLC and it works (the old FX2N-32CAN)? Do you know what it's communicating with and what it's supposed to send and/or receive? Any info would help a lot. I've found a couple of odd sequences, but would like to know more about the application... EDIT: And by the way; "Propeller Head" is just the title (like your title is "Hi, I am new")... My username is "kaare_t" (as you see above the "Propeller Head"...) EDIT2: And I'm assuming you are trying to use the FX3U-CAN together with a FX3U PLC and NOT a FX2N PLC??? Edited by kaare_t

Share this post


Link to post
Share on other sites
Hi Kaare Many thanks for coming back.. The PLC is controlling 7 x SSD servo drives via I believe SDO or PDO There is no CAN config tool just PLC to Canbus module to Drives We are using a FX3u PLC & FX3u-CAN I will email some screen shots of the drive parameters and bias program, along with other info tomorrow regards Colin

Share this post


Link to post
Share on other sites
I've done some modifications to the program, and commented everything inside the ladder. Please find attached project. But I have some serious concerns: What I have done is simply to actually save the data in the module before restarting it (in the past, you didn't need to restart the module to activate BaudRate, nodeNo and so on). In addition, after saving, I've added a status check before restarting the module (without checking the status, you might restart the module while it is saving the data). Further, after checking status OK I've restarted the module (like it was before), but added a new status check before starting with the error-reset and then the transfer of SDO. So all in all the new sequence is: Set comm params (BaudRate NodeNo...) Check status OK Save parameters Check status OK Continue sequenceI'm not sure at all if the new sequence will work for you, but I've made it the way I think it will work (in my head). I haven't tested it, and can of course not take any responsebility for the new modified program when you are going to use it in a live application. I am simply just trying to help you on your way. But I have some serious concerns: You are not using PDO at all, only SDO. SDO are very slow, and are ment to be configuration objects (ServiceDataObject). You should really consider, if possible (depending on what the program does to the servos), to rewrite the whole project to use PDO When using SDO you should be using a more reliable sequence to handle the status flags in the CAN module. Now, you just push data as "fast as possible", but without checking if the module is actually ready to receive data The sequence for sending the SDO does not take into account that there might occur an error in any of the transfers (like a node missing, node offline or similar) If point 2 happens, then the sequence will stop - not continue to the next node in the sequence (everything will stop the way I see it)Let us know how it works out, if it works or not... Servosaw 260907 B_mod.zip
1 person likes this

Share this post


Link to post
Share on other sites
Hi Kare I will try this 1st thing tomorrow.. I have trid uploading an excel file but the site doesn't allow it, Can I send it directly to you..it has the bais program and the parameter info for the drive. The program is very simple which is probably why the original programmer used SDO only. Regards Colin

Share this post


Link to post
Share on other sites
Hi kare The machine is basically a multi head saw with very fine blades which are used to cut very small aluminium tubes (2.35mm dia) in varying lengths that are then later bent and used in heat exchangers for jet engines. The machine is capable of making up to 8 cuts which produce 7 complete parts or a minimum of 2 cuts producing 1 long part. 1st blade is fixed and the 7 others are moved via the servo motor/linear slide. There are very few movements - Home & move to We home by sending all the saw carriages in one direction until the bottom out against each other under low torque, the final carriage position is monitored so we know when they are all home against each other. Once the preset lengths for tube cuts are made the carriage's will move to their predefined positions. The program will calculate what can and cannot be cut within the limits of the machine and move unused saw blades/carriages to a park position. The machine will then run to produce many thousands of the required components I have attached the Servo drive Bias program & its parameter file (drive 1 node2) I will be testing your program this morning and will let you know how we get on Regard Colin

Share this post


Link to post
Share on other sites
Hi Kare Loaded program What you have done has made a difference as when I checked the Canbus data with a logger there is more information being transmitted than before.. I will be looking at this again later with my programmer to see if we can send something that we can then see with the logger. Our HMI still says no comms, so we will look at that in reverse as well. I will let you know how we get on regards Colin

Share this post


Link to post
Share on other sites
Hi Kare We have now established comms!!! Many thanks for your help...you did more in 1 day than tech support have done in nearly 12 weeks!! Didn't help that one of the Parker can bus connectors joining the drives together is faulty!! regards Colin

Share this post


Link to post
Share on other sites
Hi Colin, No problem at all. But as I mentioned earlier in the topic; you should really consider rewriting parts of the CANopen program to allow for a little error handling even if you still want to use SDO's (see post #9).

Share this post


Link to post
Share on other sites
On 07.09.2015 at 5:09 AM, kaare_t said:

I've done some modifications to the program, and commented everything inside the ladder. Please find attached project. But I have some serious concerns: What I have done is simply to actually save the data in the module before restarting it (in the past, you didn't need to restart the module to activate BaudRate, nodeNo and so on). In addition, after saving, I've added a status check before restarting the module (without checking the status, you might restart the module while it is saving the data). Further, after checking status OK I've restarted the module (like it was before), but added a new status check before starting with the error-reset and then the transfer of SDO. So all in all the new sequence is: Set comm params (BaudRate NodeNo...) Check status OK Save parameters Check status OK Continue sequenceI'm not sure at all if the new sequence will work for you, but I've made it the way I think it will work (in my head). I haven't tested it, and can of course not take any responsebility for the new modified program when you are going to use it in a live application. I am simply just trying to help you on your way. But I have some serious concerns: You are not using PDO at all, only SDO. SDO are very slow, and are ment to be configuration objects (ServiceDataObject). You should really consider, if possible (depending on what the program does to the servos), to rewrite the whole project to use PDO When using SDO you should be using a more reliable sequence to handle the status flags in the CAN module. Now, you just push data as "fast as possible", but without checking if the module is actually ready to receive data The sequence for sending the SDO does not take into account that there might occur an error in any of the transfers (like a node missing, node offline or similar) If point 2 happens, then the sequence will stop - not continue to the next node in the sequence (everything will stop the way I see it)Let us know how it works out, if it works or not... Servosaw 260907 B_mod.zip

Is it still possible to download sample program, I ran into similar situation. Thanks.

Share this post


Link to post
Share on other sites

It looks like the original attachment in this topic has been removed (it's no longer available for download). I don't have the files either, but I bet that colmid50 have them. You can try to contact him directly via the message system here in the forum (I don't know his real ID/address) - just click on his name ("comlid50) and press the "Message" button - hopefully he is still active. I don't have any better suggestions. Sorry.

1 person likes this

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