
应用研究
款事就写皮用
CAPE-1200油井测控终端异步串行通讯应用
王月成’郭开政’姜峰
(1.新疆中亚石油技术有限公司新疆岛鲁水齐830011;2.新疆油因公司准东采油厂新疆昌吉阜康831511)
百要:本文根据事行通讯的基本原理,以PC与中石油CAPE-1200油并测控终端为案例,详细讨论PC的事行通退功能及在项目中实服摘
应用。主要介绍如何使用PC完善的通试功能完成各种实际应用,指出了各种方法的优势和不足,阔速了如何扬长避短、综合应用各种方法端程实现可靠而高效的事行数据收发,
关键调:异步事行通试通讯协议MODBUS协议
中图分类号:TP368.1 1、引言
文献标识码:A
文章编号:1007-9416(2011)09-0108-0
串行通信主要由数据的接收和发送两部分。程序设计时收发一
随着数字化技术的飞速发展,通讯传输在油田自动化控制领城得到越来越产泛的应用。采用事行通讯方式具有使用线路少、成本低、简单易用的特点,在远程传输时,避免了多条线路特性的不一致雨被广泛采用。现在各控制器、智能仪器仪表基本都支持串行通讯能力,合理利用审行通讯功能将极大的降低自动化项目成本,提高产品竞争力。
2、串行通讯及CAPE-1200油井测控终端串行通讯介绍
计算机通讯是不同的终端设备通过线路互相交换信息数据,其主要目的在于将数据从某个终端传送到另一终端,实现信息的交换。计算机通讯通常有并行和串行两种方式,由于并行传输方式在信息传送的过程中容易衰减干扰,并且物力链路成本很高,而串行通讯的方式可以很好的解决这些问题,所以在油田行业应用中一般使用串行通讯。
2.1串行通讯的基本接口方式分为RS-232和RS485两种标准
(1)RS-232接口RS-232一般使用DB-9的9芯插头,只需三条接口线即可实现通讯,即“发送数据”、“接收数据”和“信号地”,在 RS232的规范要求,电压城值在+3V---+15V(一般使用+6V)之间称为"0"或"ON",电压在-3V----15V(—般使用-6V)之间称为
约-9V。RS-232为全双工工作模式,信号是多考地线而得,分别作为数据的传送和接收,实际应用中-~般传输距离可以达到15米。只能实现一对一通讯。
(2)RS485接口。传输线路采用正负两根信号线。RS-485的电气特性:逻辑"1"以两线间的电压差为+(2—6)V表示;逻辑"0"以两线间的电压差为一(2一6)V表示,RS485为半双工工作模式,其信号是两条线路电压差,是差动式输入方式,抗共模干能力比较强,即抗噪声干扰性比较好,实际应用中其传输距离可达1200米。具有多站能力,即一对多的主从通讯。
2.2CAPE-1200油并测控终端事行通讯功能
CAPE-1200控制器内有2个标准的通讯口,~个RS232和个 RS485接口,其中RS485口内接了电量变送器不能使用,而RS232口主要用于和上位机参数配置,通讯控制等.CAPE-1200在软件指令上对通讯的支持也很便利,主要通过MODBUS/RTU通讯方式。 MODBUS协议是目前国际上已经公开的工业标准串行通迅协议, CAPE-1200控制器通讯符合MODBUS协议,MODBUS通讯方式的编程简单,且也具有一定的编程灵活性。
3、WINDOWS串行通信编程概述及通讯案例
3.1WINDOWS事行通信编程概述
Windows下通过审行通信编程实现和CAPE-1200通讯的方法有三种:I/O端口直接操作、调用系统API函数和设计专用的控件。
在应用程序设计中一般采用后面的两种方法。 108
劳方数据
般根据设备的主从特性采用主动发送和被动接收策略。主动发送方式比较容易实现。被动接收数据,需要在数据到达后才能回应,具体实现起来需要一定的方法和技巧,不同的方法达到的目的和效率不网。编程实现数据接收,一般有两种方法:事件驱动法(异步通信)和查询法(同步通信)。事件驱动方式,即:每当有端口状态改变、数据到达或错误发生时触发定义的事件,通知应用程序做出相应的处理,这种方法程序响应及时,可靠性高。采用查询方式,通过不断地去查询是否有数据接收等事件的发生来实现,这种方法比较繁项,在通信比较频繁的情况下,会占用应用计算机大量时间造成用户界面假死现象。
3.2使用异步串行通信和CAPE一1200油并测控终端通讯的案例
该案例使用RS-232串口通讯方式跟CAPE一1200实现通讯,持续提取油井油压,瑟点载荷、回压状态三个工作状态。因需要连续提取数据所以采用异步通讯方式,开发语育使用C#。
案例使用PdaSerialPort自定义类实现异步收发串口通讯,通讯协议使用标准MODBUS,应用程序通过使用PdaSerialPort类向连接在计算机串口上的CAPE-1200油井测控终端发出指令,CAPE 1200收到指令后,准备数据上传回复.PdaSerialPort类中使用一个线程控制指令的发送,发送指令存放在发送指令队列中, PdaSerialPort类收到回复数据后通过事件委托通知主程序,主程序根据返同的参数值剧新显示内容。下面给出了采集过程的主要代码,因篇幅有限通信中未使用校验手段。
串口通讯类:
///当该类发生错误时的委托处理程序
public delegate void ErrorEventHandle(string errorMessage, string errorTile),
///收到申口数据委托处理程序,用户可自行处理申口数据主程序,略...
4、结语
该案例根据所通讯设备特性做适当修改,可以和所有支持标准 MODBUS/RTU协议的设备通讯。系统所用开发环境为Microsoft VisualStudio2005,开发语言C#,运行平台WINDOWSXP,测试设备CAPE-1200油井测试终端。文中的Modbus协议和寄存器地址表因篇幅所限不能完全介绍,详细说明可以参考Modbus通讯协议和CAPE~1200油并测控终端手册
案例运行结果:油压:1.0悬点载荷:48回压:1.1 参考文献
[1JC非编程从入门到精通,电子工业出版社[2]Modbus通讯协议
[3]新器中亚石油CAPE-1200油并测控终端技术手册。