CN102929214A - 一种嵌入式多处理单元并行处理系统及其运行方法 - Google Patents
一种嵌入式多处理单元并行处理系统及其运行方法 Download PDFInfo
- Publication number
- CN102929214A CN102929214A CN2011102298562A CN201110229856A CN102929214A CN 102929214 A CN102929214 A CN 102929214A CN 2011102298562 A CN2011102298562 A CN 2011102298562A CN 201110229856 A CN201110229856 A CN 201110229856A CN 102929214 A CN102929214 A CN 102929214A
- Authority
- CN
- China
- Prior art keywords
- automatic control
- subroutines
- unit
- operation support
- program
- 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
Images
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/0421—Multiprocessor system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- 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/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- 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/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13119—Compiler
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Devices For Executing Special Programs (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
Abstract
本发明提供了一种嵌入式多处理单元并行处理系统,包括:编译单元、运行支持单元以及至少两个处理单元。本发明还公开了上述嵌入式多处理单元并行处理系统的运行方法。通过本发明提供的嵌入式多处理单元并行处理系统以及系统的运行方法,可以在嵌入式硬件平台上实现多处理单元并行处理,提高处理效率。
Description
技术领域
本发明涉及自动控制领域,尤其涉及一种嵌入式多处理单元并行处理系统及其运行方法。
背景技术
自动控制系统一般用于处理一定范围内的自动化任务。当自动控制系统的处理任务超出该系统的容量和处理能力时,就需要对该系统进行更新,即对系统的容量、处理能力和性能进行升级,以达到能够满足系统需求的程度。传统的自动控制系统的更新方式是采用容量更大、处理能力更强的更高等级的系统来替换原有的系统,从而满足系统更新的要求。而这种替换式的更新会带来成本高、操作繁琐的问题。
图1为多处理器并行控制系统(Multi-Processor Parallel Controlling System,MPPCS)的结构示意图,MPPCS可将多个程序指令和数据在多个处理器上同时执行以获得更快的运算结果。图1所示的多处理器并行控制系统包括处理单元(简称PU,Process Unit或称为单元控制器)1到处理单元N的N个处理单元,一个编译器(例如HMI或PG/Compiler),以及连接N个处理单元及编译器的互联网络。N个处理单元用于对自动控制系统要执行的程序进行并行执行,也就是说每个处理单元执行自动控制系统要执行的程序的一部分。编译器通过互连网络与N个处理单元相连,用于将串行的、用工程语言描述的自动控制程序转换为并行的且同时在多个处理单元上执行的代码,从而保证处理单元能够执行并行任务。N个处理单元通过互连网络进行连接,从而使得一个处理单元上的信息通过互连网络能够传递到另外一个处理单元。与传统的替换式的升级方式相比,由于多处理器并行控制系统只需在原有的系统基础上增加新的模块或者设备,一方面能够更快、更容易地进行升级,另一方面也减少了开支,降低了系统升级所需的成本。
但是,由于不同的嵌入式硬件平台(如ARM、MIPS)具有的指令集并不相同,难以针对不同的嵌入式硬件平台设置统一的软件运行平台,虽然Java虚拟机可以为不同的硬件平台提供统一的软件运行平台,但是由于Java虚拟机过于庞大且执行效率较低,并不适用于嵌入式硬件平台,因此,目前并不存在应用于嵌入式硬件平台的MPPCS。
发明内容
为改进现有技术中存在的问题,本发明提出一种嵌入式多处理单元并行处理系统,用以在嵌入式硬件平台上实现多处理单元的并行处理。
本发明提出的嵌入式多处理单元并行处理系统,包括:
编译单元,用于根据自动控制程序生成多个自动控制子程序,并将每个所述自动控制子程序编译为中间代码;
运行支持单元,用于从所述编译单元获取各个所述自动控制子程序的所述中间代码,并将每个所述自动控制子程序的所述中间代码转换为运行于嵌入式操作系统中的任务,以及用于识别每个处理单元的身份,将每个所述任务发送至相应的处理单元;
至少两个处理单元,用于接收所述运行支持单元发送的根据所述自动控制子程序的所述中间代码转换得到的所述任务并运行,以及在运行所述自动控制子程序对应的所述任务时,各所述处理单元之间可进行数据通信。
根据本发明实施例提供的上述系统,通过编译单元根据自动控制程序生成多个自动控制子程序,再将每个自动控制子程序转换为中间代码后,由运行支持单元将中间代码转换为运行于嵌入式操作系统中的任务,并发送至相应的处理单元,各个处理单元之间在运行各自的任务时进行数据交互,从而能够在嵌入式硬件平台上实现多处理单元并行处理系统,提高了处理效率,在需要增加新的功能时,仅需增加相应的处理单元即可实现。
其中,所述运行支持单元进一步用于控制所述至少两个处理单元同步执行各自动控制子程序的中间代码转换得到的各任务。
其中,所述编译单元处理的自动控制程序至少为结构化文本语言程序、梯形图语言程序、功能块图表语言程序中的任意一种。
其中,所述运行支持单元用于至少两个处理单元在运行自动控制子程序对应的任务时,基于运行支持单元采用的通信协议进行数据通信;
所述运行支持单元采用的通信协议至少包括网络协议或数据传输协议中的任意一种。
其中,所述编译单元包括并行化子单元和编译子单元,其中,
并行化子单元,用于对自动控制程序进行分片,并在语义分析的基础上生成符号表、语法树及控制流图,并确定各自动控制程序分片之间的依赖关系后,生成多个自动控制子程序;
编译子单元,用于将各自动控制子程序编译为中间代码。
其中,所述编译单元进一步包括预处理子单元,用于将自动控制程序输出至awl格式的文件中。
本发明提出的嵌入式多处理单元并行控制系统的运行方法,包括:
由编译单元根据自动控制程序生成多个自动控制子程序,并将每个所述自动控制子程序编译为中间代码;
由运行支持单元获取各个所述自动控制子程序的所述中间代码,并将每个所述自动控制子程序的所述中间代码转换为运行于嵌入式操作系统中的任务,并在识别每个处理单元的身份后,将每个所述任务发送至相应的处理单元;
由至少两个处理单元分别接收所述运行支持单元发送的相应的所述自动控制子程序对应的所述任务并运行,且在运行时在各所述处理单元之间进行数据通信。
根据本发明实施例提供的上述运行方法,通过编译单元根据自动控制程序生成多个自动控制子程序,再将每个自动控制子程序转换为中间代码后,由运行支持单元将中间代码转换为运行于嵌入式操作系统中的任务,并发送至相应的处理单元,各个处理单元在运行各任务时进行数据交互,从而能够在嵌入式硬件平台上实现多处理单元并行处理系统的运行,提高了处理效率,在需要增加新的功能时,仅需增加相应的处理单元即可实现。
其中,所述至少两个处理单元运行相应的自动控制子程序对应的任务时,由运行支持单元控制所述至少两个处理单元同步执行各自动控制子程序的中间代码转换得到的各任务。
其中,所述自动控制程序至少为结构化文本语言程序、梯形图语言程序、功能块图表语言程序中的任意一种。
其中,各处理单元之间基于运行支持单元采用的通信协议进行数据通信;
所述运行支持单元采用的通信协议至少包括网络协议或数据传输协议中的任意一种。
其中,根据自动控制程序生成多个自动控制子程序,包括:
对自动控制程序进行分片,并在语义分析的基础上生成符号表、语法树及控制流图,并确定各自动控制程序分片之间的依赖关系后,生成多个自动控制子程序。
其中,根据自动控制程序生成多个自动控制子程序之前,将自动控制程序输出至awl格式的文件中。
附图说明
下面将通过参照附图详细描述本发明的优选实施例,使本领域的普通技术人员更清楚本发明的上述及其它特征和优点,附图中:
图1是现有技术中多处理器并行控制系统的结构示意图;
图2是本发明实施例提供的嵌入式多处理单元并行控制系统结构图;
图3是本发明实施例提供的编译单元结构图;
图4是本发明实施例提供的嵌入式多处理单元并行控制系统的运行方法流程图;
图5是本发明实施例提供的具体的嵌入式多处理单元并行控制系统结构示意图;
图6是本发明实施例提供的具体的处理器运行流程图。
具体实施方式
下面结合附图来对本发明优选的实施例进行详细说明。
如图2所示,本发明实施例中,嵌入式多处理单元并行控制系统主要包括编译单元20、运行支持单元21以及至少两个处理单元22,其中,
编译单元20,用于根据自动控制程序生成多个自动控制子程序,并将每个自动控制子程序编译为中间代码;
运行支持单元21,用于从编译单元20获取各个自动控制子程序的中间代码,并将每个自动控制子程序的中间代码转换为运行于嵌入式操作系统中的任务,以及用于识别每个处理单元22的身份,将每个任务发送至相应的处理单元22;
至少两个处理单元22,用于接收运行支持单元21发送的根据自动控制子程序的中间代码转换得到的任务并运行,以及用于运行自动控制子程序对应的任务时,各处理单元22之间进行数据通信。
其中,如图3所示,编译单元20主要包括并行化子单元30和编译子单元31,其中,
并行化子单元30,用于对自动控制程序进行分片,并在语义分析的基础上生成符号表、语法树及控制流图,并在确定各自动控制程序分片之间的依赖关系后,生成多个自动控制子程序;
编译子单元31,用于将各自动控制子程序编译为中间代码。
其中,编译单元20可进一步包括预处理子单元32,用于将自动控制程序输出至awl格式的文件中。
基于上述系统架构,如图4所示,本发明实施例中,嵌入式多处理单元并行控制系统运行的详细方法流程如下:
步骤S40:编译单元根据自动控制程序生成多个自动控制子程序,并将每个自动控制子程序编译为中间代码。
其中,自动控制程序至少为结构化文本语言程序(STL)、梯形图语言程序(LD)、功能块图表语言程序(FBD)中的任意一种。此处仅为举例,并不用于限制本发明,实际应用中,若存在其他工程语言能够应用于本发明实施例的,本发明也将其包括在内。
其中,编译单元根据自动控制程序生成多个自动控制子程序之前,将自动控制程序输出至awl格式的文件中。
本发明实施例中,编译单元根据自动控制程序生成多个自动控制子程序的主要过程为:编译单元对自动控制程序进行分片,并在语义分析的基础上生成符号表、语法树及控制流图,并确定各自动控制程序分片之间的依赖关系后,生成多个自动控制子程序。
步骤S41:运行支持单元获取各个自动控制子程序的中间代码,并将每个自动控制子程序的中间代码转换为运行于嵌入式操作系统中的任务,并在识别每个处理单元的身份后,将每个任务发送至相应的处理单元。
本发明实施例中,运行支持单元在识别每个处理单元的身份后,根据各处理单元的身份,将每个任务发送至相应的处理单元。例如,在划分各自动控制子程序后,确定各自动控制子程序的执行顺序,相应的,各处理单元的身份标识能够体现执行顺序,从而能够按照处理单元的身份标识将每个任务发送至相应的处理单元。
步骤S42:至少两个处理单元分别接收运行支持单元发送的相应的自动控制子程序对应的任务并运行,且在运行时在各处理单元之间进行数据通信。
其中,在至少两个处理单元运行相应的自动控制子程序对应的任务时,由运行支持单元控制至少两个处理单元同步执行各自动控制子程序的中间代码转换得到的各任务。
较佳地,各处理单元之间基于运行支持单元采用的通信协议进行数据通信,运行支持单元采用的通信协议至少为网络协议(IP)或数据传输协议(UDP)中的任意一种。此处仅为举例,并不用于限制本发明,实际应用中,若存在其他通信协议能够应用于本发明实施例的,本发明也将其包括在内。
本发明实施例中,编译单元将自动控制程序划分为多个自动控制子程序,具体过程如下:
首先,对自动控制程序进行分片,即将自动控制程序划分为一些单独的部分,得到若干个自动控制程序分片,由于在国际电工委员会(IEC)制定的工业控制标准编程语言IEC 61131-3中,采用工程语言编写的自动控制程序由若干网络组成,因此以网络为粒度对自动控制程序进行分片,即每个自动控制程序分片为一个网络。
然后,对每个自动控制程序分片在语义分析的基础上生成符号表(Symbol Table),语法树(Syntax Tree),并构建控制流图(CFG,Control Flow Graph)。
其次,根据自动控制程序的语法树,符号表以及控制流图通过自动控制程序分片之间的依赖性分析建立自动控制程序的并行模型,该自动控制程序的并行模型应当能够清楚的表示出自动控制程序所包含组件之间的关系。
最后,将语法树上具有紧密依赖性的节点代表的自动控制程序分片划分为一个自动控制子程序,将具有松散依赖性的节点代表的自动控制程序部分划分到不同的自动控制子程序中。
本发明实施例中,在对各个自动控制子程序之间的依赖关系进行分析之后可以得到各个自动控制子程序之间的同步操作,包括每个自动控制子程序中各个组成部分的执行顺序以及各处理单元之间需要同步的数据等。此时,编译单元可以自动将执行这些同步操作的代码加入对应自动控制子程序的合适位置。
本发明实施例中,运行支持单元采用了轻量级的IP协议栈,同时对MPI协议中规定的众多原语进行了筛选,仅借鉴了其中最基本的6个原语,来识别处理单元的身份,控制并行程序的执行(例如开始或结束)以及定义同步操作,即需要在根据各个自动控制子程序部分之间的依赖关系分别在每个自动控制子程序部分加入同步操作之前,预先定义用于识别处理单元身份,控制并行程序执行以及定义同步操作的消息传递接口MPI原语,包括:定义MPI_Send()和MPI_Recv()原语来实现从一个处理单元到另一个处理单元的数据传递;定义MPI_Init()原语来实现MPI的初始化;定义MPI_Comm_rank()原语来确定调用过程的标签;定义MPI_Barrier()原语来阻塞执行直到同步结束;以及MPI_Gather()原语来收集远端输入或输出等等。
本发明实施例中,中间代码类似于Java源代码编译后形成的字节码(bytecode),为适用于可编程逻辑控制器(PLC)的统一的语言格式。
下面通过具体的嵌入式多处理单元并行处理系统对本发明实施例进行举例说明。
如图5所示,编译器50采用的可编程逻辑控制器(PLC)为STEP7 Micro/Win,两个处理器51采用的PLC为Stelliaris LM3S8962,其中,两个处理器51以及编译器50通过网络交换机52互联,其中
编译器50相当于上述本发明实施例提供的嵌入式多处理单元并行控制系统中的编译单元,每个处理器51相当于上述本发明实施例提供的嵌入式多处理单元并行控制系统中的每个处理单元,且编译器50和每个处理器51中嵌入有实现本发明实施例提供的嵌入式多处理单元并行控制系统中的运行支持单元。
图5所示系统运行的具体过程如下:
首先,编译器50将STL语言编写的控制程序(即源文件)输出至awl格式的文件中,基于该awl文件将STL控制程序划分为多个STL控制子程序,其中,一个或多个控制子程序对应一个处理器51,并将每个STL控制子程序编译为PLC中间代码;
其次,将每个STL控制子程序编译后得到的PLC中间代码转换为运行于嵌入式操作系统中的任务(二进制文件)并发送至相应的处理器51,或者,将PLC中间代码发送至相应的处理器51,再由处理器51转换相应的任务;
最后,两个处理器51同时执行获得的STL控制子程序对应的任务,并且两个处理器51在执行的过程中通过网络进行数据交互。
其中,在每个处理器51所在的测试板中设置有按键53、有机发光二极管(OLED)54、发光二级管(LED)55、RJ45网络连接器56,通过总线与Stelliaris LM3S8962(PLC)57相连接,处理器51中嵌入的运行支持单元相当于虚拟机,如图6所示,每个处理器所在的测试板的运行过程如下:
步骤S601:测试板启动;
步骤S602:进行硬件初始化;
步骤S603:启动OLED任务;
步骤S604:启动按键扫描任务;
步骤S605:判断虚拟机任务的启动按键是否按下,若未按下,则转至步骤S603重新启动OLED任务,若已按下,则执行步骤S606;
步骤S606:启动虚拟机任务;
步骤S607:基于虚拟机任务执行由相应的PLC通用的中间代码转换后的二进制文件;
步骤S608:判断虚拟机任务的停止按键是否按下,若未按下,则转至步骤S607循环执行由相应的PLC通用的中间代码转换后的二进制文件,若已按下,则执行步骤S609;
步骤S609:停止虚拟机任务,并转至步骤S603重新启动OLED任务。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下,可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (12)
1.一种嵌入式多处理单元并行处理系统,其特征在于,包括:
编译单元,用于根据自动控制程序生成多个自动控制子程序,并将每个所述自动控制子程序编译为中间代码;
运行支持单元,用于从所述编译单元获取各个所述自动控制子程序的所述中间代码,并将每个所述自动控制子程序的所述中间代码转换为运行于嵌入式操作系统中的任务,以及用于识别每个处理单元的身份,将每个所述任务发送至相应的处理单元;
至少两个处理单元,用于接收所述运行支持单元发送的根据所述自动控制子程序的所述中间代码转换得到的所述任务并运行,以及在运行所述自动控制子程序对应的所述任务时,各所述处理单元之间可进行数据通信。
2.如权利要求1所述的系统,其特征在于,所述运行支持单元进一步用于控制所述至少两个处理单元同步执行各所述自动控制子程序的所述中间代码转换得到的各所述任务。
3.如权利要求1所述的系统,其特征在于,所述编译单元处理的所述自动控制程序至少为结构化文本语言程序、梯形图语言程序、功能块图表语言程序中的任意一种。
4.如权利要求1所述的系统,其特征在于,所述运行支持单元用于在至少两个处理单元运行所述自动控制子程序对应的所述任务时,基于所述运行支持单元采用的通信协议进行数据通信;
所述运行支持单元采用的所述通信协议至少包括网络协议或数据传输协议中的任意一种。
5.如权利要求1-4中任意一项所述的系统,其特征在于,所述编译单元包括并行化子单元和编译子单元,其中,
所述并行化子单元,用于对所述自动控制程序进行分片,并在语义分析的基础上生成符号表、语法树及控制流图,并确定各所述自动控制程序分片之间的依赖关系后,生成多个所述自动控制子程序;
所述编译子单元,用于将各所述自动控制子程序编译为所述中间代码。
6.如权利要求5所述的系统,其特征在于,所述编译单元进一步包括预处理子单元,用于将所述自动控制程序输出至awl格式的文件中。
7.一种嵌入式多处理单元并行控制系统的运行方法,其特征在于,包括:
由编译单元根据自动控制程序生成多个自动控制子程序,并将每个所述自动控制子程序编译为中间代码;
由运行支持单元获取各个所述自动控制子程序的所述中间代码,并将每个所述自动控制子程序的所述中间代码转换为运行于嵌入式操作系统中的任务,并在识别每个处理单元的身份后,将每个所述任务发送至相应的处理单元;
由至少两个处理单元分别接收所述运行支持单元发送的相应的所述自动控制子程序对应的所述任务并运行,且在运行时在各所述处理单元之间进行数据通信。
8.如权利要求7所述的方法,其特征在于,所述至少两个处理单元运行相应的所述自动控制子程序对应的所述任务时,由所述运行支持单元控制所述至少两个处理单元同步执行各所述自动控制子程序的所述中间代码转换得到的各所述任务。
9.如权利要求7所述的方法,其特征在于,所述自动控制程序至少为结构化文本语言程序、梯形图语言程序、功能块图表语言程序中的任意一种。
10.如权利要求7所述的方法,其特征在于,各所述处理单元之间基于所述运行支持单元采用的通信协议进行数据通信;
所述运行支持单元采用的所述通信协议至少包括网络协议或数据传输协议中的任意一种。
11.如权利要求7-10中任意一项所述的方法,其特征在于,根据所述自动控制程序生成多个所述自动控制子程序,包括:
对所述自动控制程序进行分片,并在语义分析的基础上生成符号表、语法树及控制流图,并确定各所述自动控制程序分片之间的依赖关系后,生成多个所述自动控制子程序。
12.如权利要求11所述的方法,其特征在于,根据所述自动控制程序生成多个所述自动控制子程序之前,将所述自动控制程序输出至awl格式的文件中。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2011102298562A CN102929214A (zh) | 2011-08-11 | 2011-08-11 | 一种嵌入式多处理单元并行处理系统及其运行方法 |
| EP12179399.6A EP2557500A3 (en) | 2011-08-11 | 2012-08-06 | Embedded multi-processor parallel processing system and operating method for same |
| US13/572,396 US20130211545A1 (en) | 2011-08-11 | 2012-08-10 | Embedded Multi-Processor Parallel Processing System and Operating Method for Same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN2011102298562A CN102929214A (zh) | 2011-08-11 | 2011-08-11 | 一种嵌入式多处理单元并行处理系统及其运行方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN102929214A true CN102929214A (zh) | 2013-02-13 |
Family
ID=47002560
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2011102298562A Pending CN102929214A (zh) | 2011-08-11 | 2011-08-11 | 一种嵌入式多处理单元并行处理系统及其运行方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20130211545A1 (zh) |
| EP (1) | EP2557500A3 (zh) |
| CN (1) | CN102929214A (zh) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104063213A (zh) * | 2013-03-20 | 2014-09-24 | 西门子公司 | 管理自动化系统中的分布式计算的方法和系统 |
| CN104267999A (zh) * | 2014-09-26 | 2015-01-07 | 浙江中控技术股份有限公司 | 一种对控制程序进行编译的方法和装置 |
| CN104977892A (zh) * | 2014-04-10 | 2015-10-14 | 株式会社捷太格特 | 可编程逻辑控制器用程序的创建支持装置 |
| CN106844310A (zh) * | 2017-01-22 | 2017-06-13 | 南京南瑞继保电气有限公司 | 一种结构化文本代码处理方法和系统 |
| CN107301079A (zh) * | 2017-05-22 | 2017-10-27 | 南京南瑞继保电气有限公司 | 一种计算机程序语言的编译方法和编译器 |
| CN108733410A (zh) * | 2018-04-13 | 2018-11-02 | 南京南瑞继保电气有限公司 | 一种指令优化方法 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150026659A1 (en) * | 2013-07-19 | 2015-01-22 | Frank Ding | System and method for programming and controlling instruments |
| US9477509B2 (en) * | 2015-01-23 | 2016-10-25 | Red Hat Israel, Ltd. | Protection against interrupts in virtual machine functions |
| CN111880800B (zh) * | 2020-06-19 | 2023-10-31 | 无锡融卡科技有限公司 | 应用下载方法与应用下载系统 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5452461A (en) * | 1989-04-28 | 1995-09-19 | Hitachi, Ltd. | Program parallelizing apparatus capable of optimizing processing time |
| CN1783014A (zh) * | 2004-12-02 | 2006-06-07 | 国际商业机器公司 | 开发异构型多处理器计算机系统上的并行性的方法和系统 |
| US20070234313A1 (en) * | 2005-11-10 | 2007-10-04 | Fujitsu Limited | Task distribution program and task distribution device for a processor device having multiprocessors |
| WO2010060243A1 (en) * | 2008-11-28 | 2010-06-03 | Siemens Aktiengesellschaft | Automatic control system and method for executing control program in parallel |
| US20100229161A1 (en) * | 2009-03-04 | 2010-09-09 | Renesas Technology Corp. | Compile method and compiler |
| WO2011079424A1 (zh) * | 2009-12-31 | 2011-07-07 | 西门子公司 | 并行化自动控制程序的方法及编译器 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4912623A (en) * | 1988-04-11 | 1990-03-27 | Square D Company | Multiple processor communications system |
| GB9502819D0 (en) * | 1995-02-14 | 1995-04-05 | At & T Global Inf Solution | Control systems |
| US6077315A (en) * | 1995-04-17 | 2000-06-20 | Ricoh Company Ltd. | Compiling system and method for partially reconfigurable computing |
| JP3532037B2 (ja) * | 1996-07-31 | 2004-05-31 | 富士通株式会社 | 並列計算機 |
| US5896289A (en) * | 1996-09-05 | 1999-04-20 | Allen-Bradley Company, Llc | Output weighted partitioning method for a control program in a highly distributed control system |
| DE10147166A1 (de) * | 2001-09-25 | 2003-04-24 | Siemens Ag | System und Verfahren zur Programmierung eines Automatisierungssystems basierend auf Impulsdiagrammen |
| US7856628B2 (en) * | 2006-01-23 | 2010-12-21 | International Business Machines Corporation | Method for simplifying compiler-generated software code |
| US8407675B1 (en) * | 2007-02-06 | 2013-03-26 | The United States Of America As Represented By The Secretary Of The Navy | Extraction of executable code and translation to alternate platform |
| US8478967B2 (en) * | 2009-06-01 | 2013-07-02 | National Instruments Corporation | Automatically creating parallel iterative program code in a data flow program |
| US8347044B2 (en) * | 2009-09-30 | 2013-01-01 | General Electric Company | Multi-processor based programmable logic controller and method for operating the same |
| US8572628B2 (en) * | 2010-12-02 | 2013-10-29 | International Business Machines Corporation | Inter-thread data communications in a computer processor |
-
2011
- 2011-08-11 CN CN2011102298562A patent/CN102929214A/zh active Pending
-
2012
- 2012-08-06 EP EP12179399.6A patent/EP2557500A3/en not_active Withdrawn
- 2012-08-10 US US13/572,396 patent/US20130211545A1/en not_active Abandoned
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5452461A (en) * | 1989-04-28 | 1995-09-19 | Hitachi, Ltd. | Program parallelizing apparatus capable of optimizing processing time |
| CN1783014A (zh) * | 2004-12-02 | 2006-06-07 | 国际商业机器公司 | 开发异构型多处理器计算机系统上的并行性的方法和系统 |
| US20070234313A1 (en) * | 2005-11-10 | 2007-10-04 | Fujitsu Limited | Task distribution program and task distribution device for a processor device having multiprocessors |
| WO2010060243A1 (en) * | 2008-11-28 | 2010-06-03 | Siemens Aktiengesellschaft | Automatic control system and method for executing control program in parallel |
| US20100229161A1 (en) * | 2009-03-04 | 2010-09-09 | Renesas Technology Corp. | Compile method and compiler |
| WO2011079424A1 (zh) * | 2009-12-31 | 2011-07-07 | 西门子公司 | 并行化自动控制程序的方法及编译器 |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104063213A (zh) * | 2013-03-20 | 2014-09-24 | 西门子公司 | 管理自动化系统中的分布式计算的方法和系统 |
| CN104063213B (zh) * | 2013-03-20 | 2017-12-15 | 西门子公司 | 管理自动化系统中的分布式计算的方法和系统 |
| US9927787B2 (en) | 2013-03-20 | 2018-03-27 | Siemens Aktiengesellschaft | Method and system for managing distributed computing in automation systems |
| CN104977892A (zh) * | 2014-04-10 | 2015-10-14 | 株式会社捷太格特 | 可编程逻辑控制器用程序的创建支持装置 |
| CN104977892B (zh) * | 2014-04-10 | 2019-03-26 | 株式会社捷太格特 | 可编程逻辑控制器用程序的创建支持装置和创建支持方法 |
| CN104267999A (zh) * | 2014-09-26 | 2015-01-07 | 浙江中控技术股份有限公司 | 一种对控制程序进行编译的方法和装置 |
| CN104267999B (zh) * | 2014-09-26 | 2018-09-18 | 浙江中控技术股份有限公司 | 一种对控制程序进行编译的方法和装置 |
| CN106844310A (zh) * | 2017-01-22 | 2017-06-13 | 南京南瑞继保电气有限公司 | 一种结构化文本代码处理方法和系统 |
| CN107301079A (zh) * | 2017-05-22 | 2017-10-27 | 南京南瑞继保电气有限公司 | 一种计算机程序语言的编译方法和编译器 |
| CN107301079B (zh) * | 2017-05-22 | 2020-02-04 | 南京南瑞继保电气有限公司 | 一种计算机程序语言的编译方法和编译器 |
| CN108733410A (zh) * | 2018-04-13 | 2018-11-02 | 南京南瑞继保电气有限公司 | 一种指令优化方法 |
| CN108733410B (zh) * | 2018-04-13 | 2021-10-01 | 南京南瑞继保电气有限公司 | 一种指令优化方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20130211545A1 (en) | 2013-08-15 |
| EP2557500A3 (en) | 2014-06-04 |
| EP2557500A2 (en) | 2013-02-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102929214A (zh) | 一种嵌入式多处理单元并行处理系统及其运行方法 | |
| US8327316B2 (en) | Compilation model | |
| AU2022202972B2 (en) | Tools and methods for real-time dataflow programming language | |
| CN109254776B (zh) | 多语言代码编译方法及编译器 | |
| CN103729195B (zh) | 一种软件版本的控制方法及系统 | |
| US20160274870A1 (en) | Design framework for an iot system | |
| CN109983411B (zh) | 程序模块的流程控制 | |
| CN105718251A (zh) | 多语言sdk自动化实现方法及系统 | |
| KR20140054948A (ko) | 임베디드 시스템을 위한 오픈씨엘 응용 소프트웨어 개발 지원 도구 구성 및 방법 | |
| KR20120139403A (ko) | 게임 서버의 작업 파일 실행 장치 및 방법 | |
| CN111857694A (zh) | 一种基于云原生程序开发与部署的代码编辑方法及装置 | |
| CN105700934A (zh) | 一种智能编译方法和智能编译系统 | |
| Schwab et al. | Web based methodology for engineering and maintenance of distributed control systems: the TORERO approach | |
| JP6135247B2 (ja) | 情報処理装置および情報処理プログラム | |
| CN109460225B (zh) | 一种多cpu架构的可视化编译调试系统及方法 | |
| Wang et al. | Formal modelling of PLC systems by BIP components | |
| Wheeler et al. | Cross-platform mobile application development for smart services | |
| KR20110122574A (ko) | 중간언어 생성기를 포함한 로봇 프로그래밍 툴과 그 중간 언어 코드를 수행할 수 있는 버츄얼 머신을 기반으로 하는 로봇 프로그래밍 방법 | |
| Lindgren et al. | Real-time execution of function blocks for internet of things using the rtfm-kernel | |
| Gao et al. | Implementation of C Program Invocation in PLC Based on Vxworks Operating System | |
| US10088834B2 (en) | Control system having function for optimizing control software of numerical controller in accordance with machining program | |
| CN120631376B (zh) | 一种软件模块编译方法、电子设备、介质及产品 | |
| JP2008299763A (ja) | 分散オブジェクト開発ツール | |
| Lin et al. | Applying Socket on Connecting EtherCAT and OpenPLC | |
| Frank et al. | Transformation of IEC 61131-3 onto an Embedded Platform Using LLVM |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130213 |