apl(advanced process library是西门子针对pcs7 发布的高级过程控制库,可以替代pcs7标准库的全部功能,如模板驱动、过程控制功能集(pid算法、马达控制、阀门控制、联锁报警等。针对于实际过程控制应用,apl功能块相比标准库功能块的功能有大幅扩展,同时性能上也不断优化。众所周知,西门子代理商的出现值得很多人的关注,激起了整个市场的波澜。
apl库是一套as功能库与os操作对象的集合。利用系统提供的标准功能块,工程师可以很方便的对项目进行自下而上的as控制算法开发和os画面组态。
以一个电机控制功能回路的开发为例:
首先,在as控制器侧,它是一个motl功能块(function block;在os侧,它却是此功能块对应的电机图标(block icon和一套操作面板(faceplate,apl定义了一套标准的os操作权限与操作规范。并为操作员的操作生成操作员记录。
pcs 7编程一个很大的特点就是,现场信号和控制输出不是直接连接到控制功能块上,而是连接到相应的ai、ao、di、do通道驱动块上,由驱动块与功能块进行信号传递。这样做的好处是系统编译时会自动生成与模板、通道等相关的诊断功能块,并且传递到os的报警系统中,让操作员能直接看到硬件相关的诊断报警信息。在标准库应用时已经有相应的通道驱动块。
这篇文章主要介绍apl库中的模拟量驱动块。模拟量输入点的通道驱动为pcs7anin(fb1869),模拟量输出点的通道驱动为pcs7anou(fb1870)。
输入驱动pcs7anin:
只需要将实际模拟量点地址连接至pv_in引脚,执行cfc编译,系统会根据硬件组态中该地址对应的ai模板类型、通道设定等,自动识别该通道的信号类型。因此,无论是电流信号或是电压信号,热电阻或是热电偶,程序中都可以使用同一个通道驱动信号而无需任何设置。
通过设置scale 参数来设置该模拟量测量点的量程范围。
scale是一个结构体参数,包括子元素high和low
需要分别设置上限high和下限low的具体值。
例如,此时通过通道驱动的信号处理,iw512的模拟量测量点量程为0-200,pv_out为最终的转换结果。
如果设置scale.high=scale.low,pv_out则直接按信号类型进行显示,如显示4-20ma, 0-10v等。
量程设定值只需要设置一次,之后可以在功能块之间传递,例如需要在上位机上显示测量点量程,只需要将pcs7anin的输出参数scaleout连接到monanl的输入参数pv_opsca中,即可完成传递。
最终在上位机wincc上将显示如下图,左侧为温度的监视块,显示实时温度为59.26℃,右侧为点击该块后为弹出画面,详细显示了它的报警情况,模式,梯度变化设置,高低限,趋势,事件等。