Merging modern software development with electrons and metal
Random header image... Refresh for more!

Category — CANOpen Adventures

CANOpen Adapters

I am working on a series of CANOpen cable adapters.  For example, here is a model of a DB9 to dual RJ45  adapter:

CANOpen DB9/dual RJ45 adapter

CANOpen DB9/dual RJ45 adapter

I made sure it will work well with AMC DX15C08 Digiflex drives to convert the DX15C’s DB9M to two RJ45s.  The Phoenix header (in green) is for supplying power to the DX15C’s isolators.  Since I will probably make some more changes (for one, I don’t think there is room to screw the adapter’s DB9F to a DB9M), I am not posting the design files yet.

April 30, 2009   No Comments

Mixed CANOpen Connections (DB9/RJ45)

I have trac page up on connecting CANOpen devices with DB9M connectors to a RJ45 network.

December 9, 2008   No Comments

CANOpen Connections Using RJ45 connectors

I have a page up on my trac site about connecting CANOpen devices with RJ45 connectors, including RJ45 terminators and breakouts.

December 9, 2008   No Comments

Copley CMO and Ixxat VCI Drivers

As I’ve mentioned before, Copley’s CMO is a set of COM objects that provide a higher level interface (than the raw DS402 profile) to Copley’s CANOpen drives.  Right now, I am starting to use CMO since I need to get my Copley drives up and running quickly.

So I installed the latest Ixxat VCI drivers (V3) and then verified my Ixxat USB-to-CAN compact was working by sending and received CAN messages.  I installed CMO 2.5, fired up MS Visual Studio, ran the Copley example, and got this exception:  Access is denied.  (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED).  Hmmm.  I started VB6, ran the VB6 example, and received this error: Permission denied, which looks like another way of saying E_ACCESSDENIED.

I contacted Copley.  The answer: CMO V2.5 only supports Ixxat using the older (VCI V2) drivers.  In the future, CMO will support VCI V3, but not yet.

So then I try installing VCI V2 – and had problems communicating with the Ixxat (error 0x1F hardware error).  I contacted Ixxat, and went through their recommended procedure:

  1. Uninstall VCI V2 drivers, then reboot.
  2. Uninstall VCI V3 drivers, then reboot.
  3. Run Ixxat’s VCI Clean program to clean up any stuff left in the registry and on the computer, then reboot.
  4. Re-install VCI V2 drivers.

Even after that procedure, I still couldn’t get the VCI 2 drivers to work.  I suspect it might be a problem with Windows and my particular USB controllers, but it’s not worth troubleshooting since the Ixxat is working fine with the VCI V2 drivers on a nearby computer.

In the future, I’ll install the VCI V2 drivers first, then VCI V3 (normally you can switch between them).

November 7, 2008   No Comments

A Trio of CAN Interfaces

Ixxat, Acacetus, and Peak CAN Interfaces

Ixxat, Acacetus, and Peak CAN Interfaces

I now have three CAN interfaces.  I plan on doing tests on all three to measure their performance.

The Acacetus (also sold by Grid Connect as the CAN USB Light) is the least expensive ($100).  It communicates via a virtual COM port.  So far I’ve used HyperTerm to communicate with it, which doesn’t work well (binary data isn’t intelligible, etc).  Using a serial library should work better.

The CAN and virtual COM port settings are accessed by resetting the device, and then going through a series of menus.  The CAN baud rate isn’t set directly; instead you set the various detailed parameters; fortunately, I found a handy table, but I much prefer Ixxat’s approach (pick the baud rate, and then tweak if you want).

So far, it works, but doesn’t seem in the same class as the Peak or Ixxat – it doesn’t feel as well built, and is more limited (e.g. can’t set baud rate remotely).  It only comes with driver software.

The Peak is a parallel port dongle; I much prefer a USB connection, but I didn’t pay for the Peak.  It has a keyboard pass-through connector to provide enough power.  It is sold in the US by Grid Connect and Phytec for $249.  The Peak USB to CAN is $279, but is worth the extra money.

The Peak interfaces come with PCAN Light driver, and PCANView which is a simple program to send and receive CAN messages.  The extra cost, advanced driver has some nice features, such as sharing a CAN interface among multiple applications.

Right now, the Peak is handy because I have PCANOpen Magic Lite for it (it was included with the CANOpenIA-XA kit I have), which provides some basic CANOpen functionality.  It has many restrictions; for example, it only supports CANOpen address 0x40 to 0x4F, so I had to remap my Copley drives to this address range.

The Ixxat USB-to-CAN compact is the most expensive ($335 from CAN Connection).  It comes with drivers and some helper programs, including one similar to PCANView, but does not include any CANOpen specific software.  I talked about it in my previous post.

Comment 8/24/2011: I now have a lot more CAN interfaces, including models from Kvaser (PCI and USB), esd electronics (PCI), and Applicom (PCI).  I really like both the Ixxat USB to CAN compact and Kvaser Leaf Light. 

October 25, 2008   No Comments

My Ixxat CAN Interface is Here

Ixxat Box

Ixxat Box

I recently received an impressive blue ESD safe box.  Inside was the  Ixxat USB-to-CAN compact interface which I had ordered from the CAN Connection store.

So why spend the money on the Ixxat when I already have two CAN interfaces?  Software support.  I decided I needed a CAN interface which is supported by the manufacturer’s setup and tuning software.

I like USB to CAN interfaces – I do not having to open up my computer to plug cards in (although I do wish USB connectors could lock – it’s very easy for them to become disconnected if I have to move my computer around).  I’d like an Ethernet to CAN interface even better, but the only semi-affordable ones I know of are the Anagate CAN interfaces (about $300-$450), which are only supported by CANFestival (but not by AMC, Copley, Elmo, etc).

Only Kvaser and Ixxat CAN interfaces are supported by all of the CANOpen servo drives I own (AMC, Copley, Elmo), so I decided to buy either a Ixxat USB-to-CAN compact or a Kvaser Leaf Light.  I decided to buy the Ixxat because:

  1. I like the Ixxat physical arrangement better (only the USB cable is permanently attached).
  2. Kvaser currently does not have a CANFestival driver, which is very important since I plan on using CANFestival.
  3. Faulhaber and Maxon support Ixxat but not Kvaser.
Ixxat USB to CAN compact

Ixxat USB to CAN compact

My Ixxat does have a quality feel to it, and unlike many CAN interfaces, does pack substantial processing power (a 24MHz Infineon C161 with 128K SRAM and 512K flash).  It is available with either a single RJ45 or single DB9M connector.  I choose the DB9M version since my other CAN interfaces use DB9M connectors.

Right now I am using the Ixxat with the Copley CMO COM library.  One quirk – Copley supports Ixxat in their CMO and CML libraries, but not in CME2 (Copley’s setup and tuning application).  Copley supports Kvaser in all three.

CME2 is needed to setup the drives.  The CAN baud rate has to be set from CME2, as well as the amplifier settings such as Hall sensor settings.  However, it’s easy to connect using the Copley’s serial port and a properly wired RJ12 to DB9F cable.

October 25, 2008   8 Comments

CANOpen Fun with M12 Connectors

Since I have been working on communicating with my Festo CPV10 valve manifold, I have learned a lot about M12 connectors and cordsets.

The Festo CPV-10-GE-CO-8 CANOpen valve terminal has a DS303-standard 5-pin M12 plug (male) connector. The second generation Festo valve terminal (CPV-10-GE-CO2-8) allows the choice of
DB9, M12, and terminal block. In my CANOpen research so far, the most common connectors are DB9, RJ45, M12 (for harsh environments), and terminal block (especially for I/O).

My preference is dual RJ45 connectors for normal environments, and dual M12 connectors for harsh environments. M12 connectors are typically IP67 rated, are available with 3, 4, 5, and 8 pins, can be shielded or unshielded, are quick to connect (unlike most DB9’s), and are vibration resistant. M12 connectors are used most often to connect sensors back to a controller, often via a concentrator or fieldbus box. Other uses include CANOpen (of course), DeviceNet, Profibus, and Banner light curtains.

Since nothing stays simple, there are a number of M12 variations. The ERNI catalog lists five polarizations: A,B,C,D, and P. The A or normal polarization is the most common, and is used by most sensors and CANOpen; the B (or reverse; used for Profibus) and D (used for Ethernet) polarizations are available, but not as common.

I looked at M12 connectors and cordsets from Phoenix, Binder USA, Lumberg, ifm efector, ERNI, Turck, Hirschmann and Tyco/AMP. It’s interesting to see what is available that could be used with CANOpen

Connector availability is good, with plenty of choices for PCB mount, free-hanging, and bulkhead mount in male, female, and right angle versions. Single-ended cordsets with a male straight, male right angle, female straight, or female right angle connector are common.

However, I only found Male/Female double ended cordsets; I have not found any Male/Male or  Female/Female cord sets. All the Tees I found had 1 male and 2 female connectors. I think this comes from M12 connectors use in sensors. Extension cables have to be M/F. A 1M/2F Tee splits one female connector into two female connectors, allowing two sensors to be wired to one connector (most sensor boxes use female connectors, and some do support two inputs to one connector).

This can work well for CANOpen systems, too. DS303 does not provide guidance on how to connect the whole system, but DS102 does for DB9 connectors. Applying the Interconnected Bus Line approach from DS102 works perfectly for M12 connectors: start off with a M12 female terminator, connected to M/F cable. The cables are connected together using a Tee (with 1 male, 2 female connectors) for devices with 1 male M12 connector (with one of the Tee’s female connectors connected directly to the device’s M12 male
connector or via a M/F stub line cord set), and connected directly to the device for devices with Male & Female M12 connectors. The bus ends with a M12 male terminator.

The parts required are available, except perhaps for the female terminator (but that can be made easily). However, compared to RJ45 cables, the cost is high. Using Allied Electronics pricing (8/17/08) for Phoenix, a male terminator (1507816) is $17.96, a CANOpen Tee (1507793) is $44.91, a Sensor/Actuator Tee (1683468) is $24.06, a CANOpen M/F 0.3m shielded cable (1518258) is $47.72, and a 0.3m M/F Sensor/Actuator cable (1519040) is $21.70, and a shielded 0.3m Sensor/Actuator cable (1500884) is $31.49. Long cables don’t cost
a lot more; for example, a 3m Sensor/Actuator M/F shielded cable (1500910) is $40.04. I’m not sure what the difference is between Phoenix’s recommended CANOpen cable and the “Sensor/Actuator” shielded cable, or between the “CANOpen” Tee and the “Sensor/Actuator” Tee.


August 18, 2008   No Comments

Finding Information on the Festo CPV-10-GE-CO-8

Comments 8/18/2011: It looks like Festo has changed their web site around.  So some of this information may not work, but since their search still sucks, I hope my basic approach is still useful.  I’ve used strike through to indicate links that no longer work.

I have a Festo CPV10-GE-CO-8 CANOpen valve terminal. Since I found it very hard to find the documentation for it, I am sharing how and where I found the information.

The Festo CPV series is a modular pneumatic valve system, consisting of a base, side panels, up to 8 valves, and a valve terminal top plate. The valve terminal can be directly wired to each valve solenoid, or it can be a fieldbus interface such as CANOpen, DeviceNet, ASI, or Profibus. The second generation valve terminals have an added “2” (so the new CANOpen valve terminal is CPV-10-GE-CO2-8), and some added features, such as more connector options (the CO has only one option: a single M12; the CO2 can use DB9M, dual M12, or terminal block), and a connector for adding additional CPV valve blocks to the same fieldbus interface.

Searching on google for model name (CPV-10-GE-CO-8 or CPV10-GE-CO-8) and number (175481) didn’t turn up anything useful. You have to search on Festo’s website using the full text search. For example, searching for CANOpen returns the Info 219 document (Festo CANOpen products overview) and on page 3, the CPV-10-GE-CO-8 manual in English, but not the CPV-10-GE-CO2-8 manual.

The best way is to use Festo’s full text search with the manual part number or  manual designation. The problem is to know what the manual part number or designation is. Fortunately you do not have to guess; that information is available from other sources, such as the Info 201 PDF (Fieldbus Direct products) and Info 219. For older products, it’s fortunately that Festo is logical; the second generation valve terminal’s manual designation is P.BE-CP-CO2-EN, and the original product’s manual designation is P.BE-CP-CO-EN.

The same logic applies if you are trying to find information on other Festo products, such as the CPV10-GE-DN2-8 DeviceNet valve terminal – you need to find the manual designation (in Info 201 or Info 218 (DeviceNet products)), and do a full text search on Festo’s website using the manual designation.

Here are some direct links to the Festo CANOpen information (all links are to PDF’s):

August 13, 2008   12 Comments

Review: Embedded Networking with CAN and CANOpen

Embedded Networking with CAN and CANOpen by Pfeiffer, Ayre, and Keydel, RTC Group /Annabooks Copperhill, 2003.

Summary: 8.5/10, highly recommended.

The book covers the CANOpen basics well. It helps that I’m already familiar with basic CAN and CANOpen concepts (SDO, PDO, Object Dictionary, etc), but the explanations are clear, and the authors do provide concrete examples, which always helps.

The book does go into some low level details, such as CANOpen message formats. That’s good knowledge to have – I’ve never regretted learning about computing at the bit level. If you need really detailed information about CAN, then you will need another book.

The final part of the book is a CANOpen summary. I expect to be using this section quite a bit as I continue experimenting with CANOpen.

I don’t have real complaints about the book. I do wish, however, for a complimentary book specifically about CANOpen in factory automation. For example, this book does not cover DS402 (drive profile) at all.


February 21, 2008   No Comments

Fieldbus Book Wars

Notes 4/21/2011: I’ve updated the links and status (but not the chart); both CANOpen books are now available.  Sometime I’d like to revisit field bus books, but it’s not a high priority.

One way of judging programming language popularity is to compare book sales. So I decided to do something similar – see how many books in had the names of popular fieldbuses in their title. I excluded non-English books (German Profibus users get more choices) and standards documents.

Fieldbus In Print Out Of Print Total
CANOpen 0 2 2
Profibus 2 1 3
Profinet 1 0 1
Foundation Fieldbus 1 2 3
Devicenet 0 0 0
Ethernet/IP 0 0 0
EtherCAT 0 0 0
Ethernet PowerLink 0 0 0
Modbus 0 0 0
Modbus/TCP 0 0 0
CC-Link 0 0 0

I wouldn’t choose a fieldbus on the basis of books; for example, many of the fieldbuses have good information available on the web. But it’s interesting to look at the book titles and year of publication:

Apparently fieldbus books do sell: several recent books are already out of print (or otherwise unavailable).


February 20, 2008   3 Comments