SCL是比较容易上手,学好学通却是有一定难度的。板带中心轧钢软件开发与升级过程中要用到很多上升沿,在这里笔者通 [...]

SCL是比较容易上手,学好学通却是有一定难度的。板带中心轧钢软件开发与升级过程中要用到很多上升沿,在这里笔者通过一个案例,简要介绍一下它的原理和简要程序。

“面向冷轧生产过程的知识管理平台”操作画面

什么是上升沿?

在总程序中,只需要执行一次(后自封锁)的函数。

举个例子,点击一下某个按钮A,轧钢机的弯辊量y立刻增加1个单位(后面就不增加了)。人脑好理解这句话,可PLC中是如何运行的呢?

PLC单位时间内(比如1毫秒)扫描一次总函数,如果你把某个量置为1,函数每秒就会增加一千次。

因此我们PLC是这么工作的,当这个按钮A置为1,轧钢机的弯辊量函数y=y+1;然后把按钮A置为0。

这样下次扫描时A已经值为零,函数就不会执行y=y+1了。

我把一个最基本的上升沿函数及其前期定义放在这里,便于大家学习,同时也便于我后期编程复制。SCL代码如下:

函数定义部分

BxF11FP:BOOL:=FALSE;
BxF11LS:BOOL:=FALSE;

//上述内容解释:定义BxF11FP、BxF11LS为BOOL量,并置为0

主函数部分

BxF11FP:=BxF11 AND ( NOT BxF11LS);
BxF11LS:=BxF11;
IF BxF11FP THEN
BxF11N:=BxF11N+1;
END_IF;

//上述内容解释:BxF11是我在wincc画面中的一个控制按钮,当其为0时,第一函数命令解释:BxF11(初始值0),AND,NOT BxF11(初始值0)后,其值为FALSE,第二句命令的解释:令BxF11LS为0,显然第三句是不满足IF条件的,就不会执行第四句话。

如果在wincc中点击了BxF11按钮呢?这时BxF11为真,第一句话中后半句为真,则BxF11FP为真。第二句话是关键,这时候又把一个真给了BxF11LS,这就导致第一句话在下次执行的时候就为假了。注意第一句话中的( NOT BxF11LS)。后面的IF为真,函数运行+1命令。不过下次扫描的时候,BxF11FP又为假了,函数就不再执行。

简而言之,上升沿的目的是保证函数在外在点击时,只运行一次。

补充:AND函数意义:所有参数的逻辑值为真时,返回TRUE;

文章原创,版权归属北科大国家板带中心所有,转载必须注明轧钢网首页链接(http://zhagang.org/

 


一起来学习

关于本站

王晓晨副研究员的科研笔记。本站记录的是北科大国家板带生产先进装备工程技术研究中心王晓晨副研究员的科研笔记,供大家交流学习轧钢类知识,请勿恶意复制。