您现在所在的是:

现场总线

回帖:12个,阅读:5146 [上一页] [1] [2] [下一页]
2040
245484515
文章数:352
年度积分:50
历史总积分:2040
注册时间:2010/11/30
发站内信
发表于:2013/8/28 18:21:11
#0楼
   CANopen是一种架构在控制局域网路(Control Area Network, CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。CANopen 实现了OSI模型中的网络层以上(包括网络层)的协定。CANopen 标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。 CANopen 支援网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言数据链结层及物理层会用CAN来实作。  
    CANopen 设备都需要具备对象字典,用来设定设备组态及进行非即时的通讯。对象字典的entry 定义如下:索引 (Index):对象 16 位元的位址。 对象名称 (Object name):一个代表对象的 symbolic type,可以是阵列、纪录或只是一个变量。 名称 (Name):描述此 entry 的字串。 形态 (Type):变量的资料形态。 属性 (Attribute):提供此 entry 是否可读/可写的资料,有下列四种:可读/写、只读、唯写、只读常数。 必须 (Mandatory)/可选 (Optional)字段定义属于特定设备规范下的设备,是否必须实现某些对象。 在 CANopen 标准中定义了对象字典中的基本资料型态,包括逻辑值、整数及浮点数。也定义了复合对象:如阵列、记录及字串。复合对象用一个 8 位元的数值作为其子索引(subindex)。记录或阵列中子索引 0 的位置记录此数据结构的元素个数,资料型态为 UNSIGNED8。下面是广州三青创工的36MT型号PLC的CANopen协议组网工程案例如下:
附件 CANopen.jpg
附件 CANopen内部OD资源列表1.jpg
附件 CANopen内部OD资源列表2.jpg
相关资料下载:
附件:
[本地下载]
通讯模型

CANopen 设备间的通讯可分为以下三种通讯模型。

在 master/slave 模型中,一个 CANopen 设备为 master,负责传送或接收其他设备(称为 slave)的数据。NMT 协定就使用了 master/slave 模型。 主从(client/server)模型定义在 SDO 协定中,SDO client 将对象字典的索引及子索引传送给 SDO server,因此会产生一个或数个需求数据(对象字典中,索引及子索引对应的内容)的 SDO 封包。 生产者/消费者(producer/consumer)模型用在 Heartbeat and Node Guarding 协定。由一个生产者送出数据给消息者,同一个生产者的数据可能给一个以上的消息者。又可分为二种: push-model:生产者会自动送出数据给消费者。 pull-model:消费者需送出请求讯息,生产者才会送出数据。  

编辑本段
协定

NMT 协定NMT(网络管理, Network management)协定会定义(设备内部)状态机的状态变更命令(如启动设备或停止设备)、侦测远端设备 bootup及故障情形。

NMT master 使用的模组控制协定可变更设备的状态。其 COB-ID 为 0,其功能码及节点 ID 均为 0,因此网络上的所有节点均会处理这个讯息。在此讯息的资料部份会有此讯息实际针对节点的ID,此 ID 也可为 0,表示所有节点都要变更为指定的状态。

心跳协定(Heartbeat protocol)是用来监控网络中的节点及确认其正常工作。心跳讯息的生产者(一般是 slave 设备)周期性的送出功能码 1110、ID 为本身节点 ID 的讯息,讯息的资料部份有一个表示节点状态的位元。而心跳讯息的消费者负责接收上述资料,若在指定时间(于设备的对象字典中定义)内,消费者均未收到讯息,可采取相关行动(例如显示错误或重置该设备)。  

其格式为:

COBID + DATA(status of node) CANopen 设备需要在 bootup 时自动从 Initializing 状态切换至 Pre-operational 状态,设备会在切换完成后送出一个心跳讯息,这就是心跳协定。  
有一种 pull model 的 NMT 协定,称作节点监控(Node guarding)协定,也可以作从机的监控。  
SDO 协定  
服务资料对象(SDO)可用来存取远端节点的对象字典,读取或设定其中的资料。提供对象字典的节点称为SDO server,存取对象字典的节点称为SDO client。SDO 通讯一定由SDO client 开始,并提供初始化相关的参数。  

在CANopen的术语中,上传是指由 SDO server 中读取资料,而下载是指设定 SDO server 的资料。
PDO 协定
进程数据对象 (PDO) 协定可用来在许多节点之间交换即时的资料。可透过一个 PDO ,传送最多 8 字节(64位元)资料给一设备,或由一设备接收最多 8 字节(64位元)的资料。一个 PDO 可以由对象字典中几个不同索引的资料组成,规划方式则是透过对象字典中对应 PDO mapping 及 PDO 参数的索引。  
PDO 分为两种:传送用的 TPDO 及接收用的 RPDO。一个节点的 TPDO 是将资料由此节点传输到其他节点,而 RPDO 则是接收由其他节点传输的资料。一个节点分别有 4 个 TPDO 及 4 个 RPDO 。
PDO 可以用同步或异步的方式传送:同步的 PDO 是由 SYNC 讯息触发,而异步的 PDO 是由节点内部的条件或其他外部条件触发。例如若一个节点规划为允许接受其他节点产生的 TPDO 请求,则可以由其他节点送出一个没有资料但有设定 RTR 位元的 TPDO(TPDO 请求),使该节点送出需求的资料。
借由 RPDO 也可以使两种设备同时启动。
CANopen 专有名词
PDO 程序资料对象 - 对应实际物理量的输入及输出。资料的单位可能是 RPM, V, Hz, mAmp...。
SDO 服务资料对象 - 一般来说是组态设定的资料,如节点位置、节点ID、通讯速度、位移、增益等。……
COB-ID - CAN 对象编号  
CAN ID - CAN Identifier. 是在每个 CAN 讯息前面的讯息识别码,共 11 位元。
EDS - 电子资料档(Electronic data sheet)是 INI 格式或XML格式(从2007年底开始)的档案。
DCF - 设备组态档案(Device configuration file),是加强版的 EDS,可以设定节点 ID 及通讯速度。
4798
576187527
文章数:2422
年度积分:50
历史总积分:4798
注册时间:2010/8/1
发站内信
发表于:2013/8/28 19:04:34
#1楼
学习了
4798
576187527
文章数:2422
年度积分:50
历史总积分:4798
注册时间:2010/8/1
发站内信
发表于:2013/8/28 19:04:55
#2楼
进来学习了
1220
ggsx2008
文章数:32
年度积分:50
历史总积分:1220
注册时间:2009/4/22
发站内信
发表于:2014/7/30 10:47:24
#3楼
xuexile
1047
xiaoqingcai
文章数:1
年度积分:50
历史总积分:1047
注册时间:2014/4/24
发站内信
发表于:2014/8/1 16:44:45
#4楼
此楼内容不符合板块规定,不予显示! 查看原帖内容>>
3847
anheng
文章数:1081
年度积分:50
历史总积分:3847
注册时间:2007/2/8
发站内信
2015【逛工博】(二)
寻找英威腾(二)
我秀我做2014
发表于:2014/11/22 15:32:02
#5楼
  在汽车上使用 CAN 总线的特别多
技术学习成长中,兼职设备维修,SIEMENS 备件代售 !价格从优 !
-58
1803295319
文章数:40
年度积分:-58
历史总积分:-58
注册时间:2014/10/28
发站内信
发表于:2015/12/24 13:41:46
#6楼

国产PLC的优秀代表——深圳矩形科技,生产开发的N80系列小型PLC,是完全自主知识产权的PLC,自己研发的编程指令系统和编程软件,并且可以在线连plc修改程序、脱机仿真功能。

国产矩形PLC,支持Modbus tcp、Modbus RTU、自由串口通讯,还支持CANopen协议的编码器、伺服、变频器等设备连接。
梯形图编程也比较简单,有相关需求的可以联系我们,我们提供详细的方案和PLC梯形图程序,矩形科技阙工,电话:13049878565,QQ:1803295319,网站:www.plcstar.com

图
图
1109
woshimomo826
文章数:129
年度积分:50
历史总积分:1109
注册时间:2013/7/20
发站内信
发表于:2016/6/22 16:05:52
#7楼
请问下 canopen 如何去检查哪个站点是否通讯上   我这有个设备 几个控制器用这种总线 同时编码器也是canopen的方式通讯   编码器的好坏都不好判断
-58
1803295319
文章数:40
年度积分:-58
历史总积分:-58
注册时间:2014/10/28
发站内信
发表于:2016/8/15 11:35:25
#8楼
回复 #7楼 woshimomo826
————————————————
可以读取设备的心跳报文,如果一定时间没有收到心跳报文,就认为那个设备掉线了。
2383
987976623
文章数:90
年度积分:53
历史总积分:2383
注册时间:2010/12/11
发站内信
发表于:2016/8/16 6:54:57
#9楼
学习了受益匪浅

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

93.6006