一种基于CAN总线的运动控制通讯系统及通讯方法与流程

文档序号:30069083发布日期:2022-05-18 01:38阅读:240来源:国知局
一种基于CAN总线的运动控制通讯系统及通讯方法与流程
一种基于can总线的运动控制通讯系统及通讯方法
技术领域
1.本发明涉及运动控制通讯技术领域,具体涉及一种基于can总线的运动控制通讯系统及通讯方法。


背景技术:

2.can总线是一种常用的现场总线,与其他现场总线相比,由于直接对通信数据块进行编码,且为多主站竞争式结构,因此在对数据传输实时性需要高、多从站节点平等的运行控制系统中具有重要的应用。
3.在实际接口设计中,由于can总线通信接口仅集成了can协议中的物理层和数据链路层,因此为了满足应用需求,用户需要再次基于can总线配置应用层通讯协议。具体的,canopen协议是一种典型的can应用层通讯协议。由于具有兼容性高、可互操作性强、产品尺寸小等优点成为了基于can总线的最成功、且应用最广泛的can应用层通讯协议。
4.但canopen协议在实际应用时,仍具有以下缺点:1、为了实现主站与从站间的正常通讯,无论是逻辑简单还是复杂的运动控制系统,均需要进行sdo参数、pdo参数配置,其通讯配置参数较多,配置过程复杂;因此无论对于主站开发还是从站配置,对相关工作人员的专业性需求较高。2、主站与从站间多采用物理接线方式,当运动控制系统中包括多从站时,存在从站io接线繁琐的问题。


技术实现要素:

5.本发明目的在于提供一种基于can总线的运动控制通讯系统,所述通讯系统在通讯报文传输交互中即可直接实现主站与各从站间的全部通讯交互,因此采用其进行通讯时不用再进行复杂的通讯配置;其还通过通讯方式实现主站与从站间直接io交互,以简化两者间物理接线,因此所述通讯系统本身更加简单。
6.本发明还提供了一种基于can总线的运动控制通讯系统的通讯方法,所述通讯方法基于所述通讯系统进行通讯交互,不用进行复杂的通讯配置即可实现主站对从站的直接轮询;因此通讯过程更加快捷,实时性更高。
7.为达成上述目的,本发明提出如下技术方案:
8.一种基于can总线的运动控制通讯系统,包括基于can网络连接的主站、若干从站,及在所述主站与从站间进行传输交互的通讯报文;
9.所述主站包括读写请求模块、第一开关量更新模块及运动计算模块,所述从站包括读写处理模块、第二开关量更新模块及运动响应模块;
10.所述通讯报文包括数据报文及控制报文;
11.所述数据报文在所述读写请求模块与所述读写处理模块间进行传输,用于实现主站对从站的内部参数读写;所述控制报文在所述运动计算模块与所述运动响应模块间进行传输,用于直接实现主站对从站运动控制;
12.所述数据报文及控制报文均包括数据区及若干位域;所述数据区用于传输内部参
数量或运动参数量;所述位域包括功能码位、主从标识位、模式位、从站id位;所述功能码位用于供主站或从站直接识别对应报文的类型,所述主从标识位用于直接识别对应报文的主站或从站来源,所述模式位用于供主站或从站直接识别对应报文所传输的从站工作模式,所述从站id位用于供主站直接区分从站;
13.所述第一开关量更新模块用于在主站发送通讯报文时更新开关量输入量;所述第二开关量更新模块用于在从站发送通讯报文时更新开关量输出量;所述数据报文及控制报文的位域还包括io数据位;所述io数据位与所述第一开关量更新模块及第二开关量更新模块相关联,以实现主站与从站间的通讯连接。
14.进一步的,所述主站包括从站监视模块,所述从站包括主站监视模块;所述通讯报文包括心跳报文,所述心跳报文的位域包括功能码位,其从所述从站监视模块传输至主站监视模块,用于进行从站对主站工作状态的监控。
15.进一步的,所述数据报文及控制报文的位域还包括报文序号位,同一对应报文在发送与接收时,其报文序号位相同;用于监视所述主站与对应从站间通讯是否匹配。
16.进一步的,所述主站包括同步控制模块,所述从站包括同步处理模块;所述通讯报文包括同步报文,所述同步报文的位域包括功能码位,其从所述同步控制模块传输至所述同步处理模块;所述控制报文的位域包括对应的同步标识位;所述同步标识位用于使所述控制报文与同步报文相关联,以进行主站对从站的同步控制。
17.进一步的,各通讯报文的优先级由高至低依次为:同步报文、控制报文、数据报文、心跳报文。
18.一种基于can总线的运动控制通讯系统的通讯方法,基于所述的通讯系统实现通讯,包括:
19.所述主站和从站各自进行预配置,所述主站的配置项包括从站编号、主站通讯波特率,所述从站的配置项包括自身编号、从站通讯波特率;所述从站编号与自身编号相对应;所述主站通讯波特率与所述从站通讯波特率相同,并与轮询间隔及轮询周期相关联;
20.所述主站对各从站进行轮询控制,依据运动计算模块的计算结果组建控制报文,并发送给对应从站的运动响应模块;此时所述运动响应模块将通过模式位直接识别工作模式,并依据数据区的运动参数量使从站执行运动;
21.所述主站检查读写请求模块,若有待处理的读写请求,则发送数据报文至对应的读写处理模块,以完成对从站内部参数的读写;
22.所述主站接收各从站回复的控制报文、数据报文,并依其在进行下次轮询。
23.进一步的,在所述主站对各从站进行轮询前,所述主站的运动计算模块将预先对每一从站的运动参数量进行等步长插补计算;此时所述主站将依据该预先计算的结果直接组建控制报文。
24.进一步的,当所述控制报文及数据报文均包括报文序号位,
25.在所述主站对各从站进行轮询时,所述主站每向对应从站发送一次控制报文,报文序号位则会更新一次;当所述从站向主站针对该控制报文回复时,回复的控制报文的报文序号位与该控制报文的报文序号位一致;
26.在所述主站对从站进行读写请求处理时,所述主站每向对应从站发送一次数据报文,报文序号位则会更新一次;当对应从站向主站针对该数据报文进行回复时,回复的数据
报文的报文序号位与该数据报文的报文序号位一致。
27.进一步的,当所述主站包括从站监视模块,所述从站包括主站监视模块,所述通讯报文包括心跳报文,
28.在对主站及从站间进行预配置时,所述主站的配置项还包括心跳周期、从站超时,所述从站的配置项还包括主站超时;所述心跳周期用于设置心跳报文的发送频率;所述从站超时与所述从站监视模块相关联,用于对从站回复通讯报文的时长进行累积,并依其判断对应从站是否异常;所述主站超时与所述主站监视模块相关联,用于对主站发送通讯报文的时长进行累积,并使任一从站依其判断主站是否异常。
29.进一步的,当所述主站包括同步控制模块,所述从站包括同步处理模块;所述通讯报文包括同步报文,所述控制报文的位域还包括对应的同步标识位,
30.在所述主站对各从站进行轮询时,若为同步控制,将同步信息写入控制报文的同步标识位;从站收到控制报文后,并将该同步信息与该从站的同步处理模块相关联;此时直至所述同步处理模块接收到同步报文,才会触发该从站在控制报文的作用下执行运动。
31.有益效果:
32.由以上技术方案可知,本发明的技术方案提供了一种基于can总线的运动控制通讯系统,所述通讯系统的主站包括读写请求模块、运动计算模块及第一开关量更新模块,所述从站包括与主站各模块相对应的读写处理模块、运动响应模块及第二开关量更新模块。为了满足通讯需求,还依据主站与从站间的模块设置,设计了对应的数据报文及控制报文。具体的,所述数据报文及控制报文包括数据区及若干位域,所述位域包括功能码位、主从标识位、模式位、从站id位。在进行通讯时,所述主站及从站可依据通讯报文中的功能码位直接确认报文类型以直接分配对应的功能模块进行处理;所述从站依据模式位直接识别该报文下自身的工作模式,以免除canopen协议下需要先对从站工作模式修改,再进行运动参数量传输的复杂性;依据主从标识位直接识别报文来源,依据从站id位直接识别匹配至对应的从站,以简化通讯逻辑并保证该通讯逻辑的正确性;依据数据区传输具体的内部参数量或运动参数量,以实现从站的运动执行。由此可见,本通讯系统基于can总线搭建了对应的主站及主站功能模块、从站及从站功能模块,并将传输过程中的通讯信息及通讯逻辑均装填至报文内进行传输交互。相较于现有的can应用层通讯协议,如canopen通讯协议需要靠复杂的配置及逻辑过程实现通讯信息的传输相比,所述通讯系统的通讯逻辑及通讯过程都更加简洁清晰。因此在开发配置方面,无论对于主站开发还是从站配置,均降低了相关工作人员的工作难度;在实际应用方面,其各类嵌入式运动系统,特别是在小型的嵌入式运行系统中具有突出的应用优势。
33.对于所述通讯系统,所述主站还包括所述第一开关量更新模块,以实现主站发送通讯报文时的开关量输入量更新;所述从站还包括所述第二开关量更新模块,以实现从站发送通讯报文时的开关量输出量更新。所述数据报文及控制报文的位域还包括io数据位;所述io数据位又与所述第一开关量更新模块及第二开关量更新模块相关联,因此通过通讯方式实现了主站与从站间的通讯连接。与现有通讯系统中多依靠物理方式,如各类数据线实现通讯连接相比,有利于减少可见束线,从而简化了整个通讯系统的复杂性。
34.本发明还提供了一种基于can总线的运动控制通讯系统的通讯方法,所述通讯方法基于所述通讯系统进行通讯。在配置过程中,只用在通讯前进行简单的预配置即可;具体
的,所述预配置仅包括主站的从站编号、主站通讯波特率,及从站的自身编号、从站通讯波特率。与canopen协议中需要进行复杂的pdo参数及sdo参数配置相比,配置参数更少,配置过程更加简单。在通讯过程中,只需要通过对应的控制报文即可实现从站工作模式识别并使其执行运动;与canopen协议中需要先进行从站工作模式修改,再进行内部参数量或运动参数量传输以控制从站进行执行运动相比,通讯过程更加简单,通讯逻辑更加便捷;进而更利于实现通讯的实时性。
35.应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
36.结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
37.附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
38.图1为本发明所述的通讯系统的示意图。
具体实施方式
39.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
40.本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,除非上下文清楚地指明其它情况,否则单数形式的“一个”“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的特征、整体、步骤、操作、元素和/或组件,并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。“上”“下”“左”“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
41.本发明提供了一种基于can总线的运动控制通讯系统,所述通讯系统将所有的通讯信息及通讯逻辑均装填至通讯报文内,因此仅通过所述通讯报文在主站与各从站间交互传输即直接实现了主站与各从站间所有的通讯交互。相较于基于现有can应用层通讯协议的通讯系统,所述通讯系统的通讯逻辑及通讯过程都更加简洁清晰,且简化了主站与从站间物理接线。
42.本发明还提供了一种基于can总线的运动控制通讯系统的通讯方法,所述通讯方
法基于所述通讯系统进行通讯,在通讯前仅需简单的预配置即可;在通讯时,仅通过通讯报文的位域识别即可直接实现通讯。因此不但配置过程更加简单,且通讯逻辑更加快捷,更利于实现通讯的实时性。
43.下面结合附图所示的实施例,对本发明公开的基于can总线的运动控制通讯系统作进一步具体介绍。
44.如图1所示,所述通讯系统包括基于can网络连接的主站、若干从站,及在所述主站与从站间进行传输交互的通讯报文。在具体实施时,所述主站可以是各种逻辑控制器,所述从站可以是伺服控制器、变频器、步进控制器等。规定各从站的自身编号依次为1、2、3...n。
45.为了实现通讯,设置所述主站包括读写请求模块及运动计算模块,所述从站包括读写处理模块及运动响应模块;对应的,所述通讯报文包括数据报文及控制报文。
46.其中,所述数据报文在所述读写请求模块与读写处理模块间进行传输,用于实现主站对从站的内部参数读写;所述控制报文在所述运动计算模块与运动响应模块间进行传输,用于直接实现主站对从站运动的控制。
47.所述数据报文及控制报文均包括数据区及若干位域。所述数据区用于传输内部参数量或运动参数量。所述位域包括功能码位、主从标识位、模式位、从站id位;所述功能码位用于供主站或从站直接识别对应报文的类型,所述主从标识位用于直接识别对应报文的主站或从站来源,所述模式位用于供主站或从站直接识别对应报文所传输的从站工作模式,所述从站id位用于供主站直接区分从站。
48.在具体实施时,所述主站及从站可依据通讯报文中的功能码位直接确认报文类型以直接分配对应的功能模块进行处理;所述从站依据模式位直接识别该报文下其自身的工作模式,以免除canopen协议下需要先对从站工作模式修改,再进行运动参数量传输的复杂性;并依据主从标识位直接识别报文来源,依据从站id位直接识别匹配至对应的从站,以简化通讯逻辑并保证该通讯逻辑的正确性;依据数据区传输具体的内部参数量或运动参数量,以实现从站的运动执行。由此可见,本通讯系统基于can总线搭建了对应的主站及主站功能模块、从站及从站功能模块,并将传输过程中的通讯信息及通讯逻辑均装填至报文内进行传输交互。相较于现有的can应用层通讯协议,如canopen通讯协议需要靠复杂的配置及逻辑过程实现通讯信息的传输相比,该通讯系统的配置过程及通讯逻辑都更加简洁清晰,因此在开发配置方面,无论对于主站开发还是从站配置,均降低了相关工作人员的工作难度;在实际应用方面,其各类嵌入式运动系统,特别是在小型的嵌入式运行系统中具有突出的应用优势。
49.所述主站还包括第一开关量更新模块,用于在主站发送通讯报文时更新开关量输入量;所述从站还包括第二开关量更新模块,用于在从站发送通讯报文时更新开关量输出量;所述数据报文及控制报文的位域还包括io数据位。所述io数据位与所述第一开关量更新模块及第二开关量更新模块相关联,以实现主站与从站间的通讯连接。与现有通讯系统中多依靠物理方式,如各类数据线实现通讯连接相比,有利于减少可见束线,简化系统内连线繁琐性,从而简化整个通讯系统的复杂性。
50.在通讯过程中,由于主站为控制端,从站为被控制端,因此当所述主站向从站发送通讯报文,可通过监测是否收到从站的回复报文实现主站对从站的工作状态主动监控。但是从站无法对主站进行主动监控,因此为了实现从站对主站工作状态的监控,以保证通讯
正常。设置所述主站包括从站监视模块,所述从站包括主站监视模块;所述通讯报文包括心跳报文,所述心跳报文的位域包括功能码位。此时,所述心跳报文将按固定周期从所述从站监视模块传输至主站监视模块,所述从站则接收主站的心跳实现对其在线监视。
51.与之对应的,为了确保通讯逻辑的正确性及对各从站控制的准确性。设置所述数据报文及控制报文的位域还包括报文序号位,同一对应报文在发送与接收时,其报文序号位相同;用于监视所述主站与对应从站间的通讯交互是否正常。在具体实施时,若通讯正常,主站发送给任一从站的对应报文的“报文序号”依次递增;若从站出现异常导致没有及时回复,主站将在下次轮询时尝试重发,即再次发送“报文序号”相同的对应报文。
52.本实施例中,所述通讯系统支持从站包括以下工作模式:位移模式、转速模式、转矩模式。当从站为位移模式时,数据区内为位置变化量;当从站为转速模式时,数据区内为目标转速值;当从站位转矩模式时,数据区内为目标转矩值。
53.对于上述三种工作模式,又具体分为同步控制及异步控制两种控制方式。为了实现该两种控制方式,设置所述主站还包括同步控制模块,所述从站还包括同步处理模块。所述通讯报文还包括同步报文,所述同步报文的位域包括功能码位,其从所述同步控制模块传输至所述同步处理模块。所述控制报文的位域包括对应的同步标识位,使所述控制报文与同步报文相关联;用于进行主站对从站的同步控制。
54.本实施例中,对于各通讯报文,所述数据报文、控制报文为客户端-服务器模式,主站为客户端发起通讯,从站为服务器接收报文并进行回复。所述心跳报文和同步报文为生产者-消费者模式,主站为生产者发出报文,所有从站为消费者接收报文,从站无需回复。
55.基于上述设置,本实施例定义了一种具体的通讯报文格式,如下表1所示。
56.表1通讯报文格式表
[0057][0058]
基于can总线的仲裁原理,设置各通讯报文的优先级由高至低依次为:同步报文、控制报文、数据报文、心跳报文。
[0059]
下面结合附图所示的实施例,对本发明公开的基于can总线的运动控制通讯系统的通讯方法作进一步具体介绍。
[0060]
所述通讯方法基于所述的通讯系统实现通讯,包括:
[0061]
s102、所述主站和从站各自进行预配置,所述主站的配置项包括从站编号、主站通
讯波特率,所述从站的配置项包括自身编号、从站通讯波特率;所述从站编号与自身编号相对应;所述主站通讯波特率与所述从站通讯波特率相同,并与轮询间隔及轮询周期相关联;
[0062]
本通讯方法中由于将通讯信息及通讯逻辑均填装至通讯报文的对应位域内,因此只用进行简单的预配置,保证主站可识别具体从站来源,并使通讯保持同一周期或同一频率即可。相较于现有的基于canopen协议的通讯方法,配置参数更少、配置过程更加简单,基础工作人员即可完成。
[0063]
本步骤中,所述主站通讯波特率和从站通讯波特率与轮询周期成反比。当所述通讯系统中有n个从站,主站通讯波特率和从站通讯波特率均为1mbps时,由于主站在轮询至任一从站时,最多同时有6条通讯报文,即心跳报文、同步报文、主站发送的控制报文、从站回复的控制报文、主站发送的数据报文、从站回复的数据报文;由can总线的特性可知,所述单条通讯报文占用can总线的时间不超过150us;因此每个从站占用的时间不超过900us。对于小型的嵌入式运行系统,主站对各从站间的轮询间隔t为可近似计为t=1ms;此时由轮询周期为t=t*n可得轮询周期近似为t=nms。
[0064]
s104、所述主站对各从站进行轮询控制,依据运动计算模块的计算结果组建控制报文,并发送给对应从站的运动响应模块;此时所述运动响应模块将通过模式位直接识别工作模式,并依据数据区的运动参数量使从站执行运动;
[0065]
本步骤中,从站可直接通过控制报文的模式位识别工作模式,与现有基于canopen协议的通讯方法相比,不需要通过pdo或者sdo预先修改从站的控制模式,因此通讯过程更加方便简洁,实时性也更高。
[0066]
s106、所述主站检查读写请求模块,若有待处理的读写请求,则发送数据报文至对应的读写处理模块,以完成对从站内部变量的读写;
[0067]
本步骤中通过内部参数的读写用于给从站的内部参数项进行赋值。所述内部参数项包括从站的开关量输入输出功能定义、控制增益等从站内部参数项。
[0068]
在本步骤及步骤s104中,为了保持can总线负载的均衡,所述主站在轮询至任一从站时,每次最多发送一条控制报文和一条数据报文。
[0069]
s108、所述主站接收各从站回复的控制报文、数据报文,并依其在进行下次轮询。
[0070]
在进行步骤s104时,为了防止等待运动计算模块进行即时计算时的耗时过长,影响通讯实时性;及由此导致的控制报文发送间隔时间抖动,影响通讯准确性。在进行步骤s104前,即在所述主站对各从站进行轮询前,所述主站的运动计算模块将预先对每一从站的运动参数量进行等步长插补计算;此时所述主站将依据该预先计算的结果直接组建控制报文。
[0071]
本步骤中,所述等步长插补计算即先将每一从站的运动参数量按照轮询周期进行离散,然后在主站开始轮询前依次对所述每一从站的运动参数量进行计算。
[0072]
具体的,当所述控制报文及数据报文均包括报文序号位。在进行步骤s104时,所述主站每向对应从站发送一次控制报文,报文序号位则会更新一次;当所述从站向主站针对该控制报文回复时,回复的控制报文的报文序号位与该控制报文的报文序号位一致。
[0073]
在进行步骤s106时,所述主站每向对应从站发送一次数据报文,报文序号位则会更新一次;当对应从站向主站针对该数据报文进行回复时,回复的数据报文的报文序号位与该数据报文的报文序号位一致。
[0074]
具体的,当所述主站包括从站监视模块,所述从站包括主站监视模块,所述通讯报文包括心跳报文。在进行步骤s104时,所述主站的配置项还包括心跳周期、从站超时,所述从站的配置项还包括主站超时;所述心跳周期用于设置心跳报文的发送频率;所述从站超时与所述从站监视模块相关联,用于对从站回复通讯报文的时长进行累积,并依其判断对应从站是否异常;所述主站超时与所述主站监视模块相关联,用于对主站发送通讯报文的时长进行累积,并使任一从站依其判断主站是否异常。
[0075]
具体的,当所述主站包括同步控制模块,所述从站包括同步处理模块;所述通讯报文包括同步报文,所述控制报文的位域还包括对应的同步标识位。在进行步骤s104时,若为同步控制,将同步信息写入控制报文的同步标识位;从站收到控制报文后,并将该同步信息与该从站的同步处理模块相关联;此时直至所述同步处理模块接收到同步报文,才会触发该从站在控制报文的作用下执行运动。
[0076]
具体的,所述同步报文的发送时间为每次轮询结束后。
[0077]
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1