目前,由于以太网的优势在工业控制现场仍然很难完全发挥出来,而且实时性和抗干扰能力也不能适应工业自动化范围中所有要求,所以最好的解决方案是将以太网同现场总线相结合,充分利用这两种通信技术在各自领域中的优点。具体表现为在生产管理与监控层采用高速以太网技术,而在现场设备层采用现场总线技术。
1 系统结构
本系统间隔单元设备采用嵌入式工业以太网技术,从而使智能装置真正成为工业以太网上独立的节点,保证了智能单元设备和上位机系统通信快速、完全、可靠,为远程管理智能装置创造条件。通信接口卡(Master板)与上位机信息交换是建立在TCP/IP协议上的国际电力行业标准的IEC104规约,采用Server/Client通信服务模式,Master板作服务器可以支持多客户同时登入。系统结构如图1所示。
2 装置内部结构设计
智能装置内部各功能模块采用高速现场总线CAN网络相连,总线不出装置,功能模块之间的数据交互快速可靠。在组帧上采用HLON规约,并使用CAN 2.0B扩展模式,为了保持协议标准化,在HLON规约的基础上封装了IEC101规约。其内部结构如图2所示。
3 硬件设计
通信接口卡使用双处理器结构。一部分是使用Motorola公司DSP56F807芯片作为接口卡的CAN通信管理模块;另一部分是使用Rabbit2000核的RCM2100集成卡作嵌入式网关和CAN到ETHERNET规约转换模块。通信接口卡硬件逻辑框图如图3所示。
通信接口卡采用主从工作方式,即DSP56F807作为主处理器,利用其自带的MSCAN模块负责管理CAN通信。DSP外扩64KBRAM,用于存储数据。RABBIT2000作为从处理器,负责进行CAN到ETHERNET转换,并负责管理装置同后台的以太网通信。RABBIT2000与DSP接口方式采用并行接口。板上还设有RS485、RS232接口,可以用于PC调试或与后台连接。DSP56F807采用3.3V电源供电,RABBIT2000采用5V电源供电,经测试只要输入电压达到2.1V,RABBIT2000即认为高电平,DSP56F807输出高电平在2.1V以上;DSP56F807 I/O可以接受5V信号,所以DSP与RABBIT2000可以直接相连,无须进行电平转换。
(1)DSP56F807主处理器
DSP数据总线D0~D15地址总线A0~A15,外扩64KRAM存储数据,、连接外扩RAM的读、写允许端,作为外扩RAM 片选信号。DSP的GPIOB口连接从处理器的SD0~SD7,GPIOD0、GPIOD1连接从处理器的SA0、SA1,GPIOD2、GPIOD3连接从处理器的写、读允许端()。一个中断连接从处理器的,作为从处理器中断申请。DSP的PWMB2连接MAX705的WDI作为外部硬件看门狗喂狗信号,PWMB4连接发光二极管作为DSP的运行指示灯。用DSP的两个SCI模块RXD0、TXD0、RXD1、TXD1做成标准RS-232、485接口。引出DSP的JTAG口用于调试,用DSP的MSCAN模块和82C250作为CAN通信端口。通过DSP的SPI口与RABBIT2000同步串口B相连,作为另一种接口方式。DSP采用3.3V电源供电。(2)RABBIT2000从处理器
该处理器使用内核为RABBIT2000的RCM2100集成卡。其SD0~SD7连接到DSP的GPIOB0-GPIOB7。SA1、SA0用来选择从处理器接口的四个数据寄存器中的一个,连接到DSP的GPIOD1、GPIOD0。从芯片选择管脚连接到DSP芯片的一个输出端GPIOD4。连接到DSP的GPIOD3,如果为低,这根线被拉低使地址线所选择的寄存器的内容被放置到总线上,连接到DSP的GPIOD2 ,这根线能够将数据总线上的数据锁存进入地址线所选择的寄存器中。连接到DSP的一个中断口,在它变低时向DSP申请中断。如果从处理器写SPD0R寄存器,这根线置为低电平,声明从处理器中有可用的数据;如果主处理器写从处理器状态寄存器,这根线变为高电平。使用串口A作为编程口,串口B及CLKB作为同步串口和DSP的SPI口相连,组成另一种接口方案。使用PC2作为RABBIT2000运行指示灯,以太网模块(RCM2100自带RJ-45接口)引出通信指示灯。PE4、
4.2 协议转换与以太网通信程序
嵌入式协议转换程序的设计思路为:当有以太网应用层数据发送到现场智能装置时,Rabbit把TCP数据报文解析出来后即发送给DSP处理,而当来自DSP的装置内部数据要发往以太网应用层时则将其打包成TCP数据报文发送给目标TCP客户端。该程序由Dynamic C开发环境开发。Dynamic C是Z-world 公司为其Rabbit系列产品开发的一种改进C语言开发系统。它提供丰富的函数库,能实现Socket级别的TCP/IP编程,并支持各种网络协议(如Http,Ftp等)。调用“dcrtcp.lib”,定义数据类型为tcp_Socket的变量,建立TCP套接字,利用其特殊的协语句(CoState),可以实现在单一程序中实现多线程,同时建立与处理多个TCP连接,支持多客户端同时登入。
4.3 上位机应用层TCP/IP客户端程序
后台接口软件具有后台监控软件的中转代理和智能装置定值下载、报文监视,以及PC调试等功能。后台接口软件使用Delphi 6.0快速开发环境(RAD)开发。利用其自带的TClientSocket组件建立TCP客户端,TClientSocket组件封装了Socket套接字,只要将组件Active属性设置为True,那么它就会自动不断尝试连接指定IP地址与端口(IEC60870-5-104指定端口为2404)的TCP服务器。TClientSocket组件自带的TNMUDP组件与其他应用程序(如后台监控软件)通信;开放原代码的tmsAdvstring第三方组件包实现报表的生成与打印。
本文提出的基于双处理器的CAN总线与以太网互连方案是一种高性能、可靠快捷的互连方案,已经在局地网成功应用于智能装置中,满足水电站、变电站等工业场合的应用要求。该互连方案使智能装置与上位机系统有更深层次的互连,为远程管理智能设备创造条件,具有非常广阔的应用前景。