CN106444535B - 一种运动控制器及控制方法 - Google Patents
一种运动控制器及控制方法 Download PDFInfo
- Publication number
- CN106444535B CN106444535B CN201611015806.3A CN201611015806A CN106444535B CN 106444535 B CN106444535 B CN 106444535B CN 201611015806 A CN201611015806 A CN 201611015806A CN 106444535 B CN106444535 B CN 106444535B
- Authority
- CN
- China
- Prior art keywords
- expansion module
- motion controller
- timer
- data
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Programmable Controllers (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明涉及运动控制器扩展领域,具体地,涉及一种运动控制器及控制方法,包括运动控制器本体、1‑8个扩展模块和扩展连线,所述的扩展连线包括数据读写连线、数据传递连线和使能连线,数据读写连线一方面连接至运动控制器本体,另一方面分别连接至各个扩展模块;数据传递连线包括数据0‑数据7传递连线,数据传递连线为双向信号线,一方面连接至运动控制器本体,另一方面分别连接至各个扩展模块;使能连线用于串联运动控制器本体和各个扩展模块。本发明一种运动控制器及控制方法,数据交换时不需经过除本身模块之外的扩展模块,极大的缩短了扩展时间,极大地增加了***的灵活性,方便了运动控制***的应用。
Description
技术领域
本发明涉及运动控制器扩展领域,具体地,涉及一种运动控制器及控制方法。
背景技术
随着工业自动化的不断推进,越来越多的设备需要用到运动控制器来规划复杂的运动控制。但由于运动控制器本身所带的资源有限,在很多的应用场合需要借助一些额外的模块才能完成***的应用。这其中就产生了很多的问题,比如外接模块与运动控制器匹配性不好,价格昂贵,***复杂不稳定等。
目前市场上的运动控制器使用的扩展总线通过运动控制器连接第一个扩展,第一个扩展连接第二个扩展这种级联的连线方式进行扩展。运动控制器和每个扩展模块都有一个可编程逻辑器件如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字节的数据。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。
Claims (4)
1.一种运动控制器的控制方法,其特征在于:所述运动控制器包括运动控制器本体、1-8个扩展模块和扩展连线,所述的扩展连线包括数据读写连线、数据传递连线和使能连线,数据读写连线一方面连接至运动控制器本体,另一方面分别连接至各个扩展模块;
数据传递连线包括数据0-数据7传递连线,数据传递连线为双向信号线,一方面连接至运动控制器本体,另一方面分别连接至各个扩展模块;
使能连线用于串联运动控制器本体和各个扩展模块;
所述运动控制器本体包括定时器T1和定时器T3,定时器T1用于运动控制器本体识别各扩展模块的类型,定时器T3用于运动控制器本体和扩展模块交换数据;
所述各扩展模块均包括定时器T2、定时器T4和定时器T6,定时器T2用于扩展模块向运动控制器本体发送模块类型,定时器T4和T6用于扩展模块和运动控制器本体交换数据;
所述运动控制器的控制方法包括以下步骤:模块识别步骤和数据通信步骤,所述的模块识别步骤包括:
S1:运动控制器本体向第1个扩展模块发送使能信号和读信号,同时启动定时器T1,定时时间设置为N1;
S2:第1个扩展模块收到使能信号和读信号后,在使能信号的上升沿启动定时器T2,定时时间设置为N2,并向数据传递连线发送本扩展模块的扩展类型;
S3:当定时器T2计时到N2/2时,定时器T1采集第1个扩展模块的模块类型;
S4:当定时器T2计时到N2时,第1个扩展模块向数据传递连线输出高阻,同时向第2个扩展模块发送使能信号;
S5:按照上述步骤依次进行第1-第8个扩展模块类型的识别,当N1=8xN2时,清零T1;
所述的数据通信步骤包括:
S1:运动控制器本体向第1个扩展模块发送使能信号和读信号,同时启动定时器T3,定时时间设为N3;
S2:第1个扩展模块收到使能信号的上升沿时,启动定时器T4,定时时间设为N4,所述时间N4均分为N4_1-N4_16;
S3:第1扩展模块分别在N4等于N4_1至N4_16时,发送本扩展的第1字节至第16字节到数据传递连线上;
S4:当定时器T4等于N4_1至N4_16的中间时间点时,定时器T3采集第1个扩展模块发送的数据;
S5:当定时器T4到达计时N4_16时,清零定时器T4;
S6:运动控制器向第1个扩展模块发送使能信号和写信号,并将N3/16-N3/8这个时间段均分为N5_1至N5_16,同时第一个扩展模块启动定时器T6,定时时间设为N6;
S7:运动控制器本体分别在定时器T3等于N5_1至N5_16时发送第1字节至第16字节到数据传递连线上;
S8:当计时到N5_1-N5_16的中间时间点时,第1扩展模块采样运动控制器本体发送的数据;
S9:当定时器T6计时到达时,清零定时器T6,运动控制器本体拉低写信号,发送读信号,同时第一个扩展模块向第二个扩展模块发送使能信号;
S10:按照上述步骤依次进行第1-第8个扩展模块的数据通信。
2.根据权利要求1所述的一种运动控制器的控制方法,其特征在于:N3=16xN4。
3.根据权利要求1所述的一种运动控制器的控制方法,其特征在于:运动控制器本体设置有主机FPGA。
4.根据权利要求1所述的一种运动控制器的控制方法,其特征在于:各扩展模块均设置有从机FPGA。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611015806.3A CN106444535B (zh) | 2016-11-18 | 2016-11-18 | 一种运动控制器及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611015806.3A CN106444535B (zh) | 2016-11-18 | 2016-11-18 | 一种运动控制器及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106444535A CN106444535A (zh) | 2017-02-22 |
CN106444535B true CN106444535B (zh) | 2019-12-03 |
Family
ID=58220482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611015806.3A Active CN106444535B (zh) | 2016-11-18 | 2016-11-18 | 一种运动控制器及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106444535B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107290993A (zh) * | 2017-07-10 | 2017-10-24 | 上海铁路局上海动车段 | 一种电气控制*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2710264Y (zh) * | 2004-03-09 | 2005-07-13 | 国电南京自动化股份有限公司 | 时分多路实时通讯总线 |
CN1719363A (zh) * | 2005-07-27 | 2006-01-11 | 艾默生网络能源有限公司 | 可编程逻辑控制器硬件扩展方法 |
CN101067804A (zh) * | 2007-05-29 | 2007-11-07 | 山东大学 | 一种高速可配置扩展spi总线及其工作方法 |
CN102088386A (zh) * | 2011-01-20 | 2011-06-08 | 中北大学 | 一种电路***主从互联模块的串行总线 |
CN102868584A (zh) * | 2012-10-11 | 2013-01-09 | 江苏西电南自智能电力设备有限公司 | 一种采用串行通信接口的同步时分多路复用总线通信方法 |
CN202870808U (zh) * | 2012-07-04 | 2013-04-10 | 四川九洲电器集团有限责任公司 | 一种spi串口模块的fpga实现装置 |
CN103454996A (zh) * | 2013-08-23 | 2013-12-18 | 广州视睿电子科技有限公司 | 主从机***及其控制方法 |
CN104407956A (zh) * | 2014-12-03 | 2015-03-11 | 天津大学 | 通过串口调试的iic总线实验装置 |
-
2016
- 2016-11-18 CN CN201611015806.3A patent/CN106444535B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2710264Y (zh) * | 2004-03-09 | 2005-07-13 | 国电南京自动化股份有限公司 | 时分多路实时通讯总线 |
CN1719363A (zh) * | 2005-07-27 | 2006-01-11 | 艾默生网络能源有限公司 | 可编程逻辑控制器硬件扩展方法 |
CN101067804A (zh) * | 2007-05-29 | 2007-11-07 | 山东大学 | 一种高速可配置扩展spi总线及其工作方法 |
CN102088386A (zh) * | 2011-01-20 | 2011-06-08 | 中北大学 | 一种电路***主从互联模块的串行总线 |
CN202870808U (zh) * | 2012-07-04 | 2013-04-10 | 四川九洲电器集团有限责任公司 | 一种spi串口模块的fpga实现装置 |
CN102868584A (zh) * | 2012-10-11 | 2013-01-09 | 江苏西电南自智能电力设备有限公司 | 一种采用串行通信接口的同步时分多路复用总线通信方法 |
CN103454996A (zh) * | 2013-08-23 | 2013-12-18 | 广州视睿电子科技有限公司 | 主从机***及其控制方法 |
CN104407956A (zh) * | 2014-12-03 | 2015-03-11 | 天津大学 | 通过串口调试的iic总线实验装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106444535A (zh) | 2017-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103248526A (zh) | 实现带外监控管理的通信设备、方法及主从切换方法 | |
CN105677598B (zh) | 基于i2c接口快速读取多个mems传感器数据的模块和方法 | |
CN105119907A (zh) | 一种基于FPGA的BiSS-C通信协议方法 | |
CN105159860A (zh) | Iic扩展***及方法 | |
CN103617138A (zh) | 多主机仲裁方法及多主机通信*** | |
CN105512084A (zh) | 一种Zynq平台数据交互装置 | |
CN103077139B (zh) | 使用内部集成电路总线的集成电路及其控制方法 | |
CN106444535B (zh) | 一种运动控制器及控制方法 | |
CN103412836A (zh) | 热插拔处理方法、装置以及*** | |
CN104158876A (zh) | 基于Vxworks操作***的双工件台光刻机控制***通信装置 | |
CN103778092A (zh) | Usb和sd接口复用电路及复用方法 | |
CN104461971A (zh) | 一种数据采集控制***和方法 | |
CN109525472A (zh) | 一种总线通讯转换电路、装置及*** | |
CN204302972U (zh) | 一种EtherCAT双网数据读写*** | |
CN105116807A (zh) | 一种模块式控制器自动配置模块信息的***及方法 | |
CN102929828B (zh) | 同时支持标准和非标准i2c接口的数据传输方法及装置 | |
CN104391818B (zh) | 一种EtherCAT双网数据读写***及其方法 | |
CN110401585A (zh) | 可中断串行总线通讯方法、***及介质 | |
CN110098989A (zh) | 一种基于canfd总线的多路can仿真***及测试方法 | |
US8824333B2 (en) | Method and apparatus for full duplex serial shifting mode and switch mode data transmission | |
KR101857088B1 (ko) | 리턴 회로를 갖는 리모트 입출력 장치 및 그의 내부 버스 통신 방법 | |
CN203502958U (zh) | 一种arm处理器的gpio扩展电路 | |
CN114218138A (zh) | 一种usb设备模拟装置及测试*** | |
CN102984599B (zh) | 基于RapidIO协议网络的视频采集传输装置及方法 | |
CN205581857U (zh) | 一种实现spi总线上存在多个主设备的装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |