ICP DAS USA CAN-8823 User Manual

ICP DAS USA CAN-8823 User Manual

Canopen slave device
Table of Contents

Advertisement

Quick Links

CAN-8123/CAN-8223/
CAN-8423/CAN-8823
CANopen Slave Device
Warranty
Without contrived damage, all products manufactured by ICP DAS are
warranted in one year from the date of delivery to customers.
Warning
ICP DAS revises the manual at any time without notice. However, no
responsibility is taken by ICP DAS unless infringement act imperils to patents
of the third parties.
Copyright
Copyright © 2007 is reserved by ICP DAS.
Trademark
The brand name ICP DAS as a trademark is registered, and can be used
by other authorized companies.
CAN-8x23 user's manual (Revision 3.20, Mar/08/2012) ------
User's Manual
1

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the CAN-8823 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for ICP DAS USA CAN-8823

  • Page 1 CAN-8123/CAN-8223/ CAN-8423/CAN-8823 CANopen Slave Device User’s Manual Warranty Without contrived damage, all products manufactured by ICP DAS are warranted in one year from the date of delivery to customers. Warning ICP DAS revises the manual at any time without notice. However, no responsibility is taken by ICP DAS unless infringement act imperils to patents of the third parties.
  • Page 2: Table Of Contents

    Error Control Protocols ............46 Configuration & Getting Start ..............49 CAN-8123/CAN-8223 Configuration Flowchart ......49 CAN-8423/CAN-8823 Configuration Flowchart ......51 CANopen Slave Utility Overview ............53 Configuration with the CANopen Slave Utility ......54 CAN-8123/8223 Configuration (Off-line mode) ......55 CAN-8423/8823 Configuration (On-line mode) ......
  • Page 3 5.1.3 Download SDO Protocol ............85 5.1.4 SDO Block Download............90 5.1.5 Abort SDO Transfer Protocol ..........98 PDO Communication Set ..............101 5.2.1 PDO COB-ID Parameters............ 101 5.2.2 Transmission Type............... 103 5.2.3 PDO Communication Rule ..........104 EMCY Communication Set .............. 143 5.3.1 EMCY COB-ID Parameter ...........
  • Page 4: Introduction

    I-8000 series DI/DO/AI/AO slot modules for their application purposes. The CAN-8123/CAN-8223 has one and two expansion slots respectively, and the CAN-8423/CAN-8823 supports four and eight expansion slots. Each expansion slot can insert in one I-87K or I-8000 series I/O module. All of these main control units follow the CANopen Spec DS-301 V4.01 and DS-401 V2.1,...
  • Page 5 CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 6: Hardware Features

    1.2 Hardware Features  CPU:80186, 80MHz  Philip SJA1000 CAN controller  Philip 82C250 CAN transceiver  SRAM:512 Kbytes  Flash Memory:512 Kbytes  EEPROM:2 Kbytes  NVRAM: 32 bytes  Real Time Clock  Built-in Watchdog Timer  16-bit Timer ...
  • Page 7: Can-8X23 Features

    Support I-8000 and I-87K I/O expansion slot:  CAN-8123: 1 slot  CAN-8223: 2 slots  CAN-8423: 4 slots  CAN-8823: 8 slots  Provide a friendly Utility to configure the I-8000 and I-87K series modules CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 8: Utility Features

    1.4 Utility Features  Support parameter configuration on the I-8000 and I-87K modules  Provide to show Application and Device Object information  Provide to show Rx and Tx PDO mapping  Support EDS file creation CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 9: Hardware Specification

    2 Hardware Specification 2.1 Hardware Structure CAN-8123: Power LED CANopen Status LED Node ID and Baud CANopen rate rotary switch Error LED CAN Bus Connector 1 I/O Expansion Slot CAN-8223: CANopen Power LED Status LED CANopen Node ID and Baud Error LED rate rotary switch CAN Bus Connector...
  • Page 10 Error LED Node ID and Baud rate rotary switch Power Pin RS-232 Port (connect to PC) CAN Bus Connector 4 I/O Expansion Slots CAN-8823: Power LED Power Pin CANopen Status LED CANopen Error LED Node ID and Baud rate rotary switch...
  • Page 11: Layout Structure

    2.2 Layout Structure CAN-8123/CAN-8223: CAN-8423: CAN-8823: CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 12: Wire Connection

    2.3 Wire Connection In order to minimize the reflection on the CAN bus line, the CAN bus line has to be terminated at both ends by two terminal resistances as shown in the following. According to the ISO 11898-2 spec, each terminal resistance is 120Ω...
  • Page 13: Can Connector

    The bus length determines the CAN bus baud rate. In the following the table provides users a relationship between the baud rate and the bus length. Baud rate (bit/s) Max. Bus length (m) 800 K 500 K 250 K 125 K 50 K 1000 20 K...
  • Page 14 Pin No. Signal Description CAN_L CAN_L bus line (dominant low) CAN_SHLD Optional CAN Shield CAN_H CAN_H bus line (dominant high) CAN-8823: Pin No. Signal Description CAN_L CAN_L bus line (dominant low) CAN_SHLD Optional CAN Shield CAN_H CAN_H bus line (dominant high) Others CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 15: Terminal Resistor Jumper And Initial Switch

    CAN-8823 Before updating firmware or using the utility tool to configure the CAN-8423 and the CAN-8823, the initial mode is needed. For more detail configuration, please refer to the cheaper 4. Since the CAN-8123/CAN-8223 doesn’t support RS-232 COM Port, the utility tool in the off-line mode takes the place to get the EDS file.
  • Page 16: Canopen Status Led

    2.7 CANopen Status LED Each one CAN-8x23 has two LED indicators. One is the Error LED (lighting in red) and the other one is the RUN (Performing) LED (lighting in green). The Error LED and the Run (Performing) LED information are presented in the CANopen specifications.
  • Page 17: The Err Led

    2.7.2 The ERR LED The ERR LED relates to the state of missing messages at the CAN physical layer (These missing messages might be SYNC or Guard messages). The data state and the signal state description are respectively shown in the following figure and table.
  • Page 18 Signal State Description No Light No error The device is in working condition. Single Flash Error Reminding At least one of the error counters when Warning of the CAN controller has Level is Reached reached or exceeded the warning level (too many error frames). Double Flash Error Reminding A guard event (NMT-Slave or...
  • Page 19: The Node Id & The Baud Rate Rotary Switch

    2.8 The Node ID & the Baud rate Rotary Switch The first two rotary switches (MSB & LSB) control the CAN-8x23 node ID. MSB (Most Significant Bit) means the high nibble of the node ID, and LSB (Least Significant Bit). ID Rotary Switch Status 0x01 ~ 0x7F...
  • Page 20: I/O Pair-Connection Mode

    2.9 I/O Pair-connection Mode The CAN-8x23 provides the I/O pair-connection function. Before using this function, you need to prepare two CAN-8x23s with DI and DO I/O modules (such as I-8057W and I-8053W). When applying this function, the DI channels and the DO channels are mapping with each other. That is to say that when the DI channels of one CAN-8x23 get the ON signal, the corresponding DO channels of the other one will be turned on.
  • Page 21: Module Support

    The node ID of left CAN-8123 is “0x81”, and the node ID of right CAN-8123 is “0x82”. Both of these two module’s node ID switch are selected to I/O pair-connection mode node ID, and these two modules will into Operational state automatically. When the DI module, right CAN-8123, receives a DI ON-signal, the DO module, left CAN-8123, will output the ON-signal at the corresponding DO channels.
  • Page 22: Canopen Application

    3 CANopen Application The CANopen is a kind of network protocols evolving from the CAN bus, used on car control system in early days, and has been greatly used in various applications, such as vehicles, industrial machines, building automation, medical devices, maritime applications, restaurant appliances, laboratory equipment &...
  • Page 23 Communication The communication part provides several communication objects and appropriate functionalities to transmit CANopen messages via the network structure. These objects include PDO (Process Data Object), SDO (Service Data Object), NMT (Network Management Objects), SYNC (Synchronous Objects)…etc. Each communication object has its relative communication model and functionality.
  • Page 24 Data 8-byte Data Length 11-bit data is limited in the ID field. It is useful in the arbitration mechanism. The RTR, limited in 1-bit data, is used for remote-transmitting requests as the value is set to 1. The data length, limited in 4-bit data, shows the valid data number stored in the 8-byte data field.
  • Page 25 In addition, the other COB-IDs shown in the following table can be used if necessary. (Bit10~Bit7) (Bit6~Bit0) Communication object Name (Function Code) 0000 0000000 0001 0000000 SYNC 0010 0000000 TIME STAMP 0001 Node ID EMERGENCY 0011/0101/0111/1001 Node ID TxPDO1/2/3/4 0100/0110/1000/1010 Node ID RxPDO1/2/3/4 1011...
  • Page 26 Object Dictionary The object dictionary collects a lot of important information which can affect device’s reaction, such as the data accessing through I/O channels, the communication values and the network states. Essentially, the object dictionary consists of a group of entry objects, and these entries can be accessed via the node network in a pre-defined method.
  • Page 27 DI Standardized Device Practical DI Dictionary Object (0x6000) Channel 0~15 Subindex1 : DI Channel 0~7 Subindex2 : DI Channel 8~15 DO Standardized Device Practical DO Dictionary Object (0x6200) Channel 0~7 Subindex1 : DO Channel 0~7 AI Standardized Device Dictionary Object (0x6401) Subindex1 : AI Channel 0 Practical AI Subindex2 : AI Channel 1...
  • Page 28 By objects with the index 0x6000, the CAN-8423 can store the input values of DI channel, i.e. the I/O values of DO, AI, and AO channels are put into the object with the indexes 0x6200, 0x6401, and 0x6411 respectively. When values are resulted through these I/O, and correspond to the specific object, the device will follow the rules below.
  • Page 29: Sdo Introduction

    3.2 SDO Introduction In order to access the entries in a device object dictionary, service data objects (SDOs) are provided. By means of the SDO communication method, a peer-to-peer communication bridge between two devices is established, and its transmission follows the client-server relationship. The general concept is shown in the figure below.
  • Page 30 protocol will be given, and the SDO transmission will also be stopped. The CAN-8x23 only supports the SDO server. Therefore, it can be passive and wait for requests from clients. The general concept figure of the upload and download protocol with the CAN-8x23 is shown as follows. CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 31: Pdo Introduction

    3.3 PDO Introduction Based on the transmission data format of the CAN bus, the PDO can transmit eight bytes of process data at one time. Because of the PDO messages without overheads, it is more efficient than other communication objects within CANopen and therefore used for real-time data transfer, such as DI, DO, AI, AO, etc.
  • Page 32 For the CANopen device, the TxPDO specializes in transmitting data, and is usually applied on DI/AI channels. The COB-ID of the PDO for receiving data is RxPDO COB-ID, and it is usually applied on DO/AO channels. Take the CAN-8x23 as an example. If a PDO producer sends a PDO message to the CAN-8x23, it needs to use the RxPDO COB-ID of the CAN-8x23 because it is a PDO reception action viewed from the CAN-8x23.
  • Page 33 The PDO transmission can be triggered by receiving a remote request from any other PDO consumer with under the asynchronous or RTR setting. PDO Transmission Types Generally there are two kinds of PDO transmission modes, synchronous and asynchronous. For the PDO in a synchronous mode, it must be triggered by the reception of a SYNC message.
  • Page 34 Acyclic synchronous For the TxPDO object, after receiving a n object from the SYNC producer, the CAN-8x23 will respond with a pre-defined TxPDO message to the PDO consumers. For the RxPDO object, the CAN-8x23 needs to receive the SYNC objects to actuate the RxPDO object, which is received before the SYNC object.
  • Page 35 Inversely, the cyclic synchronous transmission mode is triggered by the reception of an expected number of SYNC objects, and the max number of expected SYNC objects can be 240. For example, if the TxPDO is set to response when receiving 3 SYNC objects, the CAN-8x23 will feed back the TxPDO object according to the set.
  • Page 36 RTR-only synchronous The RTR-only synchronous mode is activated when receiving a remote-transmit-request message, i.e. SYNC objects. This transmission type is only useful for TxPDO. In this situation, the CAN-8x23 will update the DI/AI value when receiving any SYNC object. And, if the RTR object is received, the CAN-8x23 will respond to the TxPDO object.
  • Page 37 RTR-only asynchronous The asynchronous mode is independent of the SYNC object. This mode can also be divided into two parts. There are RTR-only asynchronous transmission type and asynchronous transmission type. The RTR-only transmission type is only for supporting TxPDO transmissions , only triggered by receiving the RTR object from the PDO consumer.
  • Page 38 Asynchronous The other part is the asynchronous transmission type. Under this type, the TxPDO message can be triggered by receiving the RTR object and the device-specified event mentioned in the event driven paragraph. Furthermore, the DO/AO channels can act directly by receiving the RxPDO object. This transmission type is the default value when the CAN-8x23 boots up.
  • Page 39 Inhibit Time Because of the arbitration mechanism of the CAN bus, the CANopen communication object ID in small size has a higher transmission priority than the bigger one. For example, there are two nodes on the CAN bus, the one needs to transmit the CAN message with the COB-ID 0x181, and the other has to transmit the message with COB-ID 0x182.
  • Page 40  There shall be up to 4 TxPDO mapping objects and up to 4 RxPDO mapping objects with default mappings.  The 1st RxPDO and TxPDO mapping objects are used for digital outputs and inputs to each other.  The 2nd, 3rd, and 4th RxPDO and TxPDO mapping objects are respectively assigned to record the value of analog outputs and inputs.
  • Page 41 DI Standardized Device Dictionary Object (0x6000) Subindex1 : DI Channel 0~7 Subindex2 : DI Channel 8~15 DO Standardized Device Dictionary Object (0x6200) Subindex1 : DO Channel 0~7 AI Standardized Device Dictionary Object (0x6401) Subindex1 : AI Channel 0 Subindex2 : AI Channel 1 AO Standardized Device Dictionary Object (0x6411) Subindex1 : AO Channel 0...
  • Page 42 Practical I/O Object Dictionary TxPDO mapping objects RxPDO mapping objects TxPDO RxPDO CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 43: Emcy Introduction

    3.4 EMCY Introduction EMCY messages are triggered when a device internal error occurs, i.e. after a CANopen device detects the interna l error, an emergency message will be transmitted to the EMCY consumers per time per error event. But the EMCY message will not be transmitted again if the same error repeatedly occurs.
  • Page 44: Nmt Introduction

    3.5 NMT Introduction The Network Management (NMT) follows the node-oriented structure and the master-slave relationship. In the same CAN bus network, only one CANopen device is allowed to execute the function of NMT master. Each CANopen node is regarded as a unique NMT slave identified by its node ID from 1 to 127.
  • Page 45: Module Control Protocols

    3.5.1 Module Control Protocols Before introducing the modules control protocols, the architecture of the NMT state mechanism needs to be mentioned. The diagram shows the process and the relationships among each NMT state and the mechanism. Power on or Hardware reset Initialization Pre-Operational Stop...
  • Page 46: Error Control Protocols

    Devices will directly lead to the Pre-Operational state after finishing the device initialization. Then, the nodes will be switched into different state by receiving a specific indication. By the way, each different NMT state will consider a specific communication method. For example, the PDO message can only do the transmission and receiving in the operational state.
  • Page 47 Node Guarding Protocol The Node Guarding Protocol follows the Master/Slave relationship. It helps users monitoring the node in the CAN bus. The communication method of node guarding protocol is defined as follows. NMT Master NMT Slave Remote transmit request request indication confirm response...
  • Page 48 Heartbeat Protocol The Heartbeat Protocol follows the Producer/Consumer relationship. It provides a way to help uses monitor the node in the CAN bus. The communication method of heartbeat protocol is defined as follows. The Heartbeat Protocol defines an Error Control Service without need for remote frames.
  • Page 49: Configuration & Getting Start

    4 Configuration & Getting Start 4.1 CAN-8123/CAN-8223 Configuration Flowchart CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 50 The following procedure is the general concept for the off-line mode. This procedure can be applied in the CAN-8x23. CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 51: Can-8423/Can-8823 Configuration Flowchart

    4.2 CAN-8423/CAN-8823 Configuration Flowchart Select the necessary Select one or more of I-8000/I-87K ICPDAS I-8000/I-87K AI/AO/DI/DO modules for the user’s IO modules for users application CANopen application. Plug these I-8000/I-87K modules 1. Turn off the CAN-8423. into the available C A N -842 3 I/O 2.
  • Page 52 The following procedure is the general concept for the on-line mode. This procedure can be applied only in the CAN-8423 and CAN-8823. Start Connect the CAN-8423 CAN port with CANopen network Set the Baud rotary switch to proper baud rate...
  • Page 53: Canopen Slave Utility Overview

     Allows configuring the input range of the I-8000 and I-87K AI/AO modules plugged in CAN-8423 and CAN-8823.  Supports to create EDS files to match the scan result in the on-line mode after scanning the I-8000 or I-87K modules in CAN-8423 and CAN-8823.
  • Page 54: Configuration With The Canopen Slave Utility

    4.4 Configuration with the CANopen Slave Utility CANopen Slave Utility Step 1: Download the CANopen Slave Utility file from the web site http://www.icpdas.com/products/Remote_IO/can_bus/can-8423.htm or http://www.icpdas.com/products/Remote_IO/can-8123.htm or CD-ROM disk via the following path of “CD:\CANopen\Slave\CAN-8x23\Utility\”. Step 2: Execute the CANopen_SL.exe file to start the CANopen Slave Utility. CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 55: Can-8123/8223 Configuration (Off-Line Mode)

    4.5 CAN-8123/8223 Configuration (Off-line mode) Step 1: Select “CANopen” in the “Application Layer” area, and “offline” in the “Setting status”. Step 2: Take the CAN slave device (CAN-8223 with node ID 123 and baud rate 1000Kbps) as an example, Users have to fill in “NODE ID” with 123 and choose a “CAN Baud rate”...
  • Page 56 Step 4: After finishing the configuration, users can one-left click on the slot module in the “CAN Slave Device Situation” area. If the configuration is successful, users can see the correct module name , for example 8024 on the top of the slot module. Step 5: Then, repeat the step 3~4 to configure the slot 1 to I-8042 module.
  • Page 57 Step 6: Users can perform the parameter setting in the “General Setting” windows. As well, users can check the default settings on each slot module by moving the cursor on the slot module in order to get the module name and module information in the “Module Information”...
  • Page 58 Step 8: Users can select the “PDO Information”, the “Device Information “and the “Slot Module Information” button for purpose to view the PDO objects, device profile and slot module configuration information. These information dialogs are shown below. CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 59 If everything is ok, click the “Finish” button to create the EDS file. Note: If users use off-line method to get the EDS file, the objects , used to record the input/output range of the analog modules, will be described to default value in the EDS file.
  • Page 60: Can-8423/8823 Configuration (On-Line Mode)

    4.6 CAN-8423/8823 Configuration (On-line mode) Before using the CAN Slave utility in the On-line mode of the CAN-8423/8823, please make sure that all connections are ready, from the CAN-8423/8823 to your PC via COM port. The architecture figure is displayed in the following.
  • Page 61 Step 3: To execute the CAN_SL.exe file, and to display the figure, users have to connect a PC COM port and the CAN-8423 well. Here, take the PC COM 1 as an example. Click “Connect” button to get the information stored in the CAN-8423.
  • Page 62 the feature of I-8024 slot module, output range on each channel will be changed in the same way after users select the output range in one of the channels. Step 6: After setting the proper output range, users can click “Set” button to store the configuration.
  • Page 63 Step 7: Then, “EDS File Information” window will pop out. Users can fill the “Description” and “Create by” fields for the EDS file. Also, users can see the CANopen objects information and modules information by clicking the buttons. For more detail information, please refer to the Step 7 and 8 in section 4.5. Note1: The CAN-8423/8823 can also create the EDS file by using off-line mode, and set the analog input range or analog output range by using the CANopen SDO protocol.
  • Page 64: Canopen Communication Set

    In the following section, several CANopen communication protocols are described. Each protocol description has one corresponding example. Because the communication methods in the CAN-8123/CAN-8223/CAN-8823 are similar to the one in CAN-8423, only the example for CAN-8423 is given. Before the example, users must have one CAN interface to send out the CAN command.
  • Page 65: Sdo Communication Set

    5.1 SDO Communication Set 5.1.1 Upload SDO Protocol Initiate SDO Upload Protocol Before transferring the SDO segments, the client and server need to communicate with each other by using the initiate SDO upload protocol. Via the initiate SDO upload protocol, the SDO client will inform the SDO server what object the SDO client wants to request.
  • Page 66 client command specified 2: initiate upload request server command specified 2: initiate upload response Only valid if e = 1 and s = 1, otherwise 0. If valid, it indicates the number of bytes in d that do not contain data. Bytes [8-n, 7] do not contain segment data.
  • Page 67 Upload SDO Segment Protocol When the upload data length is over 4 bytes, the upload SDO segment protocol will be needed. After finishing the transmission of the initiate SDO upload protocol, the SDO client will start to upload the data. The upload SDO segment protocol will comply with the process shown below.
  • Page 68 : client command specified 3: upload segment request : server command specified 0: upload segment response : toggle bit This bit must alternate for each subsequent segment that is uploaded. The first segment will have the toggle bit set to 0. The toggle bit will be equal for the request and the response message.
  • Page 69 SDO Upload Example The practical application of the SDO upload is illustrated as below. SDO Server (CAN-8123/CAN-8223/ SDO Client CAN-8423) Initial SDO Upload Protocol (e=0) Upload SDO Protocol (t=0, c=0) SDO Server (CAN-8123/CAN-8223/ SDO Client CAN-8423) Upload SDO Protocol (t=1, c=0) Initial SDO Upload Protocol (e=1) Upload SDO Protocol (t=0, c=0) SDO Upload with expedited transfer...
  • Page 70  Example for expedited transfer Step 1. SDO message will be sent to the CAN-8423 to obtain the object entry with index 0x1400 and sub-index 00 stored in the communication profile area. The message structure is as follows. Moreover, the node ID of the CAN-8423 set to 1, and the information about the object entry with index 0x1400 will be described in the chapter 6.
  • Page 71  Example for normal transfer Step 1. Send the RxSDO message to the CAN-8423 to obtain the object entry with index 0x1008 and sub-index 00 stored in the communication profile area. The message structure is as follows. Moreover, the node ID for the CAN-8423 set to 1, and the information about object entry with index 0x1008 will be described in the chapter 6.
  • Page 72 Step 3. The CAN-8423 is requested to start the data transmission. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) Step 4. The CAN-8423 will respond to the first 7 bytes in the index 0x1008 and sub-index 00 object entries.
  • Page 73 Step 5. The CAN-8423 is requested to transmit the rest of the data. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) Step 6. Tthe rest of the data will be received from the SDO server. 11-bit COB-ID (bit) 8-byte Data (byte) Data...
  • Page 74: Sdo Block Upload Protocol

    5.1.2 SDO Block Upload Protocol Initiate SDO Block Upload Protocol The SDO Block Upload is usually used for the large data transmission. At the beginning of the SDO Block Upload, the Initiate SDO Block Upload protocol is needed. This protocol is described below. CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 75 : client command specified 5: block upload : server command specified 6: block upload. : client subcommand 0: initiate upload request 3: start upload : server subcommand 0: initiate upload response : multiplexor It represents the index/sub-index of the data to be transfer by the SDO.
  • Page 76 Upload SDO Block Segment Protocol After finishing the Initiate SDO Block Upload protocol, the SDO server starts to respond to the data by using the Upload SDO Block Segment protocol. Each block contains 1 segment for the minimum and 127 segments for the maximum.
  • Page 77 : client command specifier 5: block upload : client subcommand 2: block upload response : It indicates whether there are still more segments to be uploaded. 0: more segments to be uploaded 1: no more segments to be uploaded , enter ‘End block upload’ phase seqno : sequence number of segment, 0 <...
  • Page 78 End SDO Block Upload Protocol The End SDO Block Upload protocol is used for finishing the SDO Block upload, and is shown in the following figure. CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 79 : client command specifier 5: block upload : server command specifier 6: block upload : client subcommand 1: end block upload request : server subcommand 1: end block upload response : It indicates the number of bytes in the last segment of the last block that do not contain data.
  • Page 80 SDO Block Upload Example The following figure shows the general procedure of applying the SDO Block upload. CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 81 By the following procedure, an example is provided to obtain a value of the index 0x1008 and sub-index 00 object entries. Step 1. The CAN-8423 is requested to transmit the data by using the SDO Block Upload method. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code...
  • Page 82 Step 3. The message is sent to finish the Initiate SDO Block Upload protocol, and will actuate the CAN-8423 to start the data transmission. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) Step 4.
  • Page 83 Step 5. The CAN-8423 will transmit the rest of the data. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) seqno seg-data 33 00 00 00 00 00 00 Because this segment is the last one, not all of the data in the seg-data filed is useful.
  • Page 84 Step 7. When the reception is confirmed, the CAN-8423 will send a message to enter the End SDO Block Upload protocol. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) This value means the invalid data in the last segment are from [8-5] to 7, i.e.
  • Page 85: Download Sdo Protocol

    5.1.3 Download SDO Protocol Initiate SDO Download Protocol The download modes are similar to the upload modes, but different in some parameters of the SDO messages. They are also separated into two steps. If the download data length is less than 4 bytes, the download action will finish in the download initialization protocol.
  • Page 86 : client command specified 1: initiate download request : server command specified 3: initiate download response : Only valid if e = 1 and s = 1, otherwise 0. If valid, it indicates the number of bytes in d that do not contain data. Bytes [8 -n, 7] do not contain segment data.
  • Page 87 Download Segment Protocol : client command specified 0: download segment request : server command specified 1: download segment response seg-data : It is at most 7 bytes of segment data to be downloaded. The encoding depends on the type of the data referenced by index and sub-index.
  • Page 88 SDO Download Example When the SDO download example has been applied, the procedure in the below figure may be applied. Since all of those object entries, which can be written, in the CAN-8123/CAN-8223/CAN-8423 are equal or less than 4 bytes, we can only provide the example for expedited transfer.
  • Page 89  Example for expedited transfer Step 1. The Rx SDO message is sent to the CAN-8423 to access the object entry with index 0x1400 and sub -index 02 stored in the communication profile area. For example, the value of this object entry is changed to 5, as the node ID for the CAN-8423 is set to 1.
  • Page 90: Sdo Block Download

    5.1.4 SDO Block Download The procedure of SDO Block Download is similar to the SDO Block Upload. There are three steps during the SDO Block Download. The Initiate SDO Block Download protocol is the beginning protocol for SDO Block Download. In this protocol, the SDO server and SDO client will mutually communicate.
  • Page 91 : client command specified 6: block download : server command specified 5: block download : size indicator 0: Data set size is not indicated. 1: Data set size is indicated. : client subcommand 0: initiate download request : server subcommand 0: initiate download response : client CRC support cc=0: Client does not support generating CRC on data.
  • Page 92 Download SDO Block Segment Protocol : server command specified 5: block download : server subcommand 0: initiate download response : It indicates whether there are still more segments to be downloaded. 0: more segments to be downloaded 1: no more segments to be downloaded , enter ‘End block download’...
  • Page 93 End SDO Block Download Protocol : client command specified. 6: block download : server command specified. 5: block download : client subcommand 1: end block download request : server subcommand 1: end block download response : It indicates the number of bytes in the last segment of the last block that do not contain data.
  • Page 94 SDO Block Download Example In this example, the value of the object entry with index 0x1400 and sub-index 0x02 will be changed to 5 by using the SDO Block Download communication method. When the SDO Block Download is actuated, the procedure will be as follows.
  • Page 95 Step 1. When the Initiate SDO Block Download protocol is carried out, the CAN-8423 will be informed with the value of the object entry with index 0x1400 and sub-index 02 modified by the method of the SDO Block Download, 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code...
  • Page 96 Step 3. The SDO client will transmit the data of the object entry index 0x1400 and sub-index 02 by using the Download SDO Block Segment protocol. The following description shows that the data length of the value is less than the maximum data length of one block, the SDO Block Segment Download protocol is just implemented once.
  • Page 97 Step 5. The SDO client will send the ending message to finish the SDO Block Download. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) This value means the useless data in the last segment are from [8-6] to 7, i.e.
  • Page 98: Abort Sdo Transfer Protocol

    5.1.5 Abort SDO Transfer Protocol In some conditions, the SDO client or SDO server will terminate the SDO transmission. For example, the value of entries that users want to modify does not exist or is read-only, even users wouldn’t continue the uncompleted SDO protocol under some special situations.
  • Page 99 Abort Code Description 0503 0000h Toggle bit not alternated. 0504 0000h SDO protocol timed out. 0504 0001h Client/server command specified not valid or unknown. 0504 0002h Invalid block size (block mode only). 0504 0003h Invalid sequence number (block mode only). 0504 0004h CRC error (block mode only).
  • Page 100 Abort SDO Transfer Example The object index 0x1008 doesn’t support the sub-index 01 entry. Therefore, if users read the object entry with index 0x1008 and sub-index 01, the CAN-8x23 will reply the Abort SDO Transfer message. The example is figured as follows. Step 1.
  • Page 101: Pdo Communication Set

    5.2 PDO Communication Set 5.2.1 PDO COB-ID Parameters Before the real-time data are transmitted by the PDO, it is necessary to check the COB-ID parameter of this PDO in the PDO communication objects. This parameter setting controls the COB-ID of the PDO communication, which is in 32 bits, and each bit with its meaning is given in the table follow.
  • Page 102 Note: 1. Users can also define the PDO COB-ID by themselves. Actually, all COB-ID can be defined by users except the reserved COB-ID described in the table of the section 3.1. It is important to avoid the conflict with the defined COB-ID used in the same node. 2.
  • Page 103: Transmission Type

    5.2.2 Transmission Type The transmission type is one of the several parameters defined in PDO communication objects with sub-index 02. Each PDO has its own transmission type. The transmission type can indicate the transmission or reception character for its corresponding PDO. The following table describes the relationship between the value of the transmission type and the PDO character.
  • Page 104: Pdo Communication Rule

    5.2.3 PDO Communication Rule The PDO related objects are indicated from index 0x1400 to 0x1BFF. For the CAN-8x23, RxPDO communication objects are from index 0x1400 to index 0x140F, and RxPDO mapping objects are from index 0x1600 to index 0x160F. The ranges of the TxPDO communication objects and the mapping objects are from index 0x1800 to index 0x180F and from index 0x1A00 to index 0x1A0F respectively.
  • Page 105 PDO Consumers PDO Producer 11-bit COB-ID (bit) 8-byte Data (byte) 10~0 Indication request COB-ID PDO-msg indication indication Write PDO Protocol COB-ID : the default PDO COB-ID, or the PDO COB-ID can be defined by user : the data length about how many bytes the PDO message has PDO-msg : the real-time data or the data which can be mapped into the PDO mapping objects PDO Consumer...
  • Page 106 PDO Communication Example To take a look at a PDO communication demo, some I-8000 slot modules will be needed. They are I-8057, I-8053, I-8024 and I-87017. Connect each I/O channels for these modules as following figure. Please use the CAN-8423 rotary switch to set the node ID to 1, and CAN bus baud rate to 125Kbps.
  • Page 107 TxPDO Information Standardized Device Profile Area Information After concluding the above preparations, the several functions of PDO communication will be introduced as follows.  The function of accessing digital I/O & analog I/O with asynchronous PDO.  The function by using Event Timer to obtain the input value. ...
  • Page 108 Before describing the example, the step0 must be checked. And the default COB-ID for each communication object is assumed to be being used. Step0: The following message must be sent in order to change the NMT state of the CAN-8423 first, because only the PDO communication can run under the NMT Operational state.
  • Page 109  Access Digital I/O & Analog I/O Step 1. In order to change the DO value of the I-8057 to be 0x1234, users must send the PDO message by using the first RxPDO. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length...
  • Page 110 Step 2. Because of the change of the DI-channel status, the TxPDO is transmitted automatically when the transmission type is 255, based on the CANopen spec 401. Then, users will receive the 1st TxPDO message. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length...
  • Page 111 Step 3. In order to output 5V to the AO0 of the I-8024, users must send the PDO message by using the 2nd RxPDO. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO consumer producer (CAN-8x23) COB-ID 0x301 PDO-msg...
  • Page 112 Step 4. Even the AI input value has been changed according the AO value, the RxPDO will not respond automatically in the CAN-8423. Therefore, users need to use the RTR message from the 2nd TxPDO to read back the AI value. 11-bit COB-ID (bit) Data 8-byte Data (byte)
  • Page 113  Event Timer Functionality Step 6. Users can use the SDO to change the event timer of the 2nd RxPDO to 1000, stored in index 0x1801 with sub-index 5. In addition, the value 1000 means 1 second according to the event timer is ms, 11-bit COB-ID (bit) Data 8-byte Data (byte)
  • Page 114 Step 8. After changing the value of the event timer, the AI value will be automatically transmitted per second. The example below shows that at the first time the 2n TxPDO message is received. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length...
  • Page 115 Step 10. It shows that at the third time for the 2nd TxPDO message is received. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO producer consumer (CAN-8x23) COB-ID 0x281 PDO-msg 00 40 FF FF FD FF FF FF Step 11.
  • Page 116  Transmission Type 0 for the first RxPDO Step 12. Users can set the transmission type of the first RxPDO to 0. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 00 14 02 11-bit COB-ID (bit) 8-byte Data (byte) Data...
  • Page 117 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SYNC SYNC consumer producer (CAN-8x23) COB-ID 0x80 The message of the SYNC object is always fixed as the format described above. The COB-ID of the SYNC object can be changed arbitrarily.
  • Page 118 SDO server SDO client (CAN-8x23) 00 14 02 FF 00 00 00 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 00 14 02 CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 119  Transmission Type 0 for the first TxPDO Step 17. Users can set the transmission type of the first TxPDO to 0. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 00 18 02 00 00 00 00 11-bit COB-ID (bit) 8-byte Data (byte)
  • Page 120 the first RxPDO. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO consumer producer (CAN-8x23) COB-ID 0x201 PDO-msg AB 90 00 00 00 00 00 00 Step 19. The first TxPDO will not be transmitted immediately even if the DI value is changed according to the character of the transmission type 0.
  • Page 121 Step 21. Users can send the SYNC message again. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SYNC SYNC consumer producer (CAN-8x23) SYNC 0x80 COB-ID Step 22. Nothing happened because the DI values were not changed. This is the main difference between transmission type 0 and 1.
  • Page 122  Transmission Type 3 for the first TxPDO Step 23. Users can set the transmission type of the first TxPDO to 3. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 00 18 02 03 00 00 00 11-bit COB-ID (bit) 8-byte Data (byte)
  • Page 123 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO consumer producer (CAN-8x23) COB-ID 0x201 PDO-msg EF CD 00 00 00 00 00 00 Step 25. The SYNC message has to be transmited in 3 times according to the character of transmission type 3.
  • Page 124  Transmission Type 252 for the first TxPDO Step 27. Users can set the transmission type of the first TxPDO to 252. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 00 18 02 FC 00 00 00 11-bit COB-ID (bit) 8-byte Data (byte)
  • Page 125 Step 28. Users can change the DO value of the I-8057 to be 0x1234 by using the first RxPDO. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO consumer producer (CAN-8x23) COB-ID 0x201 PDO-msg 34 12 00 00 00 00 00 00 Step 29.
  • Page 126 Step 30. The feedback DI values are out-of-date. (Users can see the LEDs status on the I-8053 to confirm the practical DI values). 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO producer consumer (CAN-8x23) COB-ID 0x181 PDO-msg 34 12 00 00 00 00 00 00...
  • Page 127 Step 33. The feedback DI values will be the real DI values. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO producer consumer (CAN-8x23) COB-ID 0x181 PDO-msg 34 12 00 00 00 00 00 00 CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 128  Transmission Type 253 for the first TxPDO Step 34. Users can set the transmission type of the first TxPDO to 253. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 00 18 02 FD 00 00 00 11-bit COB-ID (bit) 8-byte Data (byte)
  • Page 129 Step 36. According to the transmission type 253, only the first TxPDO can be transmitted when receiving the RTR message. So, users can send the RTR message to get DI values. Then, the CAN-8423 will reply with the I-8053 digital input status.
  • Page 130 Step 37. Set the transmission type of the 1st TxPDO to 255 to finish the test. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 00 18 02 FF 00 00 00 11-bit COB-ID (bit) 8-byte Data (byte) Data...
  • Page 131  Dynamic PDO Mapping for DI/AI/DO/AO Channels Step 38. Users can use the 5th TxPDO to create a new PDO communication with PDO COB-ID 0x182, which is useless for the CAN-8423. Before setting the COB-ID of a PDO, users have to check the bit 31 of the COB-ID first. Only the COB-ID with the value 0 on the bit 31 can be changed.
  • Page 132 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 1A 01 08 01 00 60 The value “08 01 00 60” means the mapped object is stored in the index 0x6000 with sub-index 01. It is an 8-bit data unit. Users can check this object in the Standardize object mapping table described above.
  • Page 133 I-8053 and AI0 of the I-87017 into the index 0x1A05 with sub-index 02 and 03 respectively. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 1A 02 08 02 00 60 11-bit COB-ID (bit) 8-byte Data (byte) Data...
  • Page 134 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 1A 03 10 01 01 64 The value “10 01 01 64” means that the mapped object is stored in the index 0x6401 with sub-index 01. It is a 16-bit data unit. User can check this object in the Standardize object mapping table described above.
  • Page 135 index 0x1A05 with sub-index 00 must be changed to 3. The value 3 means there are 3 objects mapped to the 5th TxPDO. They are the index 0x6000 with sub-index 01, index 0x6000 with sub-index 02, and index 0x6401 with sub-index 01.
  • Page 136 with PDO COB-ID 0x202, and create the RxPDO mapping object in the index 0x1605 because the COB-ID 0x202 is not available for the CAN-8423. This procedure is similar to the steps 37 to 40. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length...
  • Page 137 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 16 01 08 01 00 62 The value “08 01 00 62” means the mapped object is stored in the index 0x6200 with sub-index 01. It is an 8-bit data unit. Users can check this object in the Standardize object mapping table described above.
  • Page 138 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 16 02 08 02 00 62 11-bit COB-ID (bit) 8-byte Data (byte) Data Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 16 02 CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 139 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 16 03 10 01 11 64 The value “10 01 11 64” means the mapped object is stored in the index 0x6411 with sub-index 01. It is a 16-bit data unit. Users can check this object in the Standardize object mapping table described above.
  • Page 140 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 16 00 03 00 00 00 11-bit COB-ID (bit) 8-byte Data (byte) Data Func Code Node ID Length SDO server SDO client (CAN-8x23) 05 16 00 CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 141 Step 43. Transform the DO0~DO15 of I-8057 and AO0 of I-8024 to be 0x90AB and 0V respectively. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO producer consumer (CAN-8x23) COB-ID 0x202 PDO-msg AB 90 00 00 00 00 00 00 The first two bytes are assigned to the value 0x90AB of the DO0~DO15 of the I-8057.
  • Page 142 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO producer consumer (CAN-8x23) COB-ID 0x185 PDO-msg AB 90 FF 3F 00 00 00 00 The first two bytes are assigned to the value 0x90AB for the DI0~DI15 of the I-8053. The 3rd and 4th bytes are assigned to the value 0xFFFF for the AI0 of the I-87017.
  • Page 143: Emcy Communication Set

    5.3 EMCY Communication Set 5.3.1 EMCY COB-ID Parameter The EMCY COB-ID is similar to the PDO COB-ID. It can be a default value or can be the value 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.
  • Page 144: Emcy Communication

    5.3.2 EMCY Communication The EMCY message is triggered when some internal error occurs. After the transmission of one EMCY message, the object with index 0x1003 will record this EMCY event. Therefore, users can track the error’s occurrences. The CAN-8x23 supports the maximum of 5 records stored in the index 0x1003 object.
  • Page 145 Meaning generic error current voltage temperature communication error (overrun, error state) device profile specific reserved (always 0) manufacturer specific The emergency error codes and the error register are specified in the following table. Emergency Error Manufacturer Specific Error Description Error Code Register Field High...
  • Page 146 EMCY Communication Example Before starting the example, CAN-8423 with I-8057, I-8053, I-8024 and I-87017 slot module are needed. Here, the same hardware configuration shown in the PDO example is used for the EMCY communication. Step 1. In order to generate the emergency event, it’s necessary to send the data to RxPDO1 with data length 1.
  • Page 147 Step 3. After recognizing the 0x1003 object with sub-index 01, users will get emergency error codes of the emergency object data recording in this object. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 03 10 01 Step 4.
  • Page 148 Step 6. The communication and generic errors on the error register are indicated in the received message. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 01 10 00 11 00 00 00 Step 7.
  • Page 149 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length NMT slaver NMT master (CAN-8x23) EMCY-msg 00 00 00 00 00 00 00 00 The data “00 00 00 00 00 00 00 00” are for the error reset EMCY message, i.e.
  • Page 150 Step 10. Users have to check the index 0x1003 with sub-index 02. Then, the received emergency error code had been recorded in the emergency object data. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 03 10 02...
  • Page 151 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server SDO client (CAN-8x23) 01 10 00 00 00 00 00 CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 152: Nmt Communication Set

    5.4 NMT Communication Set 5.4.1 Module Control Protocol The NMT communication set can be applied for changing the NMT slave status. The following figure shows how to change the different NMT statuses for the CAN-8x23. Start Remote Node Protocol : NMT command specified 1: start Node ID : the node ID of the NMT slave device...
  • Page 153 Enter Pre-Operational Protocol : NMT command specified 128: enter PRE-OPERATIONAL Node ID : the node ID of the NMT slave device Reset Node Protocol : NMT command specified 129: Reset_Node Node ID : the node ID of the NMT slave device Reset Communication Protocol CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 154 : NMT command specified 130: Reset_Communication Node ID : the node ID of the NMT slave device Module Control Protocol Example If the CAN-8423 node ID is set to 5 as an example, the following steps would be… Step1. Turn off the CAN-8423. Step2.
  • Page 155: Error Control Protocol

    5.4.2 Error Control Protocol Error Control Protocol is a kind of the solution to check whether the CANopen device is still alive or not. And its related objects include 0x100C and 0x100D. The 0x100C is the guard time, and the 0x100D is the life time factor. The node life time is the guard time multiplied by the life time factor.
  • Page 156 Error Control Protocol Example The default EMCY function code and the node ID 1 for the CAN-8423 are used as an example on the error control protocol. The steps will be as follows. Step 1. Turn off the CAN-8423. Then, turn it on. The CAN-8423 will be in the pre_operational state.
  • Page 157 Step 4. Users can set the life-time factor value to 4. This value will be stored in the index 0x100D with sub-index 00. Then, the ending message from CAN-8423 will be received. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length SDO server...
  • Page 158 Step 5. Users can send the node guarding protocol to start the mechanism of the node guard. The life time here is equal to 1000 ms (guard time * life time factor =250*4=1000), 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length...
  • Page 159 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length EMCY EMCY producer consumer (CAN-8x23) EMCY-msg 30 81 11 07 00 00 00 00 The first two bytes “30 81” are for the emergency error code. The 3rd byte “11” is for the error register. The last five bytes “07 00 00 00 00”...
  • Page 160: Special Functions For Can-8X23

    5.5 Special Functions for CAN-8x23 Analog Modules Input/Output range Entry The CAN-8x23 Manufacturer in the Specific Profile Area defines some entries, which are useful for the analog input/output range. On the other hand, the object with index 0x2004~0x200B will map to the input/output range for the slot 0 to 8, and the entry is dynamic.
  • Page 161 about the input/output range of different analog I/O modules. In the following paragraph, a simple example will be given. Please note that the hardware and wire connection are the same as the situation used in the PDO example. Step1: Users can send the NMT message to set the NMT operational state on the CAN-8423.
  • Page 162 Step 3. The CAN-8423 will reply with the output range. For example, when the I-8024 is under the default situation, and the value is 0, the output range of the I-8024 AO channel 0 will be -10V~+10V. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code...
  • Page 163 Step 5. The CAN-8423 will reply with the input range. For example when the I-87017 is under the default situation, and the value is 0, the input range of the I-87017 AI channel 0 is -10V~+10V. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID...
  • Page 164 Step 6. In order to output 7V to the AO0 of the I-8024, users must send the PDO message by using the 2nd RxPDO. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO consumer producer (CAN-8x23) COB-ID 0x301 PDO-msg...
  • Page 165 Step 8. The feedback value for AI is 6.992V. 11-bit COB-ID (bit) Data 8-byte Data (byte) Func Code Node ID Length PDO consumer consumer (CAN-8x23) COB-ID 0x281 PDO-msg 80 59 FD FF FD FF FD FF The feedback AI0 value is 0x5980. Users have to transfer this value to be a float one with the input range from -10V to +10V, and a hex one with the input range from 0x8000 (-32768) to 0x7FFF (32767).
  • Page 166 Step 9. Users can send the Rx SDO message to the CAN-8423 to access the object entry with index 0x1400 and sub-index 02 stored in the communication profile area. Here, users can also change the value of this object entry to 5. For example, the node ID for the CAN-8423 is set to 1.
  • Page 167 Step 11. Although the AI input value has been changed according the AO value, the RxPDO will not automatically reply in the CAN-8423. Therefore, users have to use the RTR message from the 2nd TxPDO to read back the AI value. 11-bit COB-ID (bit) Data 8-byte Data (byte)
  • Page 168: Object Dictionary Of Can-8X23

    1005h COB-ID of Sync message UNS IGNED 32 1008h manufacturer device name VISIB LE_S TRING CAN-8123/ CAN-8223/ CAN-8423/ CAN-8823/ 1009h manufacturer hardware version VISIB LE_S TRING 100A h manufacturer software version VISIB LE_S TRING 100Ch guard time UNS IGNED 16...
  • Page 169 1010h largest sub-index supported for UNS IGNED 8 “store parameters ” Save all parameter UNS IGNED 32 Save communication parameter UNS IGNED 32 Save application parameter UNS IGNED 32 1011h largest sub-index supported for UNS IGNED 8 “restore parameters” Restore all default parameters UNS IGNED 32 Restore communic ation default UNS IGNED 32...
  • Page 170 SYNC. Bit Number Value Meaning 31 (MSB) do not care Device does not generate SYNC message Device generates SYNC message 11-bit ID (CA N 2.0A) 29-bit ID (CA N 2.0B) 28-11 If bit 29=0 If bit 29=1: 28-11 bits of 29-bit COB -ID 10-0 (LSB ) 10-0 bits of COB-ID The CA N-8x23 doesn’t support the SYNC generation, therefore 29-bit ID, bit 30 and bit...
  • Page 171 SDO Communication Entries Sidx Description Ty pe Attr Default 1200h largest sub-index supported for UNS IGNED 8 “server SDO parameter” COB-ID form client to server UNS IGNED 32 600h+Node-ID (RxSDO) COB-ID form server to client UNS IGNED 32 580h+Node-ID (TxSDO) RxPDO Communication Entries Sidx Description...
  • Page 172 transmission type UNS IGNED 8 RxPDO Mapping Communication Entries Sidx Description Ty pe Attr Default 1600h largest sub-index supported for UNS IGNED 8 “receive P DO mapping” write digital output 1h to 8h UNS IGNED 8 6200 0108h write digital output 9h to 10h UNS IGNED 8 6200 0208h write digital output 11h to 18h...
  • Page 173 161Fh largest sub-index supported for UNS IGNED 8 “receive P DO mapping” TxPDO Communication Entries Sidx Description Ty pe Attr Default 1800h largest sub-index supported for UNS IGNED 8 “receive P DO parameter” COB-ID used by PDO (Tx) UNS IGNED 32 180h+Node-ID transmission type UNS IGNED 8...
  • Page 174 reversed event timer UNS IGNED 16 1804h largest sub-index supported for UNS IGNED 8 “receive P DO parameter” COB-ID used by PDO (Tx) UNS IGNED 32 80000000h transmission type UNS IGNED 8 inhibit time UNS IGNED 16 reversed event timer UNS IGNED 16 181Fh largest sub-index supported for...
  • Page 175: Manufacturer Specific Profile Area

    read analog input 3h UNS IGNED 16 6401 0310h read analog input 4h UNS IGNED 16 6401 0410h 1A02h largest sub-index supported for UNS IGNED 8 “transmit PDO mapping” read analog input 5h UNS IGNED 16 6401 0510h read analog input 6h UNS IGNED 16 6401 0610h read analog input 7h...
  • Page 176 2004h largest sub-index supported for UNS IGNED 8 According to “Analog Modules Input/Out put AI/AO channel Range Cont rol” number in the slot 0 module Input/Output range of the AI/AO UNS IGNED 8 channel 0 2005h largest sub-index supported for UNS IGNED 8 According to “Analog Modules Input/Out put...
  • Page 177: Standardized Device Profile Area

    2: 0x8000  0x7FFF 6.3 Standardized Device Profile Area When the CAN-8x23 is powered on, all of device profile entries are automatically generated by the firmware built inside the CAN-8x23. These device entries will match the channel types and numbers of the slot modules inserted into the CAN-8x23.
  • Page 178 Note: When the bus-off is detected or t he node guarding fails, the CA N-8x23 will check the value of the object with index 0x6206. If the bit of this value is set to 1, the CA N-8x23 will output the error mode digital output value to the corresponding DO channel.
  • Page 179 Note: 1. Because the CAN-8x23 only supports the hex format, all AI channels have to transfer to the hex format when storing into this object. The trans formation equation is shown below.      HexValue    ...
  • Page 180 error value analog output 1h UNS IGNED 16 Note: 1. Because the CA N-8x23 does n’t support float format, users have to transfer the AO value from the float format to hex format. It is similar to the AI situation. The transformation equation is as follows.
  • Page 181: Object Of Counter/Frequency Modules

    6.4 Object of Counter/Frequency Modules (Only for I-8080 and I-8084W) S-idx Description Ty pe Attr PDO mapping Default 3000h largest sub-index supported for UNS IGNED 8 “read counter / frequency 32-bit ” Read counter / frequency with ch1 UNS IGNED 32 3001h largest sub-index supported for UNS IGNED 8...
  • Page 182 Owing to the configuration of object index 0x3000 to 0x3007, you may parameterize the counter modules. The object index 0x3000 records the counter value of each channel. Each sub-index is corresponding to each channel. Users can use object index 0x2004~2007 to decide the counting method. Please refer to the appendix A for more detail information.
  • Page 183: Object Of Pwm Module (Only For I-8088W)

    6.5 Object of PWM Module (Only for I-8088W) S-idx Description Ty pe Attr PDO mapping Default 3100h largest sub-index supported for UNS IGNED 8 “start to output pulse” Start to output pulse with ch1 UNS IGNED 8 largest sub-index supported for “set 3101h UNS IGNED 8 burst count 16-bit ”...
  • Page 184 Owing to the configuration of object index 0x3100 to 0x3106, you may parameterize the PWM modules. The object index 0x3100 can control the module to start or stop the pulse output of each channel. Each sub-index is corresponding to each channel. Users can use object index 0x2004~2007 to decide the PWM method of each slot.
  • Page 185: Appendix A: Type Code Table

    Appendix A: Type Code Table In order to look up the configuration parameters of each slot module more quickly, the transformation table has separated into several parts according to the name of slot module. They are given below. I-87K module I-8K module I-87013 I-8017HS/I-8017HW...
  • Page 186 I-87013/ I-87015 RTD Type Definition Back to table Range Code RTD Type Data Format Max Value Min Value (Hex) +100.00℃ -100.00℃ Input Range Platinum 100 2's complement (default) a = 0.00385 7FFF 8000 +100.00℃ +000.00℃ Input Range Platinum 100 2's complement a = 0.00385 7FFF 0000...
  • Page 187 +100.00℃ +000.00℃ Input Range Nickel 120 2's complement 7FFF 0000 +600.00℃ -200.00℃ Input Range Platinum 1000 2's complement a = 0.00385 7FFF D556 +150.00℃ -020.00℃ Input Range Cu 100 2's complement a = 0.00421 7FFF EEEF +200.00℃ -000.00℃ Input Range Cu 100 2's complement a = 0.00421...
  • Page 188 I-87017 Series Type 08 to 0D Definition ( not for I-87017RC ) Back to table Range Code Negative Input Range Data Format Full Scale (Hex) Full Scale Input Range +10.000 V -10.000 V -10V to +10V (default) 2's Complement HEX 7FFF 8000 Input Range...
  • Page 189 I-87017RC Type 07 to 1A Definition Back to table Range Code Negative Input Range Data Format Full Scale (Hex) Full Scale Input Range +04.000 mA +20.000 mA -4mA to +20mA 2's Complement HEX 7FFF 8000 Input Range +20.000 mA -20.000 mA -20mA to +20mA (default) 2's Complement HEX...
  • Page 190 I-87018 Series Type 00 to 06 Definition Back to table Range Code Negative Input Range Data Format Full Scale (Hex) Full Scale Input Range +15.000 mV -15.000 mV -15mV to +15mV 2's Complement HEX 7FFF 8000 Input Range +50.000 mV -50.000 mV -50mV to +50mV 2's Complement HEX...
  • Page 191 I-87019R Type 00 to 19 Definition Back to table Range Negative Input Range Data Format Full Scale Code (Hex) Full Scale Input Range +15.000 mV -15.000 mV -15mV to +15mV 2's Complement HEX 7FFF 8000 Input Range +50.000 mV -50.000 mV -50mV to +50mV 2's Complement HEX 7FFF...
  • Page 192 Input Range +500.00 mV -500.00 mV -500mV to +500mV 2's Complement HEX 7FFF 8000 Input Range +150.00 mV -150.00 mV -150mV to +150mV 2's Complement HEX 7FFF 8000 Input Range +20.000 mA -20.000 mA -20mA to +20mA with 125Ω resistor 2's Complement HEX 7FFF 8000...
  • Page 193 I-87018/ 87018R/ 87019R Thermocouple Type Definition Back to table Range Code Thermocouple Data Format Max Value Min Value (Hex) Type +760.00℃ -210.00℃ Input Range J Type 2's Complement HEX 7FFF DCA2 +1372.0℃ -0270.0℃ Input Range K Type 2's Complement HEX 7FFF E6D0 +400.00℃...
  • Page 194 I-87022 Analog Output Type Definition Back to table Range Code Output Range Data Format Max Value Min Value (Hex) Input Range 20.000 mA 00.000 mA 0 to 20mA Hexadecimal Input Range 20.000 mA 04.000 mA 4 to 20mA Hexadecimal Input Range 10.000 V 00.000 V 0 to 10V...
  • Page 195 I-87026 Analog Output Type Definition Back to table Range Code Output Range Data Format Max Value Min Value (Hex) Output Range 20.000 mA 00.000 mA 0 to 20mA Hexadecimal FFFF 0000 Output Range 20.000 mA 04.000 mA 4 to 20mA Hexadecimal FFFF 0000...
  • Page 196 I-8017HS/I-8017HW Analog Input Type Definition Back to table Range Code Output Range Data Format Max Value Min Value (Hex) Input Range +10.000 V -10.000 V -10 to 10V (default) Hexadecimal 1FFF 2000 Input Range +5.000 V -5.000 V -5 to 5V Hexadecimal 1FFF 2000...
  • Page 197 I-8088W PWM Output Type Definition Back to table Range Code Channel Counter Type Max Value Min Value (Hex) number 65535 Burst Counter FFFF Continue Counter (default) CAN-8x23 user’s manual (Revision 3.20, Mar/08/2012) ------...
  • Page 198: Appendix B: Dio Type Define Of I-8050 Modules

    Appendix B: DIO Type Define of I-8050 Modules I-8050 is a selectable 16-channel DIO module. User can decide which channel will be DI and which channel will be DO. In CAN-8x23, users can achieve this purpose by setting the type code in the object index 0x2004~0x2007. The object index 0x2004, 0x2005, 0x2006 and 0x2007 are for the module plugged in slot 0, slot 1, slot 2 and slot 3 respectively.

Table of Contents