1. 引言
过去的十几年间,现场总线是过程自动化领域中现场级通信的主流解决方案。随着技术的不断进步和发展,传统现场总线表现出了越来越多的局限性。一方面,随着现场设备智能程度的不断提高,控制变得越来越分散,分布在各处的智能设备之间以及智能设备和工厂控制层之间需要连续地交换控制数据,这使得现场设备之间数据的交换量飞速增长;另一方面,随着计算机技术的发展,企业的信息管理系统需要读取现场的生产数据,并通过工业通信网络实现远程服务和维护。如果管理层和现场级能够使用统一的、与办公自动化技术兼容的通信方案,可以大大简化控制系统结构,节约系统实施和维护的成本 [1] 。
基于上述需求,以太网技术开始逐渐从工厂和企业的信息管理层向底层渗透,广泛地应用于工厂的控制级通信。在自动化世界中使用以太网解决方案有几方面显著的优势:统一的架构、集成的通信以及强大的服务和诊断功能。从目前工业自动化控制领域的情况来看,以太网技术取代现场总线是工业控制网络发展的必然趋势。
本文所设计的一种基于工业以太网标准PROFINET的地面数据采集系统,采用西门子PLC1200作为数据采集核心处理单元,可兼容常规总线如PROFIBUS总线和以太网设备,克服传统数据采集装置硬件设计单一,不易于扩展,兼容性差等缺点,实现从管理级到现场IO设备的以太网解决方案,有利于系统实施及升级扩展,节约维护成本。
2. 正文
2.1. PROFINET概述
钻井现场地面数据采集系统是用于配合井下随钻测量设备应用的地面系统,一般具有数据采集、初步处理、传输三大主要功能,实现多种传感器及控制设备信息采集及传输至服务器。随着钻井信息自动化程度的提高,传统的基于RS232、485等总线等方式的传输,已很难满足高速、网络化、自动控制的要求。表1列出了常用总线及以太网标准速率及优缺点:
综上所述,各种标准各有优势,代表了不同时代应用的特点,相比较而言,PROFINET工业以太网具有兼容性更强、传输速率高的优点,是目前研究与应用的热点。
PROFINET的全称是Process Field Net,是一种用于工业自动化领域的创新、开放式以太网标准(IEC 61158),由西门子公司和PROFIBUS用户协会开发。PROFINET是唯一使用已有的IT标准,没有定义其专用工业应用协议的总线。它的对象模式是基于微软公司组件对象模式(COM)技术。对于网络上所有分
表1. 常用总线对比
布式对象之间的交互操作,均使用微软公司的DCOM协议和标准TCP和UDP协议。
2.2. PROFINET特点
PROFINET的主要特点如下:
1) 用于自动化的开放式工业以太网标准
使用PROFINET,设备可以从现场级连接到管理级。具有多制造商产品之间的通讯能力,自动化和工程模式,并针对分布式智能自动化系统进行了优化。其应用结果能够大大节省配置和调试费用。PROFINET系统集成了基于PROFIBUS的系统,提供了对现有系统投资的保护,也可以集成其它现场总线系统。
2) 基于工业以太网,并且是一种实时以太网
通过PROFINET,分布式现场设备(如现场I/O设备)可直接连接到工业以太网,与PLC等设备通讯。并且可以达到与现场总线相同或更优越的响应时间,其典型的响应时间在10 ms的数量级,完全满足现场级的使用。
3) 采用TCP/IP和IT标准
PROFINET的突出特征就是可以同时传递实时数据和标准的TCP/IP数据。在其传递TCP/IP数据的公共通道中,各行业已验证的IT技术都可以使用(如http、HTML、SNMP、DHCP和XML等)。在使用PROFINET的时候,可以使用这些IT标准服务加强对整个网络的管理和维护,节约调试和维护的成本。
4) 实现现场总线系统的无缝集成
PROFINET实现了从现场级到管理层的纵向通讯集成,一方面,方便管理层获取现场级的数据,另一方面,原本在管理层存在的数据安全性问题也延伸到了现场级。为了保证现场级控制数据的安全,PROFINET提供了特有的安全机制,通过使用专用的安全模块,可以保护自动化控制系统,使自动化通讯网络的安全风险最小化。
3. 系统方案设计
目前,钻井现场地面数据采集系统设计的常规方法有自行设计及使用PLC设计,自行设计电路具有设计灵活的优点,但也具有以下弊端:
1) 传输协议自定义,不规范,不便于扩展使用多种设备;
2) 硬件设计结构固定,扩展功能不便,接口和硬件电路均为单一设计,可靠性需经过老化测试;
3) 数据传输方式多用RS232、485串口总线,成本低,但速率较低。
使用西门子PLC模块化设计具有核心模块稳定可靠的优势,CPU模块上具有多种通用接口,便于扩展应用多种设备,接入设备后只需要软件组态及编程即可完成配置,并兼容所有满足工业以太网标准的设备。
系统方案设计图如图1所示,系统主要包括服务器、PLC1200主控制器、激光测距仪、编程计算机、其他PROFIBUS设备和无线AP等,这些设备之间均使用PROFINET协议进行通信,其中激光测距仪为传感器级的终端,即现场IO设备,可实现从人机交互的服务器到现场IO设备的“一网到底”,并且可兼容其他非PROFINET设备,如通过PLC1200接口接入常规4~20 mA绞车传感器等,或其它PROFIBUS设备。
3.1. 硬件实现
系统选型如下,硬件采用使用西门子PLC1200系列的CPU,作为核心处理器,是专门为工业环境设计的控制装置,其本身安全性、可靠性已为业界共识。配备SM1231 4AI模拟量模块,可满足6路模拟量输入需求,绞车传感器接入数字量I/O高速计数接口,可实现100 kHz高速计数,保证数据采集精度和准确度。
激光测距仪选用德国SICK公司的DL100-22HA2112,采用二级安全激光,具有PN接口。绞车传感器选用防爆型SK-8J06,工作电压:9 V (DC);输出信号:1 mA~3 mA (NAMUR信号);工作温度:−40˚C ~+85˚C;最高转速:1250 r/min;编码盘齿数12齿 [2] 。
1200 CPU硬件接线示意图如图2所示:
现场I/O设备可分为具有PROFINET的传感器和不带有此接口的普通传感器,接入具有PROFINET的激光测距仪需要用到GSD文件,即设备描述文件,其包含PROFIBUS I/O设备特性的描述,也就是设备所支持的数据传输速率或是发送给PLC的数据信息格式,每个GSD文件包含一个位图。一个PROFIBUS I/O网络将需要这些文件和对应的位图,每个设备由PROFIBUS I/O用户组织者(PNO)指定一个ID数字。
其它不具有PROFINET接口的传感器,根据模拟量和数字量的输出类型,分别接入CPU模块的模

Figure 2. Interface of CPU hardware
图2. CPU硬件接口图 [3]
拟量和数字量输入接口,预留出一定数量的硬件接入接口,如有后期设计以外的传感器需求,则可以在预留数量内均可随时接入,硬件灵活、便捷,容易实现。然后,只需要修改PLC的软件控制程序,即可满足扩展数据采集的需求。
3.2. 软件实现
PLC1200接入各种硬件设备后,将根据GSD文件对应的设备建立软件组态,并组态网络。配置好网络设置后即可进行软件编程。软件主要用的模块如下:初始化模块、组织块模块、数据传输模块和高速计数模块。具体软件架构流程如图3所示:
首先,通过初始化建立系统初始化参数和PROFINET (简称PE)总线,然后依次读取传感器的采集的数据,读取到的数据通过判断StartTAG标志位,实现数据有效性验证,如果没有异常,则发送状态标志位NAN1,表示数据正常。如果有异常,则发送NAN2通知服务器处理错误,判断都正常后再进行MODBUS TCP数据的发送与接收。
PLC与计算机TCP通信软件协议采用Modbus TCP协议,不需要额外使用西门子数据采集网卡及上位机软件,大大节约了系统成本,提高了效率。Modbus TCP传输过程中使用了TCP/IP以太网参考模型的5层 [4] :
第一层:物理层,提供设备物理接口,与市售介质/网络适配器相兼容;
第二层:数据链路层,格式化信号到源/目硬件址数据帧;
第三层:网络层,实现带有32位IP址IP报文包;
第四层:传输层,实现可靠性连接、传输、查错、重发、端口服务、传输调度;
图3. 软件流程图
第五层:应用层,Modbus协议报文。
Modbus TCP数据帧格式 [5] :数据在TCP/IP以太网上传输,支持Ethernet II和802.3两种帧格式,Modbus TCP数据帧包含报文头、功能代码和数据3部分,MBAP报文头(MBAP、Modbus Application Protocol、Modbus应用协议)分4个域,共7个字节。
PLC1200与计算机之间通信协议采用的是Modbus TCP协议 [6] ,具体协议格式如图4:

Figure 4. Structure of Modbus TCP [8]
图4. Modbus TCP格式 [8]

Table 2. Parameter of float point number
表2. 浮点数参数表
数据传输格式采用浮点数传输,16进制浮点数的表示方法,根据IEEE的标准,分为32位和64位两种 [7] ,参数分别如表2:
16进制转换为10进制浮点数的公式如下,SGL表示需要计算的单精度浮点数,SIGN表示符号位,EXPONENT表示指数位,MANTISSA表示尾数位:
举例:
将0 × 42800008转换为10进制数,方法如下:
1) 先将16进制数转成二进制数01000010100000000000000000001000;
2) 1位符号位为:SIGN = 0;
3) 8位指数位:
EXPONENT = 10000101 = 133 [10进制];
4) 23位尾数位:
MANTISSA = 00000000000000000001000;
5) 1.尾数为:1.00000000000000000001000 = 1.0000009 [10进制];
6) 套入公式得
系统采用MODBUS TCP协议传输数据,可同时采用不同端口,实现与工控电脑WINCC组态及普通电脑可同时使用网线传输数据,以及兼容多种以太网设备,包括无线传输设备等。
4. 结语
该系统测试应用效果良好,测试读取数据采集间隔20 ms,可完整读取PROFINET总线数据无误码,如图5所示。表明此系统数据传输速度快,传输稳定可靠,有效解决了传统设计中传感器数据采集误
差大的问题。现场使用灵活,可方便扩展系统,可在钻井现场环境数据监控及采集处理中发挥重要作用。