ABB AC900F学习笔记20:自定义功能块的使用1

在学习西门子、施耐德控制系统时,经常需要做自定义功能块。ABB的freelance2019也支持做自定义功能块。这个练习就学习如何做自定义功能块。先做模拟量处理,AI模板上接受信号,进行量程转换,然后有报警处理。

1. 打开freelance2019,新建一个项目,做以下结构。功能块池为放置用户自定义功能块的地方

ABB AC900F学习笔记20:自定义功能块的使用1

2.打开硬件配置,添加模拟器和操作员站,和上图元素相关联。

ABB AC900F学习笔记20:自定义功能块的使用1

3. 打开网络配置,修改IP地址

ABB AC900F学习笔记20:自定义功能块的使用1

4. 双击打开“功能块类”层级,这里就是具体定义用户功能块。

放置模拟量-量程转换功能块和监视-模拟两件事功能块。

量程转换功能块配置如下

ABB AC900F学习笔记20:自定义功能块的使用1

这里参数都是用默认值。因为不同的模拟量输入的工程量刚范围不一样,所以需要在使用自定义功能块的时候定义。那么我们就需要直到量程的这四个参数,对应于量程转换块的管脚名字是什么。点击上图的帮助按钮,可以看到下图所示的内容。

ABB AC900F学习笔记20:自定义功能块的使用1

上图表格最后四行就是输入起点终点,输出起点终点对应的参数名字。可以看出来对名称、注释这几项是无法通过参数传递来定义的。

模拟量监控的设置如下:

ABB AC900F学习笔记20:自定义功能块的使用1

这里为了通用性,配置了四个报警极限。点击帮助按钮

ABB AC900F学习笔记20:自定义功能块的使用1

名称、注释是无法使用参数 来传递值。

5.双击FB-CLASS层级,打开自定义功能块的参数配置表

默认有几个参数,且不可修改

ABB AC900F学习笔记20:自定义功能块的使用1

在后面的空白行添加参数定义

在名称一栏写AI_IN,表示模拟量输入模板通道输入值,会让人选择存储类型。存储类型有8种,分别如下:

VAR_IN:

VAR_OUT:

VAR_DPS:

VAR_VIS:

PARA_DPS:

PARA_VIS:

PARA_EXP:

MP_EXP:

由于AI_IN输入自定义功能块的输入,所以类型喜欢则VAR_IN,接下来选择数据类型,由于是模数转换后的数据,因此是INT,添加以下注释,最后如下。

ABB AC900F学习笔记20:自定义功能块的使用1

同样添加AI_OUT

ABB AC900F学习笔记20:自定义功能块的使用1

接下来定义量程转换模块内部的参数变量了。

定义AI_IN_L表示输入数据的下限,存储类型为PARA_EXP,参考参数选择AI_SCALE.Mae(参考前面的表格)

定义AI_IN_H表示输入数据的上限,存储类型为PARA_EXP,参考参数选择AI_SCALE.Mee

定义AI_OUT_L表示输出数据的上线,存储类型为PARA_EXP,参考参数选择AI_SCALE.Maa

定义AI_OUT_H表示输出数据的上线,存储类型为PARA_EXP,参考参数选择AI_SCALE.Mea

这样AI_SCALE的参数定义就完成了

ABB AC900F学习笔记20:自定义功能块的使用1

 

接下来定义模拟量监控块的参数

先定义输入信号的上下限

定义IN_L表示输入数据的下限,存储类型为PARA_EXP,参考参数选择AI_ANA.Mba(参考前面的表格)

定义IN_H表示输入数据的上限,存储类型为PARA_EXP,参考参数选择AI_ANA.Mbe

再定义四个报警极限的数值

定义L1表示报警1,这里是LL,存储类型为PARA_DPS,数据类型为REAL

定义L2表示报警2,这里是L,存储类型为PARA_DPS,数据类型为REAL

定义L3表示报警3,这里是H,存储类型为PARA_DPS,数据类型为REAL

定义L4表示报警1,这里是HH,存储类型为PARA_DPS,数据类型为REAL

再定义报警信息

定义MP1表示信息1,存储类型为MP_EXP,参考参数选择AI_ANA.MP1

定义MP2表示信息2,存储类型为MP_EXP,参考参数选择AI_ANA.MP2

定义MP3表示信息3,存储类型为MP_EXP,参考参数选择AI_ANA.MP3

定义MP4表示信息4,存储类型为MP_EXP,参考参数选择AI_ANA.MP4

定义单位信息

定义DIM表示数据单位,存储类型为PARA_EXP,参考参数选择AI_ANA.DIM

这样所有的参数就定义已完成了。

ABB AC900F学习笔记20:自定义功能块的使用1

参数定义完成后,完善一下自定义块内部的逻辑

ABB AC900F学习笔记20:自定义功能块的使用1

 

要引用自定义功能块时,这些参数出现在面板上让用户填写数据,所以需要编辑对话框。

保持上图的界面,点击菜单编辑-对话框编辑,打开如下界面,左边就是参数列表,右边是分页分组情况

ABB AC900F学习笔记20:自定义功能块的使用1

从下面一排按钮可以看出,参数可以进行分页和分组,这是为了便于归类,比如我们使用系统自带的PID功能块时,设置参数的界面就进行了分页和分组。

由于这个练习的参数比较多,系统不允许放到一个组里面,所以我把AI_SCALE相关参数做一个页面一个组,AI_ANA做两个页面两个组

点击新页按钮,会在上面添加一个新页和一个新组

ABB AC900F学习笔记20:自定义功能块的使用1

选中左边的参数列表

AI_IN_L

AI_IN_H

AI_OUT_L

AI_OUT_H

然后点击>按钮,将其移到右边

ABB AC900F学习笔记20:自定义功能块的使用1

点击下面的新页按钮,会再新建一个页和一个组

ABB AC900F学习笔记20:自定义功能块的使用1

选择左边的

DIM

IN_L

IN_H

放入右边的新建组

ABB AC900F学习笔记20:自定义功能块的使用1

点击11行下面空白处,再点击新页按钮

ABB AC900F学习笔记20:自定义功能块的使用1

选择左边的L1-L4四项,移到右边

ABB AC900F学习笔记20:自定义功能块的使用1

新建一个组,将剩余的项移到右边

ABB AC900F学习笔记20:自定义功能块的使用1

点击确认按钮保存设置

对项目进行保存,做一下检查,检查这个步骤不能少,不然找不到自定义功能块。

6.双击打开模拟量处理层,在这里调用刚才建立的自定义功能块

ABB AC900F学习笔记20:自定义功能块的使用1

双击打开这个功能块,可以看出对话框的分布就是按照刚才的设定,如果为了对话框更加友好,可以对分页和分组写上中文注释。

ABB AC900F学习笔记20:自定义功能块的使用1

ABB AC900F学习笔记20:自定义功能块的使用1

ABB AC900F学习笔记20:自定义功能块的使用1

对每一个分页填上参数

ABB AC900F学习笔记20:自定义功能块的使用1

ABB AC900F学习笔记20:自定义功能块的使用1

 

这里还可以对每一个报警设置文字和声音提醒。点击确定按钮保存设置

补充输入和输出变量

ABB AC900F学习笔记20:自定义功能块的使用1

7. 在操作员站下面做画面显示,添加FRG层级

在画面上放置文字数字显示控件,绑定变量PT1000_HMI

ABB AC900F学习笔记20:自定义功能块的使用1

ABB AC900F学习笔记20:自定义功能块的使用1

保存项目,检查错误。加载上位机和下位机

当前数据是0,因此会触发低低限和低限报警

点击运行中的操作员站上的报警按钮,可以看到报警信息

ABB AC900F学习笔记20:自定义功能块的使用1

如果修改输入变量PT1000数值,可以看到报警信息随之变化

ABB AC900F学习笔记20:自定义功能块的使用1

 

上一篇:Python自动化测试-正则表达式解析


下一篇:【数据处理】正则匹配指定字符传后面的字符