CANopen是一种基于CAN的应用层协议,是作为标准化的嵌入式网络而开发的,具有高度灵活的配置能力,CANopen专为面向运动的机器控制网络而设计的,例如搬运系统,目前它被广泛应用于医疗设备、越野车、航海电子、公共交通、楼宇自动化等众多领域。
CANopen规范涵盖应用层和通讯架构,以及可编程设备的框架、建议的通讯线、连接器、SI单位和前缀的表示,其中应用层以及基于CAN的框架是透过软件来实现。
CANopen特性:
- 允许在一个总线网络上使用多主端架构
- 10k,20k,50k,125k,250k,500k,800k,1M bps波特率
- 总线长度从25m(1M bps)到5Km(10K bps)
- 轻松访问所有设备参数
- 支持设备同步
- 支持循环和事件驱动的数据传输
- 在一个CAN网络上最多可以同时有128个节点
- 传输速度高
- 支持节点守护(Node Guarding)和心跳(Heartbeat)保护机制
CANopen通讯:
初始化 | 预操作 | 操作 | 停止 | |
---|---|---|---|---|
PDO | X | |||
SDO | X | X | ||
同步对象 | X | X | ||
时间戳对象 | X | X | ||
紧急对象 | X | X | ||
启动对象 | X | |||
网络管理对象 | X | X | X |
CANopen状态转换:


轻量级设备监控:


CANopen提供了两种网络保护机制,节点守护(Node Guarding)和心跳(Heartbeat),对于节点守护(Node Guarding),主站会发送检查从站状态的请求,如果某个从站不回应这个请求,主站会显示他们为节点守护失败(Node Guarding Fail)状态,对于心跳(Heartbeat),这些从站会向主站发送心跳讯息,让主站知道这些从站还活着,如果主站没有检测到某个从站的心跳,那么主站会显示他为心跳失败(Heartbeat Fail)状态。
CANopen数字I/O连接对

CAN-2000与CAN-8000系列模块是为了将传感器和致动器并入CANopen或DeviceNet网络所设计,两者皆提供与CANopen或DeviceNet主站接口通讯标准相应的EDS文件档,CAN-2000与CAN-8000系列最大的差异在于产品的尺寸以及I/O的延伸距离,CAN-2000系列为掌上型尺寸的独立从站设备;CAN-8000系列则适用于集中控制系统,提供1/2/4/8个插槽灵活使用适当的 I/O设备以满足应用系统的需求,所有的插槽均具备热插入功能,您可以选用I-8000/I-87K系列的I/O模块来扩展I/O通道。
CANopen: CAN-8x23, CAN-2xxxC
CANopen系列共同特点:
- 在一个CAN网络上最多可以同时有128个节点
- CANopen 版本:DS-301 v4.01
- 设备配置文件:DSP-401 v2.0
- 错误控制 (NMT Error Control):节点保护协议与心跳机制协议
- 支持紧急信息 (EMCY)
- CAN端有 2500Vrms 光电耦合隔离
- 内建CAN总线120Ω终端电阻的跳线或指拨开关
- 内建看门狗机制
|
||||||||
多功能输入输出模块
|
||||||||
产品型号 | 模拟输入 | 模拟输出 | 数字输入 | 数字输出 | ||||
---|---|---|---|---|---|---|---|---|
通道数 | 范围 | 通道数 | 范围 | 通道数 | 类型 | 通道数 | 类型 | |
CAN-2026C
|
6 | ±10 V, ±5 V, ±1 V, ±500 mV, ±150 mV, ±20 mA (with external 125 Ω resistor) |
2 | 0 ~ +5 V, ±5 V, 0 ~ +10 V, ±10 V |
2 |
Wet, Sink
|
1 | Open Collector, CAN-2026D DeviceNet Sink |
CAN-2022C
|
2 | ±10V, ±5V, ±2.5V, ±1.25V, ±1V, ±500mV, ±250mV | 2 | 0 ~+5V, +/-5V, 0~+10V,+/-10V |
4 | Wet contact (Sink) | 4 | Isolated Open Collector (Sink) |
|
|||||
模拟输入、输出模块
|
|||||
产品型号 | 模拟输入 | 模拟输出 | |||
---|---|---|---|---|---|
通道数 | 范围 | 传感器类型 | 通道数 | 范围 | |
CAN-2015C
|
8 | - | RTD (Pt100, Pt1000, Ni120, Cu100, Cu1000, Pt100) | - | - |
CAN-2017C
|
8 | ±10 V, ±5 V, ±1 V, ±500 mV, ±150 mV, ±20 mA (with external 125 Ω resistor) |
- | - | - |
CAN-2018C/S
|
8 | ±2.5 V, ±1 V, ±500 mV, ±100 mV, ±50 mV, ±15 mV, ±20 mA (with external 125 Ω resistor) |
Thermocouple (J, K, T, E. R. S, B, N, C) |
- |
- |
CAN-2019C/S
|
10 | ±10 V, ±5 V, ±2.5 V, ±2 V, ±500 mV, ±100 mV, ±50 mV, ±15 mV, ±20 mA (with external 125 Ω resistor) |
Thermocouple (J, K, T, E. R. S, B, N, C) |
- | - |
CAN-2019C/S2
|
|||||
CAN-2024C
|
- | - | - | 4 | 0 ~ +5 V, ±5 V, 0 ~ +10 V, ±10 V, 0 ~ 20 mA, 4 ~ 20 mA |
|
|
远程I/O扩展单元
|
|
产品型号 | 描述 |
---|---|
CAN-8123-G
|
CANopen 从站, 1x 槽扩展单元 |
CAN-8223-G
|
CANopen 从站, 2x 槽扩展单元 |
CAN-8423-G
|
CANopen 从站, 4x 槽扩展单元 |
CAN-8823-G
|
CANopen 从站, 8x 槽扩展单元 |
|
模块支持
类型 | I-8K 系列 I/O | I-87K系列I/O | 类型 | I-8K 系列 I/O | I-87K系列I/O | ||||
---|---|---|---|---|---|---|---|---|---|
高卡 | 低卡 | 高卡 | 低卡 | 高卡 | 低卡 | 高卡 | 低卡 | ||
AI模块 | I-8014W | DI模块 | I-8040W | I-8040 | I-87040W | I-87040 | |||
I-8014CW | I-87005W | I-8040PW | I-87040PW | ||||||
I-8017HS | I-8017H | I-87013W | I-87013 | I-8040W-A1 | |||||
I-8017HW | I-8046W | I-87046W | |||||||
I-8017DW | I-87015W | I-8048W | I-8048 | I-87051W | I-87051 | ||||
I-8017HCW | I-87015PW | I-8051W | I-8051 | I-87052W | I-87052 | ||||
I-87016W | I-8052W | I-8052 | I-87053W | I-87053 | |||||
I-87017W | I-87017 | I-8053W | I-8053 | I-87053PW | |||||
I-87017W-A5 | I-8053PW | I-87053W-A5 | |||||||
I-87017W-RMS | I-8053W-A1 | I-87053W-A2 | |||||||
I-87017RCW | I-8058W | I-8058 | I-87053W-AC1 | ||||||
I-87017DW | I-87053W-E5 | ||||||||
I-87017ZW | I-87058W | I-87058 | |||||||
I-87017RW | I-87059W | ||||||||
I-87018W | I-87018 | ||||||||
I-87018PW | AO模块 | I-8024W | I-8024 | I-87024RW | I-87022 | ||||
I-87018RW | I-8024UW | I-87024W | I-87024 | ||||||
I-87018ZW | I-8028UW | I-87024DW | I-87026 | ||||||
I-87019RW | I-8026W | I-87024UW | |||||||
I-87019PW | I-87028UW | ||||||||
I-87019ZW | I-87028VW | ||||||||
DO模块 | I-8037W | I-8037 | I-87037W | I-87028VW-20V | |||||
I-8041W | I-8041 | I-87041W | I-87041 | I-87028CDW | |||||
I-8041PW | I-87041PW | ||||||||
I-8041AW | I-87057W | I-87057 | |||||||
I-87057PW | DI & DO模块 | I-8042W | I-8042 | I-87054W | I-87054 | ||||
I-8056W | I-8056 | I-87061W | |||||||
I-87061PW | I-8050W | I-8050 | I-87055W | I-87055 | |||||
I-8057W | I-8057 | I-87064W | I-87064 | ||||||
I-8057PW | I-8054W | I-8054 | I-87063W | I-87063 | |||||
I-8060W | I-8060 | I-87065W | I-87065 | I-8055W | I-8055 | ||||
I-8064W | I-8064 | I-87066W | I-87066 | I-8063W | I-8063 | ||||
I-8065 | I-87068W | I-87068 | |||||||
I-87068W-2A | I-8077 | ||||||||
I-8066 | I-87069W | I-87069 | |||||||
I-8068W | I-8068 | I-87069PW | 计数器模块 | I-8084W | I-8080 | ||||
I-8069W | I-8069 | PWM模块 | I-8088W |
|
||
型号 | CANopen网关系列 | |
---|---|---|
产品名称 | I-7232D-G
|
GW-7433D
|
产品描述 | CANopen从站转Modbus RTU主站的网关 | Modbus RTU/TCP从站转CANopen主站网关 |
CANopen Interface | ||
CANopen Interface | 1 channel (CAN_H, CAN_L), and the other is for bypass | |
CANopen Function | CANopen slave | CANopen master (Supports at least 120 CANopen commands) |
CANopen Baud Rate | 10 k, 20 k, 50 k, 125 k , 250 kbps , 500 k, 800 k, 1M | |
CANopen Version | CiA 301 v 4.02 and CiA 401 v2.01 | |
Guarding Function | Yes | |
Heartbeat Function | Heartbeat Producer | Heartbeat Consumer |
Emergency Message | Yes | - |
UART Interface | ||
COM1 Connector | RS-232 (TxD, RxD, RTS, CTS, GND) or RS-485 (Data+, Data-), Non-isolated | RS-232 (TxD, RxD, RTS, CTS, GND), Non-isolated |
COM1 Function | Only for configuration | Modbus RTU Slave |
COM2 Connector | RS-485 (Data+, Data-) with internal Self-Tuner ASIC; Non-isolated | |
COM2 Function | Modbus RTU Master (Supports Max. 10 Modbus RTU ommands) |
Modbus RTU Slave |
Ethernet Interface | ||
Ethernet | - | 10/100 Base-TX |
Ethernet Function | - | Configuration or Modbus TCP Server |
Modbus Function Code | 01, 02, 03, 04, 06, 15 | 01, 02, 03, 04, 05, 06, 15,16 |
CANopen主站系列是用于PAC的I-8123W与I-87123 和用于PC上的PISO-CPM100,该系列内部有CANopen主内核,因此它们可用于高性能系统。我们也有提供带有CANopen主站函数库的PISO-CAN卡做为比较低成本的解决方案。
|
|
CANopen主站选型指南
|
|
产品名称 | 描述 |
---|---|
PISO-CPM100-D
|
单通道智能型CANopen主站PCI板卡(D-Sub 9针公座) |
PISO-CPM100-T
|
单通道智能型CANopen主站PCI板卡(5针螺丝端子) |
PISO-CPM100U-D
|
单通道智能型CANopen主站Universal PCI板卡(D-Sub 9针公座) |
PISO-CPM100U-T
|
单通道智能型CANopen主站Universal PCI板卡(5针螺丝端子) |
PEX-CPM100-D
|
单通道智能型CANopen主站PCI Express板卡(D-Sub 9针公座) |
PEX-CPM100-T
|
单通道智能型CANopen主站PCI Express板卡(5针螺丝端子) |
I-8123W-G
|
高速单通道智能型CANopen主站模块 |
I-9123
|
高速单通道智能型CANopen主站模块 |
I-8123W-CPS-G
|
高速单通道智能型CANopen从站模块 |
I-87123-G
|
单通道智能型CANopen主站模块 |
I-7565-CPM-G
|
USB转CANopen主站的转换器 |
CANopen Master Series:
产品名称 | I-7565-CPM | PISO-CPM100(U) | PEX-CPM100 | PISO-CAN 200/400(U) | PEX-CAN200i | I-8123W | I-9123 | I-87123 | |
---|---|---|---|---|---|---|---|---|---|
硬件 | On board CPU | 16-bit CPU 80M Hz |
16-bit CPU 80M Hz |
None | None | 16-bit CPU 80M Hz |
16-bit CPU 80M Hz |
||
Interface | USB | 5 V / 3.3 V PCI bus | x1 PCI Express bus | 5 V / 3.3 V PCI bus |
x1 PCI Express bus | I-8K Slot | I-9K Slot | I-87K Slot (WinPAC,ViewPAC) | |
CAN Connector | 9-pin D-Sub | 5-pin screw terminal 9-pin D-Sub |
5-pin screw terminal 9-pin D-Sub |
5-pin screw terminal 9-pin D-Sub |
5-pin screw terminal | 5-pin screw terminal | |||
CAN Controller | SJA1000 | ||||||||
CAN Transceiver | 82C250 | ||||||||
Isolation on CAN | 2500 Vrms | ||||||||
Terminal Resistor | Selected by jumper(120Ω) | ||||||||
CANopen | Protocol Specification | CANopen Standard -- CiA Draft Standard 301 | |||||||
Baud Rate Selection | Programmable | ||||||||
Baud Rate | 10 kbps, 20 kbps, 50 kbps, 125 kbps , 250 kbps , 500 kbps, 800 kbps, 1000 kbps | ||||||||
Maximum Slave nodes | 127 Nodes | ||||||||
PDO Function | Support dynamic PDO function | ||||||||
PDO Object | Provide 20 RxPDO and 20 TxPDO object | ||||||||
EMCY Message | Save the least EMCY | ||||||||
SDO Protocol | Support Expedited SDO and Segment SDO protocol | ||||||||
On Line Edit Nodes | Support adding or removing devices on line | ||||||||
NMTError Control | Support Node Guarding Event | ||||||||
驱动程序 | DLL | Support | |||||||
OS Version | Win 2K/XP | Windows XP/7/8/10 (32-bit/64-bit OS) | Win CE 6/7, WES7 | Win CE 5/6 | |||||
Development Tool | Visual C++ 6 , Visual Basic 6 , Borland C++ Builder , Delphi | VS .NET | eVC++ 4 , VS .NET |
PISO-CAN 200/400-D/T的比较
硬件比较:
PISO-CPM100与PISO-CAN 200/400-D/T的效能测试
产品名称 | PISO-CPM100 | PISO-CAN-200/400 with CANopen Library |
---|---|---|
Protocol decoder | 186 CPU | PC CPU |
Time stamp | 186 Timer (0.1 ms) | PC Timer (about 1 ms) |
CPU Loading | Light | Heavy |
Performance | High | Normal |
Application | Various and complex CANopen application | General purpose CANopen application |
测试环境:
操作系统:Microsoft Windows XP Professional Version 2002 Service Pack 2
RAM:512 MB
CAN传输速率:1000 bps
Test result:
Function | PISO-CPM100 (ms) | PISO-CAN200/400 with CANopen library (ms) |
---|---|---|
Add Node | Average 45.502 | 1265 ~ 1280 |
Read 4 bytes data by SDO | Average 2.487 | 19.37 ~ 19.47 |
Read 9 bytes data by SDO | Average 2.971 | 58.21 ~ 58.61 |
Write 4 bytes data by SDO | Average 2.479 | 18.81 ~ 19.69 |
Read 8 bytes data by PDO | Average 2.355 | 16.49 ~ 16.57 |
Write 8 bytes data by PDO | Average 1.738 | 0.13 |
注1:
上表数据为1000笔讯息的平均值
注2:
如果使用PISO-CAN200/400搭配CANopen 函数库中的Guarding功能,当从站较多且Guarding时间较短时会产生Guard错误事件。 这是因为windows 的定时器不够准确的缘故。
I-8123W / PISO-CPM100U现已提供运动控制的函数库,此函数库遵循CiA 402的规范,可在ViewPAC / WinPAC / XPAC平台上使用。CiA 402是一个标准的CANopen应用规范,专门用于运动控制系统,为了使CANopen的马达方便管理,这个通讯协议可以减少控制器与马达间的接线并提供快速除错的功能,使用I-8123W / PISO-CMP100U和CANopen 运动控制函数库,可以进行多种运动控制,如位置控制、速度控制、转矩控制( toque control)以及同动,而不需要去了解复杂的CANopen通讯协议。CANopen 运动控制函数库可以连接多个CANopen马达,因此可以做到由一个主站进行多轴的运动控制,当在控制马达的时候,用户也可以同时使用I-8123W / PISO-CPM100U的API来存取遵循CiA 401规范的CANopen远程 I/O设备,因此建立一个运动控制的应用系统将变得更为容易且方便。
特色:
- 与CiA 402 v1.1相容
- 减少50% 的布线成本
- 网络物理层的容错与抗噪声
- 一个网络最多支持127个马达
- 绝对与相对位置控制
- 速度控制
- 转矩控制 (Torque control)
- 点动控制 (JOG control)
- 支援最多127个马达同动
- 多种归位控制(Various Homing control)
- 支持CANopen 命令来限制转矩(torque)
- 支持 Win 2000/XP/Vista 或 Win 7(32-bit 版本)
