李 荣 李 军 武 刚
(①思凡(上海)石油设备有限公司;②中国石油大港油田分公司天津储气库分公司)
SMART综合录井仪是思凡(上海)石油设备有限公司研制的新型综合录井仪,整体采用正压防爆设计,配备了智能快速色谱仪、高稳定性的传感器、CAN总线数据采集系统及功能强大的软件系统,适应钻井现场苛刻的工作条件。
传感器数据采集系统是综合录井仪的核心组成部分,主要功能是在综合录井过程中通过对现场安装的各种传感器信号的采集,实现井深、泵冲及各种钻井参数的实时计算和监测。综合录井仪现场应用的采集系统主要为分线型和总线型两种。分线型采集系统通过将传感器模拟量信号或者脉冲量信号引入综合录井仪,在综合录井仪安装采集模块或采集卡实现传感器的信号采集,这种模式容易受到现场钻机、变频发电机等环境因素的干扰,造成采集信号不稳定。总线型采集系统通过在传感器附近直接安装采集模块,在传感器工作现场直接进行信号采集,然后通过数字总线将采集结果发送至采集计算机,避免信号在传输过程中受到干扰。总线型采集系统广泛应用RS 485总线和CAN总线,其中CAN总线技术能够在现场实现高速的传感器采集及简捷高效的现场组网,简化综合录井现场布线,提高信号采集及传输的稳定性和可靠性,因而被大多数新型综合录井仪在设计时采用[1-2]。
SMART综合录井仪采用CAN总线采集技术,通过现场的CAN总线采集模块和安装在计算机内的PCI CAN卡构建完整的传感器数据采集系统[3]。现场应用过程中,受限于计算机硬件配置和操作系统,整个录井软件架构必须基于WIN 7操作系统。为更好地满足现场应用,研究基于以太网架构的CAN采集方案,采用分布式设计,完全独立于计算机系统,使整个软件系统设计更加灵活,不再区分采集机、工作站和服务器,同时可以应用WIN 7/WIN 10操作系统。
以CAN总线协议为基础的总线采集系统,由一系列智能化现场CAN总线采集节点模块、PC/PLC通信网卡/网桥以及一系列基于开放式国际标准的应用软件构成[4]。CAN总线技术是自动化技术、计算机网络技术和仪表采集技术发展结合的成果,改变了传统模拟信号传输模式,实现了现场传感器与采集系统之间全数字化双向通信,减少信号传输的中间环节,提高系统精度和抗干扰性[5]。CAN总线采用单总线布线方式,将原来录井仪井场布线安装时间从原来的2至3天缩短到半天,显著提高了现场传感器安装及布线效率。
CAN总线传感器采集系统包括钻台区采集箱、入口区采集箱、出口区采集箱、终端电阻、CAN总线通信线缆、CAN采集卡、采集计算机、CAN数据采集软件等(图1)。CAN采集卡和CAN数据采集软件都安装在采集计算机中,与采集计算机绑定,依托采集计算机工作。每个采集箱内包含多个CAN数据采集模块,该模块集成有安全隔离栅、数据采集、数据通信、总线控制等功能,实现对传感器信号的本质安全防爆隔离、信号采集及将计算的传感器信号结果通过CAN总线传给采集卡和采集软件[6-7]。每个数据采集模块都是总线系统中的一个子节点,具有独立的逻辑地址[8]。采集软件通过作为主节点的CAN采集卡控制各个子节点,实现各种控制功能,如采集频率、滤波时间、节点地址等。采集计算机通过HUB与服务器及工作站计算机之间进行通信,分别完成数据采集、数据服务、数据监测等功能。
图1 常规CAN总线传感器采集系统结构示意
在采用CAN采集卡进行数据采集时,CAN采集卡必须安装在采集计算机内,既受到采集计算机的主板限制,同时也限制了计算机的选型,对每款不同的计算机配置都需要进行兼容性试验,验证计算机与CAN采集卡之间的适应性,经常出现CAN采集卡与计算机不兼容、采集运行过程中突然无法采集数据的情况。
设计独立于计算机的以太网CAN采集模式,将CAN数据采集模块独立于计算机,通过HUB与计算机相连,使整个网络中的每一台计算机都可以作为采集计算机接收CAN网络数据,实现传感器信号采集(图2),不再区分采集机、服务器、工作站等。以太网CAN采集模块采用工业级芯片设计,可以在-40~85℃的温度范围内正常工作,内部集成一路100/1000 M自适应的以太网接口,支持TCP Server、TCP Client、UDP三种工作模式,支持以太网冗余和CAN网络冗余。模块自带磁耦隔离模块,使其避免由于瞬间高压而对设备造成损坏,具备强大的抗静电和抗浪涌能力,使之可以在恶劣环境中使用。
图2 以太网CAN总线传感器采集系统结构示意
CAN总线传感器采集软件主要实现网络设置、CAN总线节点初始化、节点搜索、节点地址设置、节点挂起、建立通信连接等功能。
针对以太网CAN采集模块的三种工作模式(TCP Server、TCP Client、UDP),考虑到可能存在多台计算机的并行采集,设计将以太网CAN采集模块作为TCP Server服务器模式,录井计算机作为客户端接入并获取数据,可以最有效地对整个网络负荷进行管控。网络中的任意计算机都可以通过TCP Client客户端模式连接至采集模块,对CAN总线采集的数据进行实时采集并处理,以便最大程度降低整个网络负荷。而UDP模式用在任意计算机采集模式下,必须将以太网CAN采集模块设置为网络群发,提升了整个网络负荷。因此最终选择以太网CAN采集模块TCP Server,采集软件在TCP Client模式作为采用自动重连机制确保数据连接正常运行。
采集软件在第一次运行时需要对整个CAN总线进行初始化和搜索总线中所有的节点,并对每一个节点进行逻辑地址设置,确保所有的节点逻辑地址不会因冲突影响采集工作(图3)。初始化操作主要完成总线通信速率、网络地址、端口和通信模式设置,并建立与以太网CAN采集模块的正常通信连接,实现对总线上所有节点的控制。初始化完成后采集软件发送控制命令将总线上所有的节点设置处于监听状态,以便读取所有总线节点信息,每个节点默认的逻辑地址为0~63,依次搜索所有逻辑地址,可以搜索到所有的节点信息并保存和显示。搜索完成后对于搜索到的节点依次重新设置每一个节点的逻辑地址,确保没有重复后,完成CAN总线初始化。
采集软件在正常采集启动时对整个CAN总线进行初始化并设置所有节点处于自动采集发送模式(图4)。
图3 以太网CAN总线初始化流程
图4 以太网CAN总线数据采集过程
在自动采集发送模式下,所有节点按照预先设置的采样间隔,采集传感器信号并发送。发送模式为定时自主发送,节点自动监听CAN总线状态,发现空闲时自动将采集结果发送至CAN总线网络,采集软件收到总线数据后进行解析,根据节点逻辑地址和预先设定的对应关系,解析出模拟量、泵冲量、绞车量信号值,实现整个采集过程。当采集软件停止采集退出时,将整个数据总线挂起,所有节点处于监听状态。
为了能够更好地和录井软件对接及便于采集接口软件的改进升级,采集软件采用动态链接库(DLL)方式设计,独立于录井软件,同时采用C++设计,以保证具有良好的兼容性和实时性。
动态链接库(DLL)提供了一种使软件可以调用不属于其可执行代码的函数,该函数的可执行代码位于一个DLL文件中,这样可以更为容易地更新各个模块,而不会影响该程序的其他部分。SMART录井采集软件通过调用采集软件模块DLL,轻松实现传感器数据采集功能,后期需要对采集功能进行升级时,仅需要更新采集软件模块DLL,而无需重新开发或安装整个录井软件系统。
为满足录井软件数据采集需求,设计完成了采集软件(图5)。在采集软件模块输出DLL中提供标准调用函数接口供录井软件调用,更底层的采集功能则封装在DLL中,使得录井采集软件在设计时,不需要考虑底层软件设计,针对不同采集硬件仅需要更新该动态链接库,可以保证不同采集硬件和录井软件之间实现无缝集成,同时不需要对录井采集软件本身予以任何更改。
在CAN采集软件模块DLL中提供了如下函数接口(实现了初始化、传感器信号采集、泵速及转盘转速采集、获取通道配置信息、关闭CAN采集等功能):
extern "C" _declspec(dllexport) int DRV_Open(CWnd*pParent); //初始化CAN采集模块
extern "C" _declspec(dllexport) int ADV(float*dV,int nType);//采集64通道信号值
extern "C" _declspec(dllexport) int DIV(int*dV);//采集泵冲传感器泵速和转盘转速值
extern "C" _declspec(dllexport) int GetChCfg(int*nID,int*nChIndex);//获取通道配置信息(通道ID,通道号)
extern "C" _declspec(dllexport) int DRV_Close(); //关闭CAN采集模块
图5 以太网CAN总线采集配置软件界面
SMART综合录井仪采用CAN总线数据采集方式,极大地简化了现场的传感器布线工作,CAN总线方式将传感器信号在现场直接采集后通过数字总线传输到录井仪,提高了信号的抗干扰能力和可靠性。采用以太网CAN采集模块替代PCI CAN采集卡,仪器整体结构设计更加简单,对计算机硬件的适应性更强。通过动态链接库设计方式,实现了传感器采集软件独立于综合录井仪录井采集软件,便于后期软件升级。