CANopen motion controller

wim_

Member
Join Date
Feb 2010
Location
Belgium
Posts
8
Hi,

Long story for a few small questions about CANopen:

For a number of precision translation and rotation stages, we use Faulhaber brushless-DC motors with Hall sensors as feedback (no encoder) and small Faulhaber motion controllers with an RS-232 port. So we use the Faulhaber software to parametrize the controllers and save the configuration to their EEPROM, and after that we install the motion controllers in the field and connect them to an industrial PC, which runs our own custom software (under Linux). This software basically sends some simple ASCII commands to the controllers.

However we would like to replace the industrial PC with custom software by a Beckhoff TwinCAT PLC/EtherCAT system. For future motion stages we'd like to use the same Faulhaber BLDC motors, but not necessarily the same motion controllers. As Beckhoff doesn't sell small I/O terminals which can control these BLDC motors, I think we're stuck with the Faulhaber motion controllers. Apart from the RS-232 communication port, Faulhaber also sells the same controllers with a CANopen port (which could be connected to the Beckhoff system by a CANopen master terminal (EL6751)).

So I was wondering if there are clear advantages of CANopen vs. Faulhabers proprietary RS-232 protocol, in case of PLC control. I don't have any experience with CANopen so I have a few short questions:
- is it correct that CANopen motion controllers would allow us to store all configuration data (like motor specs, max speed, ...) in the PLC, so as to keep the motion controller itself "dumb" at power-on? So if a motion controller fails, we can simply replace it without having to configure it manually first with the Faulhaber software? If so, is a restart of the PLC needed when the motion controller is power cycled for some reason, or can I expect that PLCs can be programmed so that they can reconfigure the motion controller automatically?
- does CANopen have a sort of mechanism to "download" a full list of parameters ("PDO's" I guess) from a device? Is it reasonable to expect that I can commission the motion controllers without using the accompanying Faulhaber software?
- are there other advantages or disadvantages I need to be aware of (before getting a CANopen device and starting to experiment with it and learn from it)?


Many thanks!
 
So I was wondering if there are clear advantages of CANopen vs. Faulhabers proprietary RS-232 protocol, in case of PLC control.
I bet CanOpen is much faster. You will be able to put more devices on the network than understand CanOpen.

I don't have any experience with CANopen so I have a few short questions:
- is it correct that CANopen motion controllers would allow us to store all configuration data (like motor specs, max speed, ...) in the PLC, so as to keep the motion controller itself "dumb" at power-on? So if a motion controller fails, we can simply replace it without having to configure it manually first with the Faulhaber software?
This is not really a CanOpen question but a question for the people that make your motion controller of choice. Certainly CanOpen will permit this but that doesn't mean it is implemented.

If so, is a restart of the PLC needed when the motion controller is power cycled for some reason, or can I expect that PLCs can be programmed so that they can reconfigure the motion controller automatically?
Yes, many people demand this feature. It can consume a lot of PLC memory if the controller has lots of parameters.

- does CANopen have a sort of mechanism to "download" a full list of parameters ("PDO's" I guess) from a device?
Again, this is more of a question you need to direct to the manufacturer of the controller. It is possible but it may not be implemented.

Is it reasonable to expect that I can commission the motion controllers without using the accompanying Faulhaber software?
I know nothing about Faulhaber software but if it provides the auto tuning and graphs, how are you going to live without that. I know that trying to start up one of our controllers with our software would be insane. From what I am reading you must not like the Faulhaber software much.

- are there other advantages or disadvantages I need to be aware of (before getting a CANopen device and starting to experiment with it and learn from it)?
I think you attribute too much to the CanOpen when it is really an implementation problem/subject. Our controller doesn't support CanOpen but none of the other protocols we do support say we much be able to download all the parameters to initialize the controller. We do so only because a lot of customers have the same concerns you do about changing controllers in the middle of the night and the controller on the shelf doesn't have the right parameters.
 
I think Peter hit the high points.

As far as CanOpen is concerned it is just a comunication protocal. It has no say so in what is transfered it is just the "how" the data is transfered.

That being said, most, notice I said most, equipemnt providers let you transfer more data on this protocal than your RS232. But as Peter pointed to several times, it depends on the drive manufactor what gets sent. If this is just an "Anybus" card attached to the RS232 port on you drive then I doubt you will get anymore than what you had from the RS232 and it will be as slow as the RS232 in data transfer (you are only as fast as your slowest point).
 
Hi,

thanks for the help, I really appreciate it!

Conclusion is that I'll have to do more homework on the Faulhaber controller. The reason I put so much attention on CANopen is because
- it seems to be "inherently" dealing with state machines (with a "pre-op" state during which configuration parameters can be set using CANopen SDO's)
- it has standardized drive profiles, so that the Beckhoff PLC can easily command the motion controller or use it as a variable speed drive.
- I was hoping that features like "download the full parameter list" were foreseen in CANopen (but that doesn't say anything about the particular Faulhaber controller indeed), whereas in a custom RS-232 protocol it's certainly not standardized.

I know you can accomplish the same thing with whatever serial protocol, but my guess was that with CANopen at least it's more standardized.

The reason I don't like to use the Faulhaber soft is because in case of CANopen, I cannot simply connect the drives to a laptop. But you're right, without the software there's no autotuning (although graphs I may be able to make with the Beckhoff controller, because both the PLC and the drive support the same drive profile).
 
Hi,
Conclusion is that I'll have to do more homework
For sure, CANopen is well suited to this task but there is a learning curve that has to be climbed. CANopen has never had a strict certification process like Devicenet or Profibus so there is a wide variety of what devices support and what they don't. Indeed, the name says it all: CANopen emphasis definitely on the OPEN.

The reason I put so much attention on CANopen is because
- it seems to be "inherently" dealing with state machines (with a "pre-op" state during which configuration parameters can be set using CANopen SDO's)
- it has standardized drive profiles, so that the Beckhoff PLC can easily command the motion controller or use it as a variable speed drive.
What I have seen in my limited experience is that vendors have a rich set of vendor specific parameters (i.e. not part of any of the standard profiles) and minimal support or no support of the profiles like DS402. Perhaps my view is skewed because I'm in the US where Devicenet and now Ethernet/IP are king and CANopen is a neglected stepchild.

We have used position transducers and I/O blocks that followed the device profile nicely. We have used a BLDC motor with built in CANopen controller that was only usable with the manufacturer specific commands. Then there was one device that I had to write my own EDS file for because it didn't follow any standard.

In the words of the auto makers, "Your mileage may vary"

- I was hoping that features like "download the full parameter list" were foreseen in CANopen (but that doesn't say anything about the particular Faulhaber controller indeed), whereas in a custom RS-232 protocol it's certainly not standardized.
The ease of this will depend mostly on the CAN master that is part of the PLC. Some will have this type of functionality build in and others you will have to program it yourself. We use the Moeller XC201 PLC when doing CANopen and it does have this functionality. It is based on CoDeSys so other software based on CoDeSys may have this as well but it depends on what the PLC manufacturer chooses to implement from the CoDeSys system.

I know you can accomplish the same thing with whatever serial protocol, but my guess was that with CANopen at least it's more standardized.

The reason I don't like to use the Faulhaber soft is because in case of CANopen, I cannot simply connect the drives to a laptop. But you're right, without the software there's no autotuning (although graphs I may be able to make with the Beckhoff controller, because both the PLC and the drive support the same drive profile).

To avoid a controller alltogether (or at least having to mount one) you may want to look at the Dunkermotoren BLDC motors with integrated CANopen controller. They may or may not fit into your application or budget but worth a look.

It would be ideal to find someone (manufacturer or user) that has paired the devices you want to use over CANopen before and is willing to answer a few questions or share how they accomplished it. Otherwise you can go it alone so long as you are willing to read a bit and try a bunch of things until they work.

I have found CANopen to be like an onion with many layers. You learn the outer layer and find another underneath. I love the concept of it as it super powerful, can be super fast and super adaptable. For these features you pay with your time invested in learning and understanding.
 
Can Beckoff use Modbus TCP/IP?

There should be plenty of controllers that support Modbus TCP/IP. Then you can program all the controllers and the PLC over Ethernet.

How about Ethernet/IP or ProfiNet? I have never been a fan of CAN type of communications. Too much hassle for not enough performance. The packets are too small.
 
My Beckhoff rep mentioned that CanOpen can be used to send velocity information to a servo drive instead using a analog voltage signal. And the drive was not a Beckhoff unit. A Beckhoff CanOpen master module is required (PN EL6751 in my case for use with a CX1010 controller).
 
Thanks for the help again.

Regarding other fieldbuses, I prefer EtherCAT as the rest of the network is EtherCAT, but the Faulhaber drives are miniature drives specifically designed for Faulhaber miniature motors (with Hall sensor inputs, single ended encoder inputs, 5V encoder voltage, etc.), so it's not so easy to find similar miniature drives of other brands.

Anyway I think I will make it less complicated and use Faulhaber miniature speed drives (with analog setpoint and without communication interface) and close the position loop with the PLC (Beckhoff for example has suitable EtherCAT encoder terminals which can handle single ended signals). No RS-232 or CANopen comm needed in that case. :)
 

Similar Topics

Hi, I have a AB Micro850 that needs to write and read on a CANOpen network with a Danfoss Display and Schneider Motor Drive 110kW, I'm using...
Replies
1
Views
370
Has anyone knowledge of CanOpen diagnosis tools-software. I found this of Helholz : https://www.helmholz-benelux.eu/product/can-bus-tester-2/ I...
Replies
1
Views
964
Does anyone have references for gateways Ethercat - CanOpen? Where the master will have Ethercat protocol and the devices CanOpen. The gateway...
Replies
4
Views
1,162
Hi, I'm configuring the M340 controller with ATV320 inverters via Canopen. Everything was fine until today, when after starting the electrical...
Replies
1
Views
1,319
Hello, We are trying to use an EL6751 with a CANOpen device. To start the connection with this device, we need to send a broadcast message...
Replies
0
Views
1,299
Back
Top Bottom