比特率(传送速率)对总线负载有着直接影响。增加一倍的数据传送速率将会减少总线运行传送时间50%,总线负载也会降低50%(二者并非线性关系)。但是,用户不能任意选择传送比特率,因为它还受到电缆的类型和它的长度限制。
电缆类型 Schneider Electric 提供以下类型的电缆:
• TSXCANCAxxx (CE 认证,为欧洲市场设计)
• TSXCANCBxxx (UL 认证,为美国市场设计)
• TSXCANCDxxx (为重载设计,例如:拖链系统)
Signal 信号 Colour 颜色 Diameter 直径
CAN_H white 0.25 mm² (AWG24)
CAN_L blue 0.25 mm² (AWG24)
CAN_GND, V+ black 0.34 mm² (AWG22)
V+ red 0.34 mm² (AWG22)
电缆最大长度 下面列举了上述电缆长度和比特率的关系:
比特率 【kBit/s】 1000 800 500 250 125 50 20 10
最大长度 20 m 40 m 100m 250m 500m 1000m 2500m 5000m
CANopen手册经常提到在1Mbit/s的情况下通信距离可以达到40米。实际上,这个数据没有把总线与设备的接口的电气绝缘考虑进去。施耐德的标准电缆产品考虑了这一点,理论计算出来的最大距离为4米。
现场实际测试表明:如果没有支路和其他不良影响,在1Mbit/s的情况下通信距离可以达到20米。
最大支线电缆长度 CANopen网络允许支线连接结构。这要通过挂在主线上的分支器(TAP)来连接。下面列举了TAP在总线上分布的最小间距:
Bit rate 【kBit/s】 1000 800 500 250 125 50 20 10
分支长度 0.3 m 3 m 5 m 5 m 5 m 60 m 150 m 300 m
每个TAP上分支总长度 0.6 m 6 m 10 m 10 m 10 m 120 m 300 m 600 m
TAP最小间距* 3.6 m 6 m 6 m 6 m 72 m 180 m 360 m
总长度 1.5 m 15 m 30 m 60 m 120m 300m 750m 1500m
* 可以通过每个TAP上分支总长来计算得到:TAP最小间距= 60% ×每个TAP上分支总长度
单位时间内发送的PDO的数量
单位时间内发送的PDO数量取决于以下因素:
• 总线上配置的PDO的总数量
• 每个PDO发送的频率(取决于传输类型)
总线上配置的PDO数量是所有总线上设备的TPDO和RPDO的数量总和。每个设备发送PDO的触发器取决于传输类型,传输类型决定了传输的频率。
这两个因素决定了总线负载的大小,但是要综合考虑。恰当的数值可以使得总线性能得到最大优化。
一个模拟量数值(PDO为2byte)每5ms通过250Kbit/s的速率传送将会产生5.8%(200×0.29/10)的总线负载。更敏感的数值(如:温度或者水位测量)100ms传输一次仅增加0.29%(10×0.29/10)的总线负载。
用户数据长度
CAN的报文包含8byte的用户数据(PDU=过程数据单元)与44bit的报头。实际的负载数据在上述“CAN报文传输负载”表格中列出。
表中数据表明:8byte的PDO用户数据引起的总线负载仅仅是2byte的PDO用户数据引起总线负载的2倍。CANopen具有PDO数据主导取代设备主导的优点在这里清楚的显示出来,这一特点在减轻总线负载上有着积极作用。
数据主导的意思是:摈弃了在单个报文中一下子传输所有的设备数据的方式(如Profibus方式),而是把设备数据分成几个PDO甚至是PDO的子数据,这些PDO可以以不同的速率或者频率发送。
传输类型的选择
一般陈述 传输类型(TT)定义了CANopen设备何时可以发送它的数据。传输类型可以是同步的(synchronous)、当数据改变后(after data change)、或者远程请求时(remote request)、自定义的传输类型(user-specified)等,本文不考虑自定义的传输类型。
• 同步传输(synchronous):CANopen总线设备仅仅当接收到一个或者多个同步报文以后才发送。
• 数据改变后传输(after data change):当PDO的数据区有某一个位bit改变时,设备开始发送数据。该传输类型还有其他参数:抑制时间,事件触发时间。这些参数定义了