4. Messages
4.3. Displaying the Value Applied with the Variable Map
4.3.3. Displaying the Value of a Coil Variable with the Replacement Text
The contents of a coil variable can be either 0 or 1, which is usually used to indicate the status of the Digital Output, i.e., ON or OFF.
Click the address number of the coil variable which you would like to configure. The configuration area has been registered according to the selected address number.
iKAN series devices provide a string mapping function that allows the value of the coil variable to be mapped in order to make the coil value more meaningful when reading the message. The text mapping function allows a maximum of 10 Unicode characters or 30 ASCII characters to be entered to represent a value of 0 or 1.
For example, the following explains how to configure the text mapping for the Coil variable at address 1. This example is a continuation of the example in section 4.2.4.
1. Click the address 1 option, and then click the Adv. Config button
2. Enter the following mapping text, and then click the Update button
i. In the ON Text column, enter the mapping text in the text field for when the status of the coil-type variable is set to ON status.
ii. In the OFF Text column, enter the mapping text in the text field for when the status of the coil-type variable is set to OFF status.
The value for coil variable 1 is now replaced by the mapping text on the display.
Coil variable 0 = 1
Coil variable 0 = Operating
5. CANopen Communication
5.1. Feature
Software
CANopen version: DS-301 v4.01.
Support NMT slave.
Support Node Guarding for Error Control.
Support Node ID and Baud Rate configuration for LSS.
Default Node ID: 1, Baud Rate: 500Kbps
Support Emergency Message.
Support various CAN baud rates setting by LSS.
Pin Assignment
5.2. Object Dictionary
5.2.1. Communication Profile Area
General Communication Entries
The following information lists each entry into the communication profile area defined in iKAN-XXX-CPS. In order to look up the entries conveniently, we divide them into two tables.
They are “General Communication Entries” and “SDO Communication Entries”. In the table header you can see “Idx”, “Sidx” and “Attr” which represent “index”, “sub-index”, and
“attribute” respectively. The sign “--” in the default field means that the default is not defined or may be defined conditionally by the firmware built in iKAN-XXX-CPS. In the table, the number accompanying letter “h” indicates that this value is in the hex format.
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”
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
1018h 0h largest sub-index supported for
“identity object”
UNSIGNED 8 RO 4
1h vender ID UNSIGNED 32 RO 0x0000013C
2h Produce Code UNSIGNED 32 0x00007232
3h Revision_number UNSIGNED 32 0x00030001
4h Serial_number UNSIGNED 32 --
Note:
1. The object with index 0x1000 has the following data format:
Additional information General Information bit 31~ bit 24 bit 23 ~ bit16 bit 15 ~ bit 0 Specific functionality I/O functionality Device profile number
For iKAN-XXX-CPS, the specific functionality is always 0. The I/O functionality defines what kind of device the iKAN -7232D is. The Bit 20 – 23 is always 0, and the Bit 16, 17, 18, and 19 present the DI, DO, AI, and AO respectively. The iKAN-XXX-CPS supports DO, AO, and AI for reading, thus the value of the I/O functionality is 0x0E. The general information is 0x191 (0x191=401), it means that the iKAN-XXX-CPS follows the CANopen spec DS401.
2. About the object with index 0x1001 and 0x1003, please refer to section 4.8.2.
3. The object with index 0x1005 stores the SYNC COB-ID. In the iKAN-XXX-CPS, this is used to receive the SYNC COB-ID. The following table shows the data format of the SYNC.
Bit Number Value Meaning
31(MSB) x do not care
30 0 Device does not generate SYNC message 1 Device generates SYNC message
29 0 11-bit ID (CAN 2.0A)
1 29-bit ID (CAN 2.0B)
28 – 11 0 If bit 29 is 0
x If bit 29 is 1: 28 – 11 bits of 29-bit COB-ID 10 – 0(LSB) x 10 – 0 bits of COB-ID
The iKAN-XXX-CPS doesn’t support the SYNC generation, therefore 29-bit ID, bit 30 and bit 31 are always 0.
4. The object with index 0x1008, 0x1009 and 0x100A record the iKAN-XXX-CPS product information. Note that the data length of the product information is more than 8 bytes, so the users need use segment method to read. When interpreting these objects, the ASCII table may be needed.
5. The range of the 0x100C is 0~32767 in iKAN-XXX-CPS.
6. For more information of the object with index 0x100C and 0x100D, please refer to section 4.8.2.
7. For more information of the object with index 0x1014, please refer to section 4.8.1.
8. The object with index 0x1015 store the inhibit time period between two EMCY message. It is useful for avoiding the large loading on the CAN bus because of transmitting a lot of EMCY messages. This parameter range is 0~32767 for the iKAN-XXX-CPS, and the unit of EMCY inhibit
time is ms.
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
5.2.2. Standardize Device Profile Area
Digital Input Device Entries
Idx Sidx Description Type Attr Default
Digital Output Device Entries
Idx Sidx Description Type Attr Default
Coil-type Variables
#0
UNSIGNED 8 RW 0
… … UNSIGNED 8 RW 0
40 (0x28)
Coil-type Variables
#40
UNSIGNED 8 RW 0
41 (0x29)
Enable or disable the display of message #0
UNSIGNED 8 RW 0
… … UNSIGNED 8 RW 0
168 (0xA8)
Enable or disable the display of message #128
UNSIGNED 8 RW 0
Analog Input Device Entries
Idx Sidx Description Type Attr Default
2 IP Address #2 UNSIGNED 8 RO 168
Analog Output Device Entries
Idx Sidx Description Type Attr Default
6411h 0 Number of Integer-type
Variables
UNSIGNED 8 RO 64 (0x40) 1
(0x01)
Integer-type Variables
#1
UNSIGNED 16 RW 0 2
(0x02)
Integer-type Variables
#2
UNSIGNED 16 RW 0
.. … UNSIGNED 16 RW 0
64 (0x40)
Integer-type Variables
#64
Float-type Variables
#64
UNSIGNED 32 RW 0 6413h 0 Number of Message Color
Setting in First Row
UNSIGNED 8 RO 128 (0x80)
1 Message #1
Color Setting in first Row
UNSIGNED 16 RW 0
2 Message #2
Color Setting in first Row
UNSIGNED 16 RW 0
.. … UNSIGNED 16 RW 0
128 (0x80)
Message #128 Color Setting in first Row
UNSIGNED 16 RW 0 6414h 0 Number of Message Color
Setting in Second Row
UNSIGNED 8 RO 128 (0x80)
1 Message #1 Color Setting in Second
Row
UNSIGNED 16 RW 0
2 Message #2
Color Setting in Second Row Color Setting in Second
Row 5 Connect to DL-300 series
module
the DL-300 series device
UNSIGNED 16 RW 0 11 The Modbus TCP ID for the UNSIGNED 16 RW 0
DL-300 series device 12 The response timeout
value for Modbus TCP communication
UNSIGNED 16 RW 0
13 The Delay between polls value for Modbus TCP
communication
Target High
.. … UNSIGNED 16 RW 0
Integer #64Color setting UNSIGNED 16 RW 0 6420h 0 Nunber of Color for Float
Index Subindex Value(decimal) 0x6200 1~171(0xAB) 0 or 1
0x6411 1~64(0x40) 0~65535
0x6412 1~64(0x40) 3.4E-38 ~ 3.4E+38
0x6413 1~128(0x80) 0(red),1(green),2(yellow),3(blue),4(purple),5(sky blue),6(white),7(random)
0x6414 1~128(0x80) 0(red),1(green),2(yellow),3(blue),4(purple),5(sky blue),6(white),7(random)
0x6415 1~128(0x80) 0(common) or 1(instant) 0x6416 1 0(darkest)~4(brightest)
2 0(fastest)~9(slowest)
3 1~254
4 0~65535
5 0(disable) or 1(Enable)
6 0~255 0x6417 1~64(0x40) 0~65535 0x6418 1~64(0x40) 0~65535 0x6419 1~64(0x40) 0~65535 0x641A 1~64(0x40) 0~65535 0x641B 1~64(0x40) 0~2 0x641C 1~64(0x40) 0~2 0x641D 1~128(0x80) 0~3
0x641E 1~40(0x28) 0(red),1(green),2(yellow),3(blue),4(purple),5(sky blue),6(white),7(random)
0x641F 1~64(0x40) 0(red),1(green),2(yellow),3(blue),4(purple),5(sky blue),6(white),7(random)
0x6420 1~64(0x40) 0(red),1(green),2(yellow),3(blue),4(purple),5(sky blue),6(white),7(random)
0x6421 1~8 Maximum 64 char
5.3. Application
5.3.1. Digital Output
The iKAN series provide the function for digital output access. The iKAN-XXX-CPS module uses object index 0x6200 and its sub-index to access the digital output. The total of digital output is 171 bytes. They consist of four parts, including Coil type variable, Enable/Disable Display of Message, digital output, Software reset.
Function Size Value Range Sub-Index
Coil type variable 40 bytes 0 or 1 0x01 – 0x28
Enable/Disable Display of Message 128 bytes 0 or 1 0x29 – 0xA8
Digital Output 2 bytes 0 or 1 0xA9 , 0xAA
Software Reset 1 byte 0 or 1 0xAB
The object index 0x6200 and sub-index 0x01 ~ 0x28 is for accessing coil value. If the users would like to write coil, the SDO command is the table as below.
For example: set Coil #1 1
SDO client SDO server
(iKAN)
SDO server (iKAN) SDO client
5.3.2. System Variable
The iKAN series provide the function for reading IP address. The iKAN-XXX-CPS module uses object index 0x6401 and its sub-index to access the system variables.
Function Size Value Range Sub-Index
Local IP address of iKAN series 4 words 0 – 255 0x01 – 0x04 The object index 0x6401 and sub-index 0x01 – 0x04 is for reading IP address. If the users would like to read IP address of iKAN series, the SDO command is the table as below.
For example: read IP address #1, get 192(0xC0)
After reading sub-index 0x01 – 0x04, the users will get the fully IP address of iKAN series.
SDO client SDO server
(iKAN)
SDO client SDO server
(iKAN)
5.3.3. Integer‐type variables
The iKAN series provide the function for integer-type variables access. The iKAN-XXX-CPS module uses object index 0x6411 and its sub-index to access the type variables. The total of integer-type variables is 64 words.
Function Size Value Range Sub-Index
Integer-type variable #1 1 word 0 – 0xFFFF 0x1
Integer-type variable #2 1 word 0 – 0xFFFF 0x2
… 1 word 0 – 0xFFFF …
Integer-type variable #64 1 word 0 – 0xFFFF 0x40
The object index 0x6411 and sub-index 0x01 is for accessing integer-type variable. If the users would like to access integer-type variables, the SDO command is the table as below.
For example: Set Integer #1 100(0x64)
11-bit COB-ID (bit) integer. Before using iKAN-XXX-CPS to access integer-type variables, please remind the range of the integer value.
SDO client SDO server
(iKAN)
SDO client SDO server
(iKAN)
5.3.4. Float‐type variables
The iKAN series provide the function for float-type variables access. The iKAN-XXX-CPS module uses object index 0x6412 and its sub-index to access the float -type variables.
Function Size Value Range Sub-Index
Float -type variable #1 1 word 0 – 0xFFFF FFFF 0x1 Float -type variable #2 1 word 0 – 0xFFFF FFFF 0x2
… 1 word 0 – 0xFFFF FFFF …
Float -type variable #64 1 word 0 – 0xFFFF FFFF 0x40
The object index 0x6412 and sub-index 0x01 is for float-type variable. If the users would like to write a float value 9.9 into float-type variables, the SDO commands are the table as below.
For example: Set Float #1 9.9 Float value: 9.9
Hex value: 0x411E6666 (IEEE 754)
11-bit COB-ID (bit)
Note: if the users would like to access float-type variables, they must change the float value to IEEE 754 formats.
SDO client SDO server
(iKAN)
SDO client SDO server
(iKAN)
5.3.5. Message Color in First Row
The iKAN series provide the function for message color in first row control. The iKAN-XXX-CPS module uses object index 0x6413 and its sub-index to access the message priority control.
功能 大小 數值範圍 子索引
The object index 0x6413 and sub-index is used to access message color in first row. If the users would like to change the color of Message #1 in first row, the SDO command is the table as below.
For example: Change the color of Message #1 in first row to purple
11-bit COB-ID (bit)
SDO client SDO server
(iKAN)
SDO server (iKAN) SDO client
5.3.6. Message Color in Second Row
The iKAN series provide the function for message color in second row control. The iKAN-XXX-CPS module uses object index 0x6414 and its sub-index to access the message priority control.
功能 大小 數值範圍 子索引
The object index 0x6414 and sub-index is used to access message color in second row. If the users would like to change the color of Message #1 in second row, the SDO command is the table as below.
For example: Change the color of Message #1 in second row to purple
11-bit COB-ID (bit)
SDO client SDO server
(iKAN)
1 0 1 1 0 0 0 0 0 0 1 0 6 60 14 64 01 -- -- -- --
SDO server (iKAN) SDO client
5.3.7. Message Priority
The iKAN series provide the function for message priority control. The iKAN-XXX-CPS module uses object index 0x6413 and its sub-index to access the message priority control.
Function Size Value Range Sub-Index
Message #1 priority 1 word 0 or 1 0x1 would like to change the priority of Message #1, the SDO command is the table as below.
For example: set Message #1 instance
11-bit COB-ID (bit)
SDO client SDO server
(iKAN)
SDO client SDO server
(iKAN)
5.3.8. Message Moving Type
The iKAN series provide the function for message moving type control. The iKAN-XXX-CPS module uses object index 0x641D and its sub-index to access the message moving type.
Function Size Value Range Sub-Index
Message #1 moving type 1 word 0 - 3 0x1
Message #2 moving type 1 word 0 - 3 0x2
… 1 word 0 - 3 …
Message #128 moving type 1 word 0 - 3 0x80
The object index 0x641D and sub-index is used to access message moving type. If the users would like to change the moving type of Message #1, the SDO command is the table as below.
For example: set Message #1 moving type to 3
11-bit COB-ID (bit)
SDO client SDO server
(iKAN)
SDO client SDO server
(iKAN)
5.3.9. Others Message Control Variables
The iKAN series provide the function for message control, including brightness of display change, and message scrolling speed change. The iKAN-XXX-CPS module uses object index 0x6416 and its sub-index to access the message control variables.
Function Size Value Range Sub-Index
Brightness of display change 1 word 0x0 – 0x4 0x01 Message scrolling speed change 1 word 0x0 – 0x9 0x02
The object index 0x6416 and sub-index 0x01 is used to control brightness of display. If the users would like to change the drightness of display, the SDO command is the table as below.
For example: Change the brightness to 4
11-bit COB-ID (bit)
The object index 0x6416 and sub-index 0x02 is used to control scrolling speed of message. If the users would like to change the scrolling speed of message, the SDO command is the table as below.
For example: Change scrolling speed of message to 9
11-bit COB-ID (bit)
SDO client SDO server
(iKAN)
SDO client SDO server
(iKAN)
11-bit COB-ID (bit)
RTR Data Length
8-byte Data (byte) Func Code Node ID
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 1 0 1 1 0 0 0 0 0 0 1 0 4 60 16 64 02 -- -- -- --
SDO client SDO server
(iKAN)
SDO server (iKAN) SDO client
5.3.10. Argument of Integer-Type Variable
The iKAN series provide the function for argument of integer-type variable. The arguments include source low, source high, target low, target high, decimal, color. The iKAN-XXX-CPS module uses object index 0x6417, 0x6418, 0x6419, 0x641A, 0x641B, and their sub-index to implement the function.
Function Size Value Range Index Sub-Index
Source low 1 word 0 – 65535 0x6417 0x01~0x40
Set Integer#1 source value range 0 – 100, target value range 0 – 1000, display to the first digit after the decimal point, set color purple.
SDO client SDO server
(iKAN)
SDO client
SDO server (iKAN)
Set source high 100:
Set source high 1000:
11-bit COB-ID (bit)
RTR Data
Length 8-byte Data (byte) Func Code Node ID
SDO client SDO server
(iKAN)
SDO server (iKAN) SDO client
SDO client SDO server
(iKAN)
SDO client SDO server
(iKAN)
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7
SDO client SDO server
(iKAN)
Func Code Node ID Length
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 1 1 0 0 0 0 0 0 0 0 1 0 8 2B 1F 64 01 04 00 00 00
11-bit COB-ID (bit)
RTR Data Length
8-byte Data (byte) Func Code Node ID
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 1 0 1 1 0 0 0 0 0 0 1 0 4 60 1F 64 01 -- -- -- --
Note: After using these commands, if integer#1 is 50, it will become 500.0 on iKAN.
SDO client
SDO server (iKAN)
SDO server (iKAN) SDO client
5.3.11. Argument of Float-Type Variable
The iKAN series provide the function for argument of float-type variable. The arguments include decimal and color. The iKAN-XXX-CPS module uses object index 0x641C, 0x6420, and their sub-index to implement the function.
Function Size Value Range Index Sub-Index
Decimal 1 word 1 – 3 0x641C 0x01~0x40
Color of Float-Type Variable 1 word 0 – 7 0x6420 0x01~0x40
For example:
Set Float#1 display to the first digit after the decimal point, set color purple.
Set decimal 1:
Func Code Node ID Length
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7
1 1 0 0 0 0 0 0 0 0 1 0 8 2B 20 64 01 04 00 00 00
11-bit COB-ID (bit)
RTR Data Length
8-byte Data (byte) Func Code Node ID
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 1 0 1 1 0 0 0 0 0 0 1 0 4 60 20 64 01 -- -- -- --
SDO client SDO server
(iKAN)
SDO server (iKAN) SDO client
5.3.12. ASCII String
The iKAN series provide the function that allow the Host PC or a PLC to write real-time ASCII string via the CANopen protocol. The iKAN-XXX-CPS module uses object index 0x6421 and its sub-index to implement the function.
For example:
Set ASCII String#1 “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:;”.
Step1: Tell the iKAN module start to write ASCII String
11-bit COB-ID (bit)
Step2: Start to write ASCII String
Send (Data0=00) + (Data1~7=ASCII String data)
11-bit COB-ID (bit)
SDO client SDO server
(iKAN)
Func Code Node ID Length
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 1 0 1 1 0 0 0 0 0 0 1 0 4 20 -- -- -- -- -- -- --
Send (Data0=10) + (Data1~7=ASCII String data)
11-bit COB-ID (bit)
Step3: changing Data0=00 and 10 repeatedly until sending 63 char Step4: final command is (Data0=1D) + (Data1=final char of ASCII String)
Send (Data0=1D) + (Data1=final char of ASCII String)
11-bit COB-ID (bit)
Length 8-byte Data (byte) Func Code Node ID
SDO server (iKAN) SDO client
SDO client SDO server
(iKAN)
SDO server (iKAN) SDO client
SDO client SDO server
(iKAN)
10 9 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 1 0 1 1 0 0 0 0 0 0 1 0 4 30 -- -- -- -- -- -- --
Following is the sent commands and response.
Commands:
Response:
SDO server (iKAN) SDO client
5.4. LSS communication set
The iKAN-XXX-CPS module not supports the hardware and the software to change Node ID or CAN baud rate settings, such as rotary switch and utility. For this reason, we use the LSS protocol of CANopen to implement the function for change Node ID setting and CAN baud rate setting via CAN bus of the iKAN-XXX-CPS module. This section will show how to use LSS protocol to change settings.
In general, the XXX-CPS module is in operation mode when it is power on. Thus, the iKAN-XXX-CPS module must be switched into configuration mode before using LSS protocol to change settings. If the iKAN-XXX-CPS module is not in configuration mode, any operation is invalid.
Switch mode global
The command below will show how to switch the iKAN-XXX-CPS module into configuration mode.
Mode Value Description
0 Switch to operation mode 1 Switch to configuration mode
Note: before any change, please set the module into configuration mode.
Inquire Node ID LSS
Master
LSS Slave (iKAN)
The command below is used to get the current Node ID setting from the module. Before changing the Node ID, please remind the original Node ID setting.
11-bit COB-ID (bit)
The command below is used to change the Node ID setting of the module.
Before changing the Node ID, please remember to set the module into configuration mode.
11-bit COB-ID (bit)
COB_ID 0x7E5
Err1 = 0 for protocol successfully completed.
Err1 = 1 for changing Node ID fail.
Err2: specific error (reserved).
Note: if the newer Node ID is the same as old, there is no response from module.
Change CAN Baud Rate
The command below is used to change CAN baud rate setting of the module.
Table Index Baud Rate (K bps)
Table: CAN Baud Rate
LSS Slave (iKAN) LSS
Master
11-bit COB-ID (bit)
Tab1: the standardized CiA bit timing table (reserved).
Tab2: the value of table index. See Table: CAN Baud Rate.
Err1 = 0 for protocol successfully completed.
Err1 = 1 for changing baud rate fail.
Err2: specific error (reserved).
Store Configuration
The command below is used to store the configuration to EEPROM. When the users finish the module configuration every time, please remember to store it.
11-bit COB-ID (bit)
LSS-Msg cs: the LSS command specifier. cs = 0x17 for configuration store.
Err1 = 0 for protocol successfully completed.
Err1 = 1 for configuration store fail.
Err1 = 2 for store error.
Err1 = others (reserved).
Err2: specific error (reserved).
Note: Err1 = 2, it indicators abnormal operation when the users store configuration.
LSS Slave (iKAN) LSS
Master
5.5. EMCY Communication set
5.5.1. EMCY COB_ID Parameter
The EMCY COB-ID is similar to the PDO COB-ID. It can be a default value or be defined by users via SDO communication methods. This COB-ID is stored in the object 0x1014, and the data format is shown in the following table. Before using the EMCY mechanism, bit 31 of the EMCY COB-ID needs to be confirmed.
Bit Number Value Meaning
31(MSB) 0 EMCY exist(EMCY is valid)
1 EMCY does not exist(EMCY is not valid)
30 0 Reserved (always 0)
29 0 11-bit ID (CAN 2.0A)
1 29-bit ID (CAN 2.0B)
28 – 11 0 If bit 29 is 0
X If bit 29 is 1,
the bits value from 28 to 11 bits in 29-bit COB-ID is … 10 – 0(LSB) X The bits value from 10 to 0 bits in COB-ID
5.5.2. EMCY Communication
The EMCY message is triggered when some internal error occurs. After the transmission of one
The EMCY message is triggered when some internal error occurs. After the transmission of one