一种临时变量的数据区分配方法

    公开(公告)号:CN108804222A

    公开(公告)日:2018-11-13

    申请号:CN201810329161.3

    申请日:2018-04-13

    IPC分类号: G06F9/50 G06F8/41

    CPC分类号: G06F9/5016 G06F8/41

    摘要: 本发明公开一种临时变量的数据区分配方法,步骤是:首次编译形成指令时,临时变量采用不重复的最大化分配策略;遍历临时变量数据区,遍历指令区,获取各个临时变量的首次引用及最后引用的指令行号,形成每个临时变量的作用域;对按照变量类型组织的各子组进行临时变量合并:对同组内时作用域无交集的临时变量按照最近邻合并贪心算法进行合并,合并为1个子集的临时变量分配同一个虚拟寄存器;调整指令,将指令区的各个临时变量替换为对应虚拟寄存器;汇总虚拟寄存器,并删除原临时变量区,用新的虚拟寄存器组替换。此种方法在编译IEC61131的ST代码时,能精简临时变量数据区,减少数据区大小,满足嵌入式系统资源有限的约束。

    一种基于符号表的可编程逻辑调试的方法和系统

    公开(公告)号:CN107632819A

    公开(公告)日:2018-01-26

    申请号:CN201610557370.4

    申请日:2016-07-14

    IPC分类号: G06F8/30 G06F8/34

    摘要: 本发明公开一种基于符号表的可编程逻辑调试方法,包括如下内容:工具获取并分析图形化方式搭建的逻辑页面,生成可编程逻辑配置信息;处理器扫描输入信息,将所述输入信息表达的逻辑模块,生成相应的数据结构;所述数据结构基于栈式结构,依据符号匹配规则,自外向内,逐级生成符号表;所述符号表向系统注册变量,生成相应信号实体;客户端依据符号表查询相应系统变量,从而获取系统运行状态信息。本发明还公开了一种对应所述基于符号表的可编程逻辑调试方法的系统。此种方法采用符号表编码规则,确保变量唯一生成,便于系统运行态信息的采集和分析。

    一种计算机程序语言的编译方法和编译器

    公开(公告)号:CN107301079A

    公开(公告)日:2017-10-27

    申请号:CN201710365323.4

    申请日:2017-05-22

    IPC分类号: G06F9/45

    摘要: 本发明实施例公开了一种计算机程序语言的编译方法,包括:对结构化文本ST语言的循环语句进行预处理后,至少获取循环语句的初始值表达式、终止值表达式、循环增量表达式和循环执行语句;对初始值表达式和终止值表达式分别进行编译,得到初始值表达式的值和终止值表达式的值;将初始值表达式的值确定为循环语句的索引值;基于循环增量表达式的类型,从初始值表达式的值和终止值表达式的值中确定出循环语句的上界和循环语句的下界;基于循环语句的上界、循环语句的下界、循环语句的索引值和循环增量表达式,对循环执行语句进行编译,得到循环语句的编译结果。本发明实施例还同时公开了一种编译器。

    一种解析器的快速执行方法及快速执行系统

    公开(公告)号:CN107015840A

    公开(公告)日:2017-08-04

    申请号:CN201710161150.4

    申请日:2017-03-17

    IPC分类号: G06F9/45

    摘要: 本发明公开一种解析器的快速执行方法,首先获取指令文件,然后构建指令数组,读取指令文件,根据指令类型编码,和预先编译的指令执行函数关联,按照指令个数动态创建指令数组;运行过程中调度执行指令数组,从0开始按照递增数组下标的顺序执行,当执行到JUMP、BREAK指令,将当前执行的数组下标修改为JUMP、BREAK指令记录的跳转目的标号,之后顺次执行从新下标起始对应的指令。本发明还公开一种解析器的快速执行系统,包括指令获取模块、指令函数模块、指令构建模块以及指令调度模块。此种技术方案在提高解析器的执行效率的同时,还能支持ST语句的流程跳转语句和支持可变形参指令,保证解析器支持的ST语言功能完整性。

    一种组态软件系统及一种工业控制方法

    公开(公告)号:CN106933568A

    公开(公告)日:2017-07-07

    申请号:CN201710072095.1

    申请日:2017-02-07

    IPC分类号: G06F9/44 G06F9/45

    摘要: 本发明公开了一种组态软件系统及一种工业控制方法,其中所述组态软件系统包括:工程管理模块和程序仿真模块,其中:所述工程管理模块,用于管理与所述组态系统建立连接的至少包括第一装置的组态配置信息,并确定所述第一装置的组态配置信息;分层次显示所述至少包括第一装置的组态配置信息;所述程序仿真模块,用于根据所述第一装置的组态配置信息,获取所述第一装置的输入数据;将所述第一装置的输入数据输入至所述第一装置中的接口文件,并运行所述接口文件得到运行结果;将所述运行结果确定为所述第二装置的输入数据;将所述第二装置的输入数据输入至所述第二装置中的接口文件,并运行所述接口文件得到运行结果;输出所述运行结果。

    一种图形化页面程序差异比较方法与系统

    公开(公告)号:CN105930174A

    公开(公告)日:2016-09-07

    申请号:CN201610341086.3

    申请日:2016-05-22

    IPC分类号: G06F9/44

    CPC分类号: G06F8/34

    摘要: 本发明公开了一种图形化页面程序差异比较方法与系统,所述方法包括:通过汇总页面中输出点为0和所有输出连接点均未连接的符号,对该类符号按照广度优先的遍历顺序,依次回溯前驱符号,形成该符号的调用链,并汇总得到页面的多个调用链。采用连接关系相似度匹配方法,得到两个页面各个调用链的最优匹配。对各个匹配调用链内的符号按照调用层数、符号名、连接关系进行匹配,并进行对齐处理,插入若干空节点,形成个数相等的调用链,依次比较调用链内的符号输入、输出、参数等数据和属性。所述系统包括层次数据管理加载模块、页面差异分析模块、图形化页面展示模块、调用链差异展示模块、符号差异展示模块。

    基于中继点的图形化页面连接网络处理方法

    公开(公告)号:CN104834525A

    公开(公告)日:2015-08-12

    申请号:CN201510247006.3

    申请日:2015-05-14

    IPC分类号: G06F9/44

    摘要: 本发明公开一种基于中继点的图形化页面连接网络处理方法,包括如下步骤:中继点输入端子只允许连接一条前驱连接线;在连接线绘制状态下,点击连接线所属的区域,形成一个中继点,将原连接线划分为2段连接线,标记前驱连接线的终点为中继点的输入端子,标记后继连接线的起点为中继点的输出端子;在进行图形页面符号输入、输出端子拓扑连接处理时,汇总页面内中继点符号,逐个遍历中继点,在内存中将中继点的后继连接线起始点调整为中继点的前驱连接线的起始点,通过1次遍历,实现编程符号输入输出端子之间的逻辑等效直连,将符号的输出变量传递给另一个符号的输入变量。本发明提高了图形化编程连接线的编辑方便性、编程效率,降低程序维护难度。