




已阅读5页,还剩68页未读, 继续免费阅读
(计算机软件与理论专业论文)分布式实时系统远程操作和在线升级的安全机制.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 目前实时控制系统己广泛应用在工厂自动化、过程自动化和交通运输等行 业。然而,目前标准化的工业控制网的安全性尚处于基本不设防的状态。任何人 只要能够接近分布式实时控制网络的物理连线,即能够有效控制或影响整个控制 系统而不留下任何破坏痕迹或证据。当实时控制系统从局限于一隅的严密保卫的 区域发展为分布式的大控制系统后,这种对恶意攻击的脆弱性更是显露无疑。 为此,论文首先提出了一种可编程控制器的设计原型,然后创新性地引入了 多种安全机制,并针对实时控制做出调整。论文详细讨论了适用于分布式实时系 统特别是分布式实时控制系统的几种实用的安全保障机制的原理与实现。由于安 全审核日志的需要,论文特别讨论了实时控制软件的基于事件反演的逻辑分析问 题。 论文首先对分布式系统和实时控制系统的基本概念和应用现状作了简单介 绍,然后介绍了分布式实时系统对安全性的需求。 论文通过对面向嵌入式实时控制环境的执行系统的体系结构和一些实现技术 进行较深入的探讨,提出了一种典型的实时控制器可编程控制器的设计目标 和并实现了其原型设计方案。 在这个提出的可编程控制器设计原型的基础上,随之引入了适用于实时控制 器的数种安全机制。论文详细讨论其理论原理和实现方案。这些机制包括基于程 序身份校验和访问控制表的采用权限继承树的安全模型,结合了安全机制的简化 的在线升级模型,基于反演的在线跟踪与调试模型等等。文章也讨论了远程操作 的安全问题,并提出一种加密传输机制。 为了实现系统级的安全日志,论文深入研究对多种典型的软硬件逻辑分析仪 的工作机理。在对传统逻辑分析工具进行分类和优缺点分析的基础上,提出了一 摘要 种嵌入于可编程控制器内部的安全分析模块的设计方案。论文详细讨论了安全逻 辑分析模块的作用、软件和硬件实现方案的设计原则和特点,分析了其各自的优 点与不足。提出了嵌入式逻辑分析模块的实现方案,并详细讨论它在一些应用中 的优势。 论文也讨论了安全模型中加解密与身份认证模块的具体实现方案。 最后,总结了全文,并给出了将来的一些研究方向。 关键词:实时控制系统安全 i l a b s t r a c t a b s t r a c t d u r i n gt h e s ey e a r s , d i s t r i b u t e dr e a l t i m ec o n t r o ls y s t e m s ,w i d e l yu s e di nt h ef i e l d o fs a f e t yc r i t i c a ls y s t e m s b u tt h e r ei sf e wd i s t r i b u t e ds y s t e ms t r o n ge n o u g ht os t a n d a g a i n s ta t t a c k s ,l i k eaaw e a kb u i l d i n g t od e f e n dt h e s es y s t e m sf r o ma t t a c k sa n d m e e t t h en e e do fi m p r o v i n gt h es y s t e ms e c u r i t ya n dd e p e n d a b i l i t y , i ti sn e c e s s a r yt os a f e l y o p e r a t ea n du p g r a d et h es y s t e m s a tt h eb e g i n n i n go ft h i sp a p e r , ab a s i cr e a l t i m es y s t e mm o d e lo fp r o g r a m m a b l e c o n t r o l e rh a sb e e na n a l y z e d t h e ns o m en o v e ls e c u r i t ym e c h a n i s m sa r ee x p l o r e da n d i n v e s t i g a t e df o rt i m ec r i t i c a ls y s t e m i nt h i sp a p e r , ac o m m a n dp a t r e mi si n t r o d u c ei nt h e s y s t e ma r c h i t e c t u r e ,a n df u r t h e r m o r e ,a no n l i n eu p g r a d a b l em o d e lt o r e a l i z es y s t e m u p g r a d i n gs a f e l yi sp r e s e n t e d m o s te m b e d d e ds o f t w a r ei sd e v e l o p e di nu n i t so rc o m p o n e n t s w i t hd e v e l o p e r s w o r k i n gi np a r a l l e lo nt h e i rr e s p e c t i v ep a r t s ,w h i c ha l et h e ni n t e g r a t e di n t oa f m i s h e d s y s t e m t y p i c a l l y ,d e v e l o p e r sw i l lt e s ti n d i v i d u a lu n i t sb e f o r em o v i n ga h e a dt of i n a l i n t e g r a t i o n o n ek e yp r o b l e md e v e l o p e r sf a c ei s t h ei n a b i l i t yt os e ew h a ts e c t i o n so f s o f t w a r ec o d eh a v ea c t u a l l yb e e ne x e c u t e dd u r i n gt e s t i n g ,w h i c hm a k e si td i f f i c u l tt o i d e n t i f yh i g h - r i s ka r e a s f i n a l l y ,a ss o f t w a r e l a l n so np r o d u c t i o nh a r d w a r ei na r e a l w o r l da p p l i c a t i o n ,i tc o n s t a n t l yr e s p o n d st oi n t e r r u p t sa n dd a t af r o mav a r i e t yo fi o d e v i c e s a sar e s u 垃s o f t w a r ec o d eb e h a v e sv e r yd i f f e r e n t l yi nt h i se n v i r o n m e n tt h a ni t d i dw h i l eu n d e rd e v e l o p m e n t ,a n dt h e r ei sl i t t l ea s s u r a n c et h a tw h a ta p p e a r e dt ob e s t a b l ew h i l er u n n i n gi nt h ed e v e l o p m e n te n v i r o n m e n ti ss t i l ls t a b l ei nt h ed e p l o y e d p r o d u c t t h i sp a p e rp r o v i d eal o g i c a la n a l y z es o l u t i o nf o re m b e d d e ds y s t e m d e b u g g i n g af a u l t y p r o g r a m c f l l lb e v e r y h a r da n dt i m e - c o n s u m i n g t h e p r o g r a m m e ru s u a l l yr e e x e c u t e sh i sp r o g r a m ,w h i l ez o o m i n gi no nt h er o o tc a u s e o ft h e b u g h o w e v e r ,s o m e t i m e sb u g ss e e mt oa p p e a ro n l yi n t e r m i t t e n t l y ,m a k i n g i te v e n h a r d e rf o rt h ep r o g r a m m e rt os o l v et h e m t h em a i nr e a s o nf o rt h i s i st h a tw h e n e x e c u t i n gap r o g r a m ,t h e r ea r en u m e r o u sn o n d e t e r m i n i s t i ce v e n t st a k i n gp l a c ew i t h i n i i i a b s t r a c t t h ec o m p u t e r , w h i c hc a nw r e c ke v e nav e r yc a r e f u l l yc r a f t e dd e b u g g i n gs e s s i o n t od e a l w i t ht h e s eg h o s t l yb u g s ,o n en e e d st or e m o v et h en o n d e t e r m i n i s mf r o mt h ee x e c u t i o n a n di t se n v i r o n m e n t t h e r e f o r ev a r i o u ss o c a l l e de x e c u t i o nr e p l a ys y s t e m sh a v eb e e n d e v i s e d ,e a c hw i t ht h e i rm e r i t sa n dl i m i t a t i o n s w eg i v ea no v e r v i e wo ft h et e c h n i c a u s e dw h e nd i s c u s s i n ge x e c u t i o nr e p l a y ,o ft h ec a u s e so fn o n d e t e r m i n i s mw i t h i na c o m p u t e r , a n do f t h ec u r r e n ts t a t eo f t h ea r ti ne x e c u t i o nr e p l a ys y s t e m s k e y w o r d s :r e a l t i m es y s t e m ;s e c u r i t y i v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 盔刍刚日期:炒6 年;月 日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 鲳叠l 导师签名:至坚翌 日期:冲6 年3 月弓曰 第一章引言 1 ,1 嵌入式系统概述 1 1 。1 嵌入式系统定义 第一章引言 嵌入式系统( e m b e d d e ds y s t e m ) ,全称嵌入式计算机系统( e m b e d d e d c o m p u t e rs y s t e m ) ,是指以应用为中心、以计算机技术为基础、软硬件可裁剪、 适应应用环境( r e a lw o r l d ) 对功能、实时性、可靠性、成本、体积、功耗等严 格约束的专用计算机系统。由于嵌入式系统一定是实时系统( r e a l t i m es y s t e m ) , 随应用环境不同,实时性有强、弱之分,因此也被称为嵌入式实时系统( e m b e d d e d r e a l t i m es y s t e m ) 。嵌入式系统一般由嵌入式微处理器( 主要由1 6 位及1 6 位 以上的m p u 、m c u 和d s p 组成) 等硬件及其软件( 包括r t o s 和实时应用程序) 组 成,具有专用性、可嵌入性、实时性、可靠性、移动性、分布式等特点。它通常 以s o c 、单片机、多板式箱体结构、嵌八式p c 等形式嵌入到各式各样的设备或大 系统( 如数字移动电话、路由器、导弹、信息家电等) 中,作为设备或大系统的 处理和控制核心。嵌入式系统的运行需要一个r t o s 的支持,这是它不同于过去许 多单片机应用的关键之处。 因此,嵌入式系统是将先进的计算机技术、微电子技 术和现代电子系统技术与各个行业的具体应用相结合后的产物,这一点决定了它 必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 1 1 2 嵌入式系统的特点 嵌入式系统主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它 是集软硬件于一体的可独立工作的“器件”。嵌入式处理器主要由一个单片机或 微控制器( m c u ) 组成。而这些嵌入式c p u 目前多是8 位和1 6 位的,与3 2 位或6 4 位的高性能处理器相比,具有很强的经济性和现实性。相关支撑硬件包括显示卡、 存储介质( r o m 和r a m 等) 、通讯设备、i c 卡或信用卡的读取设备等。嵌入式系 电子科技大学硕士学位论文 统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大 多使用闪存( f l a s hm e m o r y ) 作为存储介质。嵌入式软件包括与硬件相关的底层 软件、操作系统、图形界面、通讯协议、数据库系统、标准化浏览器和应用软件 等。总体看来,嵌入式系统具有便利灵活、性能价格比高、嵌入性强等特点, 可以嵌入到现有任何信息家电和工业控制系统中。从软件角度来看,嵌入式系统 具有不可修改性、系统所需配置要求较低、系统专业性和实时性较强等特点。 1 2 实时系统和分布式系统概述 目前,对于实时系统存在着几种不同的定义,但不同定义均围绕实时系统的 时间特性展开。在牛津计算技术字典中给出了以下定义: 实时系统指系统输出的产生时间具有决定性意义的系统。这是因为系统的输 入来自于物理世界的某个动作,而输出是对该动作的响应。输入和输出间的延迟 必须小于某个确定的时间间隔。 对于不同的系统,时间间隔的定义是不同的。例如,在工业过程控制大都要 求实时系统在1 秒内响应外部输入,而飞行控制系统对外部输入的响应需要在数 毫秒内完成。因此,不同的应用领域对实时系统存在着不同的定义。y o u n g 对实时 系统的定义如下: 实时系统用于描述任何需要在有限、确定的时间延迟内响应外部输入的信息 处理活动或系统。 统。 r a n d e l t 在p d c s ( 具有确定可靠性的计算机系统计划) 中给出了以下定义 实时系统指必须在其运行环境规定的时间范围内响应环境激励的计算机系 由上述定义可知,实时系统不是一个自封闭的系统。它通过接受外部环境的 第一章引言 输入,并按照一定的规则对其进行处理,产生输出以控制外部环境的行为。因此, 实时系统往往存在于一个更大的应用系统中,控制该应用系统的运行。因此,实 时系统又常常被形象得称作嵌入式系统。 实时系统的基本特性是任务响应时间的确定性和系统处理任务的高吞吐量。 实时系统的应用领域十分广泛,不同的应用对时间确定性的要求也是不同的。基 于这种考虑,可以将实时系统分为硬实时系统和软实时系统两种。硬实时系统用 以描述对响应时间要求极其严格的实时系统。在硬实时系统中,若输出由于不能 满足响应时间确定性的要求而被放弃,系统的正确性将受到严重影响。相反,在 软实时系统中,只要响应时间超出确定的时间范围的频率低于某一阙值,则不影 响系统的正确性。 除了必须具备响应时间确定性以外,实时系统其他的重要特性包括并发性、 可预测性和可靠性。并发性是指实时系统必须能够在规定时段内处理多个外部输 入。可预测性实质上是对响应时间确定性的保证。外部输入的本质是并发和随机 分布,每一个输入触发实时系统产生相应的动作,而这些动作的流程、所需的处 理器时间是可预先知道的。只有在这种情况下才能保证响应时间的确定性。 实时调度算法是实时系统解决并发和保证可预测性的基本手段。实时调度算 法根据调度策略为并发的外部输入确定处理顺序,并按照该顺序为每一个处理操 作分配系统资源。实时调度算法的另一个主要功能是根据可调度条件确定系统现 有资源是否满足处理操作的时间确定性。与通用调度算法不同,实时调度算法首 先保证所有就绪处理操作均能在规定时限前结束,其次才是尽可能多地处理外部 事件以提高系统的资源利用率。如何在保证时间确定性的前提下提高系统资源利 用率是实时调度算法研究的热点问题。 在实时系统发展的早期,系统设计者为特定的应用设计专用的硬件和软件。 在这一时期,实时系统的硬件和软件紧密结合,实现用户要求的系统功能。这一 设计思想的最大缺点是:硬件和软件的耦合度大,系统难以更新、维护和移植, 电子科技大学硕士学位论文 系统可靠性低,开发成本高。随着操作系统技术的日益发展成熟,实时软件逐渐 被分离成实时操作系统和应用软件两个部分。实时操作系统管理底层硬件平台, 为实时应用提供标准的应用程序接口,使实时应用具有硬件无关性,即在实现用 户要求的系统功能时,无须考虑硬件平台的物理结构。理论上,硬件无关性使实 时应用无须更改就可以在运行于不同硬件平台的不同实时操作系统上。同样,实 时操作系统的内部也是多层结构。通过处于底层的硬件抽象层,实时操作系统可 以移植到不同硬件平台上。模块化设计将实时系统的每层进一步分解为多个高内 聚、低耦合的模块,模块间通过程序接口实现互操作。这样一方面避免了模块间 错误的传递,另一方面使用户能够在需要时替换某一模块而不影响其他模块的正 常运行。这种多层次、多模块的实时系统结构极大地提高了系统的可维护性、可 移植性和可靠性,降低了系统成本。近年来,随着c o t s 技术的发展,设计者可 以采用现成的商用软件模块构建实时应用,迸一步简化了实时系统的设计。 分布式计算机系统的定义“一个分布式计算机系统是一些独立的计算机 的集合,但是对这个系统的用户来说,系统就象一台计算机一样。”这个定义有两 方面的含义,第一,从硬件角度来讲,每台计算机都是自主的;第二,从软件角 度来讲,用户将整个系统看作是一台计算机。 分布式计算机系统的特点在于系统中具有多台计算机且所有的计算机都有相 等的地位,由于有这个特点,所以与传统的集中式系统相比,分布式计算机系统 具各许多优越的性能: 经济性:多个计算机能提供比大型机更好的性熊价格比。 速度:分布式计算机系统能提供比大型机更强大的计算能力。 固有的分布性:有一些应用包含了物理上分散的机器。 可靠性:当某台机器崩溃时,整个系统仍能正常工作。 可扩展性:处理能力可按需增加。 1 3 分布式实时系统对安全性的需求和现状 一4 一 第一章引言 分布式实时系统对安全性( s e c u r i t y ) 的需求为组建实时可靠安全的标准化 工业控制网络。 目前工业控制网已广泛应用在工厂自动化、过程自动化和交通运输等行业。 然而,目前标准化的工业控制网的安全性尚处于基本不设防的状态。任何人只要 能够接近分布式实时控制网络的物理连线,即能够有效控制或影响整个控制系统 而不留下任何破坏痕迹或证据。当实时控制系统从局限于一隅的严密保卫的区域 发展为分布式的大控制系统后,这种对恶意攻击的脆弱性更是显露无疑。使得分 布式控制系统出于安全性考虑,往往实际上只能停留在( 仪器) 测( 人工) 控的 水平。 工业控制网的安全性包括两个方面:信息安全和本质安全。信息安全是指网 络不被泄露给非授权的用户或供其利用的特性。在构建时主要可以采取以下一些 措施来加强网络的信息安全:系统中任何通讯端口的管理均采用密码访问机制; 关闭不用的通讯端口,防止外部设备的非法接入;在安全性要求高的场合,应该 将( 通讯协议支持的) 通讯地址与物理端口绑定,以防止未授权的用户访问。当 然,在设计或选择实时控制网络时就需要注意是否支持上述功能,才能实现所需 要的信息安全和系统成本的平衡。在通常的应用场合应避免使用普通以太网和标 准通讯协议( 女f f t c p i p 等) ,而使用面向应用的专用网络,并以网闸与外网隔离。 本质安全性指网络设备的保护等级和防爆性能。目前已经具有保护等级为 i p 6 7 的工业以太网交换机 1 ,在危险性工业场合应用的网络设备需要通过认证; 在防爆应用中要对以太网系统采用隔爆防爆的措旌,可通过对以太网现场设备包 括安装在现场的以太网交换机采取增安、气密、浇封等隔爆措施,使设备本身的 故障产生的电火花能量不会外泄,以保证系统使用的安全性。 针对地理上分布式的实时控制系统,常见的攻击方式主要是针对其分散在安 全区域外的网络连线的攻击。这绝不是简单的从物理上断开连接( 绝大多数分布 式控制系统从设计时就考虑到了这种情况,具有高度自治能力) ,而是通过伪造 电子科技大学硕士学位论文 数据,破坏控制参数或造成严重的网络阻塞。一种值得注意的攻击是对控制网络 实时性和有界性的攻击。 在最为广泛使用的现场总线中,除了著名的f f 和p r o f i b u s 外,c a n ( c o n t r o l l e ra r e an e t w o r k ) 总线也是一种广泛应用的、卓越的现场网络。但是 现有的c a n 规范,从本质上来说更适合于事件触发的消息响应调度,而大多数c a n 总线实际上也是采用事件触发的执行方式。事件触发方式对消息响应时间的有界 性有不可忽略的影响,所以必须考虑其对控制安全性的危害。虽然在c a n 中可以采 用多种调度策略,使不确定的消息传输延时发生概率降到很低,但是它仍不是本 质上适合于安全性控制的现场总线。为了使c a n 总线能够应用于各种先进的、安全 性相关的控制场合,爱尔兰正在开发t t c a n 现场总线 5 。t t c a n 采用时间触发的 消息响应调度方式,使现场总线在本质上具有确定性行为,因而可以应用于有严 格实时要求的工业控制领域,满足消息传输时间是实时、有界的最基本的控制要 求。 在传统上,控制系统的安全主要是指其是否能可靠地完成其控制功能 ( f u n c t i o ns a f t y ) ,并保证安全生产。然而随着分布式实时控制系统的日益广泛 应用,对信息安全( s e c u r i t y ) 的需求目益提升,因此,本文重点研究在分布式实 时控制系统中应用信息安全机制的问题。 从目前国内外对具备信息安全性的分布式实时系统的应用情况来看,有如下 一些特点:从区域分布来看,国外尤其是西方国家对信息安全的重视程度较高, 应用较早,大部分大型分布式系统项目在建设时已经考虑了信息安全的需要,对 恶意攻击具有一定的防御能力。而国内尚处在摸索和起步阶段,国内基本上还是 边建设边总结。比如国内在电力系统建设中,已经开始考虑并使用电力信息系统 安全体系设计方法。但具备信息安全系数的实际工程相对比率仍然很少。从行业 分布考察,具备信息安全的实时系统主要运用在军事、航空和铁路运输等领域, 尤其是在军事领域中被大量运用。而普通工业控制领域使用较少。 第二章一种典型的实时控制器可编程控制器 第二章一种典型的实时控制器 可编程控制器 本章对面向嵌入式实时控制环境的执行系统的体系结构和些实现技术做了 较深入的探讨。以一种实时控制器的系统模型,来作为后继章节对实时系统信息 安全性讨论的实践对象。 2 1 p l c 概况 2 1 1p l c 及其发展 可编程逻辑控制器( p r o g r a m m a b l el o g i cc o n t r o l l e r ,简称p l c ) ,由于它具有 程序设计简单、运用性强、组合灵活、维修方便等优点,特别是由于它的高可靠 性和适应工业恶劣环境的能力,而深受广大用户的欢迎。目前它在高性能、高速 度、大容量、监控、管理、诊断、编程以及微小型机低价格化等各个方面均取得 了很大的进展。并继续保持迅速发展的势头。尽管如此,它仍然有很大缺点。这 主要是p l c 的软、硬件体系结构是封闭而不是开放的。如专用总线,专用通讯网 络及协议,i o 模板互不通用等。这对维修、备件以及技术改造等工作都带来不便。 影响了p l c 的进一步发展。 以往各个p l c 生产厂家的产品互不开放,要将几个p l c 厂家的产品连接在同 一个网络里是很困难的。各个p l c 生产厂家的产品不仅硬件各异,其编程方法也 是五花八门,用户每使用一种p l c 时,他不但要重新了解其硬件结构,同时必须 重新学习编程方法及其规定。为减轻用户学习负担,i e c ( 国际电工委员会) 于1 9 9 3 年发布了i e c i1 3 1 3 有关可编程序控制器编程的标准。标准化、开放化、网络化 是今后p l c 发展的趋势。而这些方面的变化同时也促进了对p l c 系统在传统安全 性之外的信息安全性的要求。 2 1 2i e c6 1 1 3 1 3 标准 电子科技大学硕士学位论文 i e c6 1 1 3 1 是i e c ( 国际电工委员会) 制定的有关可编程逻辑控制器( p l c ) 的相 关标准,i e c6 1 1 3 1 3 是其中的编程语言部分。由于i e c6 1 1 3 1 3 自动化编程语言 的诸多优点,己成为自动化工业中拥有广泛应用基础的国际标准,而且已不仅限 于p l c ,还广泛地应用于集散型控制系统、工业控制计算机、数控系统、远程终端 单元等产品。 1 9 9 2 年p l c o p e n 成立,这是一个独立于制造商和产品的国际组织,总部位于 荷兰。目前已有为数众多的p l c 制造商、软件公司和研究院所是这个国际组织的 成员。p l c o p e n 专门致力于i e c6 1 1 3 1 标准的推广并取得了很大的成功,世界上著 名的自动化设备制造商如西门子、罗克维尔、a b b 、旋奈德、g e 、三菱、富士等都 推出了不同程度i e c6 1 1 3 1 - 3 兼容级的产品。 我国在1 9 9 5 年1 1 月发布了g b t1 5 9 6 9 1 2 3 4 ( 等同于i e c6 1 1 3 1 一i 2 3 4 ) , 但在当时该标准的重要性还不为人们所认识。如今国际上很多自动化制造商已采 用了国际标准,同时中国自己的自动化产品也越来越多,采用i e c6 1 1 3 1 3 作为 其编程语言已是势在必行。 i e c6 11 3 1 标准的制定是基于p l c 的自动化控制系统的标准化进程中的重要 一步,进一步促进p l c 市场的开放。 i e c6 1 1 3 1 标准定义了如下几种基本编程语言: 1 i l ( i n s t r u c t i o nl i s t ) 一汇编语言,其执行效率最高 2 s t ( s t r u c t u r e dt e x t ) 一一种类似于b a s i c 的语言 3 l d ( l a d d e rd i a g r a m ) 一基于继电器逻辑电路的图形化语言 4 f b d ( f u n c t i o nb l o c kd i a g r a m ) 一种图形化的数据流编程语言 5 s f c ( s e q u e n t i a lf u n c t i o nc h a r t s ) 一一种图形化的结构编程语言 墨三芏二登些型塑壅堕笙型墨= 二旦塑堡堡型墨 2 1 3i e c6 1 1 3 1 3 标准与自动化编程开发工具 i e c6 1 1 3 1 3 编程语言除了是一种标准以外,目前在国际上已发展为一个工程 专业。在自动化设备中实现i e c6 1 1 3 1 - 3 涉及标准编程语言、嵌入式系统设计、 设备通讯以及软件开发等多个专业。 可以用来实现i e c6 1 1 3 1 3 编程语言的开发和编程工具是由o p e n p c s 编程工 具和运行时系统两部分组成。编程工具是基于w i n d o w s 环境下的i e c6 11 3 1 3 编 程软件;运行时系统需要通过移植嵌入到用户的自动化设备中,实现自动化编程 的内核部分。 开发和编程工具必须与i e c6 1 1 3 1 3 兼容,经过p l c o p e n 的一致性认证,达 到可移植级( p o r t a b i l i t yl e v e l ) 兼容,也是最高的兼容级别。 当今有些i e c6 1 1 3 1 3 开发和编程工具的一个重要特点就是源码开放,它遵循 开发资源软件的原则,用户一次性购买了软件的许可证后,不需要为每一个分发 和拷贝另行缴纳任何版权和许可费用。这样大大地降低了设备制造商使用软件后 对其产品成本的增加。另一方面,开放源码的软件可允许用户对其软件进行灵活 的修改,以适应自己产品或系统的需要。这也是非开放源码软件所无法比拟的优 越性。 2 2 设计目标 该实时控制器原型简化自一个符台i e c 6 1 1 3 1 3 标准的、嵌入式可编程逻辑控 制器( p l c ) 开发项目。该p l c 采用r o c k w e 1p l c 一5 系列的虚拟机原型,基于a r m 体系结构和u c o s i i 嵌入式实时内核,实现了t c p i p 网络协议栈,并支持一系 列增强的安全特性( 在线升级模型,p l c 一级的黑匣子跟踪记录机制等) 。 简化后的该实时控制器原型具有实时性强、体系结构通用、结构简明、功能 9 电子科技大学硕士学位论文 齐备、易于扩展、实用性强等特点,适于后继章节逐步引入安全机制进行讨论。 2 3 原型设计方案 p l c 软件构架图见图2 1 。为了方便讨论和简化实现,该实时控制器原型采用 较为常见的a r m 体系结构为运算硬件平台,以相对简单但实时性极强的u c 0 s i i 或v x w o r k s 作为r t o sk e r n e l ,采用编译执行和解释执行两种运行引擎,辅以其它 服务任务,如统计任务、任务加载器、通讯管理器、跟踪调试代理等等。具备硬 实时特性。 高 优先级低 l i = = = = = = = = = = = = = = = = = = = = = = = = = = _ l 嚣芽 i一;:塑1一i一j一j一j:;:一i 一j 一j 一j i 0 上p 引 妻同禹 缓网在跟 串幸心掣掣 通任 冲文 络 线踪讯务统空 管件 协 调记 管加 计 闲 理系议试录p l c 虚拟机运行引擎p l c 虚拟机运行引擎理载任任 器统 栈 器器 ( 本地代码模式)( 解释器模式)器 器 务务 i:f :i:l :l_ j _ i i b s p i r t o s 内核( v x w o r k s ,u c o s i i 等) : 硬件 图2 - ip l c ( 处理器模块) 构架图 第二章一种典型的实时控制器可编程控制器 实时可编程控制器工作过程为: 启动:a r m 处理器上电,板上b o o t r o m 预初始化板上各种硬件,然后将自身和 v x w o r k s ( 或其他r t o s ) 应用系统映像载入s r a m ,在进行了地址空间重映像之后, 将控制权交给应用系统映像。应用系统映像由b s p ( b o a r ds u p p r tp a c k a g e ,板级支 持包) ,操作系统和用户程序( 本文中指控制器系统软件) 编译后静态链接而成。 应用系统映像取得c p u 控制权后继续初始化硬件,装载并初始化操作系统环境, 最后创建初始用户进程( 本文中指控制器系统软件) 。 控制器系统软件初始化其自身:控制器系统软件首先核对硬件配置是否符合 要求,然后初始化控制系统环境( 控制器抽象机) ,基本按照优先级顺序,依次 创建i o 缓冲管理器任务、运行引擎任务,统计任务、用户控制程序加载器任务、 通讯管理器任务、跟踪调试代理任务等。 加载控制任务:任务加载器和通讯管理器一起协同工作,负责加载用户控制 程序和基于现场总线的数据通讯。可编程控制器原型内嵌的验证模块简单地执行 基于用户口令的代码验证和完整性检查。在后继章节,将讨论完整的身份认证模 块引入到验证阶段。 执行控制任务:一般来讲,通用用户可编程控制器具备两种执行引擎来执行 用户控制任务:解释引擎用于实现l a d d e r ,s f c ,适用于行业用户快速开发;编译 引擎,将高级语言或专用控制语言代码编译成本地代码,满足高级用户的特殊需 要。编译执行引擎将用户控制程序( 一般为类c 或类p a s c a l 代码) 在主机端( 含 手持式编程设备) 编译成实时控制器原型所采用的a r m 体系结构目标机原生代码, 并加入代码维护信息( 如调试信息,跟踪信息,以及后继章节加入的身份校验与 授权信息等) ,打包成专用文件格式。解释执行引擎用于解释执行符合i e c 6 1 1 3 卜3 标准的用户控制程序,如梯形图l a d d e r ,顺序功能流程图s f c ,或指令列表i l 等。 主机编程软件或手持式编程器将这些用户程序进行预处理,然后上传到控制器解 释执行。无论是编译执行引擎还是解释执行引擎都在内核级保证了硬实时特性。 电子科技大学硕士学位论文 在r t o s 的保证下,具备高优先级的控制任务具有极强的硬实时特性。每一条系统 调用操作,包括i o ,动态内存管理( 如果应用需要的话) ,通讯,都具备严格的 时间确定性。因此,在抽象机模型中的用户级控制代码也具有严格的时间确定性。 原型设计方案提供一个用户级看门狗计时器,监视用户程序的执行情况。一旦执 行超时,则立刻产生w _ e r r o r _ m a j a r 级别的错误并停机。 控制器虚拟机( c v m ) 原型的基本工作过程如图2 - 2 所示:在执行顺序上,控 制器虚拟机( c ) 原型采用将控制逻辑执行、i o ( 包括远程i o 和网络通讯) 相分离的方案。c v m 先读取输入信号的值,然后执行控制逻辑程序,在执行中更新 程序内部状态并设定输出信号的值,在每一个c h e c k p o i n t 进行本地i 0 刷新,最 后异步执行远程通讯。 l os c p m 鲋l ms c a n 图2 - 2c v m 扫描过程示意图 在系统外围,则有通常运行于主机或者手持式设备上的系统支持软件,如程 序编辑器、编译器、校验装载器以及组态软件等。其中校验装载器用于对预处理 后的用户控制程序的完整性和有效性进行严格验证。在后继章节,校验装载器还 负责进行初步的主机端安全检查。 2 4 简单p l d 数字控制的c 程序实现 第二章一种典型的实时控制器可编程控制器 一个经典的控制系统是一个反馈控制系统,通常由一个被控对象,一个控制 器,一个给定信号,还有传感器组成,通常给定信号要和传感器反馈过来的反馈 信号进行比较得到误差作为控制器的输入,而控制器的输出用来控制被控对象, 它是被控对象的输入。下面是它的结柯简图: 图3 3 一个控制系统的结构简图 而控制器又以p i d 控制器最为经典。对于一个负反馈的系统: 误差信号= 给定信号反馈信号。 通常给定信号由用户自己设定,可以是一个常值,或者是函数等。这里用一 个函数来获取给定信号当前值:d o u b l eg e t d e m a n d s i g n a l0 : 反馈信号则是先通过数据采集器采集到的数字信号,然后通过一个比例把它 换算成实际对应的数值。这里也用一个函数来获取反馈信号当前值:d o u b l e g e t f e e d b a c k s i g n a l0 ; 这两个函数具体实现根据系统不同而不同。由此,p i d 控制的数字算法可用 伪代码描述如下: s t r u c tp i d c o n s td w o r dd w t i m e i n t e r v a l ,采样间隔( 精度受限于具体软硬件体系) d w o r dk p ,k i ,k d ,p i d 参数,实际使用时根据工程系统整定 d w o r dd w p r e v a l u e ,设定值 1 3 电子科技大学硕士学位论文 d w o r dd w i n v a l u e , d w o r dd w e r r o r d w o r dd w o l d e r r o r d w o r dd w o u t v a l u e 当前采样值 当前误差 以往误差 p i d 控制的输出 v o i dc a l l b a c kp i d c o n t r o l ( p i d * p i d ) f p i d 一 d w p r e v a l u e = g e t d e m a n d s i g n a l0 : p i d 一 d w l n v a l u e = g e t f e e d b a c k s i g n a l0 : p i d 一 d v a 3 1 d e r r o r = p i d 一 d w e r r o r : p i d 一 d w e r r o r = p i d - d w p r e v a l u e p i d 一 d w i n v a l u e : d w o r dd w v a l u e 3 : d w v a l u e 0 = k p d w e r r o r :比例 d w v a l u e 1 = d w v a l u e 1 + k i 女d w e r r o r * d w t i m e i n t e r v a l :积分 d w v a l u e 2 = k d ( d w e r r o r d w o l d e r r o r ) d w t i m e i n t e r v a l :微分 p i d 一 d w o u t v a u e = d w v a l u e 0 + d w y a l u e 1 + d w v a l u e 2 : 以上的代码是一个定时中断处理函数,每隔指定间隔执行一次控制,因此必 须要有一个定时器来控制上面所写的代码的执行。在本原型设计中,该定时器由 c v m 系统的基本定时中断服务程序维护。 必须指出的是这个p i d 控制算法只是为了后继讨论方便而提出的原型,实用 p i d 算法远比此复杂。有许多文献 1 4 详细讨论了实用控制器采用的p i d 控制及 其整定算法,和其它嵌入式控制系统的控制算法的c c + + 实现。 2 5 编译器与文件格式 第二章一种典型的实时控制器可编程控制器 i e c 6 1 1 3 1 3 标准实际上只是一种用户级编程接口规范,而并未对厂商负责的 系统级实现做出限制。一般来讲,可编程控制器具各两种执行引擎:解释引擎用 于实现l a d d e r ,s f c ,适用于行业用户快速开发;编译引擎,将代码编译成本地代 码,满足高级用户的特殊需要。经过综合考虑,本论文中可编程控制器的编译系 统软件的实现采用g c c 编译器与e l f 文件格式。 2 5 1g c c 编译系统是非常复杂的软件( 在g c c 中单为编译c 语言编写的c 代码就有3 0 万到4 0 万行,这些代码量由根据目标描述自动产生的代码量所得。) ,因此很容 易陷入错误和不足中。考虑到编写编译器所花费的人力物力,很多公司都会放弃 独立编写。而源代码开放的编译器使得错误可以最大限度地减少。作为惯例,一 个新的编译系统并不意味着要从头重写,换句话说,借鉴已有系统是一个捷径。 可编程控制器的本地编译系统直接以编译器g n uc c3 0 2 为基础,实现了目标 机为a r m 的交叉编译器。并以g n ub i n u t i i s2 1 1 2 的汇编器g a s 和链接器g l d 为基础,实现了目标机为a r m 的交叉汇编器和交叉链接器。 g c c 是一个用c 语言实现的可移植编译系统。高度的优化和可移植性能是该编 译系统最为突出的两大特点,也是其技术上最为成功和精彩之处。由于优化和可 移植性是衡量现代编译系统的主要标准,加之g c c 的高稳定和免费提供等优点, 使许多专门从事c 编译器开发的公司难能与之对抗。g n u 声称“要让世界上所有搞 编译器的人没有事情可做”。 2 5 2e l f 格式目标文件与调试 目标文件是实现源码级调试的基础,需要详细分析文件的格式及内容以从中 获取有用的调试信息。在设计调试器时采用可执行连接格
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年证券从业资格证考试中的常见经济学理论试题及答案
- 二年级下册心理健康教育表格式教案-第5课我爱我的家 长春版
- 用户经验在项目管理考试知识中的重要性试题及答案
- 课题申报书如何装订
- 微生物检验技师职业资格考试试题及答案
- 注册会计师实务要点解析试题及答案
- 微生物检验实验室管理考题试题及答案
- 2025年银行资格证考试重要日程规划试题及答案
- 证券从业资格证难点试题及答案特集
- 高风险微生物的防范措施试题及答案
- GB/T 233-2000金属材料顶锻试验方法
- 全新版大学进阶英语第二册-Unit-4-Study-Abroad课件
- 机械识图基础培训-课件
- 成人still病参考课件
- 我们毕业啦毕业季通用模板课件
- 建设工地治保维稳工作专项检查表
- 高国卿《项脊轩志》说课
- 产品召回控制程序
- 《手机短视频:策划拍摄剪辑发布》第4章 手机短视频的拍摄方法
- Q∕SY 1134-2014 产品驻厂监造规范
- 堤防工程设计规范
评论
0/150
提交评论