关键词:
形式化方法
PLC系统
FBD语言
时间自动机
UPPAAL
摘要:
可编程逻辑控制器(PLC)是一类拥有感应器和触发器的特殊装置,它能够实现对外界的控制、模拟和交互的功能,随着PLC系统在各个领域的广泛应用,PLC指令集的不断扩展,系统变得越来越冗杂,由于PLC系统通常对可靠性和实时性方面需求严格,因此寻找一套有效的系统建模和验证的方法是非常有必要的。本文通过研究发现以往在保证PLC系统设计正确性的方法中存在很多缺点。比如传统的PLC程序验证测试,依赖于大量的人工劳动,在整个调试过程中没有一条准确的反馈信息,最主要是人为测试无法发现全部的逻辑错误,比如竞态和死锁。形式化方法是以数学理论为基础的特殊方法,它可以采用遍历的特点的来验证系统的性质和实事性等,而且可以给出反例的路径。因此本文分析了PLC系统下标准化的FBD编程语言的语法和语义,采用面向模型的形式化方法提出一套相对完整的从FBD语言各指令到时间自动机的转换步骤。在完成了对控制器编程语言指令的建模后,还抽象建模出PLC系统其余三大模块(协调模块、外部环境模块、循环控制模块)的时间自动机表示形式。在模型选取方面放弃了原有只关心功能性(例如系统经过一些操作,最终到达一些状态)的目标模型(petri或smv等),采用了时间自动机模型,添加了对时间因子的建模,着重考虑了系统实时性的因素。在完成对单一指令模块的建模之后,本文结合FBD顺序控制特点和程序逻辑的相关概念,给出了模块组合算法,并通过UPPAAL工具证明了该算法的可靠性。文章的最后,通过传送带实例,将原系统统一建模为时间自动机网络,借由验证工具UPPAAL对实例进行验证,并在验证不通过的性质下,反向说明原有系统设计时出现的一些漏洞,能够在程序设计初期就进行形式化建模验证和分析,可以防止设计漏洞致使出现的反复代价,确保原有系统的正确性和健壮性。