设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
控制专题
›
『数控/电机控制/运动控制/工业总线』
›
CANopen轻松入门六
返回列表
发新帖
CANopen轻松入门六
[复制链接]
74642
|
0
|
2024-1-15 16:14:16
|
显示全部楼层
|
阅读模式
1、特殊协议(Specialprotocols)
为了方便CANopen主站对从站管理。在CANopen协议中,已经为特殊的功能预定义了COB-ID,其主要有以下几种特殊报文。
1.同步协议(Syncprotocol)
同步(SYNC),该报文对象主要实现整个网络的同步传输,如图所示,就像阅兵分列式上的方阵,所有士兵迈着整齐的步伐行进。
1同步协议与阅兵分列式
每个节点都以该同步报文作为PDO触发参数,因此该同步报文的COB-ID 具有比较高的优先级以及最短的传输时间。一般选用80h作为同步报文的CAN-ID。
2同步报文
一般同步报文由NMT主机发出,CAN报文的数据为0字节。但如果一个网络内有2个同步机制,就需要设置不同的同步节拍,比如某些节点按1个同步帧发送1次PDO,其他的节点收到2个同步帧才发送1此PDO,所以这里PDO参数中的同步起始值就起了作用。
在同步协议中,有2个约束条件:
同步窗口时间:索引1007h约束了同步帧发送后,从节点发送PDO的时效,即在这个时间内发送的PDO才有效,超过时间的PDO将被丢弃
通讯循环周期:索引1006h规定了同步帧的循环周期
2.时间戳协议(Time-stamp protocol)
时间标记对象(Time Stamp),NMT主机发送自身的时钟,为网络各个节点提供公共的时间参考,即网络对时,如图 9.3所示。。这在故障诊断中非常需要,比如列车中火灾报警,检修人员需要准确获知报警的时刻,然后关联查看其它设备在这个时刻的工作状态
3时间戳与校时
时间戳协议采用广播方式,无需节点应答,CAN-ID为100h,数据长度为6,数据为当前时刻与1984年1月1日0时的时间差。如图所示。节点将此时间存储在对象字典1012h的索引中
4时间戳协议
由于时间换算起来非常费劲,这里特地准备好了换算函数,方便读者使用
5换算函数
6换算函数
3.紧急报文协议(Emergency protocol)
紧急事件对象(Emergency),是当设备内部发生错误,触发该对象,发送设备内部错误代码,提示NMT主站。紧急报文属于诊断性报文,一般不会影响CANopen通讯,其CAN-ID存储在1014h的索引中,一般会定义为080h+node-ID,数据包含8个字节
7紧急报文
其中包括EEC:紧急时间错误代码,ER:错误寄存器,MEF:厂商自定义的错误代码。当然这些都需要查表才能获知,进行诊断
8紧急报文错误代码
与PDO的生产禁止时间类似,紧急报文也有生产禁止时间,存储在对象字典的1015h中,为了限制节点不断发送紧急报文,导致总线负载过大。
本文章转载自广州致远(原文作者周立功、黄敏思)
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
yqw511
回复楼主
返回列表
『数控/电机控制/运动控制/工业总线』
『机器视觉/AI/IoT/机器人论坛』
『高级语言/组态软件/触摸屏』
『操作系统xp/xin7/win10/linux』