1 概述
XCOM是上海宝信软件股份有限公司自主研发的通信中间件,它基于TCP/IP协议与对等的通信程序进行数据交换,广泛应用于制造业,交通管理和其它自动控制领域。本文档描述了宝钢标准通信协议。
2 基本术语与约定
2.1 基本术语
1. 应用(Application):处理用户相关数据的程序;
2. 通信中间件(Communication Middleware):负责为应用传输数据的程序,如:XCOM;
3. 数据块(Data Block):应用系统希望接收或发送的一整块数据(应用数据),即为应用和通信中间件之间的数据收发单位,最大数据块长度不超过4096字节。
4. 电文(Message):在通信中间件之间传送的数据包,一般由电文头,电文体(数据块)和结束符组成。
该协议存在两种电文:数据电文和心跳电文。
a) 数据电文用于传送应用系统的数据块,XCOM不对该类型电文进行拆分,但该电文有可能被底层的TCP协议进行拆分和重组。
b) 心跳电文用于监视回线和对方通信程序的状态,用作状态检测,双方可根据实际需要决定是否发送心跳电文。
5. 回线(Session):在双方通信程序之间建立的一条TCP连接,一条回线既可以接收也可以发送数据,但一般一条回线只是用作单向的数据传输。因此通信双方通信程序之间需要建立两条回线。
6. 通讯传输方式(Communication Transfer Mode):静态SOCKET。
静态SOCKET:静态SOCKET通信是指通信双方建立的TCP/IP连接一直保持,直到停止通信程序或异常终止。通信设计思想、原理、通信模式,采用的协议规范都与动态SOCKET方式相同。
该协议采用静态SOCKET连接方式。
7. 网络地址,这部分解释了以太网的信息。
a) 以太网地址(MAC地址)
以太网地址用于以太网物理层上的处理。以太网上的所有计算机都有固定的以太网地址和固化代码的网卡,它们被每个网卡厂商指定了唯一的号码。
b) IP地址
IP地址用于网络上TCP/IP和UDP/IP协议的处理。网络用户必须为每个网络节点指定IP地址。以下列出了三类IP地址:
A类地址:有1,677,214个形如N.H.H.H(1<=N<=126)IP地址的节点号
B类地址:有65,536个形如N.N.H.H(128.1<=N.N<=191.254)IP地址的节点号
C 类地址:有256个形如N.N.N.H(192.0.1<=N.N.N<=223.256.254)IP地址的节点号
( N:网络号 H:主机号 )
在同一网络内的所有网络节点必须被指定同一IP地址类。C类地址将被应用在网络内的计算机系统。
2.2 协议
一台计算机通过TCP/IP协议与网络中的其它计算机通信。网络协议遵守OSI模型的物理和数据链路层的IEEE802.标准。
接收和发送的电文使用两种逻辑连接。逻辑连接也被成为回线,每个逻辑连接运用Server/Client模式。
在TCP/IP的socket接口中,Server/Client模式是十分流行的。
Server/Client模式决定如何建立逻辑连接,但在建立连接后并不确定通信规约。在规约中,发送数据的主动方和接收数据的被动方都是提前确定的。
主动方类似Server/Client模式中的client端,直到逻辑连接建立后,主动方总是发起通信连接。
被动方类似Server/Client模式中的Server端,直到通信连接建立后,被动方等待来自主动方的电文。
在标准规约下,此处建立的两条回线必须都是静态socket,即通信双方建立的TCP/IP链路自始至终一直保持连接,直到某一方通信程序退出或异常终止。
2.3 电文校验
l XCOM对接收到的电文头作检查,如果电文头的基本格式非法,则报错。
l 任何一种电文在通信中间件的配置表中都应该有定义,否则报错。
l XCOM收到的实际电文长度与电文头部定义的长度不符,则报错。
2.4 应用应答
应用双方视需求要求接收方发送相应数据电文的应用应答电文,应用应答电文在XCOM看来也是普通的数据电文。一种类型的数据电文是否需要应用应答由应用双方协商决定。
2.5 电文格式
以下规约用于计算机间传送的电文:
1) ASCII文本域的左补0和右补空格问题,分数字数据和字符串数据:
数字数据:在不满位数时左补0:
例如:421: “00421”在5位数字值的情况下
-421: “ -0421”
字符串数据:在不够长度时右补空格
例如:TSB: “TSBDDDD”在7位字符串值的情况
2) 电文包括头部和实体部分。实体部分有数据内容和结束符。
电文头部 (40 bytes) |
数据内容 (max 4055 bytes) |
结束符 (1 bytes) |