基于图形化编程的ModBus通讯脚本生成方法和装置

文档序号:1952106 发布日期:2021-12-10 浏览:19次 >En<

阅读说明:本技术 基于图形化编程的ModBus通讯脚本生成方法和装置 (ModBus communication script generation method and device based on graphical programming ) 是由 王建民 李仲效 姜宇 于 2021-11-11 设计创作,主要内容包括:本申请提供了基于图形化编程的ModBus通讯脚本生成方法和装置,涉及图形化编程技术领域。生成方法包括:响应于用户对积木图形的拖动操作,在编辑界面上搭建ModBus图形组合,ModBus图形组合包括分别与至少一个类型的ModBus寄存器对应的寄存器积木图形,ModBus图形组合表示主站与从站中的至少一个类型的ModBus寄存器之间的数据交互逻辑;响应于用户在每个寄存器积木图形中的输入操作,确定主站对每个类型的ModBus寄存器的操作数据;对ModBus图形组合和操作数据进行解析,得到ModBus通讯的脚本文件。本申请提供的基于图形化编程的ModBus通讯脚本生成方法和装置可以解决现有的Modbus通讯的脚本文件编程难度较大的问题。(The application provides a ModBus communication script generation method and device based on graphical programming, and relates to the technical field of graphical programming. The generation method comprises the following steps: responding to the dragging operation of a user on the building block graph, building a ModBus graph combination on an editing interface, wherein the ModBus graph combination comprises register building block graphs corresponding to at least one type of ModBus register respectively, and the ModBus graph combination represents data interaction logic between at least one type of ModBus register in the master station and at least one type of ModBus register in the slave station; responding to input operation of a user in each register building block graph, and determining operation data of the master station on each type of ModBus register; and analyzing the ModBus graph combination and the operation data to obtain a script file of ModBus communication. The ModBus communication script generation method and device based on graphical programming can solve the problem that existing Modbus communication script files are difficult to program.)

基于图形化编程的ModBus通讯脚本生成方法和装置

技术领域

本申请涉及图形化编程技术领域,尤其涉及基于图形化编程的ModBus通讯脚本生成方法和装置。

背景技术

Modbus通讯协议是一种基于可编程逻辑控制器(Programmable LogicController,PLC)的串行通信协议。在工业控制领域中,主站在与从站进行Modbus通讯的过程中,主站可以读取从站的寄存器中的数据或向从站的寄存器中写入数据,使得主站与从站之间进行交互控制。其中,寄存器包括线圈寄存器、触点寄存器、保持寄存器和输入寄存器。目前,Modbus通讯的脚本文件需要专业的人员进行代码编写。然而编程的难度较高,对于大多数非计算机专业的用户来说难以高效的编写出准确的脚本文件。

发明内容

本申请实施例提供了一种基于图形化编程的ModBus通讯脚本生成方法和装置,可以解决现有的Modbus通讯的脚本文件编程难度较大的问题。

第一方面,本申请实施例提供了一种基于图形化编程的ModBus通讯脚本生成方法,包括:响应于用户对积木图形的拖动操作,在编辑界面上搭建ModBus图形组合,ModBus图形组合包括分别与至少一个类型的ModBus寄存器对应的寄存器积木图形,ModBus图形组合表示主站与从站中的至少一个类型的ModBus寄存器之间的数据交互逻辑;响应于用户在每个寄存器积木图形中的输入操作,确定主站对每个类型的ModBus寄存器的操作数据;对ModBus图形组合和操作数据进行解析,得到ModBus通讯的脚本文件。

基于本申请提供的基于图形化编程的ModBus通讯脚本生成方法,用户可以通过拖动与至少一个类型的ModBus寄存器对应的寄存器积木图形,在编辑界面上搭建ModBus图形组合。根据用户在ModBus图形组合中的每个寄存器积木图形中的输入操作,可以确定主站对从站中的相应类型的寄存器的操作数据,对ModBus图形组合和操作数据进行解析后,可以得到主站与从站之间进行ModBus通讯的脚本文件。在ModBus通讯设计过程中,用户不需要利用专业的编程语言编写脚本代码,只需要完成积木图形的搭建和操作数据的输入,就可以快速地获取到准确的ModBus通讯的脚本文件。本申请提供的方法解决了ModBus通讯的脚本文件编程难度较大的问题。

可选地,至少一个类型的ModBus寄存器包括线圈寄存器,ModBus图形组合包括与线圈寄存器对应的获取线圈积木图形;获取线圈积木图形包括获取单线圈积木图形,获取单线圈积木图形包括第一地址编辑栏;当第一地址编辑栏中被输入第一地址后,获取单线圈积木图形表示主站从从站的线圈寄存器的第一地址中读取第一数据的过程。

可选地,获取线圈积木图形还包括获取多线圈积木图形;获取多线圈积木图形包括第二地址编辑栏和第一位数编辑栏,当第二地址编辑栏中被输入第二地址以及第一位数编辑栏中被输入第一位数n后,获取多线圈积木图形表示主站从从站的线圈寄存器的第二地址以及与第二地址相邻的n-1个地址中读取n个第二数据的过程,n≥2。

可选地,至少一个类型的ModBus寄存器包括线圈寄存器,ModBus图形组合包括与线圈寄存器对应的设置线圈积木图形;设置线圈积木图形包括设置单线圈积木图形,设置单线圈积木图形包括第三地址编辑栏和第三数据编辑栏;当第三地址编辑栏中被输入第三地址以及第三数据编辑栏中被输入第三数据后,设置单数据积木图形表示主站在从站的线圈寄存器的第三地址中写入第三数据的过程。

可选地,设置线圈积木图形还包括设置多线圈积木图形;设置多线圈积木图形包括第四地址编辑栏、第四数据编辑栏和第二位数编辑栏,当第四地址编辑栏中被输入第四地址、第四数据编辑栏中被输入m个第四数据以及第二位数编辑栏中被输入第二位数m后,设置多线圈积木图形表示主站在从站的线圈寄存器的第四地址以及与第四地址相邻的m-1个地址中依次写入m个第四数据的过程,m≥2。

可选地,至少一个类型的ModBus寄存器包括保持寄存器,ModBus图形组合包括与保持寄存器对应的获取保持积木图形;获取保持积木图形包括第五地址编辑栏和第一类型编辑栏,当第五地址编辑栏中被输入第五地址以及第一类型编辑栏中被输入第一数据类型后,获取保持积木图形表示主站从从站的保持寄存器的第五地址中读取与第一数据类型对应的第五数据的过程。

可选地,至少一个类型的ModBus寄存器包括保持寄存器,ModBus图形组合包括与保持寄存器对应的设置保持积木图形;设置保持积木图形包括第六地址编辑栏、第六数据编辑栏和第二类型编辑栏,当第六地址编辑栏中被输入第六地址、第六数据编辑栏中被输入第六数据以及第二类型编辑栏中被输入第二数据类型后,设置保持积木图形表示主站在从站的保持寄存器中的第六地址中写入与第二数据类型对应的第六数据的过程。

可选地,至少一个类型的ModBus寄存器包括触点寄存器,ModBus图形组合包括与触点寄存器对应的获取触点积木图形;获取触点积木图形包括第七地址编辑栏,当第七地址编辑栏中被输入第七地址后,获取触点积木图形表示主站从从站的触点寄存器的第七地址中读取第七数据的过程。

可选地,至少一个类型的ModBus寄存器包括输入寄存器,ModBus图形组合包括与输入寄存器对应的获取输入积木图形;获取输入积木图形包括第八地址编辑栏和第三类型编辑栏,当第八地址编辑栏中被输入第八地址以及第三类型编辑栏中被输入第三数据类型后,获取输入积木图形表示主站从从站的输入寄存器的第八地址中读取第八数据的过程。

可选地,ModBus图形组合还包括创建连接积木图形;创建连接积木图形包括IP编辑栏、端口编辑栏和ID编辑栏,当IP编辑栏中被输入IP地址、端口编辑栏中被输入数据端口以及ID编辑栏中被输入设备号后,创建连接积木图形表示主站向与IP地址、数据端口和设备号对应的从站发起主动连接的过程。

可选地,ModBus图形组合还包括确认连接积木图形;确认连接积木图形搭建在创建连接积木图形之后,确认连接积木图形表示确认主站与从站的连接结果的过程,连接结果为连接失败或连接成功。

第二方面,本申请实施例提供了一种基于图形化编程的ModBus通讯脚本生成装置,包括:搭建单元,用于响应于用户对积木图形的拖动操作,在编辑界面上搭建ModBus图形组合,ModBus图形组合包括分别与至少一个类型的ModBus寄存器对应的寄存器积木图形,ModBus图形组合表示主站与从站中的至少一个类型的ModBus寄存器之间的数据交互逻辑;输入单元,用于响应于用户在每个寄存器积木图形中的输入操作,确定对每个类型的ModBus寄存器的操作数据;解析单元,用于主站对ModBus图形组合和操作数据进行解析,得到ModBus通讯的脚本文件。

第三方面,本申请实施例提供了一种机器人,包括机械臂、存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,机械臂与处理器连接;处理器执行计算机程序时实现如上述第一方面中任一项所述的方法。

第四方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面中任一项所述的方法。

第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的方法。

第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。

可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的一种图形化编程软件的界面图;

图2是本申请一实施例提供的一种基于图形化编程的ModBus通讯脚本生成方法的流程图;

图3是本申请一实施例提供的一种搭建有ModBus图形组合的编辑界面;

图4是本申请一实施例提供的一种显示有操作数据的ModBus图形组合的编辑界面;

图5是本申请一实施例提供的一种图形化编程软件中显示的ModBus通讯的脚本文件;

图6是本申请一实施例提供的一种用户搭建ModBus图形组合并获取脚本文件的操作流程图;

图7是本申请一实施例提供的一种基于图形化编程的ModBus通讯脚本生成装置的结构示意图;

图8是本申请一实施例提供的一种终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

在工业控制领域中,主站与从站之间进行Modbus通讯的过程中,主站可以读取从站的寄存器中的数据或在从站的寄存器中写入数据,使主站与从站之间进行数据交互。其中,寄存器包括线圈寄存器、触点寄存器、保持寄存器和输入寄存器,每个寄存器中设置有多个存储地址,每个存储地址用于存储一个数据。线圈寄存器和保持寄存器均可以实现一个或多个数据的写入和读取,触点寄存器和输入寄存器均只能实现一个数据的读取。目前的Modbus通讯的脚本文件需要专业的人员进行代码编写。然而编程的难度较高,对于大多数非计算机专业的用户来说难以高效的编写出准确的脚本文件。

为了解决上述技术问题,本申请实施例提供一种基于图形化编程的ModBus通讯脚本生成方法和装置。在图形化编程软件中,用户可以通过拖动多个寄存器积木图形,在编辑界面上搭建ModBus图形组合,并在每个ModBus图形组合中输入相应的操作数据后,图形化编程软件可以自动对用户搭建的ModBus图形组合和输入的操作数据进行解析,得到主站与从站之间进行ModBus通讯对应的脚本文件。在ModBus通讯设计过程中,用户不需要编写脚本代码,只需要完成积木图形的搭建和数据的输入,即可得到ModBus通讯的脚本文件,解决了现有的ModBus通讯的脚本文件编程难度较大的问题。

下面结合附图,对本申请的技术方案进行详细描述。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

本申请提供了一种图形化编程软件,该图形化编程软件中设置有实现主站与从站之间进行ModBus通讯所需的ModBus积木图形。用户可以将这些ModBus积木图形拖动至编辑界面上搭建ModBus图形组合,以表示主站与从站中设置的一个或者多个类型的ModBus寄存器之间的数据交互逻辑,用户还可以在每个ModBus积木图形的编辑栏中输入实现ModBus通讯所需的操作数据。

示例性的,图1为本申请实施例提供的一种图形化编程软件的界面图。图形化编程软件可以为Scratch、Makecode、Mixly、MBlock、Mind+或其他。用户启动图形化编程软件后,可以显示如图1所示的编程界面,编程界面包括第一显示界面、第二显示界面和编辑界面。第一显示界面中包括多种类型的图标和名称,如事件、控制和ModBus等类型。

其中,用户点击第一显示界面中的任意一种类型的图标或者名称后,在第二显示界面中可以显示对应类型中的所有的积木图形。示例性的,如图1中所示,用户点击第一显示界面中的事件类型对应的图标后,在第二显示界面中显示事件类型中包含的开始运行积木图形。用户点击控制类型对应的图标后,在第二显示界面中显示控制类型中包含的具备循环功能的积木图形、具备条件判断功能的积木图形以及具备其他功能的积木图形,图1中仅示出了与如果-那么语句对应的条件判断积木图形以及与输出语句对应的打印积木图形。此外,用户点击ModBus类型对应的图标后,在第二显示界面中显示分别与至少一个类型的ModBus寄存器对应的寄存器积木图形、创建连接积木图形以及确认连接积木图形。至少一个类型的ModBus寄存器包括线圈寄存器、保持寄存器、触点寄存器以及输入寄存器中的任意一个或者多个。

作为示例而非限定,在一个示例中,与线圈寄存器积对应的寄存器积木图形包括获取线圈积木图形。获取线圈积木图形包括获取单线圈寄存器。获取单线圈积木图形包括第一地址编辑栏,用户在第一地址编辑栏中被输入第一地址后,获取单线圈寄存器表示主站从从站的线圈寄存器的第一地址中读取第一数据的过程。

可选地,获取线圈积木图形还可以包括获取多线圈积木图形。获取多线圈积木图形包括第二地址编辑栏和第一位数编辑栏。用户在第二地址编辑栏中输入第二地址以及在第一位数编辑栏中输入第一位数n后,获取多线圈积木图形表示主站从从站的线圈寄存器的第二地址以及与第二地址相邻的n-1个地址中读取n个第二数据的过程,n≥2。

在另一个示例中,与线圈寄存器对应的寄存器积木图形还可以包括设置线圈积木图形。设置线圈积木图形包括设置单线圈积木图形,设置单线圈积木图形包括第三地址编辑栏和第三数据编辑栏。用户在第三地址编辑栏中输入第三地址以及在第三数据编辑栏中输入第三数据后,设置单数据积木图形表示主站在从站的线圈寄存器的第三地址中写入第三数据的过程。

可选地,设置线圈积木图形还可以包括设置多线圈积木图形。设置多线圈积木图形包括第四地址编辑栏、第四数据编辑栏和第二位数编辑栏。用户在第四地址编辑栏中输入第四地址、在第四数据编辑栏中输入m个第四数据以及在第二位数编辑栏中输入第二位数m后,设置多线圈积木图形表示主站在从站的线圈寄存器的第四地址以及与第四地址相邻的m-1个地址中依次写入m个第四数据的过程,m≥2。

在一个示例中,与保持寄存器对应的寄存器积木图形包括获取保持积木图形。获取保持积木图形包括第五地址编辑栏和第一类型编辑栏,用户在第五地址编辑栏中输入第五地址以及在第一类型编辑栏中输入第一数据类型后,获取保持积木图形表示主站从从站的保持寄存器的第五地址中读取与第一数据类型对应的第五数据的过程。

可选地,与保持寄存器对应的寄存器积木图形还可以包括设置保持积木图形。设置保持积木图形包括第六地址编辑栏、第六数据编辑栏和第二类型编辑栏,用户在第六地址编辑栏中输入第六地址、在第六数据编辑栏中输入第六数据以及在第二类型编辑栏中输入第二数据类型后,设置保持积木图形表示主站在从站的保持寄存器中的第六地址中写入与第二数据类型对应的第六数据的过程。

与触点寄存器对应的寄存器积木图形包括获取触点积木图形。获取触点积木图形包括第七地址编辑栏,用户在第七地址编辑栏中输入第七地址后,获取触点积木图形表示主站从从站的触点寄存器的第七地址中读取第七数据的过程。

与输入寄存器对应的寄存器积木图形包括获取输入积木图形。获取输入积木图形包括第八地址编辑栏和第三类型编辑栏,用户在第八地址编辑栏中输入第八地址以及在第三类型编辑栏中输入第三数据类型后,获取输入积木图形表示主站从从站的输入寄存器的第八地址中读取第八数据的过程。示例性的,第一数据类型、第二数据类型与第三数据类型均可以为u8、u16、u32、s8、s16、s32、Size_t或其他的数据类型。

创建连接积木图形包括IP编辑栏、端口编辑栏和ID编辑栏。用户在IP编辑栏中输入IP地址、在端口编辑栏中输入数据端口以及在ID编辑栏中输入设备号后,创建连接积木图形表示主站向与IP地址、数据端口和设备号对应的从站发起主动连接的过程。确认连接积木图形搭建在创建连接积木图形之后,确认连接积木图形表示确认主站与从站的连接结果的过程,连接结果为连接失败或连接成功。

基于上述实施例中提供的图形化编程软件,本申请提供了一种的基于图形化编程的ModBus通讯脚本生成方法。示例性的,基于图形化编程的ModBus通讯脚本生成方法的流程图如图2所示,该方法包括以下步骤:

S101,响应于用户对积木图形的拖动操作,在编辑界面上搭建ModBus图形组合,ModBus图形组合包括分别与至少一个类型的ModBus寄存器对应的寄存器积木图形,ModBus图形组合表示主站与从站中的至少一个类型的ModBus寄存器之间的数据交互逻辑。

示例性的,假设从站中包括多个类型的ModBus寄存器,分别为线圈寄存器、保持寄存器、输入寄存器和触点寄存器。主站与从站中的多个类型的ModBus寄存器之间的数据交互逻辑如下:主站用从站发起主动连接,并在连接成功后分别主站向从站的线圈寄存器的地址00000中写入数据0、向线圈寄存器的地址00001-00004中分别写入数据0,0,0,1以及向保持寄存器中写入数据50。此外,主站还可以分别读取输入寄存器的地址30000、保持寄存器的地址20001、触点寄存器的地址40000以及线圈寄存器的地址00009中数据,并根据从线圈寄存器的地址00009中读取的数据运动至P1点处。

若要实现上述ModBus通讯的数据交互逻辑,用户可以确定搭建ModBus图形组合所需的积木图形。用户可以在启动编辑界面后,将实现数据交互逻辑的积木图形拖动至编辑界面上,在编辑界面上搭建ModBus图形组合。

示例性,图3中所示的编辑界面上搭建有一种ModBus图形组合。用户将开始运行积木图形从第二显示界面拖动至编辑界面后,可以在开始运行积木图形之后依次堆建创建连接积木图形、单线圈积木图形、设置多线圈积木图形、设置保存积木图形、由打印积木图形分别与获取数据输入积木图形组合、获取数据保持积木图形和获取数据触点积木图形进行组合得到的三个图形组以及条件判断积木图形与获取单数据线圈积木图形进行组合得到的图形组,在编辑界面上搭建出ModBus图形组合。

S102,响应于用户在每个寄存器积木图形中的输入操作,确定主站对每个类型的ModBus寄存器的操作数据。

根据主站与从站之间进行ModBus通讯时的数据交互逻辑,用户可以确定需要在每个寄存器积木图形中输入的参数,从而确定主站与从站之间进行ModBus通讯时所需的配置参数。

作为示例而非限定,以步骤S101中提供的主站与从站之间进行ModBus通讯的数据交互逻辑为例,对用户在每个寄存器积木图形中的数据输入过程进行示例性的介绍。

如图4中所示,用户在创建连接积木图形的IP编辑栏中输入“192.168.5.10”、在端口编辑栏中输入“502”以及在ID编辑栏中输入“1”后,该创建连接积木图形表示主站向与IP地址为192.168.5.10、数据端口为502和设备号为1的从站发起主动连接,从而建立ModBus通讯连接的过程。主站与从站连接成功后,主站可以通过数据端口“502”与从站之间进行数据的交互。

用户在设置单线圈积木图形的第三地址编辑栏中输入“00000”以及在第三数据编辑栏中输入“0”后,该设置单线圈积木图形表示主站向从站的线圈寄存器中的存储地址00000处写入数据0。

用户在设置多线圈积木图形的第四地址编辑栏中输入“00001”、在第四数据编辑栏中输入4个第四数据“{0,0,0,1}”以及在第二位数编辑栏中输入“4”后,该设置多线圈积木图形表示以从站的线圈寄存器的地址“00001”为起始地址,主站将4个第四数据按照先后顺序依次写入地址00001至00004中的每个地址中,即在地址00001中写入数据0,在地址00002中写入数据0,在地址00003中写入数据0,在00004中写入数据1。

用户在设置保持积木图形的第六地址编辑栏中输入第六地址“20000”,在第六数据编辑栏中输入第六数据“50”以及在第二类型编辑栏中输入第二数据类型“U16”后,该设置保持积木图形表示主站将第六数据50 转换成U16类型的数据后写入从站的保持寄存器的存储地址20000中。

用户在获取输入积木图形的第八地址编辑栏中输入第八地址“30000”以及在第三类型编辑栏中输入“U16”后,该获取输入积木图形表示主站读取从站的输入寄存器的地址30000中存储的第八数据。由打印积木图形与获取输入积木图形搭建的图形组表示输出从输入寄存器中读取的第八数据。

用户在获取保持积木图形的第五地址编辑栏中输入第五地址“20001”以及在第一类型编辑栏中输入“U16”后,该获取保持积木图形表示主站读取从站的保持寄存器的地址20001中存储的第五数据。由打印积木图形与获取保持积木图形搭建的图形组表示输出从保持寄存器中读取的第五数据。

用户在获取触点积木图形的第七地址编辑栏中输入第七地址“40000”后,该获取触点积木图形表示主站读取从站的触点寄存器的地址40000中存储的第七数据。由打印积木图形与获取触点积木图形搭建的图形组表示输出从触点寄存器中读取的第七数据。

在条件判断积木图形中嵌入获取单线圈积木图形、运动模式积木图形和打印积木图形,用户在获取单线圈积木图形中的第一地址编辑中输入第一地址“00009”、在运动模式积木图形中输入预设的运动模式“MovJ”以及运动点的位置P1以及在打印积木图形中输入“Hello word”后,则该图形组表示主站获取从站的线圈寄存器的地址00009中存储的第一数据,并判断第一数据是否为1,若符合该条件,则主站基于关节运动指令运动至P1点处,否则,输出Hello word。

需要说明的是,步骤S101和步骤S102可以先后执行,也可以穿插执行。例如,用户可以在搭建好ModBus图形组合后,再对ModBus图形组合中的每个积木图形进行输入操作。也可以先将其中一个积木图形拖动至编辑界面,并完成对该积木图形的输入操作后,再将另外一个积木图形拖动至编辑界面,以此类推,直至搭建好ModBus图形组合并完成对每个积木图形的输入操作。

此外,此外,针对积木图形中的每个编辑栏,用户可以通过键盘在编辑栏中直接输入相应的数据,也可以在编辑栏中设置嵌入式插件,例如下拉组合按钮、滑块等。若在编辑栏中设置下拉组合按钮,例如倒三角按钮,则用户点击编辑栏中的下拉组合按钮后,在下拉列表中显示多个数据,图形化编程软件可以响应用户对多个数据中的其中一个数据的点击操作,在所属的编辑栏中显示用户选取的数据。

S103,对ModBus图形组合和操作数据进行解析,得到ModBus通讯的脚本文件。

在本申请实施例中,用户在编辑界面中搭建好ModBus图形组合并完成对ModBus图形组合中的每个积木图形的输入操作之后,图形化编程软件可以自动对ModBus图形组合和操作数据进行解析,得到实现TCP通讯的代码。具体代码如下:

resultCreate,id=ModbusCreate(‘192.168.5.10’,502,1)

SetCoils(00000,1,{0})

SetCoils(00001,4,{0,0,0,1})

SetHoldRegs(20000,1,{50},“U16”)

Print((GetInregs(30000,1,“U16”)[1]))

Print((GetHoldRegs(20001,1,“U16”)[1]))

Print((GetInBits(40000,1)[1]))

If ((GetCoils(00009,1)[1]))=1

Go(P1)

else

Print(“Hello world!”)

可选地,用户触发第一操作后,可以显示程序界面,程序界面上显示有ModBus通讯的脚本文件以及上述代码。示例性的,参考图4,用户点击图形化编程软件的编程界面中的“调试”按钮后,显示如图5中所示的程序界面,程序界面中显示有ModBus通讯的脚本文件中的具体代码。用户点击“运行”按钮即可运行该脚本文件中的代码。此外,用户可以点击图形化编程软件的编程界面或程序界面中的保存按钮,以保存ModBus通讯的脚本文件。

基于本申请提供的基于图形化编程的ModBus通讯脚本生成方法,在图形化编程软件设置与多个类型的ModBus寄存器对应的寄存器积木图形,基于寄存器积木图形用户可以在编辑界面上搭建ModBus图形组合。根据用户在ModBus图形组合中的创建连接积木图形以及每个寄存器积木图形中的输入操作,可以确定主站对从站中的每类寄存器的操作数据,对ModBus图形组合和操作数据进行解析后,可以得到ModBus通讯的脚本文件。在ModBus通讯设计过程中,用户不需要编写脚本代码,只需要将所需的寄存器积木图形以堆建积木的方式搭建在一起,就可以完成ModBus通讯的设计,即使是非专业领域的用户也可以快速且准确的得到ModBus通讯的脚本文件。本申请提供的方法解决了ModBus通讯的脚本文件编程难度较大的问题。

参见图6,为本申请提供的用户基于图形化编程软件搭建ModBus图形组合并获取脚本文件的操作流程图。具体步骤如下:

S201,用户将第一积木图形以及分别与至少一个类型的ModBus寄存器对应的寄存器积木图形拖动至编辑界面,在编辑界面上搭建ModBus图形组合。

示例性的,第一积木图形为开始运行积木图形。

S202,用户根据主站与从站中的至少一个类型的ModBus寄存器之间进行ModBus通讯的数据交互逻辑,在每个寄存器积木图形中输入相应的操作数据。

S203,用户触发第一操作,显示ModBus通讯的脚本文件。

步骤S201-S203的具体内容可以参考上述对基于图形化编程的ModBus通讯脚本生成方法中的具体描述,此处不再赘述。

基于同样的发明构思,本申请实施例还提供了一种基于图形化编程的ModBus通讯脚本生成装置。如图7所示,ModBus通讯脚本生成装置300包括搭建单元301、输入单元302和解析单元303。

具体的,搭建单元301用于响应于用户对积木图形的拖动操作,在编辑界面上搭建ModBus图形组合,ModBus图形组合包括分别与至少一个类型的ModBus寄存器对应的寄存器积木图形,ModBus图形组合表示主站与从站中的至少一个类型的ModBus寄存器之间的数据交互逻辑。

输入单元302用于响应于用户在每个寄存器积木图形中的输入操作,确定主站对每个类型的ModBus寄存器的操作数据。

解析单元303用于对ModBus图形组合和操作数据进行解析,得到ModBus通讯的脚本文件。

在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。每个单元实现的具体内容可以参考上述其他实施例中的具体描述,此处不再赘述。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

本申请实施例还提供了一种机器人。该机器人包括机械臂、存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,机械臂与处理器连接。处理器执行计算机程序时实现可实现上述各个方法实施例中的步骤。其中,当机器人运行ModBus通讯对应的脚本文件时,机器人可以视为主站。

本申请实施例还提供了一种终端设备。如图8所示,该终端设备400包括:至少一个处理器403、存储器401以及存储在该存储器401中并可在该至少一个处理器403上运行的计算机程序402,该处理器403执行计算机程序402时实现本申请提供的基于图形化编程的ModBus通讯脚本生成方法。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。

在本申请中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

在本申请的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

此外,在本申请中,除非另有明确的规定和限定,术语“连接”、“相连”等应做广义理解,例如可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定、对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于图形化编程的机械臂搬运脚本生成方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!