What is CANica?

CANica (acronym for CAN Bus Constructor Application) is a tool useful to build graphical user interfaces with its corresponding functionality in a very easy way, and simplifying all the tasks of interacting with the CAN Bus, through a CAN hardware for PC.


What is CAN Bus?

The CAN protocol is an ISO standard (ISO 11898) for serial data communication. The protocol was developed aiming at automotive applications. Today CAN has gained widespread use and is used in industrial automation as well as in automotives and mobile machines. CAN Bus is acronym for Controller Area Network.
Find more information at

Who could be interested in CANica?

CANica is useful for different applications, including R+D engineers of the automotive market, quality or process engineers that need to automate the process of verification of CAN-based ECUs, and many others.

Does CANica support CANopen protocol?

CANica does not support CANopen. Under request, this feature could be included.

What makes CANica different from other tools?

Simplicity is the major attribute of CANica. All you have to do is to place graphical components into the working area and program the functionality you need using a C-like scripting language. Accessing the CAN bus is simplified to the maximum, permiting you to do a CAN operation in a very simple sentence.
Also, CANica supports a wide variety of CAN hardware from different vendors. We cover the majority of the CAN boards that are currently available in the market.

What kind of graphical components has CANica?

In CANica we have provided most of the graphical components that are native to Windows, and other advanced components such as gauges to give it a more professional look and feel.
Here you can see a list of object types:

How do I program CANica?

CANica is programmed using a C-like language. We have removed the most difficult parts and we have simplified to the maximum with the objective that you just have to concentrate on what you want to do. CANica does the rest.
This is a list of CANica language features:

  • Internal compiler generates interpreted intermediate code. No additional compiler or tool is needed.
  • Variables have no type, since type is defined as they are used.
  • No main function or other environment setup is required. Just code your endless loop.
  • Program your own functions, or use the internal functions provided by CANica.
  • Access any CAN frame simply.
  • Arithmetic expressions compatible with ANSI C.
  • Debug it and inspect all the objects and variables used.
  • Conditional expressions: for, while, if, switch ...
  • Event programming allowed
  • Syntax highlighting
  • File handling, XML processing, Timers, and other non-graphical components also available

This is an example of a CANica script:

// this script responds to a message 
// with id 0x100 with another message 
// with the same information and id 0x200

on event (can1.can100h) {
  can1.can200h = can1.can100h;
  txcan(can1.can200h, 8);

// do something else


What kind of Hardware do I need to use CANica?

To run CANica you will need a PC running Windows with standard requirements and a CAN hardware interface to access the CAN bus. Windows versions supported are:

  • Windows 2000
  • Windows XP
  • Windows Vista

Thanks to the so-called Fico-CAN-Layer, CANica has the potential to work with any hardware compatible with Windows 2K / XP. Current supported hardware vendors are:

  • Vector Informatik
  • National Instruments CAN interfaces

We recommend KVASER products.


Show me some examples of what CANica can do

See the screenshots page.


How can I get more information about CANica?

To get more information fiill-in this form or contact by phone number: +34 93 561 01 64


2009 FICOSA International