2. What is CANopen?
Wikipedia definition:
“CANopen is a communication protocol and
device
profile specification for embedded systems
used in
automation.
CANOpen is the communication protocol that is
used by the G-MAS and drives. It has been
standardized by CiA – CAN in the Automation
organization.
Every CANOpen device has an object
dictionary a list of supported objects that can
3. Basic Terms
One of the most important properties
of CANopen is the provision of a
standardized device description in the
form of the so-called "object
dictionary".
This is based on a "table" (device
object dictionary), which has the
same structure for all types of
devices.
An OD object has a 24-bit address,
made up of the 16-bit index and 8-bit
subindex
4. Object Dictionary (OD)
Index, the 16-bit address of the object in the dictionary
Object name, a symbolic type of the object in the entry, such as an
array, record, or simple variable
Name, a string describing the entry
Type, gives the datatype of the variable (or the datatype of all
variables of an array)
Attribute, which gives information on the access rights for this
entry, this can be read/write, read-only or write-only
The Mandatory/Optional field (M/O) defines whether a device
conforming to the device specification has to implement this object
or not
6. Object Dictionary (OD)
CAN open defines device profiles for typical devices:
Specification of the most important parameters, data and
functions per device type
CANopen-compatible devices are interchangeable at the basic
functionality level
The object dictionary is sub-divided into standardized areas of 4096
entries each:
1000-1FFF: communication area/communication profile
2000-5FFF: manufacturer-specific device objects
6000-9FFF: device profiles
A000-AFFF: network variables (NWV)
7. Object Dictionary (OD)
The communication area of the object dictionary contains all parameters that
concern the communication behavior. only a few entries themselves are
mandatory; these are the entries [1000sub00], [1001sub00], [1018sub00] and
[1018sub01].
8. Device Profiles
Although the object dictionary concept allows for structuring the
data that needs to be communicated, there is still something
missing: Which entry in the dictionary is used for what?
The solution is simple: First of all, there are a few mandatory entries that
all CANopen nodes must support. These include the identity object with
which a node can identify itself and an error object to report a potential
error state. Additional entries are specified by device profiles. Device
profiles describe all the communication parameters and object dictionary
entries that are supported by a certain type of CANopen modules. Such
profiles are available for generic I/O modules, encoders and other
devices.
9. Electronic Data Sheet (EDS)
The data type and meaning of each OD object must be known
by
the configuration tools ⇒ an electronic data sheet (EDS)
describes
each object dictionary entry
address (index/subindex), param. name, data type, access
type and
default value
An EDS is an ASCII file in WIN.INI format, which is used by
10. Electronic Data Sheet (EDS)
CANopen data types :
bytes, words and double words, signed/unsigned
ASCII and Unicode strings
one-bit boolean data type
32/64 floating point types in accordance with IEEE 754-1985
Time_of_day: millisec since midnigh (28 bits) and the days since 1/1/1984
(16 bits)
byte stream of undefined length (domain
11. Family
CANopen devices are divided into families.
Each family has its own object dictionary and specific
definitions.
The most basic family is the DS301 family.
All other families are derivatives of this family.
DS301 – The basic family of CAN devices. It holds the
basic terms and the basic object dictionary that DS301
devices need to support (like object 0x1000 “device type”).
12. Family
DS301 Family Derivatives:
DS402 Servo Drives – For example Elmo drives, need to support
additional objects, for example: actual position – object 0x6064.
DS401 IOs – These devices have Digital/Analog Inputs/Outputs,
user may write to outputs and read from Inputs. These devices may
support objects like write outputs – object 0x6200.
DS406 encoders - These devices send position via a predefined
method. User may use these positions for application purposes
14. Helpful Links - Basic
http://www.esacademy.com/en/library/technical-articles-and-documents/can-
and-canopen/embedded-net
Introduction to the Controller Area Network (CAN - Texas Instruments)
www.ti.com/lit/an/sloa101a/sloa101a.pdf
Editor's Notes
CANopen devices must have an object dictionary, which is used for configuration and communication with the device. An entry in the object dictionary is defined by:
This is based on a "table" (device object dictionary), which has the same structure for all types of devices. With this it is possible to access all important data, parameters and functions of a device using a kind of logical addressing system (index, subindex) from the "outside", i.e. via the CAN bus. Access to the OD is provided by means of the SDO protocol.
An entry in the object dictionary (OD object) is addressed via a (hexadecimal) index and can have up to 255 sub-entries (subindex). Sub-entries are normally used to combine values of the same type, such as with an array, or to access connected values, such as with a data record. An OD object therefore has a 24-bit address, made up of the 16-bit index and 8-bit subindex
From the network, object dictionary data of any node can be accessed in a point-to-point communication mode by issuing read or write requests to the node's object dictionary. Messages that contain requests or answers to/from the object dictionary are called Service Data Objects (SDO). As both process and configuration data are part of the object dictionary, this communication scheme immediately allows for configuring nodes and/or getting access to the process data.
In addition to the standardized description of the communication properties of devices under DS 301,
CANopen defines so-called "device profiles" for typical devices of automation technology. These specify the most important parameters, data and functions per device type (e.g. input/output modules, drives, encoders, etc). In this way the use of CANopen devices becomes more independent of device manufacturers, as all CANopen-compatible devices are interchangeable, at least in terms of the standardized basic functionality
Electronic Data Sheets (EDS) offer a standardized way on specifying supported object dictionary entries.
Chức năng và đặc tính của các thiết bị CANopen được mô tả chủ yếu bởi các đối tượng và được quản lý trong một thư mục đối tượng. Các thư mục đối tượng được biểu diễn dưới dạng điện tử của cái gọi là tập tin EDS (Electronic Data Sheet). file EDS là một thành phần cố định của tiêu chuẩn hoá trong lĩnh vực CANopen (CIA DS306 và DS311 CIA) và đóng một vai trò quan trọng trong việc cấu hình mạng CANopen. Các định dạng file được chỉ định bởi đảm bảo rằng CIA mô tả thiết bị tạo ra bởi các công cụ của các nhà sản xuất phần mềm khác nhau (ví dụ ProCANopen) có thể được đọc và xử lý. Tất cả những người tham gia vào sự phát triển của các hệ thống CANopen được hưởng lợi từ các tập tin EDS đầy đủ và chính xác cho các thiết bị CANopen có sẵn trên thị trường.
The range between 1000 and 1FFF is called communication area/communication profile, and is specified in detail in DS-301