掌桥专利:专业的专利平台
掌桥专利
首页

一种工业机器人控制器基于串口的IO通信方法及系统

文献发布时间:2023-06-19 16:09:34



技术领域

本发明涉及IO通信技术领域,具体涉及一种工业机器人控制器基于串口的IO通信方法及系统。

背景技术

工业机器人是广泛用于工业领域的多关节机械手或多自由度的机器装置,具有一定的自动性,可依靠自身的动力能源和控制能力实现各种工业加工制造功能。工业机器人被广泛应用于电子、物流、化工等各个工业领域之中;

工业机器人控制器(以下简称控制器)需要与IO板(输入输出板:DI为数字输入,DO为数字输出,AI为模拟输入,AO为模拟输出)通信,一般通过以太网口使用EtherCAT(工业实时以太网)协议实现与IO板通信,IO板须使用EtherCAT从站芯片,而EtherCAT从站芯片价格高涨且供货紧张;

且当用户使用过程中,出现连接异常导致通信中断的时候,EtherCAT从站芯片无法进行自动恢复,还需用户进行通信信号连接,使用较为不便。

发明内容

针对上述现有技术的不足,本发明所要旨在提供一种工业机器人控制器基于串口的IO通信方法及系统,以解决现有EtherCAT从站芯片中断时无法进行自动恢复,使用不便的问题。

为了解决上述问题,本发明采用了如下的技术方案:

一种工业机器人控制器基于串口的IO通信方法,包括:工业机器人控制器、IO板和多个运动模块,所述工业机器人控制器分别与所述IO板和所述多个运动模块连接;

所述工业机器人控制器上电初始化,进入“在准备配置阶段,未进行数据交互”状态,并等待配置请求,设置有串口的IO板上电初始化,进入“在准备配置阶段,未进行数据交互”状态;

所述IO板周期性发送配置请求,若所述工业机器人控制器收到无效配置请求则发送无效配置回应,继续等待配置请求;若所述工业机器人控制器收到有效配置请求,则发送有效配置回应,进入“配置成功,将要进入数据交互”状态,并等待读输入数据;所述IO板收到所述工业机器人控制器发送的有效配置回应,进入“配置成功,将要进入数据交互”状态;

所述IO板周期性发送读输入数据,进入“正常进入数据交互”状态;所述工业机器人控制器收到所述IO板发送的读输入数据,进入“正常进入数据交互”状态,并周期性发送写输入数据;若所述工业机器人控制器接收读输入数据超时,回到“在准备配置阶段,未进行数据交互”状态;所述工业机器人控制器定时发送写输出数据并接收读输入数据;

所述工业机器人控制器接收读输入数据超时,回到“在准备配置阶段,未进行数据交互”状态;所述IO板接收写输出数据超时,进入“在准备配置阶段,未进行数据交互”状态。

进一步,所述配置请求为IO板发出的通信帧,包含支持的SDO列表,即支持的DI、DO、AI、AO、允许的通信周期范围、硬件型号、硬件版本、产商ID、产品ID、固件版本号、IO板序列号和固件编译时间;所述IO板中每路DI、DO、AI和AO都有唯一描述SDO;

所述配置回应为工业机器人控制器发出的通信帧,包含最终协商选择的通信SDO列表,即支持的DI、DO、AI、AO和通信周期;

所述读输入数据为IO板发出的通信帧,根据所述配置回应,按SDO列表顺序,将DI和AI数据发出;

所述写输出数据为工业机器人控制器发出的通信帧,根据所述配置回应,按SDO列表顺序,将DO和AO数据发出;

所述AI和AO为16bit数据或32bit数据。

更优的,所述IO板上电初始化后,检测通信线路是否连通。

具体的,所述IO板上电初始化后,根据数据来源,获取所述IO板的类型和顺序,根据各所述IO板的类型分别从数据来源中获取对应的硬件信息,根据各所述IO板的顺序排列并存储所获取的信息,分别为各所述IO板分配唯一的通信识别码;所述所获取的信息包含DI、DO、AI、AO、允许的通信周期范围、硬件型号、硬件版本、产商ID、产品ID、固件版本号、IO板序列号和固件编译时间。

具体的,所述工业机器人控制器为CPU或MCU。

本发明还提供一种工业机器人控制器基于串口的IO通信系统,包括:工业机器人控制器、IO板和多个运动模块,所述工业机器人控制器分别与所述IO板和所述多个运动模块连接;

预配对模块,基于所述工业机器人控制器上电初始化,进入“在准备配置阶段,未进行数据交互”状态,并等待配置请求,设置有串口的IO板上电初始化,进入“在准备配置阶段,未进行数据交互”状态;

配对模块,基于所述IO板周期性发送配置请求,若所述工业机器人控制器收到无效配置请求则发送无效配置回应,继续等待配置请求;若所述工业机器人控制器收到有效配置请求,则发送有效配置回应,进入“配置成功,将要进入数据交互”状态,并等待读输入数据;所述IO板收到所述工业机器人控制器发送的有效配置回应,进入“配置成功,将要进入数据交互”状态;

信息传输模块,基于所述IO板周期性发送读输入数据,进入“正常进入数据交互”状态;所述工业机器人控制器收到所述IO板发送的读输入数据,进入“正常进入数据交互”状态,并周期性发送写输入数据;所述工业机器人控制器定时发送写输出数据并接收读输入数据;

交互等待模块,基于所述工业机器人控制器接收读输入数据超时,回到“在准备配置阶段,未进行数据交互”状态;所述IO板接收写输出数据超时,进入“在准备配置阶段,未进行数据交互”状态。

进一步,所述配置请求为IO板发出的通信帧,包含支持的SDO列表,即支持的DI、DO、AI、AO、允许的通信周期范围、硬件型号、硬件版本、产商ID、产品ID、固件版本号、IO板序列号和固件编译时间;所述IO板中每路DI、DO、AI和AO都有唯一描述SDO;

所述配置回应为工业机器人控制器发出的通信帧,包含最终协商选择的通信SDO列表,即支持的DI、DO、AI、AO和通信周期;

所述读输入数据为IO板发出的通信帧,根据所述配置回应,按SDO列表顺序,将DI和AI数据发出;

所述写输出数据为工业机器人控制器发出的通信帧,根据所述配置回应,按SDO列表顺序,将DO和AO数据发出;

所述AI和AO为16bit数据或32bit数据

更优的,所述预配对模块包括通信线路检测单元,用于所述IO板上电初始化后,检测通信线路是否连通。

具体的,所述预配对模块还包括数据分析单元,用于所述IO板上电初始化后,根据数据来源,获取所述IO板的类型和顺序,根据各所述IO板的类型分别从数据来源中获取对应的硬件信息,根据各所述IO板的顺序排列并存储所获取的信息,分别为各所述IO板分配唯一的通信识别码;所述所获取的信息包含DI、DO、AI、AO、允许的通信周期范围、硬件型号、硬件版本、产商ID、产品ID、固件版本号、IO板序列号和固件编译时间。

具体的,所述工业机器人控制器为CPU或MCU。

本发明的有益效果在于:

本发明通过使用串口芯片代替EtherCAT从站芯片,实现了成本低和货源充足的目的,在达到同样功能性能前提下,有效地降低了成本并保证了供应链安全,在双方约定的波特率下,全双工串口环境下,实现一对一可靠通信。

通信之前,IO板通过串口周期性向串口发出“配置请求”(即支持的DI、DO、AI、AO和允许的通信周期,AI/AO可以为16bit数据,也可以为32bit数据),控制器收到默认IO配置后,协商配置要交互的DI、DO、AI、AO和通信周期,并发送配置回应,协商通过后,双方进入周期性IO数据交互:读输入数据和写输出数据,IO板中每路DI/DO/AI/AO都有唯一描述SDO(即服务数据对象),该方法配置协商灵活,兼容性强,实现成本低,无论IO板功能如何扩展升级,控制器能根据需要重新选择DI/DO/AI/AO通信,控制器可以支持多种IO板,通信周期可以需要灵活选择,控制器可以是高性能CPU,也可以是低性能MCU,且该通信方法通信中断自动恢复,由于某些原因导致的通信中断,该通信方法能够及时发现并能自动恢复。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:

图1为本发明一种工业机器人控制器基于串口的IO通信方法流程示意图;

图2为本发明工业机器人控制器与IO板通信状态图;

图3为本发明一种工业机器人控制器基于串口的IO通信系统示意图。

附图中,INIT状态为控制器和IO板上电未初始化状态,PREOP状态为在准备配置阶段,未进行数据交互,SAFEOP状态为配置成功,将要进入数据交互,OP状态为正常进入数据交互。

具体实施方式

下面结合具体实施例对本发明作进一步的详细说明。

需要说明的是,这些实施例仅用于说明本发明,而不是对本发明的限制,在本发明的构思前提下本方法的简单改进,都属于本发明要求保护的范围。

参见图1、2,为一种工业机器人控制器基于串口的IO通信方法,包括:工业机器人控制器、IO板和多个运动模块,所述工业机器人控制器分别与所述IO板和所述多个运动模块连接;

所述工业机器人控制器上电初始化,进入“在准备配置阶段,未进行数据交互”状态,并等待配置请求,设置有串口的IO板上电初始化,进入“在准备配置阶段,未进行数据交互”状态。

所述IO板上电初始化后,检测通信线路是否连通。

所述IO板上电初始化后,根据数据来源,获取所述IO板的类型和顺序,根据各所述IO板的类型分别从数据来源中获取对应的硬件信息,根据各所述IO板的顺序排列并存储所获取的信息,分别为各所述IO板分配唯一的通信识别码;所述所获取的信息包含DI、DO、AI、AO、允许的通信周期范围、硬件型号、硬件版本、产商ID、产品ID、固件版本号、IO板序列号和固件编译时间。

所述IO板周期性发送配置请求,若所述工业机器人控制器收到无效配置请求则发送无效配置回应,继续等待配置请求;若所述工业机器人控制器收到有效配置请求,则发送有效配置回应,进入“配置成功,将要进入数据交互”状态,并等待读输入数据;所述IO板收到所述工业机器人控制器发送的有效配置回应,进入“配置成功,将要进入数据交互”状态。

所述IO板周期性发送读输入数据,进入“正常进入数据交互”状态;所述工业机器人控制器收到所述IO板发送的读输入数据,进入“正常进入数据交互”状态,并周期性发送写输入数据;若所述工业机器人控制器接收读输入数据超时,回到“在准备配置阶段,未进行数据交互”状态;所述工业机器人控制器定时发送写输出数据并接收读输入数据。

所述工业机器人控制器接收读输入数据超时,回到“在准备配置阶段,未进行数据交互”状态;所述IO板接收写输出数据超时,进入“在准备配置阶段,未进行数据交互”状态。

进一步,所述配置请求为IO板发出的通信帧,包含支持的SDO列表,即支持的DI、DO、AI、AO、允许的通信周期范围、硬件型号、硬件版本、产商ID、产品ID、固件版本号、IO板序列号和固件编译时间;所述IO板中每路DI、DO、AI和AO都有唯一描述SDO;

所述配置回应为控制器发出的通信帧,包含最终协商选择的通信SDO列表,即支持的DI、DO、AI、AO和通信周期;

所述读输入数据为IO板发出的通信帧,根据所述配置回应,按SDO列表顺序,将DI和AI数据发出;

所述写输出数据为控制器发出的通信帧,根据所述配置回应,按SDO列表顺序,将DO和AO数据发出;

所述AI和AO为16bit数据或32bit数据。

所述工业机器人控制器为CPU或MCU。

参见图3,本发明还提供一种工业机器人控制器基于串口的IO通信系统,包括工业机器人控制器、IO板和多个运动模块,所述工业机器人控制器分别与所述IO板和所述多个运动模块连接;

预配对模,10,基于所述工业机器人控制器上电初始化,进入“在准备配置阶段,未进行数据交互”状态,并等待配置请求,设置有串口的IO板上电初始化,进入“在准备配置阶段,未进行数据交互”状态;

所述预配对模块包括通信线路检测单元11,用于所述IO板上电初始化后,检测通信线路是否连通;

所述预配对模块还包括数据分析单元12,用于所述IO板上电初始化后,根据数据来源,获取所述IO板的类型和顺序,根据各所述IO板的类型分别从数据来源中获取对应的硬件信息,根据各所述IO板的顺序排列并存储所获取的信息,分别为各所述IO板分配唯一的通信识别码;所述所获取的信息包含DI、DO、AI、AO、允许的通信周期范围、硬件型号、硬件版本、产商ID、产品ID、固件版本号、IO板序列号和固件编译时间。

配对模块20,基于所述IO板周期性发送配置请求,若所述工业机器人控制器收到无效配置请求则发送无效配置回应,继续等待配置请求;若所述工业机器人控制器收到有效配置请求,则发送有效配置回应,进入“配置成功,将要进入数据交互”状态,并等待读输入数据;所述IO板收到所述工业机器人控制器发送的有效配置回应,进入“配置成功,将要进入数据交互”状态;

信息传输模块30,基于所述IO板周期性发送读输入数据,进入“正常进入数据交互”状态;所述工业机器人控制器收到所述IO板发送的读输入数据,进入“正常进入数据交互”状态,并周期性发送写输入数据;所述工业机器人控制器定时发送写输出数据并接收读输入数据;

交互等待模块40,基于所述工业机器人控制器接收读输入数据超时,回到“在准备配置阶段,未进行数据交互”状态;所述IO板接收写输出数据超时,进入“在准备配置阶段,未进行数据交互”状态。

作为一种具体的实施方式,所述配置请求为IO板发出的通信帧,包含支持的SDO列表,即支持的DI、DO、AI、AO、允许的通信周期范围、硬件型号、硬件版本、产商ID、产品ID、固件版本号、IO板序列号和固件编译时间;所述IO板中每路DI、DO、AI和AO都有唯一描述SDO;

所述配置回应为控制器发出的通信帧,包含最终协商选择的通信SDO列表,即支持的DI、DO、AI、AO和通信周期;

所述读输入数据为IO板发出的通信帧,根据所述配置回应,按SDO列表顺序,将DI和AI数据发出;

所述写输出数据为控制器发出的通信帧,根据所述配置回应,按SDO列表顺序,将DO和AO数据发出;

所述AI和AO为16bit数据或32bit数据。

具体的,所述工业机器人控制器为CPU或MCU。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

技术分类

06120114724055