一种运动控制器及控制方法与流程

文档序号:12269924阅读:337来源:国知局
一种运动控制器及控制方法与流程

本发明涉及运动控制器扩展领域,具体地,涉及一种运动控制器及控制方法。



背景技术:

随着工业自动化的不断推进,越来越多的设备需要用到运动控制器来规划复杂的运动控制。但由于运动控制器本身所带的资源有限,在很多的应用场合需要借助一些额外的模块才能完成系统的应用。这其中就产生了很多的问题,比如外接模块与运动控制器匹配性不好,价格昂贵,系统复杂不稳定等。

目前市场上的运动控制器使用的扩展总线通过运动控制器连接第一个扩展,第一个扩展连接第二个扩展这种级联的连线方式进行扩展。运动控制器和每个扩展模块都有一个可编程逻辑器件如FPGA或CPLD作为扩展总线的载体,使他们之间进行数据的交换。

但是上述实现方法中由于各个模块间级联的原因,运动控制器与后面扩展模块通信的数据都要经过其前面的扩展模块,造成了通讯时间的有很大延时;且这种扩展总线都不支持扩展模块自动识别,支持的扩展模块类型也都较少,不能满足运动控制系统的要求。

针对现有技术的不足,急需设计一种通信高速、灵活、简便的运动控制器。



技术实现要素:

为了克服现有技术中存在的缺点和不足,本发明的目的在于提供一种运动控制器及控制方法,数据交换时不需经过除本身模块之外的扩展模块,极大的缩短了扩展时间,极大地增加了系统的灵活性,方便了运动控制系统的应用。

本发明的技术方案如下:

一种运动控制器,包括运动控制器本体、1-8个扩展模块和扩展连线,所述的扩展连线包括数据读写连线、数据传递连线和使能连线,运动控制器本体设置有主机FPGA,各扩展模块均设置有从机FPGA。

数据读写连线一方面连接至运动控制器本体,另一方面分别连接至各个扩展模块;

数据传递连线包括数据0 -数据7传递连线,数据传递连线为双向信号线,一方面连接至运动控制器本体,另一方面分别连接至各个扩展模块;

使能连线用于串联运动控制器本体和各个扩展模块。使能连线连接至上一个扩展模块和下一个扩展模块。

其中:所述运动控制器本体包括定时器T1和定时器T3,定时器T1用于运动控制器本体识别各扩展模块的类型,定时器T3用于运动控制器本体和扩展模块交换数据;所述各扩展模块均包括定时器T2、定时器T4和定时器T6,定时器T2用于扩展模块向运动控制器本体发送模块类型,定时器T4和T6用于扩展模块和运动控制器本体交换数据。

一种运动控制器的控制方法,包括以下步骤:模块识别步骤和数据通信步骤,所述的模块识别步骤包括:

S1:运动控制器本体向第1个扩展模块发送使能信号和读信号,同时启动定时器T1,定时时间设置为N1;

S2:第1个扩展模块收到使能信号和读信号后,在使能信号的上升沿启动定时器T2,定时时间设置为N2,并向数据传递连线发送本扩展模块的扩展类型;此时,其他扩展模块虽然也收到了读信号,但由于未收到使能信号,所以除第1个扩展模块外,其他扩展模块向数据传递连线和数据读写连线输出高阻态,不会发送自己的模块类型。

S3:当T2计时到N2/2时,定时器T1采集第1个扩展模块的模块类型;即运定时器T1在扩展模块发送数据的中间时间点进行数据采样,保证了采样数据的稳定性。

S4:当T2计时到N2时,清零T2,第1个扩展模块向数据传递连线输出高阻,同时向第2个扩展模块发送使能信号;

S5:按照上述步骤依次进行第1-第8个扩展模块类型的识别,当N1=8xN2时,代表各扩展模块的类型识别完毕,此时清零T1;然后按照扩展模块的类型自动分配地址,完成各扩展模块的识别功能。

所述的数据通信步骤包括:

S1:运动控制器本体向第1个扩展模块发送使能信号和读信号,同时启动定时器T3,定时时间设为N3;其中N3等于16XN4。

S2:第1个扩展模块收到使能信号的上升沿时,启动定时器T4,定时时间设为N4,将所述时间N4平均分成16各时间段:N4_1-N4_16;

S3:第1扩展模块分别在N4等于N4_1至N4_16时,发送本扩展的第1字节至第16字节到数据传递连线上;具体地,在T4为N4_1时,第1扩展模块将本模块的第1字节数据放到数据传递连线上,在T4为N4_2时,第1扩展模块将本模块的第2字节数据放到数据传递连线上,直到T4为N4_16时,将本模块的第2字节数据放到数据传递连线上。

S4:当T4等于N4_1至N4_16的中间时间点时,计时器T3采集第1个扩展模块发送的数据;

S5:当T4到达计时N4_16时,清零T4;此时T3计数达到N3/16,

S6:运动控制器向第1个扩展模块发送使能信号和写信号,并将N3/16-N3/8这个时间段均分为N5_1至N5_16,同时第一个扩展模块启动定时器T6,定时时间设为N6;其中N6=N4。

S7:运动控制器本体分别在T3等于N5_1至N5_16时发送第1字节至第16字节到数据传递连线上;具体地,T3为N5_1时,运动控制器本体将第1字节数据放到数据传递连线上,在T3为N5_2时,运动控制器本体将第2字节数据放到数据传递连线上,直到T3为N5_16时,运动控制器本体将第16字节数据放到数据传递连线上。

S8:当计时到N5_1-N5_16的中间时间点时,第1扩展模块采样运动控制器本体发送的数据;

S9:当T6计时到达时,清零T6,此时,T3计数到达N3/8,运动控制器本体拉低写信号,发送读信号,同时第一个扩展模块向第二个扩展模块发送使能信号。

S10:按照上述步骤依次进行第1-第8个扩展模块的数据通信。

运动控制器本体按照上述步骤依次完成与各扩展模块之间的数据通信,循环一次,运动控制器本体与扩展模块共交换256字节的数据。

本发明的有益效果:

本发明的一种运动控制器及控制方法根据定时读写,中间采样的方式,使用了数据传递连线和数据读写连线及使能连线的通讯方法,数据交换时不需经过除本身模块之外的扩展模块,稳定传输256字节的数据,只需1.28ms,相比目前市场上传输几十字节就需要10ms以上的通信,极大的缩短了扩展时间;并且运动控制器本体可以自动识别扩展模块的类型,用户只需将扩展模块接入系统,不需要手动输入接入扩展模块的类型系统就可以自动识别,极大地增加了系统的灵活性,方便了运动控制系统的应用。

附图说明

图1是本发明一种运动控制器的原理框图。

图2是本发明运动控制器本体和扩展模块的结构示意图。

图3是本发明一种运动控制器的控制方法的扩展模块识别过程的时序图。

图4是本发明一种运动控制器的控制方法的数据通信过程的时序图。

具体实施方式

为了便于本领域技术人员的理解,下面结合实施例及附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。

如图1所示,一种运动控制器,包括运动控制器本体、1-8个扩展模块和扩展连线,所述的扩展连线包括数据读写连线、数据传递连线和使能连线,运动控制器本体设置有主机FPGA,各扩展模块均设置有从机FPGA。

数据读写连线一方面连接至运动控制器本体,另一方面分别连接至各个扩展模块;

数据传递连线包括数据0 -数据7传递连线,数据传递连线为双向信号线,一方面连接至运动控制器本体,另一方面分别连接至各个扩展模块;

使能连线用于串联运动控制器本体和各个扩展模块。使能连线连接至上一个扩展模块和下一个扩展模块。

如图2所示,所述运动控制器本体包括定时器T1和定时器T3,定时器T1用于运动控制器本体识别各扩展模块的类型,定时器T3用于运动控制器本体和扩展模块交换数据;所述各扩展模块均包括定时器T2、定时器T4和定时器T6,定时器T2用于扩展模块向运动控制器本体发送模块类型,定时器T4和T6用于扩展模块和运动控制器本体交换数据。

如图3-图4所示,一种运动控制器的控制方法,包括以下步骤:模块识别步骤和数据通信步骤,所述的模块识别步骤包括:

S1:运动控制器本体向第1个扩展模块发送使能信号和读信号,同时启动定时器T1,定时时间设置为N1;

S2:第1个扩展模块收到使能信号和读信号后,在使能信号的上升沿启动定时器T2,定时时间设置为N2,并向数据传递连线发送本扩展模块的扩展类型;此时,其他扩展模块虽然也收到了读信号,但由于未收到使能信号,所以除第1个扩展模块外,其他扩展模块向数据传递连线和数据读写连线输出高阻态,不会发送自己的模块类型。

S3:当T2计时到N2/2时,定时器T1采集第1个扩展模块的模块类型;即运定时器T1在扩展模块发送数据的中间时间点进行数据采样,保证了采样数据的稳定性。

S4:当T2计时到N2时,清零T2,第1个扩展模块向数据传递连线输出高阻,同时向第2个扩展模块发送使能信号;

S5:按照上述步骤依次进行第1-第8个扩展模块类型的识别,当N1=8xN2时,代表各扩展模块的类型识别完毕,此时清零T1;然后按照扩展模块的类型自动分配地址,完成各扩展模块的识别功能。

所述的数据通信步骤包括:

S1:运动控制器本体向第1个扩展模块发送使能信号和读信号,同时启动定时器T3,定时时间设为N3;其中N3等于16XN4。

S2:第1个扩展模块收到使能信号的上升沿时,启动定时器T4,定时时间设为N4,将所述时间N4平均分成16各时间段:N4_1-N4_16;

S3:第1扩展模块分别在N4等于N4_1至N4_16时,发送本扩展的第1字节至第16字节到数据传递连线上;具体地,在T4为N4_1时,第1扩展模块将本模块的第1字节数据放到数据传递连线上,在T4为N4_2时,第1扩展模块将本模块的第2字节数据放到数据传递连线上,直到T4为N4_16时,将本模块的第2字节数据放到数据传递连线上。

S4:当T4等于N4_1至N4_16的中间时间点时,计时器T3采集第1个扩展模块发送的数据;

S5:当T4到达计时N4_16时,清零T4;此时T3计数达到N3/16,

S6:运动控制器向第1个扩展模块发送使能信号和写信号,并将N3/16-N3/8这个时间段均分为N5_1至N5_16,同时第一个扩展模块启动定时器T6,定时时间设为N6;其中N6=N4。

S7:运动控制器本体分别在T3等于N5_1至N5_16时发送第1字节至第16字节到数据传递连线上;具体地,T3为N5_1时,运动控制器本体将第1字节数据放到数据传递连线上,在T3为N5_2时,运动控制器本体将第2字节数据放到数据传递连线上,直到T3为N5_16时,运动控制器本体将第16字节数据放到数据传递连线上。

S8:当计时到N5_1-N5_16的中间时间点时,第1扩展模块采样运动控制器本体发送的数据;

S9:当T6计时到达时,清零T6,此时,T3计数到达N3/8,运动控制器本体拉低写信号,发送读信号,同时第一个扩展模块向第二个扩展模块发送使能信号。

S10:按照上述步骤依次进行第1-第8个扩展模块的数据通信。

运动控制器本体按照上述步骤依次完成与各扩展模块之间的数据通信,循环一次,运动控制器本体与扩展模块共交换256字节的数据。

最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

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