在梯形图编程中,我们曾为流量的累加算法绞尽了脑汁,而在功能块的组态中却可直接使用,功能块组态看上去似乎是简单的,但是要弄明白为数不少的参数,却不是一件轻松的事情。下面,我们试着了解累加器功能块TOT的基本运用。如图18-1所示的是累加器的功能块面板。
单是看功能块的外部接点,参数已是不少,这仅仅是在功能块外部连接所显示的部分,点击功能块TOT右上角的,展开功能块参数表,我们看到的参数更多。如图18-2所示的是功能块TOT输入参数的一部分,外部显示的Vis选项被勾选,该参数将作为外接的输入连接点,跟提供输入参数的其他功能块的输出端连接,或者与输入参数连接符相连接。
图18-1 累加器的功能块面板
每个参数的简要说明同时显示在参数的注释中,不但有参数的基本定义,还有数据的设置方式和含义,一般情况无须查找手册便可明了。说明如下:
●EnableIn功能块输入使能,类似于梯形图指令的梯级条件,默认值设置为1,功能块被使能执行。
图18-2 功能块TOT输入参数的一部分
●InFault采集模拟量信号有误,当此状态标识置位,TOT将不累加和刷新数据。
●TimeBase累加器的采集时间基值,设置为0,时基为秒;设置为1,时基为分钟;设置为2,时基为小时。采用枚举量设置,只有符合枚举量的才是有效数据,无效时基将不会累加刷新数据,并给出错误状态。
●Gain累加量增加的比值,相乘输入值后获得设定放大倍数的累积增值,默认值为1,即不进行放大。
●ResetValue复位累加量,只有当程序复位请求或操作员复位请求为真时复位操作才起作用。
●Target累加量的目标值,设定累加量目标值。
●TargetDev1累加量目标值的大偏差值,设定离目标值较大的差值。
●TargetDev2累加量目标值的小偏差值,设定离目标值较小的差值。
●LowInCutoff输入关闭门槛值,当输入值低于该值时,累计器停止累加操作。
●ProgProgReq用户程序请求程序控制,由请求程序控制的用户程序设置为真,保持此项为真,在操作员控制模式下不起作用,一旦操作员模式为假,则锁定程序控制模式。
●ProgOperReq用户程序请求操作员控制,由请求操作员控制的用户程序设置为真,保持此项为真,可锁定操作员控制模式。
●ProgStartReq程序启动请求输入,由请求启动的用户程序设置为真。
●ProgStopReq程序停止请求输入,由请求停止的用户程序设置为真。
●ProgResetReq程序复位请求输入,由请求复位的用户程序设置为真。
如图18-3所示的是功能块TOT输出参数的一部分,外部显示的Vis选项被勾选,该参数将作为外接连接点,为其他功能块的输入端连接点提供输入数据,或者与输出参数连接符相连接。
图18-3 功能块TOT输出参数的一部分
功能块TOT部分输出参数的说明:
●EnableOut使能输出,显示功能块处于使能状态,功能块被执行。
●Total累加器当前累加量值,按照设定的采样时间模式进行累积。
●OldTotal复位前的累加量值,访问该项,可获得复位时准确的累加值。
●ProgOper程序/操作员模式显示,程序模式为真,操作员模式为假。
●RunStop累加器操作状态显示,累加器运行为真,累加器停止为假。
●ProgResetDone累加器程序模式复位请求完成显示,用户程序可以用此位探测复位成功,当程序模式复位请求为假时,该位转为假。
●TargetFlag累加量目标值标志位,当累加值达到累加器目标值时为真。当该位置位后,累加值仍然继续累积,此处只表明了到达的标志,并不影响累积的操作。
●TargetDev1Flag累加量目标值的大偏差值标志位,当累加量离目标值还差大偏差值时为真。(www.xing528.com)
●TargetDev2Flag累加量目标值的小偏差值标志位,当累加量离目标值还差小偏差值时为真。
●LowInCutoffFlag输入关闭门槛值标志位,当输入小于等于关闭门槛值时,该位为真。
●DeltaT刷新数据之间所花费的时间,一般跟采样时间一致。
●Status功能块位映射状态。
●InstructFault功能块故障显示位,功能块故障发生为真。
见识过功能块参数之后,我们来讨论功能块之间的连接方式。所谓功能块组态,一个最基本的工作就是将各个功能块连接起来。
功能块的组态是连接功能块连接点的连线,前一个功能块的输出端连接点连接到下一个功能块的输入端连接点,由此构成功能块的信息流。功能块连接点之间的连接有两种方式:一种是用连接线连接,一种是用连接符连接。当功能块相互挨近时可用连接线直接连接,当要连接的功能块连接点之间相距较远,需要跨越其他功能块形成交叉线时,宜用连接符连接。用同名标志表示它们的连接关系,或者直接指定连接的标签名称。
功能块的输入端和输出端也就是功能块的外部参数连接点,点击功能块参数提供的外部连接点,用连接线连接。数据量连接点之间的连接线为实线,离散量连接点之间的连接线为虚线。
在功能块的连接点上,有两种不同的连接标识来连接不同数据类型的连接线:
●离散量连接点标识:连接的功能块参数为布尔量,相应的连接线为虚线。
●数据量连接点标识:连接的功能块参数为实数或双整数,相应的连接线为虚线。
功能块组态的连接符连接方式,可从指令选取框左边的4个连接符中选择所需要的连接符号,放置并与相应的连接点连接。
●输入参数连接符:可选取本程序数据库和全局数据库中的任何布尔数、实数和双整数,也可直接键入立即数。
●输出参数连接符:可选取本程序数据库和全局数据库中的任何布尔数、实数和双整数。
●连线接入连接符:连接同一例程中的较远位置的连接点,选取与连线接出点相同的标志符号。
●连线接出连接符:连接同一例程中的较远位置的连接点,建立与连线接入点对应的标志符号。
功能块之间的组态连接实际上建立了功能块例程的执行结构和执行顺序,每条连线都是从一个功能块的输出到下一个功能块的输入,从而构成了信息的流向,成为功能块执行的顺序。在多个功能块连接关系并行的情形下,不容易看出执行的顺序,每个功能块的执行顺序在未经校验的功能块例程中显示为未知,只有在校验功能块例程之后,本功能块的执行顺序才会出现在功能块页面的左下角,当增减功能块之后,再次校验功能块例程,将重新排列每个功能块新的执行顺序。在程序下创建功能块例程,如图18-4所示。
图18-4 在程序下创建功能块例程
我们在例程FBD_TOT中组态一个累加器TOT功能块,如图18-5所示。这里只有单独的一个功能块,该功能块中,通过参数连接符连接来自于梯形图控制的标签,作为功能块的输入参数,其输出参数通过参数连接符传递到控制器的其他标签。
现在我们将模拟量通道定标后的数据Analog_L接入累加器功能块的输入,并设定时基为0,即采集时间基值为秒,设定比例系数为1,累加量目标值为30000,最大偏差值为3000,最小偏差值为1000,最低门槛值为50,参数设置画面如图18-6所示。
图18-5 在例程FBD_TOT中组态一个累加器TOT功能块
图18-6 功能块TOT_01的参数设置画面
在梯形图中编写相应的梯级逻辑作为操作控制,如图18-7所示。通过梯级逻辑的控制可以改变TOT的运行模式、启动和停止累加操作以及复位累加值。我们不需要对累加的过程编写任何相关的操作,只需对TOT的参数进行设置和控制就可以了,整个组态过程非常简单快速。
功能块执行的情况如图18-8所示。可以看出当Prog_Req设置为1,且Start_Req设置为1时,累加器工作被启动,累加开始,当累加值达到27368.3时,刚刚越过离目标值30000的大偏差3000,也即27000的界限,此时大偏差值标志位TargetDev1Flag置位;尚未达到离目标值30000的小偏差1000,也即29000的界限,此时小偏差值标志位TargetDev2Flag复位。稍加留意可以看到,TOT功能块上次是在累加值等于51223.836时进行了复位。状态标志位RunStop为1标识了TOT正在进行累加工作。
图18-7 在梯形图中编写相应的梯级逻辑作为操作控制
在这里,我们可以享受功能直接使用的乐趣,而不需要费尽心机地去解决可能遇到的数据处理的麻烦。毫无疑问,调试也是非常的方便和快捷。但是我们要花费时间去了解功能块的参数,以便能准确地运用,如果功能块使用过程出现问题,一定是参数使用不当所致。
功能块PIDE也是功能强大的指令,凸显了功能块的优势。其PID调节性能十分优越,如果你针对同一对象,采用梯形图的PID指令调试过,然后换成PIDE来调试,一定会感觉到明显的调试性能的差异。如果你购买的编程软件含有功能块编程,我建议你采用功能块PIDE来调试闭环控制。关于功能块PIDE的组态,我们这里就不再介绍了,无非是大量的参数意义说明,它的外部接线正如我们熟知的那样,构成了闭环控制结构。
图18-8 功能块执行的情况
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。