How to setup communication on a Vehicle-CAN


I have to setup the communication to a Akasol battery system, who are using Vehicle-CAN.
This is new protocol to me and I have not the possibilities to test before the startup of the system, and the startup period is short.

Have someone done this communication setup that could help me on how to approach this task?
The project manager have ordered a X20IF1041-1 to communicate with the control unit to the battery.
I have information on a excel sheet with the CAN Protocol adresses for the VehicleCAN, and a .dbc-file from the supplier.

Can someone help?

Hi Hogne, welcome into our community!

I guess from the module X20IF1041-1 you ordered (which is CANopen master) this Akasol battery system is just a CANopen slave. So in that case as you have said, supplier already gave you a file. You can add this file to Automation Studio as 3rd party device and add it to your Hardware View.

This procedure is explained in chapters Settings in Automation Studio and Adding the EDS file in Automation Studio: CANopen interface

You can also find this information in the datasheet of the module.
X20IF1041-1 | B&R Industrial Automation (

1 Like


and welcome to our community!
I’m not familiar with this protocol, but I wonder about the X20IF1041-1 → this is a CANopen protocol interface → so the battery system also has to use CANopen protocol, does it?

Normally, CANopen device parameter data is transported by a EDS file, I don’t know DBC but it does not sounds like it’s a CANopen specified file?


Thanks for the quick reply.
It is not certain we have ordered the correct module, it was ordered before I was involved in the project.
We have also a X20IF1072 available if that is more correct to this communication.

Below is how the supplier describe his CAN interface, and I can’t find any good information about the Vehicle CAN.
And we have got the MSM box from the supplier on our system.
So my hope was that someone in this community had been onto this challenge before.

The -dbc.-file looks like an address information file on our system. (It may be the file to implement into the MSM-unit.)

Automation Studio doesn’t support DBC files unfortunately. To use CANopen, you’ll need an EDS file. Automation Studio also supports some other file formats (which can be imported using Tools → Manage 3rd-Party Devices), but EDS is the most common one, and one I know works with CANopen.

Additionally, I believe that DBC files are used with CAN, not CANopen. CANopen is a communication protocol which uses the CAN network but adds additional layers on top of it. If you want to use plain CAN communication, you’ll need a CAN interface instead of a CANopen one. Some controllers have this built in, but it’s also available as an X20 IF module (X20IF1072/X20IF2772) or an I/O slice (X20CS1070/X20CS2770).

If you want to use a DBC file, you could write a program to extract the information from it and then read the registers it provides using the ArCan library. This is something I’ve looked into in the past. It would take some development work but it’s doable.

I also see J1939 mentioned in your screenshot. Does this device communicate using J1939? If so, you can use mapp J1939 with the CAN interface.

1 Like

Hi Marcus

Thank you, your answer got me on the correct track in my task.
I have got confirmation from supplier that both CAN buses in this system uses the same protocol: SAE J1939 CAN2.0b.
Then the job starts to include this system into our program.

1 Like

You’re welcome, glad I could help! Good luck and let us know if any other questions come up as you work on your project.