[发明专利]PLC程序到NuSMV输入模型的自动化构建方法有效
申请号: | 201710382639.4 | 申请日: | 2017-05-26 |
公开(公告)号: | CN107193745B | 公开(公告)日: | 2019-10-29 |
发明(设计)人: | 魏强;常天佑;麻荣宽;耿洋洋;刘雯雯 | 申请(专利权)人: | 中国人民解放军信息工程大学;上海红神信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G05B19/05 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 陈大通 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及工业自动化控制技术领域,特别是涉及一种PLC程序到NuSMV输入模型的自动化构建方法,包括对PLC的ST语言进行分析,构建ST语言的语法;根据给出的ST语法对ST程序进行处理,将ST程序解析为抽象语法树AST;对抽象语法树AST进行处理,分析ST语言语句的控制流特征,确定各语句生成控制流图CFG的算法;根据控制流图CFG对ST程序进行数据流分析,构建状态转换邻接表和变量取值变化邻接表;根据构建的状态转换邻接表和变量取值变化邻接表生成NuSMV输入模型。本发明大大提高NuSMV工具对PLC程序进行模型检测的效率和准确度,实现对工业控制系统PLC代码的安全性验证。 | ||
搜索关键词: | 构建 邻接表 抽象语法树 控制流图 取值变化 状态转换 语法 自动化 工业自动化控制 工业控制系统 安全性验证 数据流分析 准确度 程序解析 模型检测 语句生成 语言语句 控制流 算法 语言 分析 | ||
【主权项】:
1.一种PLC程序到NuSMV输入模型的自动化构建方法,其特征在于,包括以下步骤:步骤1,对PLC的ST语言进行分析,构建ST语言的语法;步骤2,根据步骤1给出的ST语法对ST程序进行处理,将ST程序解析为抽象语法树AST;步骤3,对抽象语法树AST进行处理,分析ST语言语句的控制流特征,确定各语句生成控制流图CFG的算法;所述控制流图CFG的结构为:用二元结构CFG=(N,E)表示控制流图CFG,其中,N代表控制流图节点的集合,E代表控制流图弧的集合;控制流图CFG采用基于十字链表的存储方式进行存储,节点表示的数据结构如下表:
其中,Nnum表示节点的编号,Firstin指向以该节点为弧头的第一个弧节点,Firstout指向以该节点为弧尾的第一个弧节点;弧表示的数据结构如下表:
其中,tailnum表示弧尾的节点编号,headnum表示弧头的节点编号,Etype表示弧的类型,Etype={1,0},当Etype=1时,表示弧为分支弧,guard指向对应的条件谓词取值表达式,assignment为空,当Etype=0时,表示弧为顺序弧,guard为空,assignment指向对应的赋值语句链表,Hlink指向弧头相同的下一条弧,Tlink指向弧尾相同的下一条弧;步骤4,根据控制流图CFG对ST程序进行数据流分析,构建状态转换邻接表和变量取值变化邻接表;步骤5,根据步骤4构建的状态转换邻接表和变量取值变化邻接表生成NuSMV输入模型。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军信息工程大学;上海红神信息技术有限公司,未经中国人民解放军信息工程大学;上海红神信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710382639.4/,转载请声明来源钻瓜专利网。
- 上一篇:一种笔记本电脑电池供电控制电路及控制方法
- 下一篇:一种缓冲撞击型逆止阀