1 引言
分布式控制系统是基本的控制结构形式。实现分布式控制控制工程网版权所有,多采用主从式微机网络形式。随着现代控制系统结构越来越复杂,控制系统大多数基于主从站节点建构远距离通信网络。由于RS-485总线性能优异、结构简单、组网容易,得到广泛的应用。
本项目参照OSI网络参考模型和TCP/IP(传输控制/网间)协议的设计思想,设计相对简化且适用于基于RS-485总线的多CPU控制系统的简化网络模型和通信协议。
2 RS-485简化网络模型的总体设计
2.1 总体设计
控制系统的网络通信采用主从式通信方式。主控制器与子控制器之间通信采用查询方式。子控制器之间不能通信,只有通过主控制器作间接通信。主控制器和子控制器之间数据交换过程为一问一答方式,该种方式可以防止多个子控制器之间无次序通信,从而避免扰乱整个网络数据传输。
2.2 OSI七层
模型的简化
OSI参考模型是国际标准化组织(ISO)制定的一种开放式互联的基准模型,其包含七层参考模型,分别为:应用层、表示层、会话层、运输层、网络层、数据链路层和物理层。而TCP/IP实质只有三层,即应用层、运输层和网络层。由于网络接口层框架内容空泛,所以综合OSI和TCP/IP的特点,可以简化为五层模型。然而从网络硬件和成本上考虑运用OSI的七层模型或五层模型,是不现实的。根据TCP/IP协议和OSI分层的思想,在实际应用中可采用进一步简化的网络模型即四层模型。该四层模型各层分别为:物理层、数据链路层、运输层和应用层。简化的四层模型如图1所示。
2.3 简化模型的结构定义
(1)物理层:采用EIA RS-485电气标准,节点通信接口采用MAX485完成电平转化,波特率为9600bps,主从式总线网络结构。
(2)数据链路层:定义各CPU控制器之间数据传输的基本帧格式,帧边界识别方法及其传输方式。
(3)运输层:提供控制程序之间通信服务,各CPU之间数据可靠连接和传输,检测传输中出现的错误、丢帧等错误并解决这些错误。
(4)应用层:利用下层提供的数据和接口,定义解释网络数据协议。将网络数据解释成控制软件能够使用的各种控制命令或将控制命令封装成符合网络传输的数据。
2.4 简化网络模型中帧封装格式
(1)指令数据帧格式:对于多CPU控制系统来说CONTROL ENGINEERING China版权所有,一般指令由“目的+内容”组成。“目的”为指令所要实现的功能,“内容”为要实现目的所要的数据。所以必须要为整个网络定义一个统一的帧格式,其如图2所示。
系统控制指令用1个字节表示,其表示范围为00H~FFH,共可以表示256条控制指令。如果采用短帧数据其可以提高数据传输效率,但由系统实际需要传输的数据长度来说,用2个字节的帧数据较为合适。累加和校验将前面的3字节(24位)的“0”和“1”全部相加,取和的最低字节(1字节)作为校验值。
该种帧格式没有定义源地址和目的地址,由于该控制系统通信采用主从通信方式。其主控制器与子控制器之间数据交换一一对应即可以用子控制器的地址作为查询码www.cechina.cn,当主控制器用某个子控制器地址查询且有正确回答时,其才能建立连接。同时主控制器和子控制器之间采用一问一答方式传送数据帧www.cechina.cn,这样可以明确区分帧数据来源和目的。
(2)连接控制字:本系统采用一个字节的连接控制字控制工程网版权所有,其通过一问一答的方式建立连接。但连接控制字包括地址查询字和连接状态字。为了区分两种控制字,其可以划分范围为:00H~79H为地址查询字,80H~FFH为连接状态控制字。
3 系统通信协议
3.1 数据链路层协议
关于数据帧的定义前面已经叙述,在这不予解释。在多CPU的控制系统中子控制器的地址可以通过在硬件中设置一个拨码开关,通过设置拨码开关的值来设置子控制器的物理地址。