一种串行分布式模块通信及控制系统及方法与流程

文档序号:14418145阅读:220来源:国知局
一种串行分布式模块通信及控制系统及方法与流程

本发明涉及一种串行分布式模块通信及控制系统及方法。



背景技术:

现有的很多分布式控制终端一般采用分布式总线与mcu通信,这就要求每一个终端具有固定的id;单一总线情况下,控制指令需包含所有终端的id和所有终端的控制命令,数据冗长,传输效率低。

具体的,目前的总线舵机控制方法是舵机控制模块本身带识别号id,系统不会自动配置识别号id,装配前舵机控制模块需要事先写入识别号id,装配时要记录好识别号id与实际位置的对应位置关系,控制时才能根据舵机控制模块的识别号id来控制某指定的舵机;如需更换舵机控制模块也需要更换相同识别号id的舵机控制模块或者在系统里面更新新的舵机控制模块识别号id;整体体验装配步骤多,舵机控制模块损坏时,更换困难。

因此,有必要设计一种串行分布式模块通信及控制系统及方法。



技术实现要素:

本发明所要解决的技术问题是提供一种串行分布式模块通信及控制系统及方法,该串行分布式模块通信及控制系统及方法数据传输效率高,组网灵活方便,易于实施。

发明的技术解决方案如下:

一种串行分布式模块通信及控制系统,包括中央控制模块和n条串行模块控制串;n≥1,n为自然数;n条串行模块控制串分别与中央控制模块的n个通信端口相连;

第i条串行模块控制串中包括m(i)个串联的分布式模块;i=1,2,…,n;m(i)≥1,m(i)为自然数;每一个分布式模块具有唯一的动态配置的id号;

中央控制模块能向任一个或多个分布式模块发出控制指令;

任一个分布式模块能基于接收的控制指令执行预定的任务,如启动检测,返回数据,或启动某一操作,如打开开关等等。

分布式模块为舵机模块或数据传感模块(如固定式的传感器模块),用于执行某一操作或收集现场信息。

所述的现场信息是指电压、电流、位置、温度、湿度中的至少一种。

n≥1。

中央处理器能对n条串行模块控制串进行并行数据处理。

任一个分布式模块能向中央控制模块回传数据,数据包括分布式模块自身的状态数据或检测到的现场数据。

中央控制模块对所有的分布式模块的id号进行自动配置;

自动配置过程如下:

(1)发布及响应id配置命令:

中央控制模块的对每条串行模块控制串都下达id配置命令,id配置命令中包含识别号id字段:

中央控制模块给第一路串联模块下达的id配置命令,包含识别号id字段为11、12、……1m(1),第二路识别号id字段为21、22、……2m(2),第n路识别号id字段为n1、n2、……nm(n);

第i路中,第一个分布式模块接收到id配置命令后把字段中最前的模块识别号id“i1”配置为自身的识别号id并将命令中属于该id的字节“i1”删除后继续往后传,命令中识别号id字段变成i2、i3、……im(i),直到传输到第i路中的最后一个分布式模块,从而完成第i路的分布式模块配置;

(2)发布及响应id反馈命令:

中央控制模块需知道系统中所有接上分布式模块的路数及每路的分布式模块数量,则需下达反馈命令,各具备id号的分布式模块向中央控制模块反馈自身id号,中央控制模块在预定的时间内统计已经收到的id号数据,从而确定各路中分布式模块的数量。具体为中央处理模块针对每一路的每一个id依次发出查询命令,若在预定时间内收到,则表示该id存在,否则表示该id不存在。若不存在id,则中央处理模块对下一路的模块发送id查询指令.直到最后一个模块。

中央处理模块对已经完成配置的分布式模块发出控制指令,分布式模块依据收到的指令执行指令中要求的动作。

控制指令的格式为:(id号1,具体指令1;id号2,具体指令2;……;id号k,具体指令k;),其中k≥1,k为自然数。

一种串行分布式模块通信及控制方法,包括以下步骤:

步骤1:硬件连接:

在硬件上将多个分布式模块形成n个串并且将n个串分别与中央控制模块的n个通信端口相连;n≥1,n为自然数;

步骤2:重新配置id号:

中央控制模块对所有的分布式模块进行配置;

步骤3:基于id号进行控制:

中央控制模块对一个或多个分布式模块发送控制指令以控制一个或多个分布式模块执行指令中设定的动作。

采用前述的串行分布式模块通信及控制系统。

具体的,一种多路串行舵机通信和控制系统及实现方法,所述控制系统中的所述舵机控制模块通过串联方式连接,再分为多路连接到所述中央控制模块的不同输入接口,中央控制模块可以对系统中的任意位置的所述舵机控制模块进行控制及监控。所述的控制系统中包括:

中央控制模块,用于对所述控制系统中的所述舵机控制模块下达命令(id配置命令、反馈命令、控制命令),和接收来自所述舵机控制模块的反馈数据;

舵机控制模块,用于根据来自所述中央控制模块的所述命令,配置自身识别号id、反馈数据给回所述中央控制模块或者控制舵机运行。

由多个舵机控制模块通过串联方式组成一路舵机控制模块组合,多路的舵机控制模块组合再分别接入所述中央控制模块的不同输入接口。

舵机控制模块自身没有固定的识别号id。

所述的中央控制模块发出id配置命令,所述舵机控制模块根据id配置命令配置自身的识别号id。

识别号id是由组别号加顺序号构成;每个组别号表示一路舵机控制模块组合,顺序号表示每个舵机控制模块在该路舵机控制模块组合中的位置顺序。

所述中央控制模块发出单个或多个舵机控制模块的反馈命令,该命令中包含单个或多个舵机控制模块的识别号id,符合识别号id的舵机控制模块收到反馈命后反馈数据给回中央控制模块。

所述中央控制模块发出所有舵机控制模块的反馈命令,该命令不包含舵机控制模块识别号id,所有舵机控制模块收到反馈命后反馈数据给回中央控制模块。

所述中央控制模块发出单个或多个舵机控制模块的控制命令,该命令中包含单个或多个舵机控制模块的识别号id,符合识别号id的舵机控制模块收到控制命令后根据命令控制舵机运行。

所述中央控制模块发出所有舵机控制模块的控制命令,该命令不包含舵机控制模块识别号id,所有舵机舵机控制模块收到控制命令后根据命令控制舵机运行。

一种多路串行舵机通信和控制系统及实现方法,控制系统包括中央控制模块、n个串行舵机控制模块;舵机控制模块以串联方式连接后,再分为多路与中央控制模块连接。

系统中舵机控制模块以串联方式连接后,再分为多路与中央控制模块连接的不同输入接口,可以将系统中舵机按照组装的便利性或者特殊的排列要求分为多串,再分别接入中央控制模块;避免因舵机串连数量过多引起的数据反应速度慢及电源供应问题。

所述中央控制模块,用于发送id配置命令、接收来自每个舵机控制模块带识别号id的反馈数据及发送带识别号id的控制命令给到每个舵机控制模块。

所述舵机控制模块根据中央控制模块的id配置命令配置自身的识别号id;根据中央控制模块的反馈命令反馈数据给回中央控制模块;接收来自中央控制模块控制命令控制舵机运行。

如图1-2,分布式模块为舵机模块;

中央控制模块分为6路通过6个通信接口cn1、cn2、cn3、cn4、cn5、cn6分别与串行模块控制串连接,

中央控制模块所采用的主控ic的型号为pmc884

6个通信接口接到主控icu1的pin1、pin2、pin11、pin12、pin19、pin20;

舵机模块具有基于df319的舵机控制模块,cn7为舵机控制模块的输入接口,cn8为舵机控制模块输出到其他舵机控制模块的输出接口;

有益效果:

本发明的串行分布式模块通信及控制系统及方法,其核心是所述系统中分布式模块(如舵机)无需在装配前预先配置识别号id,可以任意调整分布式模块(如舵机)顺序,不受位置限制,减少装配及更换难度;可以根据组装的便利性或特定的要求分为多路接入中央控制模块,提高通讯效率,同时可避免供电问题;每个分布式模块(如舵机)都具有反馈功能,可以根据中央控制模块的反馈命令反馈分布式模块(如舵机)端的数据,形成闭环控制,增强用户体验。本发明能自动分配id号,组网方便,易于实施。

该控制系统包含中央控制模块、n个串行舵机控制串;分布式模块(如舵机)以串联方式连接后,再分为多路与中央控制模块的不同通信接口连接;舵机控制模块接收到中央控制模块下达的id配置命令后,自动设置识别号id,实现系统中每个舵机控制模块都有唯一的识别号id;每个舵机控制模块根据自身识别号id读取中央控制模块发送的控制命令中对应的数据,并在接收到反馈命令后反馈带有自身识别号id的数据给中央控制模块,反馈数据包括舵机控制模块收集到的电压、电流、位置、温度等信息。

本发明中舵机控制模块无需在装配前预先配置识别号id,可以任意调整舵机控制模块的装配位置及顺序,降低舵机装配及更换难度;舵机控制模块以串联方式连接后,再分为多路与中央控制模块连接,可多路并行通讯,避免因舵机控制模块串连数量过多引起的数据通信速度慢及电源供应问题;系统中舵机控制模块具有反馈功能,能实时反馈舵机控制模块收集到的数据给中央控制模块,以便中央控制模块监控舵机控制模块运行状态,保障其安全运行。

本发明解决了现有总线舵机需要在装配前预先给舵机控制模块配置识别号id,导致装配麻烦,步骤多用户体验差的问题。

附图说明

图1是本发明的多路串行舵机通信及控制系统中中央控制模块线路图;

图2是舵机控制模块线路图;

图3是多路串行舵机通信及控制系统示意图;

图4是id配置示意图;

图5是多路串行舵机通信及控制系统实例;

图6为控制指令格式示意图。

具体实施方式

以下将结合附图和具体实施例对本发明做进一步详细说明:

实施例1:如图1-6所示,如图1所示为本实发明所述一种多路串行舵机通信及控制系统中中央控制模块线路举例,图2为一个舵机控制模块线路;图1中u1为中央控制模块主控icpmc884,该举例中中央控制模块可以分为6路与舵机控制模块连接,cn1、cn2、cn3、cn4、cn5、cn6为通信接口,如图所示通信接口接到主控icu1的pin1、pin2、pin11、pin12、pin19、pin20;图2中u2为舵机控制模块的主控icdf319,cn7为舵机控制模块的输入接口,cn8为舵机控制模块输出到其他舵机控制模块的输出接口;该线路的连接方法为,系统中每一路的第一个舵机控制模块的输入接口与中央控制模块的其中一个通信接口连接,该路的第二个舵机控制模块则输入接口与第一个舵机控制模块的输出接口相连接,第三个舵机控制模块的输入接口则与第二个舵机控制模块的输出接口相连接,依次类推。中央控制模块主控ic通过每个通信接口与舵机控制模块通讯则达到控制和监控每个舵机控制模块的目的。

如图3所示为本发明所述一种多路串行舵机通信及控制系统示意图,包括中央控制模块和n个舵机控制模块,以如图方式可分为多路接入中央控制模块;

中央控制模块的对每路串联舵机都下达id配置命令,id配置命令中包含识别号id字段,如图3所示控制系统,系统中包括一个中央控制模块和n个舵机;中央控制模块给第一路串联舵机下达的id配置命令,包含识别号id字段为11、12、……1f,第二路识别号id字段为21、22、……2f,第f路识别号id字段为f1、f2、……ff,如图4第一路第一个舵机控制模块接收到id配置命令后把字段中最前的舵机识别号id“11”配置为自身的识别号id并将命令中属于该id的字节“11”删除后继续往后传,命令中识别号id字段变成12、13、……1f,第二个舵机控制模块接收到id配置命令后同样把字段中最前的识别号id“12”配置为自身的识别号id并将命令中属于该id的字节“12”删除后继续往后传,依次传下去,如图4所示。

如图5所示例子,系统中接入9只舵机,中央控制模块下达id配置命令后,所有舵机配置自身识别号id;中央控制模块需知道系统中所有接上舵机的路数及每路的数量,则需下达反馈命令,如第一路,中央控制模块首先下达识别号id为“11”的舵机控制模块的反馈命令,识别号id为“11”舵机控制模块收到该命令后与自身的id比对,比对一致后反馈数据传回中央控制模块;然后中央控制模块下达反馈识别号id为“12”的舵机控制模块的反馈命令,识别号id为“11”舵机控制模块收到该命令后与自身id比对,比对不一致则往后传,识别号id为“12”舵机控制模块收到后与自身的id比对,比对一致后反馈数据给回中央控制模块,中央控制模块再下达反馈识别号id为“13”的舵机控制模块的反馈命令,识别号id为“11”“12”舵机控制模块都比对不一致继续往后传,由于该串后面没有接其他舵机控制模块,中央控制模块在预定的时间内没有收到反馈的数据,则记录该串接有两个舵机控制模块,识别号id分别为“11”、“12”。其他每路都执行同样的识别动作,如果第n路的识别号id为n1舵控制模块没有反馈,则表示该路没有接任何舵机控制模块。

当需要控制某些舵机控制模块动作时,中央控制模块需下达包含所要控制舵机控制模块id的命令,如图5如需控制识别号id为“21”“23”的舵机控制模块时,需下达控制命令,控制命令格式如图6,包含识别号”21””23”和控制指令内容,识别号id为“21”的舵机收到后会把控制命令往后传,同时会读取命令中包含识别号id为“21”的控制内容并且做出相应的动作;识别号id为“22”的舵机控制模块收到命令后也同样向后传并读取命令中包含识别号id为“22”的控制内容,当读取的命令中不包含识别号id为“22”的内容则不动作;识别号id为“23”的舵机收到后也同样先往后传,同时读取命令中包含识别号id为“23”的控制内容并且做出相应的动作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1