油料灌装自动化系统是油库信息化建设的重要内容,它完成储油罐向运油车输油的任务。随着计算机、控制与通信技术的发展,油料罐装控制系统模式从集中测控发展为分布式测控,分布式控制已经成为油料灌装自动化系统的主流模式。在这种模式下,测控的任务已经下放到现场鹤位,管理功能也不断地下放到鹤位,鹤位成了有独立测控、管理能力的分布式节点。常规的基于PLC的设计方案由于管理能力薄弱,已经难以满足任务需要;而工控界比较热门的嵌入式系统设计则存在开发时间长、可靠性和稳定性差等方面的问题,也难以满足需要。近年来发展起来的新一代工业——可编程自动PAC(Programmable Automation Controller)则结合了PLC的稳定性、可靠性和PC的灵活性、多功能的特点,为油料灌装自动化系统设计提供了一种新的选择。 PAC具备以下优秀性能: (1)多重领域的应用功能,即在单一平台里包含逻辑、运动、驱动和过程控制等至少两种以上的功能; (2)单一开发平台上整合多规程的软件功能(如HMI软逻辑),使用通用标签和单一的数据库来访问所有的参数和功能; (3)软件工具所设计出的处理流程能跨越多台机器和过程控制处理单元,实现包含运动控制和过程控制的处理程序; (4)开放式、模块化构架,能涵盖工业应用中从工厂的机器设备到过程控制的操作单元的需求; (5)采用公认的网络接口标准及语言,允许不同供应商的设备能在网络上交换资料。 因此,基于PAC的灌装自动化系统具有可靠性高、稳定性强的控制能力,同时PAC所具有的丰富流行的开发语言、标准的网络接口以及协议也能较好地实现灌装自动化系统与其他信息系统的整合。 本文以此为出发点,设计并实现了基于PAC的油料灌装自动化系统的实验原型系统。该系统不仅能实现普通灌装自动化系统的基本功能,还具备实时远程监测、远程控制、即时通信、远程诊断维护、计量精确、操作简单和界面友好等特点。1 基于PAC的灌装自动化系统的系统模式 基于PAC的灌装自动化系统结构如图1所示,采用“功能分散、负荷分散、危险分散和管理集中”的分布式设计思想,每个鹤位配置一个基于PAC的灌装装置。该装置能自主完成信息采集、分析处理、状态监测、故障诊断和控制输出等功能。各灌装装置与监控主机的信息交换采用无线局域网,实现远程监控、资源共享、即时通信、诊断与维护等功能,构成分布式测控系统模式。 2 基于PAC的灌装自动化系统设计 2.1 灌装装置功能 基于PAC的灌装装置主要功能包括: (1)数据采集。采集管道上各种传感器(如温度、压力、流速、流量、密度等)的输出信号,并对采集数据进行数字滤波、标度变换等预处理。 (2)数据计算。根据计量分析算法,完成间接参数(如体积、质量等)的计算及数据的自动存储。 (3)数据管理。包括灌装装置信息的存储管理、查询、统计、分析、现场显示及人机交互。 (4)自动定量发油控制。实时分析系统状态、监测实时发油量,采用控制算法对相关的执行机构进行控制操作。 (5)应急开关。设计手动应急开关,以便在软件系统故障和紧急情况下进行人工干预。 (6)网络通信。采用无线通信技术,实时将该装置的系统状态和主要参数上传到监控主机,实现分布式远程监控。2.2 硬件设计与实现 灌装装置采用以PAC为主体的组合式模块,主要包括CPU模块和I/O模块两部分。 PAC的核心——CPU模块选用泓格科技WinCon-8337,它采用Intel Strong ARM 206 MHz CPU,存储器为工业级512 M CF卡,提供1个以太网接口、1个RS232 接口、1个RS485接口、1个USB接口、2个PS/2接口和3个I/O扩展槽。 PAC的I/O模块选用8路模拟量采集模块I-87017和8路通用开关量模块I-8063。其主要硬件选型如表1所示。 2.3 灌装装置软件设计与实现 本装置选用的WinCon-8000系列PAC产品采用Windows CE .NET作为操作系统,该产品提供了多种API接口函数,如I/O模块访问API、iPush组件、Modbus API等,利用这些动态链接库(DLL)可以方便地在VisualBasic.Net中开发应用程序。通过应用Wincon.DLL中提供的I/O函数,完成对模拟量输入模块、数字量输入/输出模块的数据采集。 根据I/O模块的插槽号(Slot)、通道号(Channel),调用相应的I/O库函数来读取压力、温度、流速等参数以及控制输出。 在VisualBasic.Net平台下设计的主要代码如下: Wcon.i87017.AnalogIn(slot2,0,temps) ′读取模块I-87017第0通道值,并赋予变量“temps” Wcon.i87017.AnalogIn(slot2,4,presss) ′读取压力值 Wcon.i87017.AnalogIn(slot2,7,flowvs) ′读取流速值 Wcon.i8063.DIO_DO_8(slot3,3) ′控制1、2(00000011)位阀门和泵打开 Wcon.i8063.DIO_DO_8(slot3,0) ′控制所有设备关闭 主程序的流程图如图4所示。