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℃,右侧为点击该块后为弹出画面,详细显示了它的报警情况,模式,梯度变化设置,高低限,趋势,事件等。
