数据传输方法及控制系统与流程

文档序号:37641865发布日期:2024-04-18 18:04阅读:8来源:国知局
数据传输方法及控制系统与流程

本发明属于计算机系统,尤其涉及一种数据传输方法及控制系统。


背景技术:

1、随着处理器性能不断提升、处理器内核数量不断增加以及软可编程逻辑控制器(programmable logic controller,plc)技术的不断发展,越来越多的工业机器人通常采用商用的软plc集成方案作为软件控制系统。

2、在软plc集成方案中,通常采用linux控制系统提供工业机器人的软件控制。在linux控制系统中,一般是通过设定ioctl函数接口api实现应用层与系统内核层的数据交换。例如,linux控制系统中的copy_to_user函数和copy_from_user函数用于实现应用层与系统内核之间数据搬运工作。

3、然而,由于linux控制系统中过程数据对象(process data object,pdo)数据传输过程中需要进行内存数据复制,导致现有的pdo线程的调用过程效率较低,影响pdo数据传输的实时性。


技术实现思路

1、本发明实施例提供了数据传输方法及控制系统,提高了pdo数据的传输效率。

2、第一方面,本发明实施例提供了一种数据传输方法,应用于核心控制器的驱动层,其中,所述核心控制器还包含应用层;所述方法包括:

3、响应于所述应用层发送的设备启动指令,创建共享数据区;

4、将所述共享数据区的存储地址发送至所述应用层,以使所述应用层将获取的pdo数据存储至所述共享数据区;

5、获得所述共享数据区的pdo数据,其中,所述pdo数据通过数据包进行传输;

6、若判定所述数据包完整,则根据所述pdo数据生成驱动数据;

7、将所述驱动数据传输至伺服控制器,以使所述伺服控制器根据所述驱动数据控制至少一个设备。

8、应理解,本发明提出的数据传输方法应用于核心控制器的驱动层,该方法通过共享内存的方式实现pdo数据从核心控制器的应用层到核心控制器的驱动层的数据传输,省去了pdo数据传输过程中的内存数据复制过程,从而提高了pdo数据的传输效率。

9、在第一方面的一种可能的实现方式中,所述若判定所述数据包完整,则根据所述pdo数据生成驱动数据,包括:

10、获得所述数据包的数据头以及数据尾;

11、若所述数据头与所述数据尾相同,则判定所述数据包完整,否则重复执行所述获取所述共享数据区的pdo数据的步骤,直至获得的所述数据包的数据头以及数据尾相同;

12、根据所述pdo数据生成驱动数据。

13、在第一方面的一种可能的实现方式中,所述共享数据区包含第一子共享数据区以及第二子共享数据区;

14、相应地,所述将所述共享数据区的存储地址发送至所述应用层,以使所述应用层将获取的pdo数据存储至所述共享数据区,包括:

15、将所述第一子共享数据区的存储地址以及所述第二子共享数据区的存储地址发送至所述应用层,以使所述应用层将获取的pdo数据存储至所述第一子共享数据区;

16、相应地,所述获得所述共享数据区的pdo数据,包括:

17、获得所述第一子共享数据区的pdo数据。

18、在第一方面的一种可能的实现方式中,在所述将所述驱动数据传输至伺服控制器之后,还包括:

19、接收所述伺服控制器返回的pdo传输指令的返回值,并将所述返回值存储至所述第二子共享数据区;

20、通知所述应用层,以使所述应用层按照预设软件处理逻辑从所述第二子共享数据区获得所述返回值。

21、在第一方面的一种可能的实现方式中,在所述获取所述pdo数据的数据头以及数据尾之后,还包括:

22、若所述数据头与所述数据尾不相同,则重复执行所述获得所述共享数据区的pdo数据的步骤,直至获得的所述pdo数据的数据头以及数据尾相同。

23、在第一方面的一种可能的实现方式中,所述将所述驱动数据传输至伺服控制器,以使所述伺服控制器根据所述驱动数据控制至少一个设备,包括:

24、响应于伺服控制器发送的数据传输信号,将所述驱动数据传输至伺服控制器,以使所述伺服控制器根据所述驱动数据控制至少一个设备,其中,所述数据传输信号为所述伺服控制器的通用输入输出管脚的硬件中断信号。

25、第二方面,本发明实施例提供了一种控制系统,包含核心控制器以及伺服控制器;

26、所述核心控制器包含驱动层以及应用层,所述驱动层用于执行如第一方面中所述的数据传输方法。

27、在第二方面的一种可能的实现方式中,所述核心控制器通过高速串行总线将驱动数据传输至所述伺服控制器;

28、相应地,所述核心控制器通过高速串行总线接收所述伺服控制器发送的pdo传输指令的返回值。

29、在第二方面的一种可能的实现方式中,所述核心控制器被划分为第一处理器、第二处理器、第三处理器以及第四处理器;

30、所述第一处理器,用于处理pdo应用线程;

31、所述第二处理器,用于处理pdo内核线程以及响应伺服控制器发送的数据传输信号;

32、所述第三处理器以及所述第四处理器,均用于处理sdo应用线程、至少一个应用线程、系统服务线程以及中断线程,其中,所述sdo应用线程的优先级高于至少一个所述应用线程,至少一个所述应用线程的优先级高于所述系统服务线程,所述系统服务线程的优先级高于所述中断线程。

33、在第二方面的一种可能的实现方式中,所述核心控制器还包括空分多址sdma控制模块,其中,所述sdma控制模块用于提供pdo数据传输通道、sdo数据传输通道、以太网数据传输通道、串口数据传输通道、usb数据传输通道以及can总线数据通道,所述pdo数据传输通道、所述sdo数据传输通道、所述以太网数据传输通道、所述串口数据传输通道、所述usb数据传输通道以及所述can总线数据通道的优先级顺序为从高到低。

34、本发明实施例与现有技术相比存在的有益效果是:响应于应用层发送的设备启动指令,创建共享数据区;将共享数据区的存储地址发送至应用层,以使应用层将获取的pdo数据存储至共享数据区;获得共享数据区的pdo数据,pdo数据通过数据包进行传输;若判定数据包完整,则根据pdo数据生成驱动数据;将驱动数据传输至伺服控制器,以使伺服控制器根据驱动数据控制至少一个设备。本发明提出的数据传输方法,利用共享内存的方式完成了pdo数据从应用层到驱动层的数据传输,省去了pdo数据传输过程中的内存数据复制过程,提高了pdo数据的传输效率。



技术特征:

1.一种数据传输方法,其特征在于,应用于核心控制器的驱动层,其中,所述核心控制器还包含应用层;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述若判定所述数据包完整,则根据所述pdo数据生成驱动数据,包括:

3.根据权利要求1所述的方法,其特征在于,所述共享数据区包含第一子共享数据区以及第二子共享数据区;

4.根据权利要求3所述的方法,其特征在于,在所述将所述驱动数据传输至伺服控制器之后,还包括:

5.根据权利要求1所述的方法,其特征在于,在所述获取所述pdo数据的数据头以及数据尾之后,还包括:

6.根据权利要求1所述的方法,其特征在于,所述将所述驱动数据传输至伺服控制器,以使所述伺服控制器根据所述驱动数据控制至少一个设备,包括:

7.一种控制系统,其特征在于,包含核心控制器以及伺服控制器;

8.根据权利要求7所述的控制系统,其特征在于,所述核心控制器通过高速串行总线将驱动数据传输至所述伺服控制器;

9.根据权利要求7所述的控制系统,其特征在于,所述核心控制器被划分为第一处理器、第二处理器、第三处理器以及第四处理器;

10.根据权利要求9所述的控制系统,其特征在于,所述核心控制器还包括空分多址sdma控制模块,其中,所述sdma控制模块用于提供pdo数据传输通道、sdo数据传输通道、以太网数据传输通道、串口数据传输通道、usb数据传输通道以及can总线数据通道,所述pdo数据传输通道、所述sdo数据传输通道、所述以太网数据传输通道、所述串口数据传输通道、所述usb数据传输通道以及所述can总线数据通道的优先级顺序为从高到低。


技术总结
本发明适用于计算机系统技术领域,提供了数据传输方法及控制系统,本发明提出的数据传输方法应用于核心控制器的驱动层,该方法包括:响应于应用层发送的设备启动指令,创建共享数据区;将共享数据区的存储地址发送至应用层,以使应用层将获取的PDO数据存储至共享数据区;获得共享数据区的PDO数据,PDO数据通过数据包进行传输;若判定数据包完整,则根据PDO数据生成驱动数据;将驱动数据传输至伺服控制器,以使伺服控制器根据驱动数据控制至少一个设备。本发明提供的数据传输方法及控制系统,提高了PDO数据的传输效率。

技术研发人员:李学慧,闫开,李鹏,钱涛,陈伟
受保护的技术使用者:上海新时达机器人有限公司
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1