基于iFIX和S7-300的采油SCADA系统研究
2010-07-18姜广吉孔亚广
姜广吉,孔亚广,郑 松
(杭州电子科技大学自动化学院信息与控制研究所,浙江杭州310018)
0 引 言
随着控制理论和技术的提高,在现代化的工业控制领域中,对于控制理论和技术的应用也越来越普遍,其高效、灵活、精确的优点也越来越明显。石油工业与其它工业领域一样,正在向智能化和信息化方向过渡。采油自动化SCADA系统的开发充分利用了控制技术,并结合计算机、通信、仿真、采油等领域的先进技术与理论成果,包含了工艺模型设计、控制算法设计、界面软件设计、网络通信设计等方面的内容。监视控制与数据采集(Supervisory Control And Data Acquisition,SCADA)系统,是以计算机为基础的生产过程控制与自动化控制系统[1]。SCADA系统实现的关键是上层组态软件和下层现场工业设备之间的良好的通信。基于iFIX和PLC的SCADA系统可以分为上位机和下位机两大部分,以PLC作为下位机,iFIX组态软件作为上位机的软件平台,利用OPC通信技术与PLC实现数据交互。该系统是分布式的SCADA系统,具有分散控制与集中管理的特点,能够实现数据采集、设备控制、历史记录及人机交互界面等功能。目前,SCADA系统已经应用于各种工业对象,文献2、3介绍了这种技术在煤矿工业中的应用,文献4是SCADA系统在污水处理厂中的应用,文献5是SCADA系统在卷烟厂中的应用,而SCADA系统实现的通信方法也用所不同,文献3通过CP5611通讯卡利用OPC技术实现通信,而文献4通过光纤环网实现。
1 采油自动化系统结构
在油田采油过程中,油井及采油设备可能存在安全隐患或者发生故障,为了避免造成经济损失,减少油田生产成本,故引入采油自动化系统,利用国内外先进的技术确保采油过程的稳定、可靠、先进,实现自动化,为各采油厂提高管理水平、增加经济效益和社会效益发挥重要作用。采油自动化系统结合油田生产的实际需要,根据油田生产、管理的要求设计开发,把分散的油井、泵站等部门的数据采集与监控设备连接起来,并通过以太网发送到生产调度中心,进而实现自动监控油田的生产状况。通过监测抽油机载荷、电机电压电流,以及井口压力、温度等参数掌握各油井的工况,及时发现隐患,并采取措施启停抽油设备。
为此,建立一套采油自动化仿真培训装置,以利于相关操作工和学员进行采油自动化系统的培训和考核。该系统由典型采油过程装置(1路自喷井装置、1路抽油井装置、配水间和计量站、水套炉等)、RTU和SCADA中控室组成,如图1所示。
自喷井和抽油井装置组成采油树,实现采油功能,安装有各类现场仪表和检测传感装置,采用多管流程与计量站仿真装置相连。计量站装置实现自动选井和油气计量。配水间实现两路配水,可实现注水压力和流量的采集。
远程测控终端(Remote Terminal Unit,RTU)是SCADA系统的基本组成单元[5]。一个RTU可以有几个,几十个或几百个I/O点,放置在测量点附近的现场。每个采油过程装置都配置有控制RTU,每个RTU里装配好I/O模块和现场控制设备,并与现场仪表或设备相连接,具备数据采集及处理、数据传输(网络通信)、PID控制或逻辑控制、流量累计等功能,将信号传输到SCADA中控室进行远程数据采集与控制。
图1 采油系统结构图
2 采油过程自动化SCADA系统工作原理
采油过程自动化SCADA系统由SCADA控制仿真软件、RTU和现场设备组成,如图2所示。RTU通过I/O模块接收现场设备的物理信号,利用工业以太网实现与上位机服务器的交互。为了方便管理和操作,该采油自动化系统有采油树RTU、配水间RTU和计量站RTU,各RTU互不干扰。3个RTU分成1个主站RTU(计量站RTU)和2个从站RTU(配水间RTU、采油树RTU),PLC CPU在主站RTU中,2个从站RTU的I/O模块通过ProfiBus连接到主站的PLC CPU中,主站RTU的PLC用的是Simens公司S7-300,并增加了以太网通讯模块CP343-1。
SCADA控制仿真软件包括STEP7,iFIX和SIMATIC NET,SCADA系统采用C/S架构,利用OPC通信技术实现实时数据交互。OPC即用于过程控制的对象链接和嵌入,是一种应用程序之间进行数据交换的技术。现场数据从I/O模块通过以太网通讯模块传到上位机上后,数据就可以在OPC客户端和服务器之间进行传输了。其服务器端是随SIMATIC NET软件安装的OPC服务器,OPC服务器包括3个层次的对象:OPC server,OPC group,OPC item。其客户端软件采用GE公司的iFIX组态软件,可完全模拟采油过程自动化SCADA控制系统操作界面。iFIX不直接与PLC通信,而是作为OPC客户端,通过OPC驱动访问OPC服务器。iFIX在访问OPC服务器的过程中,通过OPC驱动首先建立OPC server对象(包含OPC服务器的信息,是OPC group对象的容器),用于与具体OPC服务器建立连接,其次OPC驱动在OPC server对象下建立OPC group对象(OPC item对象的容器),其中包括有数据采集方式、采样率以及激活状态等信息。最后在OPC group对象下建立OPC item对象,OPC item对象包含硬件设备具体的存储地址,是读写的最小逻辑单元。iFIX再通过OPC驱动按照采样率从OPC item对象中读取数据,保存在驱动器映像表DIT(Driver Image Table),扫描报警控制程序SAC(Scan Alarm Control)按照扫描时间,从DIT中读取实时数据保存到过程数据库PDB(Process Database),通过历史采集程序采样过程数据库,保存历史数据,向SCADA客户端提供实时及历史数据[6],如图3所示。
图2 RTU网络结构图
3 采油过程自动化SCADA系统实现
通过上述内容介绍,SCADA系统通过软硬件结合,把采油现场设备的数据采集到上位机组态软件,并在组态软件上实现对数据的监视和控制。
3.1 系统配置
硬件配置:PC(4台)、SimensS7-300 313-2 DP CPU 模块 、Siemens CP343-1通信模块 、ET200 IM153接口模块、ProfiBus线及接口、交换机、采油设备及检测仪表。
软件配置:Siemens PLC编程软件Step7 5.2版、Simatic Net PC-Software 2005 V6.1、iFIX4.5中文版。
3.2 系统实现
3.2.1 PLC配置
(1)PLC站硬件组态:进入Step7,建立一个新项目,插入一个SIMATIC 300 STATION,打开Hardware,依次拖入轨道Rail、电源模块PS 307 2A、CPU模块313-2 DP、以太网通信模块CP343-1、I/O模块,并配置CP343-1 IP地址(IP地址必须与PC在同一段上)、I/O模块、ProfiBus波特率1.5M,最后保存编译。
(2)S7-300在STEP7编程实现:程序主要实现读取现场数据(包括压力、温度、液位)、控制现场设备(包括计量实现、电机控制)的功能。其中组织块OB1是主程序,共享数据块DB存储程序变量,还有功能块FB、FC,系统功能块SFB、SFC。程序编写完成后保存编译。
图3 系统实时数据传输工作原理图
(3)PC站网络组态及建立OPC服务器:
步骤1、首先建立PC站的硬件机架。Simatic Net安装成功后打开计算机桌面上或右下角的Station Configuration Editor,在一号插槽添加OPC Server,三号插槽添加IE General并配置网卡参数,即本机网络信息。添加完毕后命名Station Name为“EthernetOpc”;
步骤2、然后配置控制台(Configuration Console)的使用和设置。打开配置控制台(开始—>Simatic—>Simatic net—>Configuration Console),在 Access Points设定窗口中,将S7 ONLINE指向PC internal(local)。此设定是为PC站组态的下载做准备;步骤3、在Step7中组态PC Station。在硬件组态的基础上在插入Siamtic PC Station,重命名为“EthernetOpc”(名字必须与步骤一的相同)。打开Configuration进入组态界面,配置同步骤一,并在IE General属性设置IP地址和子网掩码,设置为本机的网卡信息,保存组态信息后编译。编译无误后点击Configure NetWork按钮,打开NetPro界面,进入网络配置,选中OPC Server后,右击下面的连接表第一行,插入一个新的连接,此时PLC站硬件已组态完成,以太网通讯模块CP343-1网络已经使能,已经自动创建好S7 connection,直接确定即可。双击进入S7 connection属性配置,填入CP343-1的IP地址和插槽号。设置完成后保存编译,把硬件组态、程序及网络组态全部选中下载到PLC CPU中。下载成功后,可以再打开Station Configuration Editor可看到OPC Server插槽栏Conn一栏有连接图标,并且已被激活。若无或者没被激活说明配置有错误;
步骤4、数据通讯检测—OPC Scout:OPC Scout工具随Simatic Net软件一起提供,当完成PC Station组态下载后,可用此工具进行OPC Server和PLC的数据通讯测试。打开OPC Scout,双击“OPC Simatic Net”在随之弹出的“ADD Group”对话框中输入组名,点击OK确认。双击已添加的连接组,即弹出“OPC Navigator”对话框,此窗口中显示在Configuration Console所激活的连接协议。NetPro中所建的连接名会被显示(S7 connection-1),双击此连接,即可出现有可能被访问的对象树(objects tree),在PLC CPU中已存在的DB块也会出现。在其中设置需要测试的变量,即可实现对S7-300的读写操作,并可以根据变量的质量是“good”或“bad”,判断OPC Server与S7-300的通信状况。
3.2.2 iFIX和S7-300通信的实现
至此已经建立了OPC Server,实现了OPC和S7-300间的通信,iFIX再通过自带的OPC I/O驱动实现与OPC Server通信后,即实现了基于iFIX和S7-300的SCADA系统。
步骤1、打开iFIX组态软件,在iFIX工作台系统树找到I/O驱动器,双击OPC驱动打开OPC-Pow-erTool,选择本地服务器,在OPC Server对话框中选择OPC.SimaticNET,然后根据在OPC Scout中对服务器的配置定义一个group名和若干个item名。其中为了方便,最好把item名字改为和STEP7中DB块的名字一致;
步骤2、选中一个item,点击Browser Server进入OPC Server,按照OPC Scout测试数据的步骤找到对应的项目,注意要给Enable选中,点击运行,可以在工具栏Statistics里看到通讯状态,Data项显示“Good”即通讯状态良好,点击Data Monitor可看到该项目的值;
步骤3、在IFIX的数据库管理器中依据OPC驱动定义相关变量,正确的书写数据的I/O地址信息,在IFIX画面的数据连接中连接变量或通过VBA语句writevalue、readvalue实现对数据的读写操作等。
3.2.3 IFIX配置
(1)IFIX界面设计:根据采油过程自动化流程工艺原理图进行界面仿真图的设计,主要设计自配井流程工艺仿真图、抽油井流程工艺仿真图、计量站流程工艺仿真图、水套炉流程工艺仿真图。
(2)IFIX实时数据库设计:打开数据库管理添加相关变量,注意I、O数据块的区别,其中模拟量输入AI也可设置为允许输出,实现双向读写,DI、DO数据块主要实现对开关量的控制。变量最好与STEP DB块及OPC I/O驱动命名相同,通过设置数据块I/O地址实现对实时数据的访问。
(3)IFIX网络设置:该系统有一台服务器,四台客户机,安装IFIX时设置节点名分别为FIX、FIX14,互连设为网络,5台PC的IP地址设在与CP343-1 IP的同一段上,通过交换机实现网络连接。每台客户机端中C:WINDOWSsystem32driversetc中用记事本打开hosts文件,添加上:服务器IP地址、服务器节点名。网络设置完成后四台客户机端IFIX不用设置数据库就可以读取服务器端数据库的数据。
(4)IFIX安全设置:在IFIX安全设置里定义好安全区域名称、组名、用户名,设置数据变量和画面属性的安全区,客户机端只能对系统的特定安全区域流程画面进行控制,对不属于这个安全区的没有访问权利,服务器端设置为所有的权限。
(5)IFIX其他设置:利用IFIX控件,增加历史趋势画面,实时数据显示画面;增加采油过程故障和示功图仿真画面。
4 结束语
该系统已经在某职业学院采油自动化仿真培训实验室使用,性能良好。其设计本着从工程化、参数化、现代化、开放性和培养综合性人才的原则出发,模拟采油工艺过程,并实现将采油现场设备信号传输到SCADA中控室进行远程数据采集与控制,实现人机交互。
[1] 姚晓毅,周晓慧.SCADA系统在采油仿真培训系统的应用[J].中国水运,2008,8(1):173-174.
[2] 韩仿仿,苗淑奎,张永政等.基于OPC技术的iFIX与S7-300的通信[J].电脑知识与技术,2008,(1):25-28.
[3] 徐峰,张红星.采用OPC技术iFIX与PLC通信的实现[J].工业控制计算机,2006,19(8):76-77.
[4] 张凯.iFIX4.0在污水处理控制系统中的应用[J].工业控制计算机,2009,22(6):27-29.
[5] 李丽君.SCADA系统在苏丹油田上的应用[J].中外能源,2006,11(4):55-59.
[6] 陶峥,陈曾汉,张鹏.基于PLC与iFIX的SCADA系统应用研究[J].微计算机信息,2009,25(7-1):1-3.