CN105117210A - 一种面向wscn的图形化编程系统 - Google Patents
一种面向wscn的图形化编程系统 Download PDFInfo
- Publication number
- CN105117210A CN105117210A CN201510450272.6A CN201510450272A CN105117210A CN 105117210 A CN105117210 A CN 105117210A CN 201510450272 A CN201510450272 A CN 201510450272A CN 105117210 A CN105117210 A CN 105117210A
- Authority
- CN
- China
- Prior art keywords
- wscn
- component
- icon
- graphic programming
- information
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种面向WSCN的图形化编程系统。本发明构建了支持图形化编程的层次体系,用于实现构件图标作为图形化编程要素,进而使用已有构件图标在图形化编程面板中进行图形化编程。本发明支持图形化编程的基本操作,包括创建图标控件、设置图标控件属性、图标控件之间互连与分离等主要功能。
Description
技术领域
本发明涉及无线传感器控制网络领域,尤其涉及一种面向WSCN的图形化编程系统。
背景技术
无线传感器控制网络(WirelessSensor&ControlNetworks,WSCN)的应用开发是以嵌入式微控制器为基础,涉及硬件设计、驱动编写、通信实现、组网方案设计等综合知识,具有较高的技术门槛。
目前,国内外WSCN开发领域的主流开发平台仍使用传统的文本式编程方法。在文本式编程方式中,所有的程序代码均需要手工输入,不可避免会有一些拼写上的错误,在某些特殊的情况下,这些拼写错误不易被发现,增加了程序调试的难度和时间。其次,文本式编程方式往往在结构上不很清晰,对于以模块化编程为主要编程方式的嵌入式开发来说,这种结构上的不清晰会给程序的调试和后期的维护带来很大的不便。最后,采用文本式编程方式的前提条件是必须熟悉所使用的编程语言的语法。对于嵌入式开发者而言,增加了学习难度和时间,不能够很快接触嵌入式开发的实质内容。可见,由于文本编辑本身具有不可克服的缺点,往往给嵌入式产品的开发带来很大的不便。
图形化编程开发,顾名思义,指的是采用图标代替文本行的方式来进行编程开发。它具有结构清晰、软件开发效率高、编程出错率低和组态灵活等优点。图形化编程关注的是程序的执行流程而非程序具体功能的实现过程,它对程序进行合理的模块化,每个模块使用一个图标进行替代,图标与图标之间使用连线来表示相互之间的流程关系。这种图标加连线的开发方法使得开发者不需要熟悉某个编程语言即可完成应用的开发。
在嵌入式软件开发中,图形化编程更容易发挥模块化编程的优势。采用图形化的编程方式进行嵌入式开发,既能降低物联网学习开发难度,又能提高开发效率,可以很快接触物联网项目开发的实质内容。同时,越来越多的公司在嵌入式软件开发中也引入了图形化编程的方式,这种编程方式已经逐渐被业界所认可,是嵌入式开发的发展趋势。理想的WSCN图形化编程平台应具备图形化编程、代码编译、机器码下载等功能,并且具备开发效率高、价格低、使用方便等特点。
可见,开发理想的WSCN图形化编程系统与方法已经成为现有技术中的热点问题。
发明内容
为了克服上述现有技术存在的缺陷,本发明提供了一种面向WSCN的图形化编程系统。本发明构建了支持图形化编程的层次体系,用于实现构件图标作为图形化编程要素,进而使用已有构件图标在图形化编程面板中进行图形化编程。
本发明提供了一种面向WSCN的图形化编程系统,其特征在于,包括:
硬件参数和程序层,将WSCN节点硬件参数、WSCN节点硬件模块驱动程序和图形化开发中需要使用的工具与WSCN节点密切相关的信息进行统一处理,形成面向MCU的配置信息集,供上层调用;
可定制图元中间层,把驱动程序目标文件、图标这些原材料加工成图形化编程中需要的构件图标;
通用图形化编程层,利用可定制图元中间层提供的构件图标,按照标准流程图方式进行程序的组织,可以实现预期设计的程序功能。
优选的是,所述硬件参数和程序层包括:WSCN节点底层驱动程序构件库、MCU配置数据库,编译链接工具集和可执行代码下载程序模块;其中,
WSCN节点底层驱动程序构件库是一个由具体MCU的硬件模块驱动程序的目标代码构成的静态库文件,通过链接该静态库文件可以实现调用相关硬件模块驱动程序的功能;
MCU配置数据库保存了具体MCU芯片的参数信息;
编译链接工具集作为一个动态链接库文件来仿真unix环境;
可执行代码下载程序主要是根据WSCN节点的参数信息将图形化程序的目标文件信息下载到芯片中运行。
优选的是,在所述可定制图元中间层中,底层驱动程序构件库与图形化编程所需的构件图标之间通过WSCN图形化中的图元实现联系,并且图元的定制是对构件图标的基本信息和函数信息进行设置。
进一步优选的是,构件图标的基本信息包括构件图标名、构件图标类型和构件图标图片信息。
进一步优选的是,构件图标的函数信息为构件图标对应的函数的基本信息,包括函数名、函数返回值和函数参数。
本发明提供了一种图形化编程的实现方法,其特征在与,包括:
创建图形化编程的构件图标;
按照设计执行流程将所述构件图标互连和/或分离,生成最终的可用程序。
优选的是,构件图标为X和Y,其中X为父控件,Y为子控件,构件图标的互连包括以下步骤:
(1)保存X的构件图标类型、实例对象和X连出点坐标。
(2)清X的子控件字段,并将Y的图标类型写入到X实例对象的子控件字段中。
(3)清Y的父控件字段,并将X的构件图标类型给Y实例对象的父控件字段中,最后记录Y连入点的坐标。
(4)根据X连出点的坐标和Y连入点的坐标,采用贝塞尔曲线绘制X到Y之间的连接线。
(5)再次刷新图形化编程面板,并重新生成源代码。
优选的是,构件图标为X和Y,其中X为父控件,Y为子控件,构件图标的分离包括:X调用ResetChild方法清空子控件信息,Y调用ResetParent方法清空父控件信息。
优选的是,图形化编程的实现方法进一步包括:创建图形化子程序。
进一步优选的是,图形化子程序分为普通子程序与中断子程序;普通子程序即表示用户划分的某一个功能模块,中断子程序对应WSCN无线节点芯片的中断服务例程,用户可以通过选择相应的中断向量号来创建对应的中断子程序。
可见,本发明提供了面向WSCN的图形化开发平台的框架,采用了图形化编程的基本元素,实现图形化编程图标的设计;具有可扩展代码编译的设计以及可扩展机器码下载功能设计;支持图形化编程的基本操作,包括创建图标控件、设置图标控件属性、图标控件之间互连与分离等主要功能。
附图说明
图1为本发明实施例所述的面向WSCN的图形化编程系统结构图;
图2为本发明实施例所述的可定制图元结构示意图;
图3为本发明实施例所述的添加构件图标功能的流程图;
图4为本发明实施例所述的编程写入器框架图;
图5为本发明实施例所述的写入功能的配置过程图;
图6为本发明实施例所述的互连的主要步骤示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案做进一步具体的说明。
图形化编程系统的架构设计
如图1所示,本发明所述面向WSCN的图形化编程系统包括划分为三层:与MCU相关的硬件参数和程序层、与MCU无关的通用图形化编程层和可定制图元中间层。下面将详细阐述各层的功能,并分析各层之间的联系。
(一)与MCU相关的硬件参数和程序层
与MCU相关的硬件参数和程序层包括:WSCN节点底层驱动程序构件库、MCU配置数据库,编译链接工具集和可执行代码下载程序模块。通过以上四个模块,可以将WSCN节点硬件参数、WSCN节点硬件模块驱动程序和图形化开发中需要使用的工具与WSCN节点密切相关的信息进行统一处理,形成面向MCU的配置信息集,供上层面向WSCN的图形化开发平台调用。它们是实现面向WSCN的图形化编程最基本的部分。
WSCN节点底层驱动程序构件库是一个由具体MCU的硬件模块驱动程序的目标代码构成的静态库文件,通过链接该静态库文件可以实现调用相关硬件模块驱动程序的功能。
MCU配置数据库保存了具体MCU芯片的参数信息,如底层驱动程序构件库、编译器、链接器和可执行代码下载程序模块的磁盘路径信息等。通过MCU配置数据库,上层的图形化嵌入式开发平台可以查找到当前MCU的硬件参数和支持其开发的工具和程序等,并能根据这些信息自动配置开发平台,自动形成面向当前MCU的图形化嵌入式开发平台。MCU配置数据库是与MCU相关层的重要部分。
本发明是采用GNU汇编器来完成程序的编译链接和生成目标代码的。但是,它是在unix环境下使用的工具,为了在Windows环境中使用该工具,必须使用编译链接工具集作为一个动态链接库文件来仿真unix环境。
可执行代码下载程序主要是根据WSCN节点的参数信息如Flash的首地址及大小和RAM的首地址及大小将图形化程序的目标文件信息下载到芯片中运行。面向WSCN的图形化的下载功能也是至关重要,它是检测开发平台实用性的一个重要途径。
(二)可定制图元中间层
可定制图元中间层是联系WSCN节点底层驱动程序构件库当中的目标文件与构件构件图标箱中图标的桥梁,它把驱动程序目标文件、图标这些原材料加工成图形化编程中需要的构件图标。对于WSCN节点同系列的MCU,在对MCU进行更换时,不用再编写驱动了,只要将MCU配置数据库中的信息根据它们的实际信息进行修改,修改完后进行重新链接就行。在具体的程序实现过程中,对每个图标都要根据函数的返回值、参数等信息进行设置。
(三)与MCU无关的通用图形化编程层
与MCU无关的通用图形化编程层实现了一个图形化编程的嵌入式开发平台,利用可定制图元中间层提供的构件图标,按照标准流程图方式进行程序的组织,就可以实现预期设计的程序功能。该层已经与MCU的类型无关,主要包括:构件图标管理单元、图形化编程控制单元。
构件图标管理单元主要完成构件图标的分类组织功能。构件图标包括硬件模块构件图标、功能函数构件图标和流程控制构件图标。硬件模块构件图标与硬件模块的驱动程序一一对应,主要实现MCU的硬件功能;功能函数构件图标实际上就是子程序的图形化表达,往往是一些有特定功能或者含义的程序段;流程控制构件图标主要实现C语言编程中的分支和循环结构的功能。构件图标管理单元采用分类的方法将程序中的上述构件图标进行分类管理,方便图形化显示和代码的自动生成。
图形化编程控制单元是与MCU无关的通用图形化编程层的核心部分,主要完成图形化程序的编写、显示、注释和图形化程序所对应的文本程序的自动生成和显示等功能。开发人员使用图形化编程控制单元可以完成图形化程序的编写,同时开发平台可以实时显示图形化程序所对应的文本程序,方便开发人员对比查错,也为程序的编译链接提供方便。
(四)上述各层之间的联系
与MCU相关的硬件参数和程序层是与MCU无关的图形化嵌入式开发平台的底层,一方面为图形化编程层提供与具体MCU相关的硬件参数和工具程序,另一方面,在可定制图元生成图形化编程的构件图标时,为可定制图元模块提供必要的程序接口信息。与MCU相关的硬件参数和程序层本身为一个可更换的文件集,通过更换硬件参数和程序层,可以实现图形化嵌入式开发平台的通用性,提高平台的可扩展性。
图形化编程要素
图2是本发明采用的可定制图元结构示意图。如何将WSCN底层驱动程序构件库包含的函数转换为图形化编程所需的构件图标,是实现WSCN图形化开发平台的关键技术之一。
底层驱动程序构件库与图形化编程所需的构件图标之间通过WSCN图形化中的图元实现联系。图元的定制主要是对构件图标的基本信息和函数信息进行设置。
图2为可定制图元的结构框图。构件图标的基本信息包括构件图标名、构件图标类型和构件图标图片信息。构件图标类型包括执行控件、通信控件和子程序控件。构件图标的函数信息为构件图标对应的函数的基本信息,包括函数名、函数返回值和函数参数等。
在设计时,根据底层驱动程序构件库中定义好的函数接口及相关传入、传出参数来定制图元即可。在完成图元的数据结构设计后,接下来我们将对定制图元程序功能进行设计。本本发明将图元定制程序功能分为四个函数:添加构件图标、删除构件图标、修改构件图标和清空构件图标。
添加构件图标的函数主要实现了在构件图标库中添加新的构件图标信息。图3为添加构件图标功能的流程。其中,构件图标库与驱动程序库均采用Access数据库,都是通过OLEDB的数据库访问方式对Access数据库进行访问。在设计定制程序功能函数时,作者将与数据库相关的操作都封装进一个数据库操作类,使得程序的可复用性增强。
删除构件图标、修改图元控件和清空图元控件库的函数主要实现对图元控件库中的图元控件信息的删除、修改和清空的功能,其本质就是对Access数据库进行删除、修改和清空功能。其执行过程与添加图元控件函数的过程相似,这里不再详细阐述。
通过以上列举的四个函数,用户即可完成对图元控件的建立、修改和删除的功能,为上层开发平台的图形化编程提供先决条件。
可扩展代码编译链接功能设计
本发明面向WSCN的图形化编程开发平台的代码编译功能使用GNUARM提供的开源编译工具arm-none-eabi,需要使用Makefile文件和Linker脚本文件。本发明将从应用程序的编译流程的设计、Makefile文件编写和Linker文件编写三个部分讨论本发明的代码编译功能。
(一)编译流程的设计
本发明使用GNUARM提供的make工具、编译器和链接器对程序进行编译和链接,最终生成ELF与HEX两种机器码文件。
make工具用于读取并解释Makefile文件中的指令,以指明哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的操作。
编译工具用于将C程序源文件编译成目标文件(ObjectFiles),即.o文件。
链接工具主要用于读取并解释Linker文件,根据Linker文件中的规则将程序块和变量重定位,从而将大量的目标文件合成为ELF或HEX等格式的机器码文件。
经以上分析可以看出Makefile文件与Linker文件在整个编译链接过程中的起到了关键的作用。本发明自行设计了Makefile文件与Linker文件,在对程序进行编译链接时,使用make工具执行makefile文件,即可完成自动编译链接。主要编译流程分为以下几步:
(1)使用make工具执行Makefile文件;
(2)Makefile文件根据代码类型(C源程序或汇编程序)调用相应的编译器将程序代码编译成目标文件,并将其存放在Makefile文件规定的目录下。
(3)完成编译后,Makefile调用链接器使其运行,并将Linker文件的路径传递给链接器。链接器读入Linker文件后将根据其内部相关规则生成ELF或HEX文件。
(二)Makefile文件的分析与编写
根据上文设计的编译流程,可以看出Makefile包含了相关文件的路径并且规定了整个编译的流程。本节选取了Makefile中的一些关键作用进行解释。
(1)指定所有的源文件和链接文件的路径;
(2)在编译之前需要指定编译器、汇编译器和链接器的路径;
(3)在编译源程序时,需要根据芯片内核和工程相关信息来设定参数。如,芯片内核为ARMCortex-M0+,则调用编译器时需要加上“-mcpu=cortex-m0plus”指令;源程序使用的指令集为Thumb指令集,故需要加上“-mthumb”指令;为了让编译器自动生成依赖关系,而不必让用户手动书写文件之间的相互依赖关系,需要使用“-MM”命令;为了方便用户对源程序依赖关系的查看,需要使用“-MF”指令将每个目标文件的依赖关系输出到指定文件中。
(4)当编译器完成对源程序的编译之后,Makefile将调用链接器,读取指定路径下的Linker文件。
(5)因最终生成的程序使用本本发明自定义的启动函数,故在调用编译器时需使用“-nostartfiles”命令来禁止使用GNUARM自带的标准启动函数。同时为了生成程序的内存布局的map文件,方便调试使用,需要使用“-Wl,-Map,OUTPUT.map”将其输出到OUTPUT文件中。
本发明在设计Makefile时考虑到通用性,自动读取相关路径下的源程序并进行编译,然后利用Windows操作系统批处理的功能将其集成到开发平台中,真正做到了一键编译的功能。
(三)Linker文件的分析与编写
Linker文件又称为链接文件,Makefile文件中在调用链接器的过程中读入了相关的链接文件,本节将介绍链接文件的分析与编写。
链接的过程实际上是为了解决多个文件之间符号引用(SymbolResolution)和地址、空间分配(AddressandStorageAllocation)的问题。编译器编译时只对单个文件进行处理,如果该文件里面需要引用到其它文件中的符号(如全局变量或函数),那么在这个文件中该符号的地址是无法确定的,必须等链接器把所有的目标文件连接到一起时才能确定最终的地址。
链接文件主要用于链接时重定位代码和提供数据在内存中的存储位置的问题。代码和数据的基本单位是段,链接器可以识别这些段,并根据链接脚本文件中的规定将其放置到指定的Flash空间中。链接文件主要包括MEMORY和SECTIONS两个命令,二者共同作用,向链接器提供了各个段及目标文件的位置信息。MEMORY指令指出了中断向量表、Flash配置域、rom区和ram区的起始地址和长度。SECTIONS向链接器提供代码段和数据段与实际地址空间之间映射关系。链接器把目标文件中的每个SECTIONS都当做一个个体,为其分配运行所需要的地址这个过程就是重定位,最后把所有目标文件合并为一个目标文件。链接器通过一个链接脚本来控制,这个脚本描述了输入文件的SECTIONS到输出文件的映射,以及输出文件的内存分布。SECTIONS规定中断向量表、Flash配置域、代码段和全局静态变量都存放到rom区,数据段、BSS段、堆和栈等存放到ram区。
可配置机器码下载功能设计
目前市场上的主流编程写入器都采用了图4所示的框架:编程写入器通过USB接口或串口与PC通信,同时通过写入接口与目标MCU通信。在这种框架结构下,编程调试器接收从PC发送来的操作命令和数据,对命令进行解析后,与目标MCU进行通信,让目标MCU完成相应的功能操作。针对不同的目标MCU,由PC的传统文本式集成开发环境或独立写入软件发出命令告诉写入器目标MCU的型号等信息。本发明设计的开发平台的可配置机器码下载单元时也遵循这种设计思想。
本发明在设计图形构件化开发平台时从独立写入软件入手,采用动态可配置的方法来实现机器码下载的功能。用户只需要按照图5所示的写入功能的配置过程,即可将JLink独立写入软件添加到开发平台。其配置流程可分如下几步:
(1)安装JLink独立写入软件;
(2)找到已经安装完成的JLink独立写入软件,将JLink独立写入软件以文件夹为单位,拷贝到安装目录下的“standaloneprogrammer”文件夹中;
(3)尝试运行拷贝过来的独立写入软件中的可执行文件,即JFlash.exe,如果其能够正常运行,则进入步骤(4),否则无法完成添加;
(4)如果JLink独立写入软件文件夹下只有一个“.exe”应用程序,即“JFlash.exe”,那么写入功能添加完成;如果有多个可执行文件,将其删除,并保留用户所需要的可执行文件,再次进入步骤(3)。
图形化编程功能的实现
本节将讲述如何使用已有构件图标在图形化编程面板中进行图形化编程,即图形化编程单元的设计。
编程控制单元与构件图标类管理单元协同合作,主要负责构件图标的创建、相互连接、图形化编程时的图标设置以及对应的代码显示。图形化编程控制单元主要涉及构件图标的创建、构件图标之间的互连和分离、构件图标的复制、粘贴、剪切与删除,构件图标属性的设置,图形化程序对应的源代码程序的生成以及图形化程序的保存和打开等功能。
(一)构件图标创建功能实现
图形化嵌入式开发平台主要方便用户使用构件图标在图形化编程面板中进行图形化编程。用户在进行图形化编程之前,应首先创建图形化编程的编程元素:构件图标。
构件图标的信息均在构件图标库中,本发明在设计开发平台时,将构件图标库中所有的构件图标全部集中在构件图标箱中,用户可根据需要从构件图标箱中选择需要的构件图标进行图形化编程。
(二)构件图标互连和分离算法实现
在图形化编程面板中创建并完成构件图标设置后,接下来用户要按照设计执行流程将这些图标互连才能生成最终的可用程序。构件图标互连操作是将构件图标相互连起来的过程,分离操作是将图标两两分开的过程。假设现在要连接与分离的构件图标为X和Y,其中X为父控件,Y为子控件。下面将对这两种操作进行详细的阐述。
1.构件图标间的互连
本发明采用贝塞尔曲线实现两个构件图标的互连。图6为互连的主要步骤示意图,其主要设计流程如下:
(1)保存X的构件图标类型、实例对象和X连出点坐标。
(2)清X的子控件字段,并将Y的图标类型写入到X实例对象的子控件字段中。
(3)清Y的父控件字段,并将X的构件图标类型给Y实例对象的父控件字段中,最后记录Y连入点的坐标。
(4)根据X连出点的坐标和Y连入点的坐标,采用贝塞尔曲线绘制X到Y之间的连接线。
(5)再次刷新图形化编程面板,并重新生成源代码。
2.构件图标间的分离
构件图标间的分离是指将X与Y构件图标间的连接取消,本发明通过ResetParent和ResetChild方法实现。假设现在要将构件图标X和Y进行分离,则X只需要调用ResetChild方法清空子控件信息,Y只需要调用ResetParent方法清空父控件信息。
(三)图形化子程序创建
开发平台还提供了图形化子程序的创建功能,使得用户可以将应用功能进行合理的划分,同时结合模块化的编程思想进行图形化编程。图形化子程序又分为普通子程序与中断子程序。普通子程序即表示用户划分的某一个功能模块,中断子程序对应WSCN无线节点芯片的中断服务例程,用户可以通过选择相应的中断向量号来创建对应的中断子程序。除了保存方式之外,子程序与图形化主程序的编程方法几乎相同,每个图形化子程序都会被单独保存在扩展名为.sub的文件中。下文将主要讲述子程序的两种调用方式:
(1)如果图形化子程序已经存在,那么需要将该子程序添加到当前工程形成子程序构件图标。
(2)如果需要新建图形化子程序,那么需要创建一个新的子程序,用户只需要选择对应的中断向量号即可完成中断子程序的创建。
可见,本发明提供了面向WSCN的图形化开发平台的框架,采用了图形化编程的基本元素,实现图形化编程图标的设计;具有可扩展代码编译的设计以及可扩展机器码下载功能设计;支持图形化编程的基本操作,包括创建图标控件、设置图标控件属性、图标控件之间互连与分离等主要功能。
以上实施例仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种面向WSCN的图形化编程系统,其特征在于,包括:
硬件参数和程序层,将WSCN节点硬件参数、WSCN节点硬件模块驱动程序和图形化开发中需要使用的工具与WSCN节点密切相关的信息进行统一处理,形成面向MCU的配置信息集,供上层调用;
可定制图元中间层,把驱动程序目标文件、图标这些原材料加工成图形化编程中需要的构件图标;
通用图形化编程层,利用可定制图元中间层提供的构件图标,按照标准流程图方式进行程序的组织,可以实现预期设计的程序功能。
2.一种如权利要求1所述的面向WSCN的图形化编程系统,其特征在于,所述硬件参数和程序层包括:WSCN节点底层驱动程序构件库、MCU配置数据库,编译链接工具集和可执行代码下载程序模块;其中,
WSCN节点底层驱动程序构件库是一个由具体MCU的硬件模块驱动程序的目标代码构成的静态库文件,通过链接该静态库文件可以实现调用相关硬件模块驱动程序的功能;
MCU配置数据库保存了具体MCU芯片的参数信息;
编译链接工具集作为一个动态链接库文件来仿真unix环境;
可执行代码下载程序主要是根据WSCN节点的参数信息将图形化程序的目标文件信息下载到芯片中运行。
3.一种如权利要求2所述的面向WSCN的图形化编程系统,其特征在于,在所述可定制图元中间层中,底层驱动程序构件库与图形化编程所需的构件图标之间通过WSCN图形化中的图元实现联系,并且图元的定制是对构件图标的基本信息和函数信息进行设置。
4.一种如权利要求3所述的面向WSCN的图形化编程系统,其特征在于,构件图标的基本信息包括构件图标名、构件图标类型和构件图标图片信息。
5.一种如权利要求4所述的面向WSCN的图形化编程系统,其特征在于,构件图标的函数信息为构件图标对应的函数的基本信息,包括函数名、函数返回值和函数参数。
6.一种图形化编程的实现方法,其特征在与,包括:
创建图形化编程的构件图标;
按照设计执行流程将所述构件图标互连和/或分离,生成最终的可用程序。
7.一种如权利要求6所述的图形化编程的实现方法,其特征在于,构件图标为X和Y,其中X为父控件,Y为子控件,构件图标的互连包括以下步骤:
(1)保存X的构件图标类型、实例对象和X连出点坐标。
(2)清X的子控件字段,并将Y的图标类型写入到X实例对象的子控件字段中。
(3)清Y的父控件字段,并将X的构件图标类型给Y实例对象的父控件字段中,最后记录Y连入点的坐标。
(4)根据X连出点的坐标和Y连入点的坐标,采用贝塞尔曲线绘制X到Y之间的连接线。
(5)再次刷新图形化编程面板,并重新生成源代码。
8.一种如权利要求6所述的图形化编程的实现方法,其特征在于,构件图标为X和Y,其中X为父控件,Y为子控件,构件图标的分离包括:X调用ResetChild方法清空子控件信息,Y调用ResetParent方法清空父控件信息。
9.一种如权利要求6所述的图形化编程的实现方法,其特征在于,图形化编程的实现方法进一步包括:创建图形化子程序。
10.一种如权利要求9所述的图形化编程的实现方法,其特征在于,图形化子程序分为普通子程序与中断子程序;普通子程序即表示用户划分的某一个功能模块,中断子程序对应WSCN无线节点芯片的中断服务例程,用户可以通过选择相应的中断向量号来创建对应的中断子程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510450272.6A CN105117210A (zh) | 2015-07-28 | 2015-07-28 | 一种面向wscn的图形化编程系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510450272.6A CN105117210A (zh) | 2015-07-28 | 2015-07-28 | 一种面向wscn的图形化编程系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105117210A true CN105117210A (zh) | 2015-12-02 |
Family
ID=54665212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510450272.6A Pending CN105117210A (zh) | 2015-07-28 | 2015-07-28 | 一种面向wscn的图形化编程系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117210A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739996A (zh) * | 2016-03-03 | 2016-07-06 | 南京南瑞继保电气有限公司 | 一种嵌入式装置研发用户分步开发方法 |
CN106707848A (zh) * | 2016-12-01 | 2017-05-24 | 浙江中控研究院有限公司 | 一种控制系统的控制程序组织结构和下载方法 |
CN106775683A (zh) * | 2016-11-30 | 2017-05-31 | 华南理工大学 | 一种图形化编程控制与存储系统 |
CN106842988A (zh) * | 2017-03-02 | 2017-06-13 | 深圳市尧天科技有限公司 | 一种教学图形编程系统和方法 |
CN107329764A (zh) * | 2017-07-03 | 2017-11-07 | 苏州大学 | 一种多任务gcplc系统及利用该系统实现应用开发的方法 |
CN107728561A (zh) * | 2016-08-11 | 2018-02-23 | 苏州汉扬精密电子有限公司 | Plc编程系统及方法 |
CN107861717A (zh) * | 2017-11-09 | 2018-03-30 | 用友网络科技股份有限公司 | 以数据库注册方式进行图元属性定制的方法 |
CN108304194A (zh) * | 2017-09-01 | 2018-07-20 | 潍柴动力股份有限公司 | 一种程序的生成方法、装置及电子设备 |
CN108491201A (zh) * | 2018-03-13 | 2018-09-04 | 天津瑷睿卡仕福测控技术有限公司 | 一种集成测试系统图形化编程界面及其编程方法 |
CN108924153A (zh) * | 2018-07-23 | 2018-11-30 | 深圳点猫科技有限公司 | 一种在图形化编程工具中的云变量操作方法及电子设备 |
CN109545035A (zh) * | 2018-09-30 | 2019-03-29 | 上海畅学教育科技有限公司 | 多消息交互图形化硬件编程兼容系统和方法 |
CN109697065A (zh) * | 2018-12-17 | 2019-04-30 | 蜂巢(武汉)微系统技术有限公司 | 一种嵌入式车载系统的可视化开发方法 |
CN109799971A (zh) * | 2018-12-07 | 2019-05-24 | 陕西法士特齿轮有限责任公司 | 一种文件生成装置和方法 |
CN110494843A (zh) * | 2017-04-03 | 2019-11-22 | 创首公司 | 混合模式编程 |
CN111856989A (zh) * | 2020-06-19 | 2020-10-30 | 中电科航空电子有限公司 | 一种单片机动态链接方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436050A (zh) * | 2007-11-12 | 2009-05-20 | 上海电气集团股份有限公司 | 用于开放式数控系统的图形化交互式编程单元及方法 |
CN102855135A (zh) * | 2012-04-23 | 2013-01-02 | 苏州大学 | 一种图形构件化传感网开发平台及方法 |
CN104199661A (zh) * | 2014-08-29 | 2014-12-10 | 苏州大学 | 一种面向mc1321x的无线传感器网络wsn重编程方法 |
-
2015
- 2015-07-28 CN CN201510450272.6A patent/CN105117210A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436050A (zh) * | 2007-11-12 | 2009-05-20 | 上海电气集团股份有限公司 | 用于开放式数控系统的图形化交互式编程单元及方法 |
CN102855135A (zh) * | 2012-04-23 | 2013-01-02 | 苏州大学 | 一种图形构件化传感网开发平台及方法 |
CN104199661A (zh) * | 2014-08-29 | 2014-12-10 | 苏州大学 | 一种面向mc1321x的无线传感器网络wsn重编程方法 |
Non-Patent Citations (2)
Title |
---|
冯上栋: "图形构件化无线传感网开发平台GCBDP-WSN的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
姚健东: "一种通用图形化嵌入式开发平台的设计及应用", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739996A (zh) * | 2016-03-03 | 2016-07-06 | 南京南瑞继保电气有限公司 | 一种嵌入式装置研发用户分步开发方法 |
CN107728561A (zh) * | 2016-08-11 | 2018-02-23 | 苏州汉扬精密电子有限公司 | Plc编程系统及方法 |
CN106775683A (zh) * | 2016-11-30 | 2017-05-31 | 华南理工大学 | 一种图形化编程控制与存储系统 |
CN106775683B (zh) * | 2016-11-30 | 2020-06-19 | 华南理工大学 | 一种图形化编程控制与存储系统 |
CN106707848A (zh) * | 2016-12-01 | 2017-05-24 | 浙江中控研究院有限公司 | 一种控制系统的控制程序组织结构和下载方法 |
CN106707848B (zh) * | 2016-12-01 | 2019-02-15 | 浙江杰芯科技有限公司 | 一种控制系统的控制程序组织结构和下载方法 |
CN106842988A (zh) * | 2017-03-02 | 2017-06-13 | 深圳市尧天科技有限公司 | 一种教学图形编程系统和方法 |
CN110494843A (zh) * | 2017-04-03 | 2019-11-22 | 创首公司 | 混合模式编程 |
CN107329764A (zh) * | 2017-07-03 | 2017-11-07 | 苏州大学 | 一种多任务gcplc系统及利用该系统实现应用开发的方法 |
CN108304194A (zh) * | 2017-09-01 | 2018-07-20 | 潍柴动力股份有限公司 | 一种程序的生成方法、装置及电子设备 |
CN107861717A (zh) * | 2017-11-09 | 2018-03-30 | 用友网络科技股份有限公司 | 以数据库注册方式进行图元属性定制的方法 |
CN108491201A (zh) * | 2018-03-13 | 2018-09-04 | 天津瑷睿卡仕福测控技术有限公司 | 一种集成测试系统图形化编程界面及其编程方法 |
CN108491201B (zh) * | 2018-03-13 | 2021-04-09 | 南京瑷卡测控技术有限公司 | 一种集成测试系统图形化编程界面及其编程方法 |
CN108924153A (zh) * | 2018-07-23 | 2018-11-30 | 深圳点猫科技有限公司 | 一种在图形化编程工具中的云变量操作方法及电子设备 |
CN109545035A (zh) * | 2018-09-30 | 2019-03-29 | 上海畅学教育科技有限公司 | 多消息交互图形化硬件编程兼容系统和方法 |
CN109799971A (zh) * | 2018-12-07 | 2019-05-24 | 陕西法士特齿轮有限责任公司 | 一种文件生成装置和方法 |
CN109799971B (zh) * | 2018-12-07 | 2022-04-15 | 陕西法士特齿轮有限责任公司 | 一种文件生成装置和方法 |
CN109697065A (zh) * | 2018-12-17 | 2019-04-30 | 蜂巢(武汉)微系统技术有限公司 | 一种嵌入式车载系统的可视化开发方法 |
CN111856989A (zh) * | 2020-06-19 | 2020-10-30 | 中电科航空电子有限公司 | 一种单片机动态链接方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117210A (zh) | 一种面向wscn的图形化编程系统 | |
US9754059B2 (en) | Graphical design verification environment generator | |
US5956479A (en) | Demand based generation of symbolic information | |
CN101601012B (zh) | 具有场景支持的面向生成器图的编程框架 | |
US5325533A (en) | Engineering system for modeling computer programs | |
US8341594B1 (en) | Version control in modeling environments | |
CN105843630A (zh) | 一种基于机器人图形化编程开发的方法 | |
US20060248112A1 (en) | Application description language | |
CN104615541A (zh) | 基于流程图的仿真测试建模系统及方法 | |
CN103970659A (zh) | 基于插桩技术的安卓应用软件自动化测试方法 | |
CN102270128A (zh) | 库一致性检查器 | |
KR20040097941A (ko) | 컴포넌트 기반 환경 하에서 확장된 메타데이터를 이용한 소프트웨어 개발 방법 및 시스템 | |
CN114721647B (zh) | 一种基于无代码应用开发的面向对象编程方法 | |
CN103914331A (zh) | 支持多芯片配置功能的仿真器 | |
Rieger et al. | Challenges and Opportunities of Modularizing Textual Domain-Specific Languages. | |
CN112181483B (zh) | 等离子体控制系统软件开发平台及方法 | |
Wenderholm | Eclpss: a Java-based framework for parallel ecosystem simulation and modeling | |
Savolainen et al. | Spine deliverable 2.1 software design document | |
Buchmann et al. | Mapping features to domain models in fujaba | |
Barbacci et al. | Durra: an integrated approach to software specification, modeling and rapid prototyping. | |
Fields et al. | IntelliJ IDEA in Action | |
Fuksa | Redesigning the Hamster Simulation | |
Cai et al. | System-on-chip environment (SCE version 2.2. 0 beta): Manual | |
Verma | Developing Real-World Extensions for Visual Studio Editor | |
Bieker | Retargetable compilation of self-test programs using constraint logic programming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151202 |
|
RJ01 | Rejection of invention patent application after publication |