大,会导致系统报文的延时,为了保证总线上消息的实时传输,引入两 种调度算法进行仿真实验,通过对仿真结果的分析,比较两种方法的优异。在设计仿真过程 中,我们设计125Kbit/s波特率由母级模块输入,系统总的运行时间2s,为了方便分析,我们 设计每帧报文的数据长度为l〇〇bit。设计系统各个节点发送周期与总线负载的关系如表2 所示。
[0074] 表2各节点发送周期与负载大小的关系表
[0076] 为了方便分析与统计,我们选取节点1、节点4、节点7、节点10、节点13、节点16来分 析在不同负载下总线通信的实时性。有前面仿真模型可知,pl~P16表示16个节点每次发送 的报文帧的个数,bl~bl6表示成功接收报文帧的个数。由此可知,报文发送的成功率可以 通过下式来计算:
[0077] Si = bi/pi
[0078] 依照表2的关系建立系统通信得到系统在负载为19.2%、50.4%、80%、103.2%的 情况下的仿真结果,如下表3、4所示。
[0079]表3固定优先级算法仿真实验结果
[0082]为了更清晰的分析实验结果,我们将获得的实验数据绘制成图形,如图8、9所示, 从数据和图8、9分析,在固定优先级调度算法中,高优先级的信息无论是在低负载或者是高 负载情况下能够保证通信的实时传输。但是随着网络负载的加大,低优先级的信息通信的 实时性下降,从图8可以看到,随着总线负载的加大,从节点7开始总线上开始出现数据丢 失。尤其是到后来的节点13和16通信性能出现大幅度的下滑。和固定优先级调度算法相比, 在总线网络低负载情况下,可以保证消息的正常传输。但是随着网络负载的增大,调度性能 也会出现下降的趋势。从节点10开始我们可以发现发送成功率的下降趋势变缓。为了更清 楚的对比,我们将节点1〇、13、16的两种调度算法所得的仿真结果放在一起对比分析,如图 10所示。经过对比分析可知,虽然,在随着负载的加大会出现调度性能的下降,但是H)F调度 算法在调度性能比固定优先级算法的调度性能要好。
[0083]经过实验验证,两种调度算法在网络负载较低的情况下,都能很好的保证消息报 文传输的实时性能。但是在负载加大的情况下,动态优先级调度算法H)F要比固定的优先级 调度算法可调度性能更强。尤其在,多节点和多报文即大负载的网络传输过程中,固定优先 级调度算法,会出现低优先级报文竞争不到总线而导致数据的丢失,对系统产生不利的后 果。通过引入动态的优先级调度算法可以有效的改善这种情况,提高系统的通信能力,降低 总线负载率,系统实时性能变好。在运动控制系统中,我们要求数据传输的速度很快,并且 要求能保证可靠的传输。为了保持这种要求,动态优先级调度算法EDF为我们提供了一种很 好解决办法。
[0084]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于CAN总线的运动控制系统,其特征在于:包括控制单元,整流单元,逆变单 元、执行电机、工控机、CAN卡、物理层模块、数据链路层模块、应用层模块及硬件接口模块; 所述物理层模块包括CAN物理通信介质及CAN收发器,所述CAN物理通信介质用于完成信号 传输,所述CAN收发器提供对总线的差动发送和接收功能;所述数据链路层模块包括CAN核 心控制器,所述CAN核心控制器包括发送模块、接收模块、仲裁模块及验收滤波模块,所述发 送模块用于将信息帧发往物理层,所述接收模块用于从物理层获取信息帧,所述仲裁模块 用于对发送出的与接收到的信息帧进行仲裁,所述验收滤波模块从数据链路层接收帧信 息,通过验收屏蔽码和验收码过滤本节点需要的数据;所述应用层模块包括模拟中心计算 机,用于模拟节点设备仿真模型,应用层协议采用CANopen协议;所述硬件接口模块用于硬 件与物理层之间的通信。2. 根据权利要求1所述的一种基于CAN总线的运动控制系统,其特征在于:所述控制单 元采用CU320-2DP控制单元;所述整流单元采用智能型电源模块,所述智能型电源模块将三 相交流电整流成直流电,并将直流电回馈到电网,所述智能型电源模块和所述控制单元通 过Drive-CLiQ保持通信;所述逆变单元和控制单元之间通过Drive-CLiQ接口,进行快速数 据交换;所述逆变单元的编码器通过Drive-CLiQ电缆连接,将编码器的反馈信号反馈给控 制单元;所述工控机包括主机、显示器、鼠标和键盘;所述CAN卡采用XJA1000CAN控制器作为 主控芯片。3. 根据权利要求1所述的一种基于CAN总线的运动控制系统,其特征在于:所述发送模 块包括组帧模块、信号发送模块和发送控制器,发送控制器通过总线与组帧模块和信号发 送模块连接;当接收到相应信号时,组帧模块将完整的信息帧传输给信号发送模块,信号发 送模块将当前数据位发送给CAN总线。4. 根据权利要求1所述的一种基于CAN总线的运动控制系统,其特征在于:所述应用层 模块还包括模拟执行设备。5. 根据权利要求1所述的一种基于CAN总线的运动控制系统,其特征在于:所述应用层 模块采用C语言作为开发工具,通过在BorlandC++2.0编译环境下编译构建。6. -种基于EDF动态优先级调度算法建立CAN总线仿真模型的方法,其特征在于:首先 在Stateflow环境下使用状态、迀移和条件建立涉及通信活动部分的节点模型;所述节点模 型包括节点发送部分、数据缓冲部分和数据产生部分;将时间基准、输入输出变量、 Stateflow环境下的16个节点子模块及总线仲裁子模块组成仿真模型母模块。7. 根据权利要求6所述的一种基于EDF动态优先级调度算法建立CAN总线仿真模型的方 法,其特征在于:所述总线仲裁子模块在通信过程中,具有空闲状态、忙状态和帧间隔状态 三种状态;当总线没有信号传输时,总线处于空闲状态状态;当有节点发送的信号时,经过 仲裁函数的仲裁,仲裁结束后,总线开始传输节点的信息,总线处于忙状态;当节点信息传 送完成后,总线再经过一个帧间隔状态之后在回到空闲状态;在仿真过程中,总线的仲裁是 由仲裁函数实现,且各个节点的优先级为节点1优先级高,节点16最低;所述仲裁函数通过 判断节点号当前状态是否是1而决定是否仲裁成功,若为1则仲裁成功。8. 根据权利要求7所述的一种基于EDF动态优先级调度算法建立CAN总线仿真模型的方 法,其特征在于:所述节点发送部分包括无任务状态、等待仲裁状态、传输状态、帧间隔状态 和状态迀移线;其状态转换的流程是节点首先处于无任务状态,等待数据进入缓冲区,退出 这个状态进入等待仲裁状态,这时候开始监测总线是否是空闲状态,如果是则参加总线的 竞争,如果在总线竞争中获胜,则将采集到的数据发送出去,发送完成则重新回到无任务状 态;所述帧间隔状态和部分所述状态迀移线完成系统各个任务优先级的分配工作;所述节 点发送部分还包括重发机制,通过判断截止期为小于0的数来确定总线上的数据是否重发; 所述数据缓冲部分包括缓冲器空和非空两个状态,容量设置为1,当有新数据进入缓冲 器时旧的数据丢失;信息量设为固定值lOObits,采用bl记录节点每次运行完成后向总线上 成功发送的总帧数; 所述数据产生部分包括数据的产生和组帧两个状态,其中数据来自所述仿真模型母模 块的随机函数部分,采用pi来记录节点每次运行产生的帧的个数。9.根据权利要求8所述的一种基于EDF动态优先级调度算法建立CAN总线仿真模型的方 法,其特征在于:所述节点子模块、总线仲裁子模块都为并行结构。
【专利摘要】本发明涉及一种基于CAN总线的运动控制系统,包括控制单元,整流单元,逆变单元、执行电机、工控机、CAN卡、物理层模块、数据链路层模块、应用层模块及硬件接口模块;物理层模块包括CAN物理通信介质及CAN收发器,CAN核心控制器包括发送模块、接收模块、仲裁模块及验收滤波模块,应用层模块包括模拟中心计算机,应用层协议采用CANopen协议;本发明的有益效果是:本发明提供硬件接口模块,将待测节点的物理设备直接接入本发明,即可实现在无需完整物理系统的环境下对接入节点设备的性能测试;EDF动态优先级调度算法更能改善总线的通信能力,提高总线的吞吐能力,进而可以改善总线系统的实时性能。
【IPC分类】G05B17/02
【公开号】CN105487403
【申请号】CN201510731859
【发明人】邓忠华, 陈智华, 李曦, 邓中立, 邓忠富, 李伟河, 王丹, 张涛, 蒋建华
【申请人】武汉华茂工业自动化有限公司
【公开日】2016年4月13日
【申请日】2015年10月30日