资源描述:
3 8 工业仪表与自动化装置 2 0 1 3年第 2期 多任务 环境下软 P L C执 行 系统软件 实时性分 析 梁少宁 , 牛云 1 . 山西省工 贸学校 机 电科 , 太原 0 3 0 0 2 1 ; 2 .西北工业大学 航海学院 , 西安 7 1 0 0 7 2 摘要 针对软 P L C执行系统的实时性能需求, 基于 R M调度策略, 利用时间需求分析算法, 对 系统中所有周期任务进行可调度性分析测试, 估计其最大响应时间是否满足 时限要求。利用可延 期服务器调度非周期任务 , 利 用 M / M/ 1 / K排队模型, 根据非周期事件接 收缓冲大小及其到来随即 过程相关参数, 估计非周期事件的平均响应时间和缓冲溢出率, 使之符合系统要求。 关键词 软 P L C实时性 ; 时间需求分析 ; M/ M / 1 / K排队模型 ; 周期、 非周期任务调度 中图分类号 T P 3 1 6 . 2 文献标志码 A 文章编号 1 0 0 0 0 6 8 2 2 0 1 3 0 2 0 0 3 8 0 4 Re a l- - t i me p e r f o r ma n c e a n a l y s i s o f s o f t wa r e r u nn i n g o n s o ft PLC s y s t e m ba s e d o n mul t i - p r o c e s s e n v i r o n me nt L I ANG S h a o n i n g ,NI U Yu n 1 . S h a n x i P r o v i n c e I n d t u a n d T r a d e C o l l e g e , T a i y u a n 0 3 0 0 2 1 , C h i n a ; 2 .N o r t h w e s te r n P o l y t e c h n i c a l U n i v e r s i t y , Xi a n 7 1 0 0 7 2, C h i n a Abs t r a c t Ai mi n g a t t h e r e a lt i me p e r f o r ma n c e r e q ue s t s o f s o ft PLC.t h i s p a pe r a d v a n c e s a n e w a na l y s i s mo d e l t o c a l c u l a t e t h e s c h e d u l a bi l i t y o f p e r i o d i c t a s k s a n d t h e g e n e r a l r e s p o n s e t i me o f n o n p e r i -- o d i c t a s k s i n h y b ri d r e a l t i m e s y s t e m b a s e d o n R a t e mo n o t o n i c S c h e d u l i n g R M .T i me d e m a n d a - n a l y s i s me t h o d i s u s e d t o ha n d l e wi t h p e rio d i c t a s k s a n d t he M/M/1 /K q ue ui n g mo de l i s u s e d t o a na l y z e n o np e rio d i c t a s k s .Fi n a l l y t h e s c h e d u l a b i l i t y o f t h e who l e t a s k s i s c a l c u l a t e d t o ma k e s u r e a l l t h e t a s k s c a n s a t i s f y t h e i r d e a dl i n e s a n d t he e x p e r i me n t s h o w t ha t t he c a l c u l a t e r e s u l t o f t h e a n a l y s i s mo d e l a c c o r d s wi t h t he s y s t e m r e a l s t a t u s . Ke y wo r ds r e a lt i me p e rfo r ma nc e o f s o ft PL C;t i med e ma n d a n a l y s i s;M/M/1 /K qu e u i n g mo d e l ;p e r i o d i c a n d n o np e ri o d i c t a s k s c h e d u l i n g 0 引言 P L C技术经过数十年 的发展 , 己经在 电力 、 石油 化工 、 数控等行业得到了广泛应用。但传统 P L C自 身存在着一些缺点 难 以构建开放的硬件体系结构 ; 工作人员必须经过较长时间的专业培训才能掌握某 一 种产品的编程方法; 设备的生产被几家厂商所垄 断, 造成 P L C的使用成本居高不下。这些都制约了 传统 P L C的发展。近年来 , 随着计算机技术 的迅猛 发展 以及 P L C方面 国际标准 , 如 I E C 6 1 1 3 13 的 制定 , 软 P L C技术发展起来 。该技术 以工业 P c机 或嵌入式处理器作为硬件平 台, 利用软件实现 P L C 的基本功能。其可靠性高、 使用方便、 编程简单, 且 解决了传统 P L C兼容性、 通用性差等问题, 因而在 收稿 E t 期 2 0 1 2 0 91 0 作者简介 梁少宁 1 9 8 3 , 硕士研究生, 山西省工贸学校机电科 助教 , 研究方 向为机械设计制造及其 自动化 。 生产和过程控制的各个领域具有很好 的应用前景。 根据软 P L C运行的硬件平 台的不 同, 其实现方 案可分为 3种 基于 I P C 工业控制计算机 的方案 ; 基于传统 P L C硬件的方 案 以及基于嵌入式控制 器 或智能控制器 的控制方案。I P C和传统 P L C硬件价 格偏高 , 为了提高软 P L C的性 价 比, 考虑 到该 文所 研究的软 P L C主要应用于数控系统中, 因而采用第 3种方案 1 软 P L C的体 系结构 与传统 P L C系统相类似, 软 P L C系统由开发系 统和执行系统组成。系统体系结构如图 1 所示。开 发系统运行在 P C机上 , 完成 P L C程序 的编辑 、 编译 和目 标代码转化等工作。执行系统使用嵌入式处理 器作为硬件平台, 嵌入式操作系统如 w C / O S H 等作为软件平台, 实现目标代码的运行和 P L C的控 制功能。 2 0 1 3年第 2期 工业仪表与 自动化装置 3 9 ; 下 位机 软P L C 执 行系 统 j - ⋯-⋯o⋯⋯- ⋯⋯_ ⋯-⋯⋯- ⋯⋯- ‘ ⋯⋯⋯- ⋯_- I 图1 软 P L C体系结构 2 软 P L C的执行系统软件构架及其实时性 能分析 执行系统是软 P L C的核心 , 传统 的 P L C大多依 赖于单任务的时钟扫描或监控程序 , 来处理逻辑 运 算指令以及外部的 I / 0通道 的状态采集 与刷新 , 整 个应用程序采用一个循环扫描周期 , 一般包括输入 采样 、 用户程序执行和输出刷新 3个 阶段 。系统 的 实时性 由 P L C的循环扫描周期决定 , 对于有些快速 且强实时的需求 如快速伺服控制 系统 , 此种方式 不能满足需要 , 必须使用专门的伺服模块 , 进一步增 加了系统成本。 而基于嵌入式处理器和实时操作系统的软 P L C 执行系统可以较好地解决上述问题 。基于实时操作 系统可 以将上述传统 P L C循环扫描 过程划分成若 干任务 , 再根据任务 的重要程度分配优先级 以保证 系统 的实时性 。因此 , 软 P L C执行系统的关键就是 任务 的划分 、 优先级的确定方法 。 2 . 1 软 P L C执行系统任务划分 任务划分 的好坏直接影响到系统的性能 。将一 个实时应用问题分解 为多个任务 , 可 以加快单个任 务执行速度 , 有效地利用系统资源。一般来说 , 任务 的划分需要遵循功能内聚性 、 设备依赖性 、 时间依赖 性和事件依赖性来划分 。即如果系统若干子模块功 能相关 , 具有相似 的时 间需求 周期或时 限 , 或需 要同一事件触发可以考虑划分成 同一任务。据此 , 将软 P L C执行系统循环扫描功能划分为如下任务 1 输人映像区更新任务 以周期扫描方式依次地读入所有输入状态和数 据, 并将它们存人输入映象区中的相应单元内。 2 输出映像区更新任务 以周期扫描方式按照输出映象区内对应的状态 和数据刷新所有 的输 出锁存 电路, 再 经输 出电路驱 动相应 的外设。 3 定时器处理任务 周期执行管理定时器链表 中定时器 的计数值 , 并触发定时器溢出软 中断。 4 梯形图逻辑解算任务 扫描执行梯形图指令对应代码。由输入映像区 更新任务触 发 , 扫描结束 后触 发输 出映像 区更 新 任务 。 5 操作员站指令响应任务 由操作员站通信指令触发, 完成相应操作, 如手 动动作或上传现场 I / O状态数据。 6 自检测任务 周期检测 C P U系统软硬件故障。其中, 接收操 作员站指令 的时刻对于软 P L C执行系统来说是 随 机发生的, 属于非周期执行的弱实时任务, 其余任务 皆为周期执行的强实时任务。需要使用不 同的调度 方法来保证其时间特性 。 2 . 2 软 P L C执行 系统任务优先级的确定 C / O SI I中采用基 于优先级 的调度 , 由用户 来为每个任务指定优先级 J 。每个 任务有唯一 的 优先级, C / O S I I 总是运行就绪表中优先级最高 的任务。虽然用户在定义优先级时会考虑到任务的 重要程度 , 但却忽略 了截 止期 、 任务 的周期 的限制, 很可能会造成优先级的分配不合理, 造成错过任务 的有效期 , 而影 响系统的实时l 生。因此 , 有必要研究 任务截 止期 和 周期 的优先 级 确定 及 实 时性 验证 算法。 2 . 2 . 1 软 P L C执行系统任务建模 为便于定量分析任务系统的可调度性等实时性 能指标 , 先对任务的时间参数进行建模 J 设任务集 T p 1 , T p 2 , ⋯ , T p ; T a p l , T a p 2 , ⋯ , T a p 1 其中 T p 1 ≤i ≤n 为周期任务 , 每个周期任务 可用式 2 所示的四元式表示 r p C p , e p , 却 , D p 2 其中 c p 为任务 的最大计算时间, 印 为任务周期 , 卸 为任务释放时刻, D p 为任务时限。 T a p j 1 ≤m 为非周期任务 , 每个非周期任务 可由如下的三元式表示 T a p j C a p , , q mp j , D a p i 3 其中 C a p j 为任务最大计算时间, 叩 为任务释放 时刻 , D a p j 为任务时限。 为获得更好的任务时间行为可预测性, 减小系 4 0 工业仪表与自动化装置 2 0 1 3年第 2期 统调度开销 , 采用速率单调优先 R M 算 法调度周 期任务。该算法主要是解决单一处理器上的多任务 调度问题, 其基本思想是 基于任务的周期设置它们 的优先级 , 周期越短 , 任务 的优先级越高 , 再根据任 务优先级高低调度执行 。 对 于非周期任务 , 采用延期服务器来保证其时 间行为的可预测性。该方法用一个或几个专用的具 有较高优先级的周期任务执行所有非周期任务, 这 种周期任务称为可延期服务器。根据周期大小 , 服 务器有固定优先级 , 服务器的执行时间被称为预算 , 它在每个服务器周期 的就绪时补充 , 如果此 时没有 挂起的非周期任务 , 则在本周期 内保持这些分配 的 执行预算。当有非周期任务就绪 时, 只要 服务器有 充足的预算 , 就可在其周期内执行非周期任务, 其执 行预算就按照每单位时间一个的速率消耗。 延期服务器可用如下模型来描述 e , P 4 其中 e 为服务器各周期 的执行预算 , P 为服务器执 行预算的补充周期 。P e s / P 称为可延期服务器的 强度。该参数在很大程度上影响非周期任务 的平均 响应时间。 表 1 软 P L C执行 系统时 间特性 2 . 2 . 2 系统周期任务实时性能分析 采用时间需 求分析法 分析上述任务集 的可 调度性。其基本思想是计算各周期任务的最大响应 时间并与任务时限相 比较 , 如果系统 中所有任务实 例的最大 响应 时间都小 于各 自的时限 , 则 系统可 调度。 考虑到系统 中可延期服务器具有最高优先级 , 上述条件可用式 5 和式 6 描述 J 。 t i n 1 [ 5 其中 [ Ⅳ] 表示大 于等于 Ⅳ的最小整数。 为任务 的实际执行时间t 内优先级高于 并且已就绪 的任务集, 为 中的任务, P p 和 C p 是 的周期 和执行时间, t 可以从任务的执行时间 即任务 的最小响应时间 开始递归迭代计算, 当 t 川 t 、 时停止迭代, 所得的t 就是任务 的最大响 应时间, 记为 t 。 根据逐次逼近迭代法收敛定理可得 只要 C P U 利用率不大于 1 , 则数列 t 、 收敛。那么, 当任务集 中所有任务都满足式 6 时, 该任务集是可调度的。 t ⋯ ≤却 6 利用式 5 来定量分析软 P L C执行系统任务任 务集的可调度性 。计算结果如表 2所示 。 表 2 P S P任务集可调度性分析结果 由分析结果可见 , 当可延期服务器执行预算大 于2 . 3 m s 时, 自 检任务可能错过其时限。则可以得 到在使用 R M调度时, 执行系统在保证强实时任务 满足时限的条件下, 非周期任务可延期服务器的强 度最高为 P e s / P 2 . 3 / 2 01 1 . 5 %。此时 的 C P U利用率为 8 7 . 7 8 % 。 2 0 1 3年第 2期 工业仪表与 自动化装置 4 l 2 . 2 . 3 系统非周期任务平均响应时间估计 上述结论只能保证周期任务可以在其时限之内 完成 , 在可延期服务器 管理下 的非周期任务的平 均 响应时间估计方法并未给出。 工程上 , 一般开辟 个消息的缓冲区来接 收操 作员站发出的指令 。当缓冲区中接 到指令 , 且控制 指令响应任务的延期服务器有预算 时, 该指令被 响 应 ; 当缓 冲区溢出时 , 说明系统没有足够 的能力在规 定的时间内做出响应 , 该指令被丢弃 , 并发送错误报 告 , 以此控制指令 的平均响应时间。 一 般地 , 操作员站指令 的到来率服从参数为 A 的泊松分布, 而指令响应时间服从参数为 的指数 分布, 因此, 上述指令响应机制可以看成是单服务 台 , 单队列的排队模型 , 因此可 以采用 M/ M / 1 / K排 队系统 分析计算本实时 系统 中非 周期任务 的平 均响应时间, 信息丢失率等时间属性。设 P A , 则根据相关结论 , 执行系统对操作员站指令的平均 响应时间由式 8 估计 , 而指令缓 冲的溢 出率 可 由 式 7 估计 。 , 1 、 k P p≠1 7 JP 1 厶 n e 一 P≠l 8 3 软 P L C的执行系统实时性能测试 实验基于该实验室开发 的 S m a r t P L C系统。该系 统进行现场实时控制的同时 , 远程操作员站可以通过 指令请求获得现场数据 , 控制现场设备。系统硬件平 台基于 L P C 2 4 7 8 A R M处理器 , 软件平 台基于实时操 作系统 C / O S 一 Ⅱ 。修改 C / O S一 Ⅱ 任务调度内核, 添加任务切换 H o o k函数以及软件看门狗, 实现可延 期服务器 , 并接管操作员站指令响应任务。 空闲任 臼枪任 梯形图逻辑解算任 输入映像区更新任 输出映像区更新任 定时器处理任 操作员站指令响 任务可延期服务 初始化任务 图2 是系统任务集实际调度结果。图中可以看 出, 按照文中的调度策略 , 软 P L C执行 系统 的硬 实 时任务可以满足各自的时限。任务延迟时间符合表 2的估计范围。在 5 0 5 8 i r is , 执行系统连续接到来 自 操作员站 的 3组指令 , 指令 的处理 时 间为 34 1 2 I n s , 操作员站指令响应任务可延期服务器利用在 4 0 m s 时刻补充并延期的预算立即执行 , 经过 4个服务器 周期, 在 1 4 1 . 5 I l l s时刻处理完毕, 响应时间 9 1 . 5 m s 。 其对周期任务执行时间的影响得到了有效的控制。 为验证非周期任务的响应时间是否符合 2 . 2 . 3 节得到的统计特性 , 设定操作员指令的平均处理时 间 即不包括可延期服务器补充预算 的时 间间隔 为 4 ms , 令指令 平均到来率为不 同值 时, 监测 执行 系统在一定缓冲大小下 , 指令平均响应 时间及缓冲 区溢 出率 , 并与 M/ M / 1 / K排队模型的理论计 算值 作 比较 , 结果分别如表 3 、 表 4所 示。可见 , 随着请 求到来率的增加 即样本容量 的增加 , 算法估计 值与 实测值之间的误差逐步减小。 表 3 操作员站指令平均响应时 间 0 l 0 2O 3 O 4 0 5 O 6 O 7 0 8 O 9 O 1 0 0 1 1 O 1 2 0 l 3 O l 4 0 l 5 O 1 6 0 1 7 0 1 8 O ms 4x 3 ●●一 A 图2 软P L C执行系统任务调度 下转第 4 9页 2 0 1 3年第 2期 工业仪表与 自动化装置 4 9 2 . 2 系统鲁棒性仿真 上述推导是在被控对象为标称模型的情况下 , 对控制器进行设计 。以设计好的控制器来考察当被 控对象参数变化时控制器 的控制 品质有何变化 , 即 考察控制器对参数变化的敏感度, 通过研究当控制 对象增益 K减小 2 0 %, 其他参数固定和时间常数 增大 2 0 % , 其他参数 固定的情况来考察控制器 的鲁 棒性 , 并且以参数变化前后的调节时间为主要指标 。 情况 l 当 K减小 2 0 %时 , P s ; 情况 2 当 7 1 增大 2 0 %时 , P s ; 情况 3 当 K减 小 2 0 % 同 时 增 大 2 0 % 时, p 一 鱼 墨 一 21 6 s1。 系统仿真如图 1 O所示。 图 1 0系统仿 真 由图 l 0可以直观的看 出, 3种情况调节时间与 标称模型下调节时间几乎一致 。说 明该控制器对副 对象的比例系数 K及 时间常数 变化的敏感度较 小 。同样地 , 当主控制对象发生上述 3种情况 的参 数变化时 , 得到的系统仿真如图 1 1所示 。 由图 1 l可见 , 对于该控制器来说 , 对主对象 的 比例系数 及时间常数 变化 的敏感度低 , 即鲁棒 性好。 图 1 1 主控制对象发生 3种情况参数变化时 3 结束语 基于 H 最优 控制的设计思想 , 提 出了一种从 最优灵敏度着手的控制器设计方法 , 通过理论推导 , 得到物理上可实现的控制器传递函数, 采用串级双 容水箱为研究对象进行系统仿真, 通过与传统串级 控制结构 中的 P I DP算法进行 比较 , 表 明文 中所 设计 的改进型串级 系统有更好的设定值跟踪 , 抗干 扰能力以及系统鲁棒性 , 控制效果优于基 于传统整 定方法的 P I DP串级控制器 , 可将该算法在实 际 应用 中推广。 参考文献 [ 1 ] H a n g C C, L o h A P , V a s n a n i V U .R e l a y f e e d b a c k a u t o t u n i n g o f c a s c a d e c o n t r o l l e r s [ J ] .I E E E T r a n s . o n C o n t r o l S y s t .T e e h . ,1 9 9 4 , 2 1 4 2 4 5 . [ 2 ] K a y a I , T a n N, A t h e o n D P .I m p r o v e d C a s c a d e C o n t r o l S t r u c t u r e a n d C o n t r o l l e r D e s i g n [ C] . S p a i n I E E E C o n f e r - e n c e o n De c i s i o n a n d Co n t r o l Eu r o p e a n C o n t r o l C o nfe r - e nc e,CDC ECC’ 05,20 05 3 0 5 5 3 06 0. [ 3 ] 尹成强, 王洪涛. 一种三自由度串级控制的仿真研究 [ J ] . 计算机仿真, 2 0 1 2 , 2 9 1 1 2 71 3 0 . [ 4 ] 张卫东, 徐晓鸣. 典型不稳定时滞对象的 H 最优灵敏 度控制[ J ] . 上海交 通大学学报, 2 0 0 1 , 3 5 9 1 3 0 3 1 3 0 5 上接第 4 1页 4 结论 该文以时间需求分析法和排队论为理论分析工 具, 以软P L C的执行系统进程实时陛为分析实例, 建 立了实时任务调度模型, 得到了强实时任务最大执行 时间和弱实时任务平均响应时间估计方法, 进而定量 分析了软 P L C的执行系统的实时性能指标 , 实验表 明理论分析结果与系统实际运行结果相一致。 参考文献 [ 1 ] I n t e r n a t i o n a l E l e c t r o t e c t u u c a l C o m mi s s i o n P r o g r a mm a b l e C o n t r o l l e r P a r t 3 P r o gra m m i n g l a n g u a g e s [ M] .1 9 9 3 . [ 2 ] 伊晓峰, 程广河 , 郝凤奇, 等. 基于 C / O SI I的编译 型 P L C运行系统设计 [ J ] . 山东科学 , 2 0 1 0, 2 3 1 [ 3 ] 牛云, 戴冠中, 梁亚琳. 基于时间需求迭代和排队模型 的开放式实时系统可调度性分析算法研究 [ J ] . 计算 机科学, 2 0 0 9 , 2 6 1 [ 4 ] J a n e W S L j u . 实时系统[ M] . 姬孟洛等, 译. 北京 高等 教育出版社, 2 0 0 3 . [ 5 ] 唐应辉 , 唐小我. 排队论基础与分析技术[ M] . 北京 科学出版社 , 2 0 0 6 5 7 6 1 .
展开阅读全文