摘要:可编程计算机控制器(PCC) 作为一种新型的控制装置,在工业生产中有着广阔的应用空间,其优越的控制效果得到了广泛的肯定。本文简要介绍了PCC 在硬件和软件上的特点,采用其提供的高级编程语言(ANSI C) 实现了水轮机协联运行的编程。
关键词:可编程计算机控制器(PCC) ;硬件特点;软件特点;水轮机;协联
0 引 言
随着工业生产水平的提高,生产规模的不断扩大,其复杂程度也越来越高。相应地对工业控制技术也提出了更高的要求,控制系统正进一步向智能化方向发展。为了适应工业生产的要求,近年来奥地利B&R 公司推出了新一代控制器---可编程计算机控制器(PCC) 。其不仅实现了硬件和软件上的模块化,为进一步扩展提供了空间。而且其提供了分时多任务的操作系统和多种高级编程语言,使得PCC 担任复杂任务的控制成为可能。本文简要介绍了PCC 在硬件和软件上的特点。然后利用其提供的高级编程语言实现了对水轮机协联运行的编程。
1 PCC 的硬件特点
1. 1 模块式结构
可编程计算机控制器( PCC) 的硬件都是模块式结构。以B&R2003 为例,系统模块可分为4 大组:控制器模块,CPU 模块, I/ O 模块和旋入式模块。其各组模块又可进一步细分,例如I/ O 模块,分别提供了数字量输入输出模块和模拟量输入输出模块。并且各模块又有多种型号可供选择。用户可以根据需要选择适合的模块组合,以达到理想的控制效果。
1. 2 采用多处理器结构
PCC 硬件的另一个特点是采用多处理器结构。除了主CPU 外[1] ,系统还提供了输入输出处理器( I/O-Processor) ,其主要负责独立于CPU 的数据的输入输出。双向口控制器(DPR-Controller) 主要担任系统管理和网络联系。这三个处理器通过DPR (DUALPORTED RAM) 相互关联。正是这种多处理器结构,减轻了CPU 的负担,提高了系统的运行速度。它们之间的相互关系如图1 所示。
1. 3 存储器
PCC 在硬件上还有一大特点是拥有大容量、分门别类的存储器[2] 。并且实现了模块化。这样为用户开发软件提供了硬件上的保证。各存储器简要介绍如下:
(1) 系统ROM。用于存储CPU 的操作系统,其不能被用户编程或擦除。
(2) 用户ROM。带有缓冲区的用户ROM( EPROM或Flash - PROM) 用于存储各应用程序(循环和非循环任务,数据模块等) 。
(3) 系统RAM。其首先为操作系统使用,同时所有参数也可以保持在其中。用户根据需要使用系统RAM的空闲空间。通过设置将其分为暂存区和模块区。暂存区用于用户在各任务中快速地访问无缓冲区的内存。模块区用于存储操作系统下载的B&R 模块。
(4) 双口RAM(DPR) 。用于保存应用程序中使用的所有变量(内部变量与I/ O 数据) ,它可以被CPU和I/ O 处理器访问。
(5) 用户RAM。用于存储应用程序(循环和非循环任务、数据模块等) 。
1. 4 网络开放性
由于PCC 的硬件采用模块式结构,从而为进一步扩展提供了可能,使其具有较强的网络开放性。以B&R 的2005 和2010 系列为例,其不仅具有本地扩展,同时还具备远程扩展的功能。通过标准的RS2485总线,可以将1 个主站与121 个从站联系起来,其最远距离可以达到4800m ,点数可达十万多点。
正是由于具有上述硬件特点,为其优越的功能提供了保障。
2 PCC 的软件特点
2. 1 分时多任务操作系统
作为新一代可编程计算机控制器在软件的最大特点就是采用分时多任务的操作系统,同时具有很强的实时性。一个复杂的项目可以分成几个相对独立的任务,各个任务模块化的控制方法,体现了PCC 在软件上模块化的特点,为系统的进一步扩展提供了软件上的支持。与此同时,根据任务的具体要求可以划分为循环任务和非循环任务,其中循环任务又可分为两种不同的任务层:标准任务层(Cyclic) 和高速任务层(Timer) 。其中高速任务层是由硬件定时触发的,标准任务层是由系统管理器来激发的。对于各循环任务的循环时间可以由用户根据需要来定义。这些任务可以根据其重要程度和具体要求,分别给它们定义不同的任务等级,其中优先级高的可以中断任务级别低的任务。从Cyclic1 到Cyclic4 , 从Timer1 到Timer4 的优先级依次递减,其中高速任务层(Timer) 的优先级高于标准任务层(Cyclic) 。从而保证了重要任务优先执行。与此同时也体现了其实时性。下面以一个例子来说明多个任务的循环运行过程[2 ] (以四个不同任务层的任务为例,各任务的具体情况如表1 所示) 。
表1 系统运行任务
各任务的循环执行情况如图2 所示。
2. 2 多种编程语言
PCC 在软件上的另一个特点是为用户提供了多种编程语言[2] 。其中既有面向一般技术人员的梯形图(LAD) ,结构文本(ST) 、指令表( IL) 、顺序功能图、SFC 等编程语言,又有B&R Automation Basic 和标准C语言两种高级语言。使得更加复杂的任务在编程语言上得以实现。用户可以根据任务的需要和自己编程习惯选择适合的编程语言。
3 水轮机协联运行的实现
由于水轮机协联运行是一个实时性较强,控制较为复杂的过程。本文讨论的正是利用PCC 在软件上提供的实时性很强的分时多任务操作系统和高级的编程语言---C 语言实现了对水轮机协联运行的编程。
3. 1 微机调节器的协联关系分析[3]
对于轴流转桨式机组,其微机调节器内桨叶接力器行程(Z) 由当前的运行水头(H) 和导叶接力器行程(Y) 所确定。其依据是效率试验标绘的协联曲线。如图3 所示。
3. 2 微机调节器内桨叶接力器行程的确定[3]
由于导叶接力器行程( Y) 是由PID 调节求取出来的,根据其值与运行的水头(H) ,由图3 所提供的协联曲线可以求得与之对应的桨叶接力器行程(Z) 。由于电站根据其运行特点所提供的水头节点和导叶接力器行程节点有限(即提供的是一个插值节点表) 。在不少情况下是不能直接从插值节点表查出所对应的桨叶接力器行程Z ,需要插值确定。考虑到协联曲线较为平坦,并且在变化急剧的区段采用缩短节点间距的方法,故采用二元线性插值方法,其具体插值过程如下:
(1) 根据计算所得的导叶接力器行程Y和运行水头H 确定其范围:Yj ≤Y≤Yj + 1 ,Hi ≤H ≤Hi + 1 。
(2) 根据Yj ,Yj + 1 ,Hi ,Hi + 1找到对应的接力器行程:Zi ,j ,Zi ,j + 1 ,Zi +1 ,j ,Zi + 1 ,j + 1 ,如图3 所示。
(3) 对水头插值,可以求得:
(4) 对微机调节器桨叶接力器行程插值:
3. 3 程序实现
本程序采用PCC 提供的高级编程语言---C 语言编写。以给定10 个水头节点和10 个导叶接力器行程节点为例。
(1) 定义变量:
- GLOBAL int i , j ;
- GLOBAL REAL H ,Y,Z ,Z1 ,Z2 ,M;
- GLOBAL REAL h[10 ] ,y[10 ] ;
static REAL z[10 ] [10 ] ;
(2) 初始化。
在初始化程序中,实现将插值表中的值输入到对应的数组中, (其中h[10 ] ,y[10 ]分别用于存放运行水头和导叶接力器行程的节点值,z [ 10 ] [ 10 ]用于存放与之对应的桨叶接力器行程的节点值) 。同时建立变量i 和h[ i ] ;j 和y[ j ] ;i ,j 和z[ i ] [ j ]的对应关系。例如:i = 2 ,j = 3 对应于h[2 ] ,y[3 ]和z[2 ] [3 ] 。
(3) 循环程序。
在循环程序中通过定义和运行水头同类型的变量M 用于存放上次循环的水头值。在循环程序开始时首先判别前后两次水头差值是否小于规定的值,若小于则将上次循环的水头值赋给当前的水头值。从而可以消除水头波动对插值计算的影响。具体程序如图4所示。
3. 4 运行结果简述
根据水轮机协联运行实时性的要求设置了合适的循环时间。通过可编程计算机控制器( PCC) 和微型计算机连接后的在线观测,其运行结果完全满足要求,所占有系统的时间也在允许的范围
内。最后将其嵌入调节器的主控程序,能够做到相互协同运行,能够承担微机调节器协联运行的任务。
4 结束语
可编程计算机控制器作为一种自动化和可靠性较高的控制装置,适应了工业生产对控制技术的更高要求。代表了现代工业控制技术的一种发展趋势,其优良的控制效果将会被越来越多的工控行业所采用。
参考文献:
[1 ] 廖为宏. PCC 技术在水电厂监控中的应用[J ] . 浙江电力,2001 (5) :31.
[2 ] 齐蓉. 可编程计算机控制器原理及应用[M] . 西安:西北工业大学出版社,2002.
[3 ] 魏守平. 现代水轮机调节技术[M] . 武汉:华中科技大学出版社,2002. 52~54.2004 年第11 期田少强等:基于PCC 技术的水轮机协联运行的实现113
作者:田少强(1977) ,男,四川成都人,河海大学硕士研究生,研究方向:水电站自动化;
廖忠(1962) ,男,湖南加禾人,副教授,河海大学博士研究生,研究方向:水电机组智能控制;
沈祖诒(1936) ,男,浙江湖州人,河海大学教授,研究方向:水力发电教学和科研;
邓磊(1977) ,男,江西奉新人,河海大学硕士研究生,研究方向:水力机组控制与仿真。