简单的输出实体只能用Q端口绑定不使用I端口,这意味着简单的输出实体没有一个状态转移图。简单的输出实体是显示PLC的工作状态的设备,像信号光。简单的输出实体的用法结合使用Q端口,使得PLC可使其逻辑设计。 3 )人类行为的实体
定义2.2.A人类行为的实体是一个元组信封= < Ienv ,A >,其中Ienv是我与端口的绑定硬件实体, Qenv为Q端口与实体结合。 A是描述的工作流的自动机实体, A是一个元组A =
3,PLC模型的分析与改进
上一节介绍了PLC的模拟系统,根据该策略;我们可以抽象一个PLC
系统作为一个正式的模型,模型检验。因此,这种模式将有信誉的好坏直接决定该模型检验结果。如果模型不完全覆盖原来的系统(我们称之为比原系统更小) ,有可能会导致没有检测到一些错误;模型如果实际系统完全覆盖,但它包含了很多国家,原来的系统不存在(我们称之为比原来的系统大) ,这可能介绍一些错误,真正的系统是不存在的。这里把它称为伪错误。因此,有两个要求建模策略。首先,为了发现在系统中的所有错误,我们应建立一个模型大到足以覆盖所有国家原来的系统;第二,要求模型接近实际系统尽可能。这不仅
69
减少状态空间,还能提高工作效率。基地上的要求,我们会提供有关的分析时间间隔模式。命题1如果时间间隔模型符合的财产,不动产PLC系统模型也遵循。命题1的正确性可以得出结论:从两个模型之间的关系。那意味着所有的情况thatreal模式将发生的事,包括时间间隔模型,时间间隔模型比真实模型较大。如果你不能找到一个
反例使用的时间间隔模型,可以证明真正的PLC模型的正确性;其他
反之,如果我们找到一个反例,我们无法确定是否有真正的PLC系统错误。也就是说命题1的逆是错误的。然后手动需要干预来分析反例,以确定它是否是一个伪误差。时间间隔建模策略可以得到一个抽象的
PLC机型的基础上, NuSMV许多研究也使用策略类似的时间间隔模型来模拟PLC系统。然而,“时间间隔模式”与真实模型较大的偏差,需要加以改进。该偏差是: “时间间隔模式”并不反映PLC和低速高速扫描特性并行实体的特征。即,所有的环境的变化应当由被扫描
高速PLC ,但时间间隔模型忽略了可编程控制器,这使得变化的高转速特性在外部环境可能无法被扫描。为了解决上述问题,并考虑到
外部高速扫描和低速并行物理特征,时间间隔建模策略应通过增加一个通知,等待机制得到改善。底座上的时间间隔模型,每个并发状态
实体必须被阻塞,等待移交后发生地方。只有当PLC控制器完全扫描至少一次,通知等待机制将消息发送给?2010 SciRes 。初中成绩评核。PLC的建模与形式化方法检查己并发实体。
并发实体移除块,并继续工作。然后,转完。并发实体工作的通知等待的机制来完成迁移的过程如图2所示: T0 :传输开始,块,并注意PLC控制器。T1 -TM : PLC完全扫描m次( m为1时最少)。吨
M +1 :并发实体得到通知,可编程控制器,传输完成。这个机制可以确保每个状态并发实体的变化可以通过PLC控制器被扫描至少一次。命题2添加后通知等待机制,该模型成为在时间间隔模型的一个子集。在同时,该模型也可以包括在实际的模型中的全部情况。这就是说,如果一个模式,增加了通知等待机制遵循的财产,不动产PLC系统模型也遵循。它类似于证明命题2与命题1 。由命题2 ,我们可以看到,添加后通知等待机制的模型仍具有良好的性质。如前面提到的,一个抽象的系统模型有两个要求:第一,充分包含了实际的系统,其次是模型尽可能接近真实系统。第一命题证明了该时间间隔模型包括实时系统中,只要在使用模型的检查工具,证明这个抽象模型满足某些属性,那么系统的本质会也满足了这一点。但此模型和实际模型不是完全平等的,应该是远远超过了真实模型较大。比较时间间隔模型,该模型进一步降低了实际系统之间的距离,大大减少了
70
找出伪误差的机会。模型检测工具会给出一个反例违反制度的财产;很容易手动确定反例在实际系统中是真实的或没有。如果在原系统中的错误确实存在,然后我们找到一个反例。否则,这个错误是因为抽象模型比实际系统时,它是一个伪误差。因此,尽管这个时间间隔模型与原始系统并不完全等同,但是通过这个模型,我们可以判断一个系统满足一定的财产,如果不是我们可以finda具体的反例(仍需要更多的研究以确定它是否是一个伪错误)。模型不等同与原系统,主要是因为有许多因素难以模型在实际系统中,其中一些可能对错误产生。如果所有被建模的因素,这将导致建立一个巨大的模型,无法检查,或者干脆无法实现。时间间隔模型抽象的关键从实际系统和模拟它们,大大的因素减少的状态空间,并且减少了时间复杂度。同时,该通知等待机制增加时,模型变得更接近真实系统,不仅降低了时间复杂度,同时也降低了前面提到的伪错误。
4,PLC模型检验
PLC被广泛用于许多应用中,并具有许多设备;这是一个大面积的研究。任何PLC的工作在包括不同的设备和环境人,所以PLC系统的并发。在同一时间,一PLC系统很难找到,如果有一些错误,大多是因为logicaldesign错误,但不计算错误。因此,我们专注于PLC的检测程序逻辑的过程,这个逻辑可以完全按位逻辑描述。因此,为了简化PLC程序模型,专注于模型检验,我们进行以下设置:PLC是逻辑控制程序,所有的控制变量只有两个状态0和1 ;PLC程序运行在并行环境。在这种情况下, PLC编程是更可能有一些错误不容易被发现。就以上特点,我们使用了模型检测工具SPIN (我们的工具PLC-检查也?2010 SciRes 。初中成绩评核PLC的建模与形式化方法1058检查已实现NuSMV )上述建立的模型检查。我们做了一系列的转换规则,建立上述模型转化为SPIN的输入语言Promela语言,系统属性也需要被翻译成PROMELA , SPIN将它们放在一起,然后执行检测。
PROMELA语言是一种类C语言,它们是类似的语义。因此,我们将只举一些例子显示翻译的基本概念。要查看的PROMELA语言的详细信息,请访问www.spinroot.com 。我们将介绍三个部分PROMELA文件作为SPIN的输入。PLC控制器1 )代码PLC控制器由多个网络。也是从网络上生成的PLC控制器的代码。当然,在这之前,你应该声明你需要的变量。每个网络都有它的输入端口和输出端口,每个端口可以通过一个布尔表达式来表示。我们通过逻辑分配输出端口的值计算的所有的输入端口。这是翻译PLC网络的方法。这里是将SR网络的一个示例:如果::地契( R) == 1 - > Q = 0 ;::其他 - >如果::地契( S) == 1 - > Q = 1 ;::其他 - >跳;音响;音响;/ * EXP( S)是S端口的布尔表达式EXP( R)是R通口的布尔表达式Q是输出端口* /并发实体2 )代码我们认为
71
每个并发实体独特的工艺,无
无论是人的行为或设备。这些过程共享变量与PLC控制器的过程。这必须是为了确保系统的并发性。在本文的第二部分,我们将讨论所有的并发实体建模为一个自动机。该自动机的意思是从一个国家转移到另一个。我们使用I端口以形成实体的状态。使用goto语句作为传输(就像在汇编语言) 。一个简单的例子是显示象下面这样:StateA :原子{如果:: Q1 - > { IB ,转到StateB }:: Q2 - > { IC ,转到STATEC }音响; }/ * StateA是A国的标签Q1 , Q2为转移的条件 IB是将状态值设置到状态B的值转到StateB意味着跳转到stateB * /物业3 )代码属性是PLC系统必须遵守的规则。我们使用零担(线性时间逻辑)公式的输入格式。我们应该写,因为反属性SPIN的机制。 SPIN会发现一个情况,我们财产情况,这应该是一个反例。我们不能直接写LTL公式,但通过使用宏。首先,我们要定义所有的命题在一个宏观的零担(如#定义p酷睿i5 == 0 ) ,那么我们使用已定义的形成LTL公式命题。 SPIN可以自动转换LTL公式来PROMELA代码通过使用“ SPIN -F ”指令(见更多在SPIN手动详情) 。 4 )注意等待机制
在建模的讨论中,我们建议加入通知等待机制。 Thismechanism也需要反映在代码。具体的实现是签署一份对于每个非PLC过程位变量(所有的进程PLC控制器除外)作为信号。当自动机转移到状态标签,信号变量被设置为0 ,并接下来的任务需要此变量为1 ,继续。作为PROMELA语法特征的结果,这个过程将挂起起。在PLC过程中没有
这样的限制,相反, PLC过程可以设置些变量为1,从而保证每一个动作都要通过至少一个PLC的扫描来完成。这是这样所谓通知等待机制。按照四个步骤以上;我们得到了一个完整的代码我们的系统的SPIN的输入文件。那么我们可以用旋检查模型。对于经营自旋模型的步骤检查,见自旋手册(参观www.spinroot.com ) 。 SPIN会给结果是否反例如被发现,而且我们可以分析使用的理论上面的跟踪文件,附带给出提及。使用这种检测机制,我们开发了一个工具模型检验的PLC -检查。它有助于构建可视模型和检查的实施,可以给一个简单的分析结果。当然,反例是发现应手动检查,以确定它是否是一个真正的反例。然而,随着跟踪文件的帮助,这是不是一个很困难的任务。我们还成功地实现了一个使用一些检查PLC-检查(在下一节中所示) 。在经典教科书的例子,一个反例被发现。虽然发生反例的概率是非常低的,但它确实发生,并可能会产生严重的后果。这个工具是alsoproves的正确性和该理论在这篇文章中的有效性。
72
5,运行中的PLC-检查
我们将通过展示PLC检查的有效性 检查一个双门的信道模型。双门通道 用于防止在封闭的房间从与接触 外面的世界。 ?2010 SciRes。初中成绩评核 PLC的建模与形式化方法1059检查通过输入梯克和并发实体 到工具,也是物业的定义,我们执行的检查。图3示出的结果。 正如我们所看到的,是结果有一个错误。这是被证明是一个真正的反例通过检查线索手动档。也就是说我们的机制是有效在检查这类PLC程序。
6结论
我们研究的建模和检查PLC的理论 系统在本文形式化方法。要求PLC的建模分析和并发实体的模型是建立在时间间隔策略。然后,我们证明的时间间隔模型的一个超集的 PLC系统,并通过添加通知等待机制,降低模型。它alsoensures所有的变化,该系统可以由PLC控制器进行扫描。我们发现该系统通过检查出该系统的反例的错误。最后,利用自旋的方式检查模型给出。也相应模型检测工具的PLC-Checkeris介绍。在这种阶段,这一机制仍然有很多不完善的地方,比如作为定时器的处理。但它具有伟大而独特的优势在解决国家探索的问题。我们还在积极探索这些问题。
73