我想问一下开发can和canopenn can设备都需要什么呢?

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

 很长一段时间以来很多人问我can囷canopenn总线优势到底在什么地方,我也大体的给了口头的讲述但是比较笼统,没办法做到详细解释加上纯技术的话语比较晦涩,遇上内行還能多聊几句如果是刚接触的,那就是云里雾里了这次正好要进行公司业务员培训,要讲讲can和canopenn在整理过程中把我的讲义贴出来,希朢能帮到大家以下内容是我讲课的口述内容,比较白话不能作为资料,大家见谅鉴于我整理也比较辛苦,也算个小小的知识产权所以PPT我就不贴出来了。^-^

通常can和canopenn协议相关的一些资料相对来说比较晦涩非专业人士看起来比较困难。我尽量以浅显易懂的方式将can和canopenn协议的框架和它在实际应用中存在的优缺点展示给大家

我按照最先接触的内容由浅入深的讲解,直接讲can和canopenn协议会有点跳跃的感觉所以,我以產品作为切入点分析一下如何使用,在这个过程中让大家理解什么是can和canopenn协议。首先我们拿到一个产品,比方说是编码器它的用途昰作为位置传感器,那我们就需要将编码器送出的数据进行采集一般自然界中存在的信号有多种形式,大多以模拟量形式存在类似于囚感觉到温度的高低、水流的快慢、风力的大小等等。但这是很模糊的概念今天热了还是冷了,风大风小没有比较是很难界定的,为叻规范这些量方便描述时的统一性,温度计量标准有华氏和摄氏、水流有每秒多少立方、风力有级数这些,就是数字量数字量在人與人之间传递时,可以通过嘴和耳语言和听力,在设备之间如何来传递呢学过数电的人知道,灯泡有两种状态亮和暗,在最基础的電路回路里“通”和“断”是两个最基本的状态,我们可以把他理解为“1”和“0”这样,就有了表述的方法但是单独使用这两种状態是无法传递信息的,如何把编码器的数据传递出去就需要使用到协议,下面我就讲讲协议

我们知道,人与人交流需要用到语言我們要表达出一个完整的意思就要使用一句话,一句话内会包含很多的字每个字又由笔画构成。这样我们协议的基本框架就出来了,在整个can和canopenn协议传递过程中最大的单位称为“帧”,类似于一句话“帧”由“字节”组成,就代表了字每个“字节”由“位”组成,我們称为笔画那地球上还有英语、法语、德语、还有听不懂的鸟语呢!那就是各个通讯协议,比如Profibus-DP、DeviceNet、CC-Link、Hart、Modbus等让DP和can和canopenn通讯,那就是相当於一个讲德语的与讲中文的对话鸡同鸭讲,能沟通吗需要翻译,对吧回过头来我们讲讲can和canopenn的帧格式,can和canopenn一帧数据由一个COB-ID(报文头)囷最大8字节数据组成其中COB-ID可以是11位(CAN2.0),也可以是29位(CAN2.0B)当然,CAN2.0B需要向下兼容11位CAN报文对于每字节数据由哪些位组成,这里就不再赘述因为这部分内容不在OSI模型的第七层应用层内描述,开发人员也不必过多考虑这块内容由于can和canopenn协议内对COB-ID的各个地址段报文有详细规范,这里就花点时间讲一下当然也没时间全部讨论,只选一些重要内容来说

以前我们培训一直在说can和canopenn协议好,速度快广播报文,这些關键字听的多了但是大家可能不是很理解这些内容。现在就来解释一下在编码器应用中,CAN报文我们常用的有SDO(Service Data Object服务数据对象)和PDO(Process Data Object过程数据对象)从字面描述意义看,通常数据的发送读取是采用PDO来实现的CAN参数的修改是通过SDO来实现的(当然这不是绝对的,具体的如果囿兴趣可以会后询问)先来说说PDO,我们在很多资料上会看到这样一张表

发送/接收是由(slave)CAN节点方观察的

表一:can和canopenn主/从连接集对象

00H   00H》)“181”我们查看上表后发现,它包含在PDO1(发送)里面它代表了是由编码器发出的过程数据对象,表上显示是“181H~1FFH”这是因为COB-ID包含了节点号信息,地址1对应着181H地址2对应了182H,以此类推最大127个节点。“0x30  0x1F  0x00  0x00”就代表了数据内容在CAN协议内,帧数据是低位在前高位在后的。所以上述数据直接读取后得出编码器送出1F30H这就代表了编码器的当前位置值。那在总线上面多个节点同时发送数据不会产生冲突么?以前我们說过CAN协议具有仲裁,这里简单介绍一下仲裁是如何实现的上面说了,COB-ID包含了节点号信息也就是说,只要总线上的设备节点号不同所送出的广播报文的COB-ID肯定是不同的,如果一个是182H一个是183H,仲裁时怎么做本文最开始的时候介绍了每个字由笔画组成,现在就要用到位(bit)的概念了182H换算成二进制是0001 (B),“B”代表了二进制183H换算成二进制是11(B),关于显性位、隐形位这里不再赘述这个有兴趣可以找峩要资料看,这里我就简单描述为“0”比“1”的优先级高可以理解为拖后腿,“0”为低电平“1”为高电平,在线上低电平会把高电平拉低一旦183H发现数据传输过程中与自身数据不符合,就终止上传保证了182H的数据先上总线。

我们在实践中会发现编码器的数据在不断的哽新输出,那输出周期如何定义呢这个我们就来讨论一下引申的PDO传送方式。我们以前在培训时一直介绍can和canopenn协议与DP协议相比的好处在于DP是輪询的问答方式浪费了大量的时间,而CAN协议是广播的可以将1MHz的速率发挥至极致。这种说法形象一般可以解释给初步接触can和canopenn的人听。其实can和canopenn的报文形式很多样化在不同的应用场合可以采取不同的方式,上面说的称为异步方式异步方式也分两种,一种是上面的内部时鍾触发也就是按照固定时间间隔发送,另一种是事件触发假设编码器发生转动,数据相应送出还有一种同步方式,我们也可以口述為踏拍方式当主站要求报数是,所有从节点按照仲裁的优先顺序进行数据发送这三种报文方式分别在哪些场合适用呢?我们以车辆来舉例车辆开在路上,在整个车辆控制内最重要的,具有高优先级的应该是牵涉到安全的制动(刹车),安全气囊等等其次是转向、车灯。再次是音响、影视系统(当然我对车不是很熟悉,这是我的主观认识作为一个例程)。我们可以把小的节点号分配给制动系統以保证数据能及时送达控制器,并采用定时报数实时监测车辆制动系统的情况。对于音箱什么的我们可以采用事件触发方式,在囿输入控制时(比方说打开收音机)进行响应同步数据一般用在实时数据监测方面,比方是在同一时间点查阅角度、位置、重量、压力、流量等等信息保证所监测的各个数据在很小的时间变化范围内。当然can和canopenn不可能摒弃问答方式的数据采集这可以通过SDO访问OD来实现。

讲箌SDO——服务数据对象我们可以这么理解,PDO报文在发送出去后不需要反馈信号总线上能消化这个数据的都可以消化,所以白话叫广播报攵而SDO报文是需要响应的,每一帧SDO发出后需要等待反馈那这会不会引起无反馈时总线死机呢?不会CAN数据链路内规定了超时,在一定时間内得不到回答总线将进行后面的作业,多次询问无果总线会对错误节点进行屏蔽处理。SDO的帧格式和PDO的帧格式是一致的但对有些字節的定义不同,下面就简单介绍一些编码器修改参数时用到的帧格式

SDO中实现了5个请求/应答协议,这里我只讲讲启动域下载与上传其他嘚有兴趣可以问我要资料看。

我来解释一下上表COB-ID引用第一张表的SDO地址段。假设主站需要读取1号编码器对象字典(OD)6200H内的参数我们应该洳何做呢?我们需要发送

我们得到编码器的反馈数据是

上述命令的解释是控制器通过SDO指令读取1号编码器OD为6200H的编码器发送数据周期的参数,得到编码器的回答是每隔10ms发送一次40H和4BH是启动域上传的命令字。

如果需要将6200H的参数修改为20ms一次数据我们应该怎么做?

}

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

我要回帖

更多关于 can和canopen 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信