You are on page 1of 4

44 柳 钢 科 技 2016 年第 4 期

基于 iXComPCS 通信中间件的设计与应用
邓 海 张恒瑞 梁小波
(信息管理部)

摘 要:介绍柳钢MES 系统中用于采购质量组批系统与其他外部系统进行电文通信的中间件
iXComPCS,及其平台应用环境与配置部署 。
关键词:MES 系统;电文通信;中间件;iXComPCS

Design and Application of the Message Changer


Based on iXComPCS
DENG Hai ZHANG Hengrui LIANG Xiaobo
(Information Management Department)

Abstract: The message changer iXComPCS used for the text communication between the purchasing
quality grouping system and the other external systems, as well as its platform application environment and
configuration deployment among the whole MES system of Liuzhou Steel were introduced.
Key Words:MES;Text Communication;Message Changer;iXComPCS

1 前 言 2 XComPCS 通信中间件
柳钢 MES 系统设计涵盖了企业生产制造执 2.1 通信中间件简介
行管理的各个环节,包括采购、物流、质量、生 通信中间件是位于系统平台和设备硬件平台
产、销售等。目前,系统从功能上划分有铁前 (通信介质 / 协议) 之间解决系统网络互连的中
MES、钢后 MES、物流运输、采购质量组批、检 间适配层,负责不同计算机系统间数据交互 / 传输
化验、检斤以及包括 L2 在内的数采系统等,是 的通信软件 [1],它最普遍的形式有 3 种:远程过
一个广义的制造执行系统。众多的子系统不可能 程调用 (RPC) [2]、会话编程 (TCP/IP 的 Socket)
独立运行,否则就失去了实施 MES 的意义。为 以及消息队列中间件 (MQI) [3],具体应用如:
了让不同平台下的系统能够进行有效地通信,需 iXCOM、iXComPCS。
要使用通信中间件负责消息的传输,以保证系统
2.2 iXComPCS 概述
底层数据的交互。在采购质量组批系统的开发过
通信中间件 iXComPCS 是基于 TCP/IP 协议
程中,使用了 iXComPCS 作为通信中间件,通过
开发的,用于过程控制系统与其它系统之间进行
合理设计使其能与铁前 MES、物流运输系统、
Socket 通讯的中间件软件。该软件专注于底层通
检化验系统和原燃料采购系统进行高效和准确的
信技术的具体实现,将业务功能与通信功能有机
电文通讯。本文进行应用总结介绍。
结合起来,使业务开发人员可以更多地关注业务

作者:邓 海,研究生学历,助理工程师,主要从 功能开发而不必担心通信问题,从而提高应用系


事信息化与计算机技术工作。 统开发的效率。iXComPCS 是一款具备工业级处
2016 年第 4 期 邓 海等: 基于 iXComPCS 通信中间件的设计与应用 45

理性能、运行稳定可靠的跨平台软件,可实现 以及原燃料采购系统) 电文通信的解决方案。


与过程控制系统相关的基础自动化系统、信息 3.1 平台应用环境
管理系统、过程控制系统之间的通信,在降低
服务器端,操作系统:Window Server 2008;
Socket 通讯开发复杂度、提高项目可移植性的同
网络协议:TCP/IP 协议;运行库:.Net Frame-
时,还能大大降低企业后期的维护成本。
work 3.5、vs2008;数据库:Oracle 11g。
iXComPCS 平台主要组成部分见图 1。其主
客户端,操作系统:Window 7 专业版;网
要功能: (1) 发送应用电文:应用系统向外部
络 协 议 : TCP/IP 协 议 ; 开 发 软 件 : vs2012、
系统提供数据,iXComPCS 提供发送电文 API,
PL/SQL develop TOAD for Oracle。
用 户 可 通 过 对 该 API 的 操 作 实 现 电 文 发 送 。
3.2 iXComPCS 配置部署
(2) 接收应用电文:应用系统接收外部系统数
据,iXComPCS 提供接收电文 API,用户通过调 3.2.1 回线配置

用该 API 主动获取电文。 (3) 支持多种通信协 使用 iXComPCS 通信中间件实现不同系统间


议:包括西门子、三菱等多种主流品牌 PLC 设 电文通信,需要在平台提供的客户端管理工具
备,并支持不同协议的控制系统和信息系统。 中进行回线配置。回线是在双方通信程序间建
(4) 日志管理:可对每条回线上的日志进行分 立的一个 TCP 连接,一条回线既可接收也可发
别管理。 (5) 分布式管理回线状态:可通过客 送数据。以采购质量组批系统与检化验系统间
户端界面实时对每一条回线进行启停操作,互 电文通信为例,配置的电文信息表见表 1,电文
不干扰。 (6) 收发电文的存储:通过配置回 发送与接收对应用系统而言是与 Client 和 Server
线,使用内置的嵌入式数据库对收发电文进行 一致的,如果采购质量组批系统需要发 QPJ101
存储,增强平台的可靠性。 (7) 外部数据库支 号电文给检化验系统,此时 QP 作为 Client,因
持:通过外部数据库对接收的电文进行保存, 此相应也要配送请求的端口号等信息。除此之
扩展平台使用范围。 外,还要配置相应的外部系统 IP、端口号,连
应 用 前台控制工具 接类型、响应方式、超时、心跳间隔等。
表1 电文信息表
Startup
ID Direction Mode memo
后 program/count
通信核心 远程
台 管理服务 JQP101 receive passive PCS2DB 接收
控 服务
制 QPJ101 send High-Reliability 发送

具 后台进程管理服务
3.2.2 接收方式的选择
平台提供的电文接收方 式 主 要 有 : (1)
图1 iXComPCS 平台框架构成 PCS_Receive 方式接收:在没有安装数据库、i-
Plature 等环境下,通过应用编程调用 PCS_Re-
3 设计与应用实施方案
ceive 接口来实现接收电文; (2) iPlature 方式
本节中将重点介绍 iXComPCS 通信中间件在 接收:在安装 iPlature 平台的环境下,通过配置
服务器端的部署配置,以及利用外部数据库方 iPlature 服务来实现接收电文; (3) 外部数据
式设计实现应用系统 (采购质量组批系统) 与 库方式接收:在安装外部数据库如 Oracle、DB2
外部系统 (铁前 MES、物流系统、检化验系统 等情况下,通过该方式进行电文接收后将数据
46 柳 钢 科 技 2016 年第 4 期

写入数据库,然后应用编写数据库轮询程序去 方案。经综合分析,认为使用数据库动态配置
提取数据; (4) XMLRPC 方式接收:如果希望 电文内容的方式更佳。
将接收到的数据转发给其他的目标主机,则可 为此,在数据库中建立存储电文接口表
通过 XMLRPC 方式来接收电文。 (表名 MESSAGEITEM),生成表的 DDL 如下:
综合考虑系统数据用途以及 Oracle 数据库 1 CREATE TABLE MESSAGEITEM
处理数据的高效性,选择外部数据库方式接收 2 (
电文进行方案设计实施。因此,要将平台 3 MSGNAME VARCHAR2(40),-- 名称
iXComNotify.ini 文件中的默认接收方式配置为外 4 DBNAME VARCHAR2(40),-- 数据库字
部数据库方式,具体如下: 段名
1 DBType=Oracle 5 DBTYPE VARCHAR2(40),-- 数据类型
2 DBUserName=LGCGZL 6 LENGTH INTEGER,-- 长度
3 DBPassword=* 7 DIGITS INTEGER DEFAULT 0,-- 小数
4 DBName=ORCL 位数
5 [DLL] 8 MSGDESC VARCHAR2(40),-- 描述
6 #Name=NotifyApp 9 NULLVALUE VARCHAR2 (100),-- 空 值
7 #Name=NotifyAppXMLRPC 处理项
8 # 用数据库模式时,修改该项内容为 10 MSGTYPE VARCHAR2 (20),-- 电 文 类
9 Name=NotifyAppDB 型

10 Mode=1 11 MSGID VARCHAR2(10),-- 电文号


12 SEQNO INTEGER-- 序列号
11 KeepDate=1
13 )
12 # 扫描周期
后台存储过程通过该表获知电文内容的解
13 ScanTime=30
析拆装规则,并把解析后的电文内容还原到与
当外部系统 (如检化验系统) 发送电文到
外部系统一致的字段,再存储到应用数据库的
平台时,iXComPCS 就会接收并存储到已创建的
中间表,这样开发者就可以专注应用层工作,
接 收 缓 存 表 RECEIVEDMESSAGEBUFFERLOG
简便地按需提取数据。
中。同理,应用系统 (采购质量组批系统) 发
iXComPCS 通信中间件的应用核心在于如何
电文给外部系统 (如检化验系统) 时,也需要 处理发送和接收的电文数据。因为接收到的外
在 数 据 库 中 创 建 一 个 发 送 缓 存 表 部电文内容不是固定的关系模式,而是由原有
SENTMESSAGEBUFFERLOG。 表 中 有 几 个 主 要 的若干字段信息,按照事先约定的类型、长度、
字 段 MESSAGEID、 BUFFERDATA 即 电 文 号 、 排列次序拼接在一起的,其中包括常规的主表,
电文内容,而电文内容则需要后台编写程序进 也存在主从表通过循环标识方式把从表数据组
行解析。 合起来发送到外部系统的情况。因此接收方或
3.2.3 数据库处理电文设计 者发送方都必须能有效识别、处理不同电文组
合的传输形式。本文处理接收电文过程的流程
随着外部系统的完善,用户需求的不断提
见图 2,后台程序通过工作任务 JOB 定时扫描接
出,为快捷可靠地处理各类电文通信,必须设
收缓存表,调用程序解析电文内容,并转存到
计出可扩展、易复用且具有独立性的电文处理
中间表供应用系统使用。发送电文处理过程可
2016 年第 4 期 邓 海等: 基于 iXComPCS 通信中间件的设计与应用 47

看作接收电文处理过程的逆过程,由应用系统 3.2.4 测试效果


把通信数据发送到中间表,通过后台程序处理 设计如下测试步骤:
转发到发送缓存表 SENTMESSAGEBUFFERLOG, 开始 -> 下发检验委托到检化验系统 -> 检
iXComPCS 再按周期转发电文数据到外部系统, 查发送中间表 -> 检查发送缓存表 BUFFERDA-
如检化验系统、铁前 MES 等,发送电文处理流 TA 内容及 PROCESSFLAG 标记 -> 确认检化验
程图 (略)。 系统是否接收到电文 -> 结束。
开始
开始 -> 检化验系统试样接收反馈检验实绩
-> 检查接收缓存表 BUFFERDATA 内容及 PRO-
JOB 扫描接收缓存表 (R)
CESSFLAG 标记 -> 检查中间表 -> 检查应用系

结束 未处理电文 统是否正确收到检验值 -> 结束。
Y 通过测试跟踪和数据核对,测试结果数据
取出 MESSAGEID、BUFFERDATA 与实际传输的数据值完全一致,表明实施的电
查找 MESSAGEITEM 中相同电文号内容
文收发设计方案行之有效。

4 结 语
带循环内容
N Y 柳钢 MES 系统涵盖了不同层次的信息控制
执行游标,截取 BUFFERDATA 处理循环数据,横表转纵表 系统,业务范围涉及到全公司制造生产过程的
方方面面,数据信息流贯穿其中。这就对不同

存储电文到中间表
系统间的可靠数据通信提出了更高要求,以确
保数据高效准确的传输。本文正是针对这种要
PROCESSFLAG=1
求,引入 iXComPCS 通信中间件,给出的应用系
应用程序扫描中间表 统与外部系统进行有效通信的解决方案;测试
结束 结果也表明该实施方案稳定可靠,且能使开发
工作更加关注业务本身,从而提升了系统业务
图2 接收电文处理流程图 处理水平。
参考文献
1 张云勇, 张智江, 刘锦德, 等. 中间件技术原理与应用.北京: 清华大学出版社, 2004.58
2 倪盛斌. 两种多主体平台集成方案的设计与实现:[学位论文]. 云南:云南大学, 2015
3 孟凡红, 李荭娜. IBM Websphere MQ 中间件应用浅析. 信息系统工程, 2015 (1): 91 ~92
444444444444444444444444444444444444444444444444444444444

(上接第 5 页) 同时,石灰石的降温效果明显且 (2) 采用石灰石替代部分石灰造渣工艺,


价格更低廉,如大规模使用可为企业节约较大 对各项技术指标有不同程度的促进作用,而且
成本,创造出较大经济效益。 钢水终点成分稳定,脱磷硫效果良好。

参考文献

1 唐 彪,王晓呜,邹宗树,等.石灰石转炉炼钢的静态模型.东北大学学报:自然科学版,2014, 35 (4):
534~538
2 曹彦卓,吴红应,董放战.石灰石粒度对石灰煅烧质量的影响.有色金属节能,2006, (5):11~13
3 李 宏,曲 英.氧气转炉用石灰石代替石灰造渣炼钢节能减排初探.中国冶金,2010, (9):59~62

You might also like