在学习西门子、施耐德控制系统时,经常需要做自定义功能块。ABB的freelance2019也支持做自定义功能块。这个练习就学习如何做自定义功能块。先做模拟量处理,AI模板上接受信号,进行量程转换,然后有报警处理。
1. 打开freelance2019,新建一个项目,做以下结构。功能块池为放置用户自定义功能块的地方
2.打开硬件配置,添加模拟器和操作员站,和上图元素相关联。
3. 打开网络配置,修改IP地址
4. 双击打开“功能块类”层级,这里就是具体定义用户功能块。
放置模拟量-量程转换功能块和监视-模拟两件事功能块。
量程转换功能块配置如下
这里参数都是用默认值。因为不同的模拟量输入的工程量刚范围不一样,所以需要在使用自定义功能块的时候定义。那么我们就需要直到量程的这四个参数,对应于量程转换块的管脚名字是什么。点击上图的帮助按钮,可以看到下图所示的内容。
上图表格最后四行就是输入起点终点,输出起点终点对应的参数名字。可以看出来对名称、注释这几项是无法通过参数传递来定义的。
模拟量监控的设置如下:
这里为了通用性,配置了四个报警极限。点击帮助按钮
名称、注释是无法使用参数 来传递值。
5.双击FB-CLASS层级,打开自定义功能块的参数配置表
默认有几个参数,且不可修改
在后面的空白行添加参数定义
在名称一栏写AI_IN,表示模拟量输入模板通道输入值,会让人选择存储类型。存储类型有8种,分别如下:
VAR_IN:
VAR_OUT:
VAR_DPS:
VAR_VIS:
PARA_DPS:
PARA_VIS:
PARA_EXP:
MP_EXP:
由于AI_IN输入自定义功能块的输入,所以类型喜欢则VAR_IN,接下来选择数据类型,由于是模数转换后的数据,因此是INT,添加以下注释,最后如下。
同样添加AI_OUT
接下来定义量程转换模块内部的参数变量了。
定义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的参数定义就完成了
接下来定义模拟量监控块的参数
先定义输入信号的上下限
定义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
这样所有的参数就定义已完成了。
参数定义完成后,完善一下自定义块内部的逻辑
要引用自定义功能块时,这些参数出现在面板上让用户填写数据,所以需要编辑对话框。
保持上图的界面,点击菜单编辑-对话框编辑,打开如下界面,左边就是参数列表,右边是分页分组情况
从下面一排按钮可以看出,参数可以进行分页和分组,这是为了便于归类,比如我们使用系统自带的PID功能块时,设置参数的界面就进行了分页和分组。
由于这个练习的参数比较多,系统不允许放到一个组里面,所以我把AI_SCALE相关参数做一个页面一个组,AI_ANA做两个页面两个组
点击新页按钮,会在上面添加一个新页和一个新组
选中左边的参数列表
AI_IN_L
AI_IN_H
AI_OUT_L
AI_OUT_H
然后点击>按钮,将其移到右边
点击下面的新页按钮,会再新建一个页和一个组
选择左边的
DIM
IN_L
IN_H
放入右边的新建组
点击11行下面空白处,再点击新页按钮
选择左边的L1-L4四项,移到右边
新建一个组,将剩余的项移到右边
点击确认按钮保存设置
对项目进行保存,做一下检查,检查这个步骤不能少,不然找不到自定义功能块。
6.双击打开模拟量处理层,在这里调用刚才建立的自定义功能块
双击打开这个功能块,可以看出对话框的分布就是按照刚才的设定,如果为了对话框更加友好,可以对分页和分组写上中文注释。
对每一个分页填上参数
这里还可以对每一个报警设置文字和声音提醒。点击确定按钮保存设置
补充输入和输出变量
7. 在操作员站下面做画面显示,添加FRG层级
在画面上放置文字数字显示控件,绑定变量PT1000_HMI
保存项目,检查错误。加载上位机和下位机
当前数据是0,因此会触发低低限和低限报警
点击运行中的操作员站上的报警按钮,可以看到报警信息
如果修改输入变量PT1000数值,可以看到报警信息随之变化