CN109117362A - 一种基于中间语言的plc程序验证系统 - Google Patents

一种基于中间语言的plc程序验证系统 Download PDF

Info

Publication number
CN109117362A
CN109117362A CN201810667143.6A CN201810667143A CN109117362A CN 109117362 A CN109117362 A CN 109117362A CN 201810667143 A CN201810667143 A CN 201810667143A CN 109117362 A CN109117362 A CN 109117362A
Authority
CN
China
Prior art keywords
program
language
intermediate language
plc
module
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.)
Granted
Application number
CN201810667143.6A
Other languages
English (en)
Other versions
CN109117362B (zh
Inventor
史建琦
黄滟鸿
何积丰
李昂
蔡方达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI FORMAL TECH INFORMATION TECHNOLOGY Co.,Ltd.
Original Assignee
Shanghai Fenglei Information Technology Co Ltd
East China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Fenglei Information Technology Co Ltd, East China Normal University filed Critical Shanghai Fenglei Information Technology Co Ltd
Priority to CN201810667143.6A priority Critical patent/CN109117362B/zh
Publication of CN109117362A publication Critical patent/CN109117362A/zh
Application granted granted Critical
Publication of CN109117362B publication Critical patent/CN109117362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明公开了一种基于中间语言的PLC程序验证系统,包括:中间语言转换模块、迁移系统构造模块、性质验证模块以及验证结果处理模块。其中,所述中间语言转换模块可用于对梯形图语言、功能块图语言或顺序功能图语言等图形类PLC语言的中间语言转换,结构化文本语言或指令表语言等文本类PLC语言的中间语言转换,以及PLC程序运行环境配置的中间语言转换,并获得统一的中间语言程序。本发明实现了通过统一的中间语言程序,对因在不同运行环境下而具有一种或多种编程语言的PLC程序以及PLC运行环境配置的性质验证工作,在提供了一个完整的PLC程序验证系统的同时,大大提高了PLC程序的验证效率。

Description

一种基于中间语言的PLC程序验证系统
技术领域
本发明涉及程序验证领域,特别是涉及了一种基于中间语言的PLC程序验证系统,用于PLC程序及其运行环境配置的运行进行验证。
背景技术
早期的PLC编程中,不同的电气设备提供商,包括西门子、三菱、倍福等厂商都有各自的PLC编程语言规范。这对不同厂商设备之间的PLC程序移植工作造成了巨大困难。1993年,国际电工委员会(International.Electrotechnical.Commission,IEC)颁布了PLC编程的国际标准IEC 61131-3。该标准统一了五种PLC编程语言(梯形图、功能块图、顺序功能图图、结构化文本以及指令表语言)的规范,从而为解决不同设备间的PLC程序的移植问题给出了解决方案。
由于PLC编程语言中的五类语言具有不同的特征,因此,为了满足不同PLC编程人群的使用,以及适应不同的PLC应用场景,在现有的PLC程序验证方法中需要针对每种语言设计相应的验证方案,进而对PLC应用程序进行验证。例如,目前已有一些验证方案设计了单类PLC编程语言转换到形式化模型的转换技术,从而将包含单类PLC语言的应用程序转换为形式化建模语言,其中现有的建模语言包括,时间自动机、Petri网、NuSMV输入模型等,并在支持该语言的验证工具中对该程序的性质进行验证。然而,由于针对不同的PLC编程语言需要设计不同的形式化建模语言转换方案,但在实际应用中,一个PLC程序往往包含多种编程语言,因此对PLC程序的验证工作将会耗费大量的转换时间。
本发明提出了基于IEC 61131-3中间语言程序的PLC程序验证技术,用于将PLC编程语言统一为统一的中间语言程序,并通过对中间语言程序的验证实现对原PLC程序的验证工作。该方法利用了统一形式的中间语言程序,避免了由中间语言程序向形式化建模语言进行转换的转换工作,而采用对中间语言程序构造迁移系统的方式进行形式化验证工作,大大减少了对PLC程序进行验证的复杂度。
发明内容
针对上述内容,本发明公开了一种基于中间语言的PLC程序验证系统,包括:中间语言转换模块,用于对由一种或多种PLC语言编写的目标程序及其运行环境配置进行中间语言转换,获得对应所述由一种或多种PLC语言编写的目标程序及其运行环境配置的统一的中间语言程序;迁移系统构造模块,用于对中间语言程序进行定义,并通过中间语言程序的定义、原子谓词以及标记函数,构造中间语言程序的迁移系统;性质验证模块,用于通过多种逻辑模型对所述迁移系统进行性质验证,从而对中间语言程序进行性质验证,得到性质验证结果;验证结果处理模块,用于根据所述性质验证结果以及对应的评估标准对所述迁移系统进行评估,对不满足性质验证的中间语言程序给出反例。
优选的,所述中间语言转换模块能够转换的一种或多种PLC语言包括:梯形图语言、功能块图语言、顺序功能图语言、结构化文本语言以及指令表语言。
优选的,通过所述中间语言转换模块对所述梯形图语言、功能块图语言或顺序功能图语言进行的中间语言转换,包括:将由梯形图语言、功能块图语言或顺序功能图语言编写的PLC程序转换为PLCOpen XML文件;对所述PLCOpen XML文件中的每类元素设计相应的转换规则,从而将由梯形图语言、功能块图语言或顺序功能图语言编写的PLC程序转换为中间语言程序。
更优选的,通过所述中间语言转换模块对所述结构化文本语言、指令表语言进行中间语言转换,包括:将由结构化文本语言、指令表语言编写的PLC程序解析为抽象语法树;对抽象语法树中每一类语法元素设计转换规则,从而将文本类编写的PLC程序转换为中间语言程序。
优选的,通过所述迁移系统构造模块对中间语言程序进行定义包括:对所述中间语言程序的程序模型进行定义;以及通过操作语义对中间语言程序状态之间的迁移关系进行定义。
更优选的,所述迁中间语言程序模型包括:中间语言程序的程序状态和初始程序状态。
优选的,所述中间语言程序的程序状态包括:中间语言程序的程序状态集合和程序工作集合。
优选的,所述性质验证模块中的多种逻辑模型包括:时态逻辑、计算树逻辑、霍尔逻辑以及分离逻辑。
优选的,所述验证结果处理模块中所述对应的评估标准为通过PLC安全评估标准设计的适用于所述性质验证结果的评估标准。
本发明实现了通过统一的中间语言程序,对因在不同运行环境下而具有一种或多种编程语言的PLC程序以及PLC运行环境配置的性质验证工作,在提供了一个完整的PLC程序验证系统的同时,大大提高了PLC程序的验证效率。
附图说明
通过阅读下文具体实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出具体实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明的系统结构示意图。
图2为本发明一种可选实施例交通灯点亮顺序功能图示意图。
图3为本发明的一种可选实施例的迁移系统结构示意图。
图4为本发明迁移系统安全性质验证第二过程示意图,其中所述迁移系统根据一种可选实施例交通灯点亮顺序功能图的中间语言程序而构造。
图5为本发明迁移系统安全性质验证第三过程示意图,其中所述迁移系统根据一种可选实施例交通灯点亮顺序功能图的中间语言程序而构造。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明公开了一种基于中间语言的PLC程序验证系统,通过将包括由一种或多种PLC语言编写的目标程序以及PLC运行环境配置转换成统一的中间语言程序,从而利用该中间语言程序对PLC及其运行环境的运行过程进行分析,并给出安全评估结果。本发明做到了通过统一的中间语言程序,对因在不同运行环境下而具有一种或多种编程语言的PLC程序以及PLC运行环境配置的性质验证工作,在提供了一个完整的PLC程序验证方案的同时,大大提高了PLC程序的验证效率。下面将结合具体附图对本发明进行进一步的说明。
如图1所示,为本发明的系统结构示意图,包括,中间语言转换模块、迁移系统构造模块、性质验证模块以及验证结果处理模块。其中,所述中间语言转换模块包含对应的转换规则,用于将由一种或多种PLC语言编写的目标程序以及PLC运行环境配置转换为统一的中间语言程序;所述迁移系统构造模块包括,中间语言的程序模型定义、操作语义、原子谓词以及标记函数等,用于通过中间语言的程序模型定义和操作语义对所述中间语言程序进行定义,并结合原子谓词以及标记函数等完成对应中间语言程序的迁移系统的构造。构造出的迁移系统将作为性质检测模块的输入。所述性质验证模块中包含多种逻辑模型,用于对所述迁移系统的多种性质进行验证,进而发现PLC程序以及PLC运行环境配置的安全性质、死锁性质、活性、公平性以及其它时序性质等进行验证(视需要而定);所述验证结果处理模块中包含对应的评估标准,用于根据所述性质验证的结果以及对应的评估标准,从而做出评估或给出PLC程序以及PLC运行环境配置不满足相关性质的反例。其中,所述对应的评估标准为通过PLC安全评估标准设计的适用于性质验证结果的评估标准。下面将对中间语言以及本发明系统的工作过程进行更详细说明。
具体的,所述中间语言为基于CSP(Communicating Sequential Language)通信顺序进行语言进行扩展的ICIL(Industrial Controller Intermediate Language)工业控制中间语言,下面简称为中间语言,该语言中扩展了模块元素、语句元素以及周期式通道元素。其中,模块元素用于统一表示通信顺序进行语言IEC 61131-3表示的程序、函数以及函数功能块(FunctionBlock)。由于CSP通信顺序进行语言中没有语句的概念,因此本发明在中间语言中扩展了语句元素,用于程序执行时的计算。此外,由于周期式通道在CSP通信顺序进行语言的通道元素中加入了周期式执行的条件,使得中间语言不但能够表示普通通道上的消息收发,还能用于表示消息在通道上的延迟收发,从而用于表示IEC 61131-3语言中顺序功能块图的步激活后,在进入新一轮周期继续执行步动作的行为。
更具体的,由于PLC目标程序可以由5种PLC语言进行单独编写或者混合开发,而不同的PLC编程方案则是由其多种环境配置所决定的,因此在本发明中间语言转换模块中包括了对梯形图语言、功能块图语言、顺序功能图图语言、结构化文本语言以及指令表语言的转换算法与转换规则。其中,对于采用图形化语言(梯形图语言、功能块图语言以及顺序功能图图语言)编写的程序,首先将其转换为PLCOpen XML文件,用PLCOpen XML文件表示原有的图形程序;接着,利用针对PLCOpen XML文件中每类元素设计的转换规则,从而将PLCOpenXML文件转换为ICIL程序;对于采用文本类语言(结构化文本语言、指令表语言)编写的程序,首先将其解析为抽象语法树,再利用针对抽象语法树中每一类语法元素设计的转换规则,将文本类程序转换为中间语言程序,从而完成由一种或多种PLC语言编写的目标程序的统一的中间语言程序的转换。同时,由于PLC运行环境配置包括了PLC资源、任务调度方式、任务优先级、存取路径变量的配置等,在中间语言转换模块中还包括了用于将所述环境配置进行中间语言转换的转换规则。
上述中获得的中间语言程序将作为迁移系统构造模块的输入。迁移系统的构造过程为,首先通过中间语言的程序模型定义对所述中间语言程序进行定义,将中间语言程序的程序状态转换为中间语言程序的程序集合和程序工作集合;再通过操作语义对中间语言程序的执行对其程序状态造成的影响进行定义,即程序状态的迁移关系;最后,通过原子谓词以及标记函数等对迁移系统的性质描述,从而完成对中间语言程序的迁移系统进行构造。此外,所述中间语言程序中还包括其初始程序状态,因此完成后的迁移系统包括,程序状态集合、程序工作集合、程序状态的迁移关系、初始程序状态、原子谓词以及标记函数等。构造完成的迁移系统将用于下一步的性质验证。
所述性质验证模块中包含多种逻辑模型(即模型检测算法库),如,时态逻辑、计算树逻辑、霍尔逻辑、分离逻辑。其中所述时态逻辑和所述计算树逻辑用于时态验证;所述霍尔逻辑用于验证计算机程序运行逻辑的正确性;所述分离逻辑为霍尔逻辑的一种扩展,用于通过分离连词(separating conjunction)和框架规则(frame rule)来增强对使用可共享可变数据结构的程序验证的适用性和可扩展性。通过上述逻辑模型对由一种或多种PLC语言编写的目标程序以及其运行环境配置运行的安全性质、死锁性质、活性、公平性以及其他时序性质进行验证。其性质验证结果将用于下一步的验证结果处理。
在所述验证结果处理模块中,本发明根据PLC评估标准,如,IEC 611508、IEC62061、IEC 61511标准,进而设计了对应性质验证结果的评估标准,用于对本发明性质验证结果的评估,并对不满足性质检验的程序给出对应的程序执行反例。
具体实施例一(图形化语言之顺序功能图的中间语言转换)
如图2所示,为本发明的一种可选实施例交通灯点亮顺序功能图示意图,包括,初始化(Init)、步骤0(Step0)、步骤1(Step1)、步骤2(Step2)、步骤3(Step3)以及步骤4(Step4);该顺序功能图图的控制实现为使得红灯、黄灯及绿灯在每个周期内按照一定顺序进行切换,其切换顺序为:绿灯亮1秒,黄灯亮1秒,红灯亮1秒,黄灯亮1秒。其中,变量DO_G、DO_R以及DO_Y分别表示绿灯、红灯以及黄灯的点亮信号,变量TON_G、TON_R以及TON_Y1分别表示绿灯点亮时间的计时器、红灯点亮时间的计时器以及黄灯点亮时间的计时器,TON_Y2在两个周期间用于对两个周期点亮顺序进行区分的黄灯点亮计时器。变量ISwitch表示红绿灯的开关。如图2所示,在采用图形化语言编写的PLC程序中,其程序结构主要由步(Step)以及步与步之间的关系组成,因此对采用图形化语言编写的PLC程序的中间语言转换主要是针对于步和步与步之间关系的转换,其部分转换规则如下:
规则1:若列表fireNextMsgs不为空,设mi为该列表中的任意元素,则在其stepBody中添加如下述ICIL语句:
语句1、if(mi.fireCond){<c!mi→Skip;sname.X=false;>};
语句2、elseif(mi.fireCond){<c!mi→Skip;sname.X=false;>};
语句3、else{<c!mi→Skip;sname.X=false;>};
若fireNextMsgs存在包括条件fireCond的元组,则将包括fireCond的元组转换为语句1和/或语句2所示的代码,并且将fireNextMsgs列表中第一个元组对应的代码为语句1,其余元组对应的代码为语句2,最后将不包括fireCond的元组转换为如语句3所示的代码。若fireNextMsgs列表中不存在包括条件fireCond的元组,则直接转换为如语句3所示的代码。
规则2:若init不为真,则第i步iStep的中间语言ICIL程序代码如下所示。
sname()=(<fireStmt;sname.X=true>;stepBody;)□Skip;
其中,fireStmt为((c?m0→Skip)□(c?ml→Skip)□...□(c?mn→Skip))
设m0到mn为fireCurrMsgs列表中的所有消息。在fireStmt语句中,若周期式通道c接收到相应消息,表明步s处于活动状态,且stepBody将被执行。由于当通道c接收到相应消息时,表明步s立即为活动状态,因此该进程将通道接收消息以及步被激活的操作合并为原子操作,同时该步进程构造了与进程跳转Skip的一般选择关系,从而表示若接收到fireCurrMsgs列表中的任意消息则执行stepBody,否则不发生动作。其中,一般选择可用于防止进程sname()在本周期发生阻塞,从而无法进入下一个周期的情况。
规则3:若init为真,即步s为初始步,则第i步iStep的ICIL代码如下所示:
sname()=if(init){sname.X=true;stepBody;}
else{(<fireStmt;sname.X=true>;stepBody;)□Skip;}
其中,在fireStmt语句中,若周期式通道c接收到相应消息,表明步s处于活动状态,且stepBody将被执行。
通过上述转换规则将图2所示的顺序功能图转换为的中间语言程序如位于本文说明书后的实施例一中间语言程序所示。在进行安全性质验证前,需根据所述中间语言程序进行迁移系统构造,包括,对所述中间语言程序的程序模型进行定义;以及通过操作语义对中间语言程序状态之间的迁移关系进行定义,再结合原子谓词以及标记函数等,进而完成对所述迁移系统进行构造。
如图3所示,为本发明的一种可选实施例的迁移系统结构示意图。其中,g、y1、r、y2分别表示绿、黄、红、黄信号灯的颜色,Pi表示中间语言程序的变化,包括;P1绿信号灯到黄信号灯的变化、P2黄信号灯到红信号灯的变化、P3红信号灯到黄信号灯的变化以及P4黄信号灯到绿信号灯的变化。为了说明性质验证的具体实施过程,以下述例子进行说明。
如图4所示,为本发明迁移系统安全性质验证第一过程示意图,其中,为了验证“红灯亮之前为黄灯亮”的性质,构造了能够接受该安全性质对应的非法前缀的非确定有限自动机模型。其中,所述有限自动机模型包括,中间变量q0、q1以及状态变量qF。该模型可以将迁移系统作为输入,从而对红灯亮之前为黄灯亮这一性质进行验证。
如图5所示,为本发明迁移系统安全性质验证第二过程示意图。图中所示模型为通过将图3中的迁移系统与图4中的非确定有限自动机进行叉乘,从而获得的叉乘自动机模型,通过深度遍历该模型,检查状态中是否包含图4所示的有限自动机NFA中的可接受状态qF(即红灯亮之前存在的其它颜色灯亮的状态),由于该本实施例程序中不包含该状态,因此本模型中亦不包含该状态。所以该交通信号灯程序满足“红灯亮之前为黄灯亮”的性质。
实施例二(表格语言之指令表中间语言转换)
本实施例将以指令表转换规则说明IEC 61131-3语言转换到中间语言ICIL语言的过程。指令表如下表1所示,
表1
本发明通过采用如表2所示的转换规则,将上述指令表表1转化为中间语言程序,其过程为,首先根据表2中的转换规则对指令表语言进行翻译,然后将指令表语言中的标记(该例子中为Error和End)对应的程序段转换为中间语言ICIL程序中的进程;最后将指令表语言程序段之间的跳转转化为中间语言ICIL程序进程的调用执行。
上述中,关于跳转Skip指令的转换,首先将指令表语言主程序中所有被标记的子程序(即带有label的程序段)及主程序转换为进程,最终将指令表语言程序段的跳转转换为中间语言ICIL程序进程的调用执行。
表2
其中,bILOp及bICILOp分别表示指令表语言与ICIL语言中的二元操作符,uILOp及uICILOp分别表示指令表语言与ICIL语言中的一元操作符。如图4中的表1至6行记录所示,一些操作被转换为了赋值语句,如第7行所示,原有的函数调用被转换为了ICIL语言中的模块调用语句,如第8行所示,原有的RET指令被转换为Skip进程。关于指令表中跳转指令的转换,首先将指令表语言主程序中所有被标记的子程序(即带有label的程序段)及主程序转换为进程,最终将指令表语言程序段的跳转转换为ICIL进程的调用执行。
需指出的是,本发明中中间语言的转换规则并不限于本发明中所示形式,本发明中只针对部分转换规则通过实施例对本发明的一种基于中间语言的PLC程序验证系统进行了说明,如实施例一中对多种性质验证中的安全验证过程进行了说明。
以上,仅为本发明示例性的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
实施例一中间语言程序
Step0:
TON_G(IN:=DO_GANDISwitch,
PY:=T#IS);
TON_R(IN:=DO_R,PY:=T#IS);
TON_Y1(IN:=DO_Y,PY:=T#IS);
TON_Y2(IN:=DO_Y,PY:=T#IS);
ElapseTime:=TON_G.ET;
Step1:
DO_G:=TRUE;
DO_R:=FALSE;
DO_Y:=FALSE;
Step2:
DO_G:=FALSE;
DO_R:=FALSE;
DO_Y:=TRUE;
Step3:
DO_G:=FALSE;
DO_R:=TRUE;
DO_Y:=FALSE;
Step4:
DO_G:=FALSE;
DO_R:=FALSE;
DO_Y:=TRUE;
实施例二中间语言程序

Claims (9)

1.一种基于中间语言的PLC程序验证系统,其特征在于,包括:
中间语言转换模块,用于对由一种或多种PLC语言编写的目标程序及其运行环境配置进行中间语言转换,获得对应所述目标程序及其运行环境配置的统一的中间语言程序;
迁移系统构造模块,用于对中间语言程序进行定义,并通过中间语言程序的定义、原子谓词以及标记函数,构造中间语言程序的迁移系统;
性质验证模块,用于通过多种逻辑模型对所述迁移系统进行性质验证,从而对中间语言程序进行性质验证,得到性质验证结果;
验证结果处理模块,用于根据所述性质验证结果以及对应的评估标准对所述迁移系统进行评估,对不满足性质验证的中间语言程序给出反例。
2.根据权利要求1所述的PLC程序验证系统,其特征在于,所述中间语言转换模块能够转换的一种或多种PLC语言包括:梯形图语言、功能块图语言、顺序功能图语言、结构化文本语言以及指令表语言。
3.根据权利要求2所述的PLC程序验证系统,其特征在于,通过所述中间语言转换模块对所述梯形图语言、功能块图语言或顺序功能图语言进行的中间语言转换,包括:
将由梯形图语言、功能块图语言或顺序功能图语言编写的PLC程序转换为PLCOpen XML文件;
对所述PLCOpen XML文件中的每类元素设计相应的转换规则,从而将由梯形图语言、功能块图语言或顺序功能图语言编写的PLC程序转换为中间语言程序。
4.根据权利要求2所述的PLC程序验证系统,其特征在于,通过所述中间语言转换模块对所述结构化文本语言、指令表语言进行中间语言转换,包括:
将由结构化文本语言、指令表语言编写的PLC程序解析为抽象语法树;
对抽象语法树中每一类语法元素设计转换规则,从而将文本类编写的PLC程序转换为中间语言程序。
5.根据权利要求1所述的PLC程序验证系统,其特征在于,通过所述迁移系统构造模块对中间语言程序进行定义包括:
对所述中间语言程序的程序模型进行定义;
以及通过操作语义对中间语言程序状态之间的迁移关系进行定义。
6.根据权利要求5所述的PLC程序验证系统,其特征在于,所述中间语言程序模型包括:中间语言程序的程序状态和初始程序状态。
7.根据权利要求6所述的PLC程序验证系统,其特征在于,所述中间语言程序的程序状态包括:中间语言程序的程序状态集合和程序工作集合。
8.根据权利要求1所述的PLC程序验证系统,其特征在于,所述性质验证模块中的多种逻辑模型包括:时态逻辑、计算树逻辑、霍尔逻辑以及分离逻辑。
9.根据权利要求1所述的PLC程序验证系统,其特征在于,所述验证结果处理模块中所述对应的评估标准为通过PLC安全评估标准设计的适用于所述性质验证结果的评估标准。
CN201810667143.6A 2018-06-26 2018-06-26 一种基于中间语言的plc程序验证系统 Active CN109117362B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810667143.6A CN109117362B (zh) 2018-06-26 2018-06-26 一种基于中间语言的plc程序验证系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810667143.6A CN109117362B (zh) 2018-06-26 2018-06-26 一种基于中间语言的plc程序验证系统

Publications (2)

Publication Number Publication Date
CN109117362A true CN109117362A (zh) 2019-01-01
CN109117362B CN109117362B (zh) 2020-08-25

Family

ID=64822532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810667143.6A Active CN109117362B (zh) 2018-06-26 2018-06-26 一种基于中间语言的plc程序验证系统

Country Status (1)

Country Link
CN (1) CN109117362B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515840A (zh) * 2019-08-05 2019-11-29 华东师范大学 一种面向plc程序的自动化测试用例生成方法
CN110532177A (zh) * 2019-08-05 2019-12-03 华东师范大学 一种面向plc程序的自动化测试用例生成系统
CN111026382A (zh) * 2019-12-13 2020-04-17 深圳市杰美康机电有限公司 混合编程方法、终端设备及计算机可读存储介质
CN111445696A (zh) * 2020-03-11 2020-07-24 武汉大学深圳研究院 基于商滤波器边缘计算的信号灯路口交通数据检测方法
CN112835323A (zh) * 2020-12-31 2021-05-25 深圳市雷赛控制技术有限公司 可编程逻辑控制语言编译方法及装置
CN113632018A (zh) * 2019-03-28 2021-11-09 三菱电机株式会社 分析可编程逻辑控制器程序的方法、计算机程序和装置
CN115410402A (zh) * 2022-08-08 2022-11-29 上海丰蕾信息科技有限公司 交通信号时序逻辑验证方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571810A (zh) * 2009-05-31 2009-11-04 清华大学 执行程序的方法、验证程序结果的方法、装置及系统
CN103092747A (zh) * 2011-10-27 2013-05-08 西门子公司 一种控制程序的验证和测试方法及系统
US20130297974A1 (en) * 2012-05-07 2013-11-07 Microchip Technology Incorporated Processor Device with Reset Condition Trace Capabilities
CN204028636U (zh) * 2014-08-04 2014-12-17 大连派思燃气系统股份有限公司 一种plc柜io点校验设备
CN104267999A (zh) * 2014-09-26 2015-01-07 浙江中控技术股份有限公司 一种对控制程序进行编译的方法和装置
CN104572072A (zh) * 2014-12-01 2015-04-29 北京百度网讯科技有限公司 一种对基于mvc模式的程序的语言转换方法与设备
CN106980576A (zh) * 2017-05-09 2017-07-25 华东师范大学 一种基于运行时验证技术的嵌入式系统软件调试系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571810A (zh) * 2009-05-31 2009-11-04 清华大学 执行程序的方法、验证程序结果的方法、装置及系统
CN103092747A (zh) * 2011-10-27 2013-05-08 西门子公司 一种控制程序的验证和测试方法及系统
US20130297974A1 (en) * 2012-05-07 2013-11-07 Microchip Technology Incorporated Processor Device with Reset Condition Trace Capabilities
CN204028636U (zh) * 2014-08-04 2014-12-17 大连派思燃气系统股份有限公司 一种plc柜io点校验设备
CN104267999A (zh) * 2014-09-26 2015-01-07 浙江中控技术股份有限公司 一种对控制程序进行编译的方法和装置
CN104572072A (zh) * 2014-12-01 2015-04-29 北京百度网讯科技有限公司 一种对基于mvc模式的程序的语言转换方法与设备
CN106980576A (zh) * 2017-05-09 2017-07-25 华东师范大学 一种基于运行时验证技术的嵌入式系统软件调试系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
史建琦: "面向目标代码的实时操作系统形式化验证方法研究", 《华东师范大学博士学位论文》 *
汤红诚等: "PCL 在实时数据采集中编程应用", 《仪表技术与传感器》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113632018A (zh) * 2019-03-28 2021-11-09 三菱电机株式会社 分析可编程逻辑控制器程序的方法、计算机程序和装置
CN110515840A (zh) * 2019-08-05 2019-11-29 华东师范大学 一种面向plc程序的自动化测试用例生成方法
CN110532177A (zh) * 2019-08-05 2019-12-03 华东师范大学 一种面向plc程序的自动化测试用例生成系统
CN111026382A (zh) * 2019-12-13 2020-04-17 深圳市杰美康机电有限公司 混合编程方法、终端设备及计算机可读存储介质
CN111026382B (zh) * 2019-12-13 2024-01-16 深圳市杰美康机电有限公司 混合编程方法、终端设备及计算机可读存储介质
CN111445696A (zh) * 2020-03-11 2020-07-24 武汉大学深圳研究院 基于商滤波器边缘计算的信号灯路口交通数据检测方法
CN111445696B (zh) * 2020-03-11 2022-05-20 武汉大学深圳研究院 基于商滤波器边缘计算的信号灯路口交通数据检测方法
CN112835323A (zh) * 2020-12-31 2021-05-25 深圳市雷赛控制技术有限公司 可编程逻辑控制语言编译方法及装置
CN115410402A (zh) * 2022-08-08 2022-11-29 上海丰蕾信息科技有限公司 交通信号时序逻辑验证方法、装置及电子设备

Also Published As

Publication number Publication date
CN109117362B (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN109117362A (zh) 一种基于中间语言的plc程序验证系统
CN109143953A (zh) 一种基于中间语言的plc程序验证方法
Liu et al. Pat 3: An extensible architecture for building multi-domain model checkers
Cuadrado et al. A component model for model transformations
CN110149800A (zh) 一种用于处理与源程序的源代码相关联的抽象语法树的装置
Kong et al. Specifying behavioral semantics of UML diagrams through graph transformations
CN106446341A (zh) 一种基于进程代数的实时协议分析及验证系统
Meyers et al. A framework for temporal verification support in domain-specific modelling
CN105354035A (zh) 用于编写web工程测试用例的方法
Kim et al. Execution of natural language requirements using State Machines synthesised from Behavior Trees
Gargantini et al. Combining formal methods and MDE techniques for model-driven system design and analysis
Fitzgerald et al. Validation support for distributed real-time embedded systems in vdm++
Ulsamer et al. Feature-oriented domain-specific languages
Ichii et al. A rule-based automated approach for extracting models from source code
Rajeev et al. CoGenTe: A tool for code generator testing
Gargantini et al. Integrating formal methods with model-driven engineering
Sobernig Variable Domain-specific Software Languages with DjDSL
Lestingi et al. HRC-Team: A model-driven approach to formal verification and deployment of collaborative robotic applications
Lecomte et al. The CLEARSY safety platform: 5 years of research, development and deployment
Grunske et al. Timed behavior trees and their application to verifying real-time systems
Damjan et al. Translating UML state machine diagram into Promela
Meedeniya et al. Model based software design: Tool support for scripting in immersive environments
Varoy et al. From code to design: a reverse engineering approach
KR100501411B1 (ko) 비기능적 성능조건이 강제되는 소프트웨어 모형화시스템및 방법
Eumann Model-based debugging

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210806

Address after: Room 801, no.6, Lane 600, Yunling West Road, Putuo District, Shanghai 200062

Patentee after: SHANGHAI FORMAL TECH INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 200062 No. 3663, Putuo District, Shanghai, Zhongshan North Road

Patentee before: EAST CHINA NORMAL University

Patentee before: SHANGHAI FORMAL TECH INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right