冶金过程控制开发平台中进程通信系统的开发及应用.pdf

返回 相似 举报
冶金过程控制开发平台中进程通信系统的开发及应用.pdf_第1页
第1页 / 共5页
冶金过程控制开发平台中进程通信系统的开发及应用.pdf_第2页
第2页 / 共5页
冶金过程控制开发平台中进程通信系统的开发及应用.pdf_第3页
第3页 / 共5页
冶金过程控制开发平台中进程通信系统的开发及应用.pdf_第4页
第4页 / 共5页
冶金过程控制开发平台中进程通信系统的开发及应用.pdf_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述:
第 3 5卷第 5期 2 0 1 1年 9月 冶 金自 动 化 Me t a l l u r g i c a l I n d u s t r y Au t o ma t i o n Vo 1 . 3 5 N o . 5 S e p .2 01 1 企业 网络技 术 - 冶金过程控制开发平台中进程通信 系统 的开发及应用 胡丕俊 , 李亮举 , 彭会军, 李彦斌, 周月杰 北京首钢自动化信息技术有限公司 自动化研究所 , 北京 1 0 0 0 4 1 摘要 在冶金计算机过程控制系统中, 软件系统通常按照功能和作用范围不同划分为若干个子系统。为使这些 子系统协调工作 , 需解决分布式进程间的通信问题。为此, 北京首钢 自动化信息技术有限公司自主研发了分布 式进程通信系统, 采用进程通信中间件解决进程问通信问题, 同时采用进程通信代理器解决计算机之问的通信 问题, 并在 Wi n d o w s 操作系统环境下成功地搭建了分布式进程通信网络。目前该系统已在京唐钢铁公司和首秦 金属材料公司连铸过程控制系统中得到了应用且运行稳定。实践证明, 该系统性能优越、 可靠性强且简单易用。 关键词 进程通信; 中间件; 代理器; 分布式系统; 过程控制; 冶金 中图分类号 T P 3 1 1 ; T F 7 7 7 文献标志码 B 文章编号 1 0 0 0 - 7 0 5 9 2 0 1 1 0 5 - 0 0 3 2 - 0 4 De v e l o p m e n t a n d a pp l i c a t i o n o f p r o c e s s c o mmu ni c a t i o n s y s t e m f o r m e t a l l u r g i c a l p r o c e s s d e v e l o pme n t p l a t f o r m H U P i - j u n , L I L i a n g - j u , P E N G H u i - j u n , L I Y a n b i n , Z H O U Y u e - j i e A u t o m a t i o n R e s e a r c h I n s t i t u t e , B e i j i n g S h o u g a n g A u t o m a t i o n t & I n f o r m a t i o n T e c h n o l o g y C o . , L t d . , B e ij i n g 1 0 0 0 4 1 , C h i n a Ab s t r a c t I n c o mp u t e r p r o c e s s c o n t r o l s y s t e m o f me t a l l u r g i c a l i n d u s t r y,s o f t wa r e s y s t e ms a r e g e n e r all y d i v i d e d i n t o s e v e r a l s u b s y s t e ms i n a c c o r d a n c e t o t h e f u n c t i o n a n d s c o p e .I n o r d e r t o ma k e t h e s e s u b - s y s t e ms wo r k i n c o o r d i n a t i o n,we n e e d t o s o l v e t h e p r o b l e m o f d i s t rib ut e d p r o c e s s c o mmu n i c a t i o n.S o, B e i j i n g S h o u g a n g A u t o ma t i o n I n f o r m a t i o n T e c h n o l o g y C o . . L t d . d e v e l o p e d a d i s t ri b u t e d c o m mu n i c a t i o n s y s t e m ,i n wh i c h a c o mmu n i c a t i o n mi d d l e wa r e wa s u s e d t o s o l v e t h e c o mmu n i c a t i o n p r o b l e m b e t we e n p r o c e s s e s .Pr o c e s s c o mmu n i c a t i o n p r o x y wa s als o u s e d t o s o l v e t h e c o mmu n i c a t i o n p rob l e m b e - t we e n c o mp u t e r s . At l a s t ,we s u c c e s s f u l l y b u i l t a d i s t rib u t e d c o mmu n i c a t i o n n e t wo r k i n t h e W i n d o ws Ope r a t i n g S y s t e m e n v i r o n me n t . At pr e s e n t ,t h e s y s t e m ha s b e e n u s e d i n J i n g t a n g St e e l Co mp a n y a n d Q i n h u a n g d a o S h o u q i n Me t a l Ma t e ri a l s C o . , L t d . f o r c a s t i n g p r o c e s s c o n t r o l s y s t e m a n d 1% I n s s t a b l y . T h e a p p l i c a t i o n r e s u l t s s h o we d t h a t i t h a s s u p e rio r p e r f o r ma n c e a n d r e l i a b i l i t y . Ke y wo r ds p r o c e s s c o mmu n i c a t i o n;mi d d l e wa r e;p r o x y;d i s t rib u t e d s y s t e m ;p r o c e s s c o n t r o l ;me t a l - l u r gy O 引言 一 个优秀 的冶金过程控制 系统 , 可 以为用户 提供一个敏捷 、 有 弹性、 精 细化 的生产环境 , 帮助 企业降低成本和提高产 品质量。冶金过程控制系 统开发过程中, 由于涉及到不同的工艺流程和种 类繁多的硬件类型 , 系统按照功能和作用范围被 划分为一个全局资源管理系统和若干功能高度 内 聚的子系统, 这些系统通过通信网络连接在一起 , 收稿 日期 2 0 1 1 - 0 3 2 4; 修改稿收到日期 2 0 1 1 - 0 7 . 1 】 作者简介 胡丕俊 1 9 7 0 - , 男 , 湖南 常德人 , 高级工程师 . 硕 士, 主要从事机 电一体化 、 工业 自动化 、 工业软件 、 冶金过程控制 、 智能化与 信息化在钢铁生产 中的应用等方 面的研究。 第5 期 胡丕俊 , 等 冶金过程控制开发平台中进程通信 系统的开发及应用 3 3 服从统一的管理 , 调工作 , 共 同完成生产任务 , 因此 , 在这个 系统 中, 进程之间高效率 、 高可靠性 的通信至关重要。 进程通信 , 简单来说就是在不 同进程 之间传 播或交换信 息。在过程控制系统开发 中, 进程间 通信有如下两种类型 第 1种是核心服务进程 问通信 , 通信 时不但 需要快速交换大量数据 , 而且通信 过程 中往往隐 含进程同步的要求。通常 的做法是 , 使用共享 内 存来实现进程 间大量数据 的交换 , 同时使用互斥 量来避免资源的访问冲突。另外 , 还需要使用信 号量机制来保证进程同步。 第 2种 是核心 服务进 程与用 户进程 间 的通 信 , 这种通信通常不需要交换大量的数据 , 对通信 速度要求也不高 , 但是 它往往需要跨 越计算 机边 界。解决这种通信 问题 时, 以往 的做法是要么借 助公共数据库 , 在数据库 中建立事件表 , 用户进程 通过对表的查询来获取所需事件 ; 要么使用 S o c k e t 套接字编程 , 用户进程通过 T C P / I P协议实现与核 心服务进程的通信。 由此可见 , 为 了满足 以上两种不 同类 型进程 间通信的需求 , 在系统开发过程 中, 开发人员至少 需要使用两种 以上 的进程通信技术 , 而且这些技 术本身难度就很高 , 掌握并 熟练使用这些技术并 不是每个开发人员都 能做 到的, 更何况他们还需 要关注与控制过程相关 的业务逻辑。因此 , 根据 以往的经验 , 在开发该类系统的时候 , 要在相 同或 者相似的问题上 消耗开发 团队大量 的时 间和精 力 , 而且开发出来 的产品往往还存在可靠性 、 可复 用性 、 兼容性等方面的问题 ⋯。 为了简化进程 间的通信过程 , 统一进 程通信 接 口标准 , 降低冶金过程控制系统开发难度并提 高软件产 品质量 , 在使用 Wi n d o W S 操作系统 的计 算机上 , 我们选择使 用 中间件技术开发进程通信 中间件 , 以满足核心服务进程问通信和进程 同步 的要求 ; 同时 , 为了实现使用 Wi n d o w s 操作系统 的 多台计算机 核心服务进程与用户进程 之问的进 程通信 , 在进程通信中间件的基础上 , 开发了分布 式进程通信代理器 , 搭建起分布式进程通信 系统 , 从而屏蔽了分布式通信时网络环境 和底层技术 的 复杂性, 使开发人员面对简单而统一的开发环境 , 减少了程序设计的复杂性 , 缩短了开发周期 , 减少 了系统维护 、 运行 和管理的工作量。分布式进程 通信系统如图 l 所示 , 图中 1~n和 n~r 凡是进程 的唯一 身份标 志 。 计算机 1 计算机 2 图 1分 布 式 进 程 通 信 系统 Fi g .1 Fr a me wo r k o f d i s t r i b u t e d s y s t e m c o mmun i c a t i o n 2 0 1 0年, 北京首钢 自动化信息技术有限公司 自主研发的分布式进程通信系统在京唐钢铁公司 和首秦金属材料公司连铸过程控制系统中得到了 应用 , 系统稳定 , 效果 良好 。 下面就分布式进程通信 系统的关键组成部分 中间件和通信代理器的开发设计进行介绍。 1 进程通信 中间件的开发 1 . 1 技 术的 比较与选 择 在进程通信 中间件 的开发 中, 我们先 后使用 不同的技术手段 , 开发了多个通信 中间件原型 , 比 较典型的是基于 C O M 松散耦合事件 L C E 的进 程通信 中间件和基于 Wi n d o w s A P I 应用程序编程 接 口 函数 的通信 中间件。其 中, 基于 C O M- k 松 散耦合事件 的进程通信 中间件 , 在使用 Mi c r o s o f t V i s u a l S t u d i o 2 0 0 8 C 4 - 4-动态模板库 A T L 开发时 效率很高 , 但是在分布式系统部署时却遇到 了非 常棘手 的 问题。 由于 C O M 通 信安 全 依 赖 于 Wi n d o w s 操作系统的安全策略, 在面对多样的网络 结构和不同硬件环境时 , 即使全部都使用 Wi n d o w s 操作系统 , 仍然会因为系统版本的不 同、 域或工作 组的不 同等导致 中问件工作异常 , 而 网络和硬件 的差异又不可能消除 , 因此这给维护和部署工作 带来了很大的麻烦 。相 比之下 , 使用 Wi n d o w s A P I 函数进行中间件开发时 , 更容易在异构 网络和硬 件平台下解决通信 问题 ; 同时, 使用 A P I函数也可 为 日后在非 Wi n d o w s 操作系统环境中开发通信 中 间件积累更多 的经验 , 为分布式进程通信系统 留 出足够的可扩展 空间 。因此 , 我们最终选择使 用 Wi n d o w s A P I 函数进 行 中间件 开发 。 1 . 2 进 程通 信 中间件设 计 当一个进程与另一个进程通信时 , 通常需要 具备 3个基本要素 1 通信对象识别, 负责确定 冶 金自 动 化 第3 5卷 通信双方的身份和权限; 2 数据传递 , 负责将调 用参数和执行结果在通信双方间传递 ; 3 时序控 制 , 负责协调通信过程中的时序控制。为此, 我们 在中间件设计 中, 将每个可以与其他进程进行通 信的进程定义为一个 服务 , 为每个服务设置一个 固定的身份标志 ; 定义一个类库 L S e r v i c e C e l l , 以标 准化数据输入输出过程; 为每个通信服务提供一 组时序控制标志, 它由 1 个服务互斥量、 1 个请求 互斥量和2 个信号量组成。图 2 给出了我们设计 的进程通过中间件通信的时序关系。 圜匦 圃圆 豳 璺 兰 塑 图2 进程通信时序图 F i g . 2 S e q u e n c e d i a g r a m f o r p r o c e s s c o m mu n i c a t mn 在图 2中, 我们使用 P o w e r D e s l g n e r面向对象 模型中的时序图画法 服务进程 当一个进程对外 提供可调用接 口时, 该进程被称为服务进程 、 进 程通信中间件、 客户进程为通信对象, 用方框表 示; 服务声明、 输人参数、 服务应答为消息传递过 程, 用实线加空心箭头表示; 调用服务为调用过 程 , 用实线加实 心箭头表示 ; 输出参数 为返 回过 程, 用虚线加空心箭头表示。具体操作如下 1 服务声明, 创建服务进程通信所需的时序控 制标 志 ; 2 调用服务 , 客户进程锁定请求互斥量; 3 输人参数 , 触发事件调用信号量 ; 4 服务应答 , 触 发事件应答信号量 ; 5 输出参数 , 将服务进程的 处理结果返回给客户进程并重置控制标志。 中间件产生的初衷是为了减少程序设计的复 杂性, 因此 , 我们设计的进程通信中间件接 口也很 简捷 , 只有 4个 初始化接 口 I n i t i a l i z e 、 服务监 听接口 Wa i t A p p l y 、 服务调用接 13 A p p l y S e r - v i c e 和服务响应接 口 S e n d R e p l y 。 接口实现的核心内容是如何在接 口中封装来 自不同进程间的数据交换操作 , 并实现操作过程 的同步与互斥。我们的设计思想是 使用 由中间 件 自主管理的共享内存作 为数据交换的缓 冲池 , 在中间件内部使用互斥量控制数据访问, 并使用 事件量实现事件 的等待机制和应答机制。这样 , 通过使用进程通信中间件 , 共享内存 、 互斥量和事 件量以及过程同步等原本复杂的操作过程现在对 于需要实现通信 的进程双方来说几乎是透明的, 进程的设计者就像调用进程内某一对象的公共函 数一样来调用另一个进程。 通过初始化接 口 I n i t i a l i z e , 进程声明自身 所承载的、 为下一步进程通信所做的必要的准备 工作 , 如创建通信资源并对这些资源初始化。 初始化工作完成后, 进程调用服务监听接 口 Wa i t A p p l y 进人事件等待状态 , 以接受客户进 程的调用 。调用此接 口时, 有定 时等待和永久等 待两种等待模式 , 通常可能得到三种结果 等待事 件发生 、 等待超时、 有错误发生 如 内存分配失败 等 。参照谅接口的返 回状态, 进程可 以选择执行 相应的操作。Wa i t A p p l y 流程图如图 3所示。 图3 Wa i t A p p l y J流 程图 F i g . 3 P r o g r am fl o w c h a r t fo r Wa i t A p p l y 当服务处 于事件等待状态 时, 客户进程可 以 调用服务调用接口 A p p l y S e r v i c e , 将服务进程 的身份标志和输人参数传递给 中间件, 中间件将 数据写人缓冲池 , 然后触发相应 的事件量。A p p 1 . y S e r v i c e 流程 图如图 4所示 。 服务进程收到客户进程的调用请求并从缓冲 池提取相应的输入参数后 , 执行预定 的处理过程 , 然后通过服务响应接 口 S e n d R e p l y 将处理结 果返 回给客户进程, 完成数据传递后重置控 制标 志。S e n d R e p l y 流程图如图 5所示。 2 分布式进程通信代理器的开发 分布式系统是若干个子系统 的集合, 子系统 间应该可以平行地相互作用, 并 且具有高度 的网 第5 期 胡丕俊 , 等 冶金过程控制开发平台中进程通信 系统的开发及应用 3 5 Y 将输入数据写入缓冲池 触发相应的事件量 三 譬 蒿 事 件 返 回 / \ / Y 上 从缓冲池读取输出数据 解锁资源 设置 函数返回状态 图 4 A p p l y S e r v i c e 流程图 F i g . 4 P rog r a m fl o w c h a r t f o r A p p l y S e r v i c e 图 5 S e n d Re p l y 流 程 图 F i g . 5 P r o g r a m fl o w c h a r t f o r S e n d R e p l y 络透明性 和功能 内聚性 。为此, 在进程通信 中间 件的基础上我们设计 了分布式进程通信代理器 , 实现分布在不 同计算机上 的进程 之 间的通信功 能。通过通信代理器 的使用 , 网络拓扑对 于进程 是透明的, 需要通信的进程间只需要知 晓彼此 的 身份标志即可。 简单来说 , 通信代理器是一个基于 T C P连接 的对象请求程序 , 它本身也是进程通信 中间件 的 一 个应用 , 代理器通过通信请求服务表 简称服务 表 来识别对象的物理位置 , 而这个服务表通常由 全局资源管理系统来统一维护。 通信代理请求分为 2种 1 本地请求 , 本地 计算机上的进程请 求与另 一计算 机上 的进程通 信 ; 2 远程请求 , 另一计算机上的进程请求与本 地计算机上的进程通信。 代理器启动时 , 首先根据服务表, 确认并登记 本地服务 ; 然后 , 它 自动与系统 中其他代理器建立 连接 , 连接成功后 , 把本地服务表广播给其他代理 器 , 并从其他 代理器 获取对方 的本地 服务表 ; 之 后 , 代理器将所有获得 的远程服务声明为 由自己 处理 。 代理器收到本地请求时 , 执行 以下步骤 1 确认请求有效性 ; 2 打包并将数据发送给远程代 理器 ; 3 等待远程代理器 返 回; 4 解包将结果 返回给进程通信 中间件。代理器本地工作流程图 如图 6所示。 图 6 本 地请 求代理流 程图 Fi g . 6 Pr o g r a m f l o w c h a r t f o r l o c a l r e q ue s t pr o x y 代理器收到远程请求 时, 执行以下 步骤 1 确认请求有效性; 2 解包并完成服务调用过程 ; 3 等待服务进程返 回; 4 打包并将数据发送给 远程代理器 。远程代理请求流程图如图 7所示 。 无论是本 地请求过程还是远程请求 过程 , 对 于服务进程和客户进程来说 网络都是透明的 , 通 信中间件与通信代理器 的连接 、 代理器 与其他代 理器的连接通过配置参数 自动完成 , 客户进程可 以与网络中任意位置 的服务进程通信 , 而不必关 心这个服务究竟运行在何处 。 3应用效果 进程通信 中间件开发完成后 , 于 2 0 1 0年 7月 在京唐钢铁联合有限公 司全 自动高效连铸机过程 下转第 4 2页 4 2 冶 金自 动化 第3 5卷 控制系统在连铸一个浇次连续 6炉转炉冶炼低碳 钢的控制效果 , 终点碳温命中率已达到 9 0 %以上。 5 结束语 经过半年多的运行 , 该项 目取得 了显著 的经 济效益, 为没有条件安装副枪的转炉上建立终点 命中率较高的炼钢数学模型, 开创 了成功的案例。 该项 目实际应用表明采用 A O A技术投资少 、 运行 成本低、 适应性强。A O A系统下一步的工作 目标 是进一步提高中高碳钢种的终点命 中率 , 推广其 应用成果。 参考文献 [ 1 ] 刘蚧. 炼钢生产 自动化技术[ M] .北京 冶金工业出 版社 , 2 O O 6 . [ 2 ] 刘浏. 转炉控制系统与在线检测技术 下 [ J ] . 冶金 自动化 , 2 0 0 0 , 2 4 3 5 - 7 . UU L i u . C o n v e r t e r c o n t r o l i n f o r ma t i o n a n d i t s o n - l i n e m e a s u r e m e n t B [ J ] . Me t a l l u r g i c a l I n d u s t r y A u t o m a t i o n , 2 0 0 0 , 2 4 3 5 - 7 . [ 3 ] 马竹梧, 邹立功, 孙彦广, 等. 钢铁工业 自动控制 炼钢 卷 [ M] .北京 冶金工业出版社, 2 0 0 4 . [ 4 】 张昆龙.模糊控制理论及转炉炼钢控制中的应用 [ D] .北京 北京科技大学, 2 0 0 3 . [ 5 ] 李文兵, 毕英杰, 纪扬 , 等. 基于生产流程的炼钢 一连 铸 一热轧仿真系统[ J ] .冶金 自动化, 2 0 0 5 , 2 9 3 3 7 - 42. L I We n b i n g , B I Y i n g - j i e ,J I Y a n g , e d a 1 .P r o d u c t i o n p r o c e s s b ase d s t e e l ma k i n g , c o n ti n u o u s c a s t i n g and h o t r o l l i n g s i m u l a t i o n s y s t e m[ J ] . Me t a l l u r g i c a l I n d u s t r y A u t o - ma t i o n , 2 0 0 5 , 2 9 3 3 7 - 4 2 . [ 编辑 魏方] 上接第3 5页 开始 请求 确认请求有效 \ / Y 燕 调 用 相 关 服 务 I 获取调用输 出 准备将输 出返回给调用者代理器 打包数据 状态返 回和服务输 出 并将数据返回给调用它的代理器 结束 图7 远 程请求代理流程图 F i 昏 7 P r o g r a m f l o w c h a r t f o r r e mo t e r e q u e s t p r o x y 控制系统中得到了应用。2 0 1 0年 1 0月, 在首秦金 属材料公司 2号连铸机过程控制 二级 系统 中, 我们使用了进程通信 中间件和分布式进程通信代 理器 , 基于 Wi n d o w s操作系统 , 搭建了分布式进程 通信网络。以上 中间件和通信代理器 的应用 , 使 进程间的通信变得更加简便 , 开发人员仅需面对 4 个统一接 口, 即可实现原本复杂 的分布式进程通 信工作 , 显著降低了应用系统的开发难度, 减少了 程序设计的复杂性 , 缩短了开发周期。两系统 自 投用至今运行稳定, 尚未发生过任何通信故障, 有 效地支撑了二级系统的稳定运行。 然而 , 分布式进程通信还仅仅是分布式 系统 开发中的一小部分 , 构建一个具有高分布式性、 高 通信性 、 高稳健性的分布式系统架构 , 还需要解决 跨语言 、 跨平台等技术问题 , 这也是我们下一步努 力的方向。 参考文献 [ 1 ] 左永红. 网络架构优化在京唐烧结厂 自动化系统中的 应用[ J ] . 冶金自动化, 2 0 1 0 增刊 2 4 8 8 - 4 9 2 . [ 2 ] 伽玛, R i c h a r d H e l m, R a l p h J o h n s o n , 等. 设计模式 可 复用面向对象软件的基础 [ M] . 李英军, 马晓星, 蔡 敏, 等, 译. 北京 机械工业出版社, 2 0 0 0 1 3 7 1 4 3 . [ 3 ] 罗晓沛 , 侯炳辉.系统分析师教程 [ M] .北京 清华大 学出版社 , 2 0 0 3 . [ 4 ] A n d r e l A l e x a n d r e s c u . c 设计新思 维 [ M] .侯捷 , 於 春景 , 译. 武 汉 华 中科 技 大学 出版 社 , 2 0 0 3 1 7 9 - 21 8. [ 编辑 薛朵] 本刊启事 本刊已被“ 中国学术期刊网络出版总库” 及 C N K I 系列数据库收录。刊中作者文章著作权使用费与本刊稿酬一次性 给付。如作者不同意文章被收录, 请在来稿时向本刊声明。 冶金自动化 杂志社
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420