ICP DAS CAN-2019C CANopen Slave Device User Manual

May 15, 2024
ICP DAS

ICP DAS CAN-2019C CANopen Slave Device

ICP-DAS-CAN-2019C-CANopen-Slave-Device-PRODUCT

Warranty

All products manufactured by ICP DAS are under warranty regarding defective materials for one year from the date of delivery to the original purchaser.

Warning
ICP DAS assumes no liability for damages resulting from the use of this product. ICP DAS reserves the right to change this manual at any time without notice. The information furnished by ICP DAS is believed to be accurate and reliable. However, no responsibility is assumed by ICP DAS for its use, or any infringements of patents or other rights of third parties resulting from its use.

Copyright
Copyright @2014 is reserved by ICP DAS.
Trademark
The names used for identification only may be registered trademarks of their respective companies.

Introduction

Overview
CANopen is one kind of network protocol based on CAN bus and mainly used for embedded systems, such as industrial machine control, vehicle control systems, factory automation, medical pieces of equipment control, remote data acquisition, environment monitoring and package machine control. The CAN-2019C is a CAN-open slave that follows the CiA 301 version 4.02 and CiA 401 version 2.1. This module provides 6 analog input channels, 2 analog output channels, 2 digital input channels and 1 digital output channel. Users can obtain those data or configure the CAN-2019C via the standard CAN-open protocol. To be fully compatible with other CANopen devices, the CAN-2019C has passed the validation of the CiA CANopen Conformance Test tool. Therefore, it is very easy to integrate the CAN-2019C with the standard CANopen master by applying the EDS file. Combined with the CANopen masters of ICP DAS, you can quickly build a CANopen network to approach your requirements.

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-1

Features

  • Standard CAN open general I/O slave devices.
  • Provide 10 differential thermocouple input channels
  • Support NMT, PDO, SDO, EMCY, SYNC, Guarding, and Heartbeat protocol.
  • Pass the validation of the CANopen Conformance Test
  • Provide EDS file for the CANopen master interfaces

Hardware Specifications

CANopen Interface

Connector| 5-pin screwed terminal block (CAN_GND, CAN_L, CAN_SHLD, CAN_H, CAN_V+)
Baud Rate (bps)| 10 k, 20 k, 50 k, 125 k, 250 k, 500 k, 800 k, 1 M, selected by rotary switch


Terminator Resistor

| ****

DIP switch for the 120 Ω terminator resistor

Protocol| CANopen CiA 301 ver4.02, CiA 401 ver2.1
Node ID| 1~99 selected by rotary switch
NMT| Slave
Error Control| Node Guarding Protocol / Heartbeat Producer


SDOs

| ****

1 server, 0 client


PDOs

| ****

10 RxPDO, 10 TxPDO (Supports dynamic PDO)


PDO Modes

| ****

Event-triggered, remotely-requested, synchronous (cyclic), synchronous (acyclic)


Emergency Message

| ****

Yes


EDS file

| ****

Yes

Analog Input


Channels

| ****

10 (Differential)


Input Type

| Voltage : ±15 mV, ±50 mV, ±100 mV, ±500 mV, ±1 V, ±2.5 V, ±5 V, ±10 V

Current: ±20 mA (External resistor is required) Thermocouple: J, K, T, E, R, S, B, N, C

Sampling Rate| 10 Hz (Total)
Zero Drift| +/-20 μV/°C
Span Drift| +/-25 ppm/ °C


Common Mode Rejection

| ****

86 dB Min.


Normal Mode Rejection

| ****

100 dB


Resolution

| ****

16-bit

Input Impedance >400 kΩ
Individual channel configuration Yes

Open Thermocouple Detection

| ****

Yes


Over-voltage protection

| ****

240 Vrms


ESD Protection

| ****

+/-4kV, Contact for each terminal.


Intra-module Isolation, Field to Logic

| ****

3000 VDC

Hardware
ESD Protection| ****

Contact 4 kV class A

LED
CANopen Status| 3 LEDs to PWR, RUN and ERR
Power
Power Supply| Unregulated +10 ~ +30 VDC
Power Consumption| 1.5 W
Mechanism


Installation

| ****

DIN-Rail


Dimensions

| ****

33 mm x 99 mm x 78 mm ( W x L x H )

Environment


Operating Temp.

| -25 ~ 75 ℃


Storage Temp.

| -30 ~ 80 ℃
Humidity| 10 ~ 90% RH, non-condensing

Application

  • Measuring Temperature
  • Medical technology
  • Utility vehicles

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-2

Hardware

Structure

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-3

Node ID & Baud Rate Rotary Switch
The rotary switches for node ID configure the node ID of the CAN-2019C module.
These two switches are for the tens digit and the units digit of the node ID. The node ID value of this demo picture is 32.

The rotary switch for the baud rate handles the CAN baud rate of the CAN-2019C module. The relationship between the rotary switch value and the practical baud rate is presented in the following table.

Rotary Switch Value Baud rate (k BPS)
0 10
1 20
2 50
3 125
4 250
5 500
6 800
7 1000

Baud rate and rotary switch

LED Description

Power LED
The CAN-2019C needs a 10V~30V DC
power supply. Under a normal connection, a good power supply and a correct voltage selection, as the unit is turned on, the LED will light up in red.
Run LED
The Run LED indicates the CANopen operation state. The description of the LED state is shown below. For the details, please refer to the section 2.3.1 of the CAN-2000C user manual.

LED Signal State Description
No Light Non-power Power Supply is not ready
Single Flash Stopped The device is in the Stopped state
Blinking Pre-operation The device is in the pre-operation state
Continuing Light Operation The device is in the operational state

Error LED
The Error LED indicates the CANopen error state. The description of the LED state is shown below. For the details, please refer to the section 2.3.2 of the CAN-2000C user manual.

LED Signal State Description
No Light Non-error The device is in working condition
Single Flash Error Warning At least one error of the CAN controller has

occurred
Blinking| Guarding fail| Guard event happened
Continuing Light| Bus Off| The CAN controller is bus off

Terminal Resistor LED
When the switch of the 120Ω terminal resistor is turned on, the terminal resistor LED will be lightening.

PIN Assignment

  • CAN-2019C + DB-1820(transformation connector)

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-6

Wire Connection

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-7

Object Dictionary
General Communication Entries

Idx Sidx Description Type Attr Default
1000h 0h device type UNSIGNED 32 RO
1001h 0h error register UNSIGNED 8 RO
1003h 0h largest sub-index supported for

“predefine error field”

| UNSIGNED 8| RO| 0h
| 1h| actual error (the newest one)| UNSIGNED 32| RO| —
| …| …| …| …| —
| 5h| actual error (the oldest one)| UNSIGNED 32| RO| —
1005h| 0h| COB-ID of Sync message| UNSIGNED 32| RW| 80h
1008h| 0h| manufacturer device name| VISIBLE_STRING| RO|
1009h| 0h| manufacturer hardware version| VISIBLE_STRING| RO| —
100Ah| 0h| manufacturer software version| VISIBLE_STRING| RO| —
100Ch| 0h| guard time| UNSIGNED 16| RW| 0
100Dh| 0h| lifetime factor| UNSIGNED 8| RW| 0
1010h| 0h| the largest subindex supported| UNSIGNED 8| RO| 1
1010h| 1h| save all parameters| UNSIGNED 32| RW| 0
1011h| 0h| the largest subindex supported| UNSIGNED 8| RO| 1
1011h| 1h| restore all default parameters| UNSIGNED 32| RW| 0
1014h| 0h| COB-ID of EMCY| UNSIGNED 32| RW| 80h+Node-ID
1015h| 0h| Inhibit the time of EMCY| UNSIGNED 16| RW| 0
1017h| 0h| Heartbeat time| UNSIGNED 16| RW| 0
1018h| 0h| largest sub-index supported for

“identity object”

| UNSIGNED 8| RO| 4
| 1h| vendor ID| UNSIGNED 32| RO| 0x0000013C
| 2h| Product Code| UNSIGNED 32| RO| 0x00002019
| 3h| Revision_number| UNSIGNED 32| RO| 0x00030001
| 4h| Serial_number| UNSIGNED 32| RO| 0x6cd3683c

SDO Communication Entries

Idx Sidx Description Type Attr Default
1200h 0h largest sub-index supported

for “server SDO parameter”

| UNSIGNED 8| RO| 2
| 1h| COB-ID form client to server

(RxSDO)

| UNSIGNED 32| RO| 600h+Node-ID
| 2h| COB-ID form server to client

(TxSDO)

| UNSIGNED 32| RO| 580h+Node-ID

RxPDO Communication Entries

Idx Sidx Description Type Attr Default
1400h 0h Number of Entries UNSIGNED 8 RO 2
1h COB-ID used by RxPDO UNSIGNED 32 RW 200h+Node-ID
2h Transmission type UNSIGNED 8 RW FFh
1401h 0h Number of Entries UNSIGNED 8 RO 2
1h COB-ID used by RxPDO UNSIGNED 32 RW 300h+Node-ID
2h Transmission type UNSIGNED 8 RW FFh
1402h 0h Number of entries” UNSIGNED 8 RO 2
1h COB-ID used by RxPDO UNSIGNED 32 RW 400h+Node-ID
2h Transmission type UNSIGNED 8 RW FFh
1403h 0h Number of Entries UNSIGNED 8 RO 2
1h COB-ID used by RxPDO UNSIGNED 32 RW 500h+Node-ID
2h Transmission type UNSIGNED 8 RW FFh
1404h 0h Number of Entries UNSIGNED 8 RO 2
1h COB-ID used by RxPDO UNSIGNED 32 RW C0000000h
2h Transmission type UNSIGNED 8 RW
1409h 0h Number of Entries UNSIGNED 8 RO 2
1h COB-ID used by RxPDO UNSIGNED 32 RW C0000000h
2h Transmission type UNSIGNED 8 RW

RxPDO Mapping Communication Entries

Idx Sidx Description Type Attr Default
1600h 0h Number of Entries UNSIGNED 8 RW 0
1601h 0h Number of Entries UNSIGNED 8 RW 0
1602h 0h Number of Entries UNSIGNED 8 RW 0
1609h 0h Number of Entries UNSIGNED 8 RW 0

TxPDO Communication Entries

Idx Sidx Description Type Attr Default
1800h 0h Number of Entries UNSIGNED 8 RO 5
1h COB-ID used by TxPDO UNSIGNED 32 RW 180h+Node-ID
2h Transmission type UNSIGNED 8 RW FFh
3h Inhibit time UNSIGNED 16 RW 0
4h Reversed
5h Event timer UNSIGNED 16 RW 0
1801h 0h Number of Entries UNSIGNED 8 RO 5
1h COB-ID used by TxPDO UNSIGNED 32 RW 280h+Node-ID
2h Transmission type UNSIGNED 8 RW FFh
3h Inhibit time UNSIGNED 16 RW 0
4h Reversed
5h Event timer UNSIGNED 16 RW 0
1802h 0h Number of Entries UNSIGNED 8 RO 5
1h COB-ID used by TxPDO UNSIGNED 32 RW 380h+Node-ID
2h Transmission type UNSIGNED 8 RW FFh
3h Inhibit time UNSIGNED 16 RW 0
4h Reversed
5h Event timer UNSIGNED 16 RW 0
1803h 0h Number of Entries UNSIGNED 8 RO 5
1h COB-ID used by TxPDO UNSIGNED 32 RW 480h+Node-ID
2h Transmission type UNSIGNED 8 RW FFh
3h Inhibit time UNSIGNED 16 RW 0
4h Reversed
5h Event timer UNSIGNED 16 RW 0
1804h 0h Number of Entries UNSIGNED 8 RO 5
1h COB-ID used by TxPDO UNSIGNED 32 RW 80000000h
2h Transmission type UNSIGNED 8 RW FFh
3h Inhibit time UNSIGNED 16 RW 0
4h Reversed
5h Event timer UNSIGNED 16 RW 0
1809h 0h Number of Entries UNSIGNED 8 RO 5
1h COB-ID used by TxPDO UNSIGNED 32 RW 80000000h
2h Transmission type UNSIGNED 8 RW FFh
3h Inhibit time UNSIGNED 16 RW 0
4h Reversed
5h Event timer UNSIGNED 16 RW 0

TxPDO Mapping Communication Entries

Idx Sidx Description Type Attr Default
1A00h 0h Number of Entries UNSIGNED 8 RO 0
1A01h 0h Number of Entries UNSIGNED 8 RO 4
1h Read Analog input 1h UNSIGNED 16 RW 6401 0110h
2h Read Analog input 2h UNSIGNED 16 RW 6401 0210h
3h Read Analog input 3h UNSIGNED 16 RW 6401 0310h
4h Read Analog input 4h UNSIGNED 16 RW 6401 0410h
1A02h 0h Number of Entries UNSIGNED 8 RO 4
1h Read Analog input 5h UNSIGNED 16 RW 6401 0510h
2h Read Analog input 6h UNSIGNED 16 RW 6401 0610h
3h Read Analog input 7h UNSIGNED 16 RW 6401 0710h
4h Read Analog input 8h UNSIGNED 16 RW 6401 0810h
1A03h 0h Number of Entries UNSIGNED 8 RO 2
1h Read Analog input 9h UNSIGNED 16 RW 6401 0910h
2h Read Analog input Ah UNSIGNED 16 RW 6401 0A10h
1A04h 0h Number of Entries UNSIGNED 8 RO 0
1A05h 0h Number of Entries UNSIGNED 8 RO 0
..
1A09h 0h Number of Entries UNSIGNED 8 RO 0

Analog Input Range Entry

Idx Sidx Description Type Attr Default
2004h 0h Number of Entries UNSIGNED 8 RO 10
1h Input range of AI channel 0 UNSIGNED 8 RW 0x0E
6h Input range of AI channel 5 UNSIGNED 8 RW 0x0E
7h Input range of AI channel 6 UNSIGNED 8 RW 0x0E
Ah Input range of AI channel 9 UNSIGNED 8 RW 0x0E

Cold Junction Compensation (CJC) Function

Idx Sidx Description Type Attr Default
2021h 0h Number of Entries UNSIGNED 8 RO 3
1h CJC Enable/Disable Boolean RW 0
2h CJC Value INTEGER 16 RO
3h User-defined CJC Offset Value INTEGER 16 RW 0
Object Sidx Range Parameter Description Default
--- --- --- --- ---
2021h 1h False: Disable CJC True: Enable CJC Enable    or    disable the

CJC function

(0: false, other value: true)

| 1
| 2h| Appendix| CJC temperature value (Valid when CJC Enabled)| Measured by CJC element
| 3h| Appendix| User-defined CJC temperature value| 0

Note: Users can apply the CJC temperature value from the CJC element or the constant value configured by the users. If the CJC function is on, the CJC temperature value from the CJC element will be obtained in the object with the index 2021h and the subindex 2h. In this case, the value from the object with index 2021h and subindex 3h is useless. If the CJC function is off, the users can define a CJC constant value in the object with the index 2021h and subindex 3h. No matter whether the practical applied CJC temperature value is from the subindex 2h or 3h, the CJC value will be added to the practical AI values when the users read these AI data. About the CJC value scaling, please refer to the following table.

Input Range Data Format Max Value Min Value
-30 to +100 (℃) Engineer Unit +100 -30
2’s Complement HEX 03E8h FED4h

CJC (cold junction compensation) Scaling

Analog Input DeviceEntries

Idx Sidx Description Type Attr Default
6401h 0h Number of Entries UNSIGNED 8 RO 10
1h Read Analog Input channel 0 UNSIGNED 16 RO
Ah Read Analog Input channel 9 UNSIGNED 16 RO

Analog Input Interrupt Upper Limit Integer

Idx Sidx Description Type Attr Default
6424h 0h Number of Entries UNSIGNED 8 RO 10
1h AI upper limit of channel 0 UNSIGNED 32 RW
Ah AI upper limit of channel 9 UNSIGNED 32 RW

Note: Please refer to “Appendix” for AI upper limit range
Analog Input Interrupt Lower Limit Integer

Idx Sidx Description Type Attr Default
6425h 0h Number of Entries UNSIGNED 8 RO 10
1h AI lower limit of channel 0 UNSIGNED 32 RW
Ah AI lower limit of channel 9 UNSIGNED 32 RW

Note: Please refer to “Appendix” for AI lower limit range
Analog Input Interrupt Delta Unsigned

Idx Sidx Description Type Attr Default
6426h 0h Number of Entries UNSIGNED 8 RO 10
1h The AI delta value of channel 0 UNSIGNED 32 RW
Ah The AI delta value of channel 9 UNSIGNED 32 RW

Note: These values are used to define the acceptable AI change ranges for each AI channel and may have different ranges for the physical value because of the settings of the type code. Please refer to the appendix or the type code definition.

Store and Restore the Object

The user can write the value 65766173h to the object with index 1010h and subindex 1 to save the application setting, or write the value 64616F6Ch to the object with index 1011h and subindex 1 and reboot the module to load the factory default. The following table lists the relative objects that will be stored or restored after writing these two objects. The factory default for these objects is also shown below:

Index Subindex Description Factory Default
2004h 1~A Analog Input type code for channel 0 ~ 9 08h
2100h 1 Set Module to Operation Mode when powering on 0
6421h 1~A AI interrupt trigger selections for channels 0~9 07h
6423h 1 AI global interrupt enable 0
6424h 1~A AI interrupt upper limit for channel 0~9
6425h 1~A AI interrupt lower limit for channel 0~9
6426h 1~A AI interrupt delta values for channel 0~9
1400h 1~2 RxPDO1 parameter
1409h 1~2 RxPDO10 parameter
1600h 0~8 RxPDO1 mapping information
1609h 0~8 RxPDO10 mapping information
1800h 1~5 TxPDO1 parameter
1809h 1~5 TxPDO10 parameter
1A00h 0~8 TxPDO1 mapping information
1A09h 0~8 TxPDO10 mapping information

Application Object
Type code of CAN-2019C module (0x2004)

The user can read the object with index 6401h and subindex 1~10 to get the AI value of channel 0~9, and the range for each AI type code is listed in the Appendix. If the user wants to change the AI input type, write the type code to the object with index 2004h and subindex 1~10. For example, if the node ID of CAN-2019C is 1, the following command would be used:

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-8

Analogue Input module (0x6401)
Writing an object with index 2004h and subindex 1 with Ah means changing the type code of the AI channel 0 with 9h.

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-9

  • Reading object with index 6401h and subindex 1 means to get the value of the AI channel
  • According to the type code 9h set before, the replied value of the AI channel 0 is 3FFFh.

Set Module to Operation Mode when powering on (0x2100)

  • This object 0x2100 with subindex 1 defines if the module will enter operation mode automatically when powering on.
  • For example, if the node id of CAN-2019C is 1, the commands are as below:

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-10

Write object index 0x2100 with subindex 1 to 0x01 then store the setting as below. The module will enter operation mode when powered on.

ICP-DAS-CAN-2019C-CANopen-Slave-Device-FIG-11

Default PDO Mapping
RxPDO mapping list:

ID Len D0 D1 D2 D3 D4 D5 D6 D7
200h+x 0 Reserved
300h+x 0 Reserved
400h+x 0 Reserved
500h+x 0 Reserved

TxPDO mapping list:

ID Led D0 D1 D2 D3 D4 D5 D6 D7
180h+x 0 Reserved
280h+x 8 AI ch0 AI ch1 AI ch2 AI ch3
380h+x 8 AI ch4 AI ch5 AI ch6 AI ch7
480h+x 4 AI ch8 AI ch9

EMCY Communication

The data format of the emergency object data follows the structure below.

Byte 0 1 2 3 4 5 6 7
Content Emergency Error code Error register Manufacturer-specific Error

Field

Each bit on the error register is defined as follows.

Bit Meaning
0 Generic error
1 Current
2 Voltage
3 Temperature
4 Communication error (Overrun, error state)
5 Device profile specific
6 Reserved (Always 0)
7 Manufacturer specific

The Emergency error codes and the error register are specified in the following table.

Emergency Error Code| Error Register| Manufacture Specific Error Field| Description
---|---|---|---
High Byte| Low Byte| First Byte| Last Four Bytes
00| 00| 00| 00| 00 00 00 00| Error Reset or No Error
10| 00| 81| 01| 00 00 00 00| CAN controller Error Occur
50| 00| 81| 02| 00 00 00 00| EEPROM Access Error
81| 01| 11| 04| 00 00 00 00| Soft Rx Buffer Overrun
81| 01| 11| 05| 00 00 00 00| Soft Tx Buffer Overrun
81| 01| 11| 06| 00 00 00 00| CAN controller Overrun
81| 30| 11| 07| 00 00 00 00| Lift Guarding Fail
81| 40| 11| 08| 00 00 00 00| Recover From Bus Off
82| 10| 11| 09| 00 00 00 00| PDO Data Length Error
FF| 00| 80| 0A| 00 00 00 00| Request To Reset Node or Communication
FF| 00| 2E| 0B| 00 00

Upper limit alarm

| 00 00

Lower limit alarm

| Upper/Lower limit alarm for Each channel

Appendix: Type Code Definition
Analog Input Type code Definition for CAN-2019C

Type Code Input Type Data Format Max Value Min Value
00h -15 to +15mV Engineer Unit +15 -15
2’s complement HEX 7FFFh 8000h
01h -50 to +50mV Engineer Unit +50 -50
2’s complement HEX 7FFFh 8000h
02h -100 to +100mV Engineer Unit +100 -100
2’s complement HEX 7FFFh 8000h
03h -500 to +500mV Engineer Unit +500 -500
2’s complement HEX 7FFFh 8000h
04h -1 to +1V Engineer Unit +1 -1
2’s complement HEX 7FFFh 8000h
05h -2.5 to +2.5V Engineer Unit +2.5 -2.5
2’s complement HEX 7FFFh 8000h
06h -20 to +20mA (with 125Ω resistor) Engineer Unit +20 -20
2’s complement HEX 7FFFh 8000h
08h -10 to +10V Engineer Unit +10 -10
2’s complement HEX 7FFFh 8000h
09h -5 to +5V Engineer Unit +5 -5
2’s complement HEX 7FFFh 8000h
0Eh (Default) J Type (℃) Engineer Unit +1200 -210
2’s complement HEX 7FFFh E99Ah
0Fh K Type (℃) Engineer Unit +1372 -270
2’s complement HEX 7FFFh E6D0h
10h T Type (℃) Engineer Unit +400 -270
2’s complement HEX 7FFFh A99Ah
11h E Type (℃) Engineer Unit +1000 -270
2’s complement HEX 7FFFh DD71h
12h R Type (℃) Engineer Unit +1765 -50
2’s complement HEX 7FFFh FC60h
13h S Type (℃) Engineer Unit +1765 -50
2’s complement HEX 7FFFh FC60h
14h B Type (℃) Engineer Unit +1820 0
2’s complement HEX 7FFFh 0000h
15h N Type (℃) Engineer Unit +1300 -270
2’s complement HEX 7FFFh E56Bh
16h C Type (℃) Engineer Unit +2320 0
--- --- --- --- ---
2’s complement HEX 7FFFh 0000h

CJC (cold junction compensation) Definition for CAN-2019C

Input Range Data Format Max Value Min Value
-30 to +100 (℃) Engineer Unit +100 -30
2’s Complement HEX 03E8h FED4h

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals