您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页CANopen协议栈PDO的配置方法研究

CANopen协议栈PDO的配置方法研究

来源:欧得旅游网
󰀂󰀁 !∀#∃协议栈%&∋的配置方法研究)(∗+,−!).#/白,)!󰀁!∃行0∗1#%1!!233&4)4∋56#)2/7).7∃󰀁󰀂 !%#∃(84#9段建民住圣伟徐品:北京工业大学电子信息与控制工程学院北京;<<<==摘要>󰀁󰀂 叩∃#作为󰀁󰀂 的应用层协议极大地增强了󰀁󰀂 网络的可配置性服务数据对象:(&∋?用来配置网络参数和访问节点的对象字典过程数据对象:%!?用于实时数据的传输󰀁 󰀂!#∀∃协议本身比较复杂需要配置的参数也很多使得󰀁󰀂 !∀#∃的配置在开发应用过程中占据非常重要的地位本文着重分析%&!的触发方式和通信参数的配置方法最后用一个例子来说明配置过程关键词二󰀁󰀂 叩∃#协议%&∋控制网络现场总线󰀂531)4󰀁)>3󰀂)#.%4%87󰀁)47!∃%!1)!#!8!−󰀁󰀂 5∗3󰀁󰀂 !%#∃3)1!∃08,#∃#.∃4##3.)##!∃7−0∗)41王!∃!−󰀁󰀂 5∗3(#1Α7##&)4!57#2)3:(&∋34#1∗3#+)!2∃!7−0∗1#∃#)%Β14)##13∃4+留##33)!.)#!56#2)&72)7!∃,14:∋&?!−∃!+#%1!##33&)4!56#23):%&<3?14#∗3#+!))烧Χ∃3Β7)1#48)7Β#+4)Δ#24∗3#!−).##!Β%8#Ε7,)!−󰀁󰀂 !%#∃7#3)8−∃4+Β4∃,%41山≅#)#13!)#5#!∃−70∗+#13#1∗83)7∃7);Φ7Β%!)14∃)!)#!∃−7∗0#1󰀁󰀂 !%#∃%14剑旧#)#13+∗17∃0).#+#Α#8!%Β#∃)%1!##33铀,3)!71)0#14%&∋4∃+.!/!)#!∃7−0∗#1%414888#)13#14∃448,Γ#+.#1#Η7∃488,4∃#Ε4Β%8#;Φ07Α#∃)!788∗Β7∃4)#).##!∃7−0∗)417!∃%2!1#(Ι#,/!1+3>󰀁󰀂 !#%∃%1!)!2∋Χ%&∋󰀁!∃)!18 #)Η7#8+Δ∗3∋引言󰀁󰀂 !∀#∃协议是基于󰀁󰀂 总线和应用层󰀁󰀂ϑ的高层协议是针对行业标准化的协议也是为标准的嵌入式网络开发的具有灵活配置能力的开放式协议川󰀁󰀂 !%#∃协议为分布式控制网络提供了以下实现的方法>󰀁不同󰀂 !设备间的互操作性互换性∀#标准化统一的系统通信模式∀∃设备描述方式和网络功能%&网络节点的任意扩展‘,,󰀂 !()∗+协议以通信规范󰀂, −.一/01为基础规定了一系列的设备规范采用对象字典20−3电子数据文档24−.3等一系列的概念来描述设备和协议的相关信息%同时还规定了服务数据对象2.(3和过程数据对象2)−53等多种通信机制本文主要分析)−5的配置方法和需要注意的问题1服务数据对象2.−53和过程数据对象26−5370和)−5是󰀂 !(6∗+协议中使用的两类最重要的数据通信方式它们在整个网络通信中起的作用不同.加用来配置网络参数和访问节点的对象字典70通信是基于客户8服务器󰀂29:∗+;8.∗<=∗3<模型如果一个节点需要通过70访问其它节点的对象字典2(3那么这个节点就是客户其他节点就是服务器节点可以通过.−5来访问其它节点的5−达到配置其它节点参数的目的)−5通信是基于生产者8消费者2)(<>?≅∗<8󰀂(+Α?咖∗<3模型主要用于传输实时数据产生数据的节点将带有自己节点号的数据放到总线上需要该数据的节点可以配置为接收该节点发Β送的数据由于在节点进入运行状态后通过%∋&来传输实时数据所以正确的配置%&∋的参数非常重要不仅关系到某个节点能否正确地发送=接收数据而且也关系着整个网络能否正常的工作%∋&%&∋的触发方式>的发送可以通过以下方式触发󰀁#Η&事件触发2≅Α0一󰀂ΧΔ+Ε∗0Φ一.;Δ;∗3∀时间触发2Γ:(∗−<:=∗+3∀∀单个查询2Ι+>:=:>?Δ96(99:+Ε3同步2∗<(?66(99:+Ε3当单独使用事件触发)(发送时一旦过程数据发生改变则发送)−5这可能带来一种非常严重的后果那就是当某个过程数据变化的频率非常高时这个)−5就不停地发送点的报文发送不出去󰀂 !叩∗+导致其它节严重影响总线的效率;采用“:ϑ:+Χ,:;+∗9”机制来解决这个问题,+Χ:ϑ:;:Κ;∗是一个可以配置的以如Α为单位2即10哪的倍数3的时间段相同)−5发送至少间隔这个时间段这样就可以确定某个事件触发的)−5的最大发送频率如图1所示01)−55)−5目图1设笠,+Χ:ϑ:;Γ:Κ∗的)−5的发送一般来说)−5发送可以由任何触发方式的组合来触发但最常用的是将事件触发和时间触发结合起来使用被触发在规定的时间内再发送一次化0单独事件触发过程数据长时间没有变化2比如温度变量等3这样会影响刚加入网络中的节点这时如果再加上时间触发的方式该)−5长时间没就可以强制)−5为Λ70例如某个)−5配置,+Χ:ϑ:;;:(∗Α为704=∗+;;:(∗<这样该)−5可以在过程数据变化时发送发送的最小间隔是ΑΚ另一方面不管数据有没有发生变)(都会发送一次每隔Λ75ΚΑ)−5触发方式通过配置)−5通信参数对象字典的子索引Λ配置实现该子索引的取值范围为一Λ77下面列出了不同的值对应的不同的触发方式Μ!󰀂后发送但不是周期的在收到.%1一ΝΛ0)(在收到.Ο!󰀂后发送周期发送该值为两次发送)−5之间的间隔的.Μ!5%)−5󰀂个数%77事件触发Λ/6(的通信参数和映射参数每个)(想要正常地进行通信必须为每个)加配置两个参数即通信参数和映射参数)加的通信参数和映射参数在󰀂, 1规范里面都有详细规定−./01Ν50Χ5Ι9Π50Χ每个节点第1个接收)−5的通信参数和映射参数对应的对象字典分别是%5Ι第1个发送)(的通信参数和映射参数对应的对象字典分别是%5Ι9Θ00Χ5Ι9Δ00Χ依此类推∀一通信参数主要规定Γ该)−5的󰀂5Ρ,−;<Δ+ΑΚ:ΑΑ:(+;Ο6∗:+Χ:ϑ:;;:Κ∗和∗=∗+;;:Κ∗等参一Δ功在子索引数%!使用的󰀁∋8&的功∋中默认为功能码加上节点号比如节点号为;发送%Κ<;Λ那么子索引;的值为;Κ能码为;<个(Ν 󰀁发送一个%&∋它代表接收到ΜΛ子索引=的值设定%∋&的触发方式比如该值为Μ<事件触发时取值∋ΟΗΗ子索引Π和Φ分别是Χ∃.757))7Β#1和ΘΑ#∃))7Β#1这在前面己详细说明%&∋通信参数里面本身不含有数据所有传递的实时数据都放在%∋映射参数指定的对象&Μ<Λ它保存了%&Λ对应的映射索引为;∋过程数据的位置以字典中它们是一一对应的;Ρ<<Λ到Ρ<及类型共有∋ΕΡ<:ΜΡ?个子索引<<Λ的值为子索引总数∋ΧΛ子索引分别可以放不同Ρ个每个数据的值不能超过Κ字节比如第一个发送%&的数据变量共可以放Μ∋的映射参数的值为Μ<<<<;<Κ表明第一个发送%&∋的数据在对象字典∋ΕΜ<<的第;个子索引中是一个Κ位的数据接收%&∋的通信参数和映射参数的设置跟发送%!的设置方法一样Ρ只不过索引不同而己实际应用中∀&∋的配置在作者参与的项目中组建了一个󰀁 󰀂!#%∃网络其拓扑图如图=所示该网络中包含Π个竹点主节点是基于%󰀁机的主要用来配置各从节点和管理网络:控制节点的状态切换和监控竹点的心跳报文同时总线监控也由%󰀁机完成=&分别为Π和Φ两个从节点的 !+#ΧΣ%&<;从节点Π的Σ%&<映射到主节点的Τ%&<;从节点Φ的映射到土节点的Τ%&∋ΥΣ%&∋Υ映射到主节点的Τ%&<如图Π所示Π一系统采用预定义连接集:%1#&#−7∃#+󰀁!∃∃##)7!∃(#)?两个从节点各有Ρ&∋和Ρ个即&∋发送方式都采用同步发送:变化时间比较缓慢?即接收到土节点发送的个Σ%(Ν3发送一次向主节点报告白己的状态同步报文 󰀁后发送%&∋两个节点的心跳报文都是8发送周期设为=3图=系统网络拓扑图图Π%&∋映射图各节点%&∋相关的对象字典的配置如下>主节点!Ε;Ρ<<.索引值:Τ%&<;(∗57∃+#Ο∋(∗57∃+#Ε(∗57∃+#Ε8Υ!Ε;Ρ<8.:Τ%&<=?=;ΚΦ(∗57∃+#Ε<(∗57∃+#Ε;(∗57∃+#Ε=!Ε;Ρ<=.:Τ%Χ?Π?Ο(∗57∃+#Ε<;==ΚΦ;(∗57∃+#Ε;(∗57∃+#Ε=<Ε;Μ<<.ς<;.!Ε;Μ<8.ς<;.<Ε8Μ<=.ς!8.Μ<<<<;<ΚΜ<<<<=;<Μ<<<<Π;<二从节点:Χ&Π?!Ε;Κ<<.:Σ%&<;?Ε(∗57∃+#<=;ΚΠ(∗57∃+#Ε;(∗57∃+#Ε=;从节点:Χ&二Φ?<Ε8Κ<<.:Σ%&<;?(∗57∃+#Ε<(∗57∃+#Ε;(∗57∃+#Ε=!Ε;Κ<8.:Σ%&<=?(∗57∃+#Ε<(∗57∃+#Ε;(∗57∃+#Ε==;ΚΦ;==ΚΦ;%!映射参数的配置遵循&(%Ρ<;规范它规定了实时数据如何映射到对象字典映射参数的配置比较简单主要跟具体的行规有关甚至自己可以订立适合自己的标准来决定过程数据如何存取不会影响网络通信和数据传输图Ρ总线数据监控结果󰀁Μ∋开发的从ΛΙ󰀁󰀂 Π<Δ卡上取󰀁󰀂如图Ρ所示总线监控界面是用Ω 报文进行解析最左边的数字为当前系统时间如=Π><=说明当前系统时间为=Π分<=秒咖ΣΘ11(%!Υ󰀁Σ ΝΣ%&<Π为报文的类型!2Δ一&1)为报文的󰀁∋ΔΧ1为远程帧+4)4为数据域从左到右数据依次Σ%&<=从低字节到高字节排列Δ为;ΚΠ的Σ%&<;󰀁∋Δ为;ΚΦ的Σ%&<;󰀁∋Δ为=ΚΦ的从图Ρ中可以看出󰀁∋ 󰀁后便发送一次同步(Ν 2两秒钟发送一次次收到(Ν监测结果表明%&∋数据已正确地发送到总线上节点可以正确获得数据在每∋时需要考虑该变量变化的频率如果变化得很快最好使在选择是事件还是时间触发%&用事件触发若使用时间触发在下一个(Ν 󰀁到来之前数据可能己变化多次这样可能产生丢失数据的问题Φ正确的选择触发方式是%&∋配置时一个关键环节结束语%&∋的配置在󰀁󰀂 !%#∃协议栈中处于比较重要的地位影响整个网络的使用效果从最后监听总线的结果来看这样配置%!是合理的同时也说明了只要遵守󰀁󰀂 叩#∃协议的模块只要接入网络就可以实现设备间的互操作和配置基于以上优点󰀁󰀂 !%#∃协议在上业控制过程中的应用领域将更加广泛参考文献Ψ一Ζ>∃[,亘Α!∃!󰀁881叩∀等!∀#∃#[、概述国内外机电一体化技术Ψ∴8=<<Μ年第=期=」工俊博〔骨布工󰀁朴叩#∃协议的分析与实现微计抹机信息Ψ∴=??Ζ::Μ==:Μ?=∃Α#137‘Ρ‘?=【”」ΨΠ;ΡΖ〔󰀁7凡以知卯∃󰀂即;7#4)7!∃%−#7−−#14ϑ,#14∃+!知日侧∃7#4)7!∃1%1!878#󰀁Χ󰀂璐1Π<;!󰀂,1#󰀂Ι#,+#8󰀁Θ曲#++#+、#),!97∃0,!∀#∃7).󰀁󰀂、朋+󰀁󰀂、󰀁Ψ切ΖΤΣ段?93=仪?],

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务