资源描述
4 智能楼宇太阳能力控组态软件
4.1新建组态软件工程项目
(1)打开力控组态软件,进入力控工程管理器
点击“开始” →“所有程序”→ “力控6.0”,如图4-1所示;或直接在桌面双击力控工程管理图标。
图4-1 图4-2
(2)新建工程
在力控工程管理界面,点击“新建”按钮新建一个工程,工程名称为“智能楼宇太阳能应用系统”,如图所示,如果有需要,可以先改变保存工程的路径,然后点确定。如图4-2.
(3)把选中工程设置为当前工程
在力控工程管理器界面,选中“智能楼宇太阳能应用系统”工程,然后点击“设置” →“设置为当前工程”,这样就把“智能楼宇太阳能应用系统”工程项目声明为当前工程了,如图4-3所示
图4-3 图4-4
(4)进入当前工程开发环境在力控工程管理界面,点击“开发”按钮,如图4-4所示
4.2定义外设I/O连接
I/O设备的通信一般包括:DDE、OPC、PLC、UPS等,这些设备一般通过串口或以太网等方式与计算机交换数据。组态软件里定义了I/O设备连接猴,在力控组态软件功能才能通过数据库变量与这些I/O设备进行数据交换。
(1)在项目导航器的工程栏目双击“I/O设备组态”,在弹出的画面中点击“力控”前面的“+”,再点击“单片机”如图4-5所示。
图4-5 图4-6
(2)然后双击“单片机协议”,在弹出的画面中定义I/O设备名称及设备的地址号,如图4-6
(3)在I/O配置向导中点击“下一步”,选择与I/O设备通信的COM口。
图4-7 图4-8
4.3建立工程组态画面
在进入力控开发系统后,可以为每个工程建立无数个画面,在每个画面上可以组态相关的静态或动态图形。
(1)创建新画面
进入开发环境Draw后,需要创建一个新窗口。点击“文件[F]” →“新建”,将出现“窗口属性”对话框,如图4-8所示,在窗口名字栏写上“系统”,在说明栏上写“智能楼宇太阳能”。点击“背景色”按钮,在调色板里选择其中一种颜色作为窗口背景色。
(2)创建图形对象
在力控组态应用中,现成数据采集到装有力控组态计算机中,操作人员通过力控组态仿真画面对其进行监控。
点击“系统画面”窗口,出现Draw的工具箱,现在在“系统画面”画面里画出太阳能电池板,使用鼠标点击“工具箱”的“线”,在适当的地方画出太阳能电池板。如图所示
图4-9 图4-10
在画面上画出蓄电池组,在工程项目的导航器中双击“图库”,将出现“图库”界面,点击“罐”。双击需要的图标,将在画面的左上角出现该罐的图标,如图4-10所示。如果需要,可以移动罐的位置及修改其大小。点击罐,拖动及其边线修改罐的大小。
再在画面上画出2个水阀以代表DC-DC变换器和DC-AC变换器,在工程项目导航器中双击“图库”,将出现“图库界面”,点击“阀门”,在精灵图库中选择一个阀门并双击该阀门的图标,将在画面的左上角出现该阀门的图像,按下 ctrl并点击该阀门,进行复制。如图4-11
图4-11 图4-12
再在画面上画出4个开关,分别代表:太阳能电池为蓄电池充电的开关,太阳能电池直接供电的开关,蓄电池供电的开关,太阳能向电网输电的开关,电网供电开关。在工程项目的导航器中双击“图库”,将出现“图库”界面,点击“开关”,在精灵图库中选在一个开关并双击该开关,将出现画面的左上角。如图4-12所示。
同理画出电网,电线等图形,并进行连接,如图4-13所示。
图4-13
4.4定义数据库变量
数据库DB是整个应用系统的核心,是构建分布式应用系统的基础。它负责整个力控应用系统的实时数据处理,历史数据存储,统计数据处理,报警信息处理和数据服务请求处理。
在数据库中,操纵的对象是点(TAG),实时数据库根据点名字典决定数据库结构,分配数据库的存储空间。
本系统需要定义2个模拟I/O点,一个点的PV参数表示太阳能电池板吸收光能转化电能的值,另一个点的PV参数表示蓄电池电量的值,把2个点分别命名为“sun”和“battery”。
系统还需要定义6个数字I/O点,代表DC-DC变换器,DC-AC变换器和4个开关。
分别命名为“DC_DC”、“DC_AC”、“in_battery”、“out_battery”、“DC”、“AC”、“dianwang”。
创建数据库点的步骤如下:
在DRAW导航器中双击“实时数据库”启动组态程序DbManager,将弹出数据库组态界面,如图4-14。
图4-14 图4-15
在数据库组态界面里,点击菜单栏的“点” →“新建”,将出现“请指定区域、点类型”向导界面,如图4-15。
在“请指定区域、点类型”界面,双击“区域00”中的“模拟I/O点”,将出现如图所示界面,在点名内输入sun,在点说明中写入太阳能电池板,如图4-16。
图4-16
在“请指定区域、点类型”界面,双击“区域00”中的“数字I/O点”,同理,如图4-17所示。
图4-17 图4-18
4.5建立I/O数据连接
数据库主要将数据的点参数和采集设备的通道地址相对应,现场的数据处理、量程变换、报警处理、历史存储等都放到数据库进行、数据库提供了数据处理的手段、同时又是分布式网络服务的核心。
在前面创建了一个名为DPJ的I/O设备,现在需要把新增的点与“单片机”进行实时数据交换,这个过程就是建立 连接的过程。由于数据库可以与多个I/O设备进行连接,所以必须指定哪些点与哪个I/O设备的哪个数据项简历数据连接。
双击数据库中点“sun”的单元格,再点击“数据连接”将出现如图5-18所示。点击“增加”按钮,出现“DPJ”的数据连接画面,在I/O类型选择,地址选择“300”,然后点击确定。完成该点数据连接定义。同理建立其他数字I/O点的数据连接。
4.6建立动画连接
所有的数据通过数据库变量进行动画连接,人机界面HMI里的数据库变量对应区域数据库DB的一个点参数,通过点参数的数据连接来完成与设备通信的连接。
动画连接是将画面中的图形对象与变量之间建立某种关系,当变量的值发生变化时,在画面上图形对象的动画效果以动态变化的方式体现出来,有个变量之后就可以进行动画连接了。
一旦创建了一个图形对象,给它进行动画连接就相当于赋予它“生命”,从而活动起来。动画连接使用对象按照变量的值改变其大小、颜色等。定义变量和制作动画连接这两个工作可以独立完成。
本系统的动画连接:
(1)太阳能电池板的动画连接。双击换面中的太阳能电池板出现动画连接界面如图4-19所示。
图4-19 图4-20
在动画连接对话界面中,点击数值输入栏的“模拟”按钮,将弹出输入对话界面,如图4-20所示。
在数值输入界面,单击“变量选择”按钮,弹出“变量选择”对话界面,在点名称栏中选择“sun”,在右边参数列表中选择“PV”参数,如图所示,然后点击选择按钮,如图4-21。
图4-21 图4-22
(2)DC-DC和DC-AC变换器动画连接。
双击“DC-DC变换器”图形,弹出阀门向导提示框,如图4-22所示。在表达式右侧点击弹出“变量选择”提示框,选择变量名称“DC-DC”,参数选择PV,点击“选择”按钮,并且选择开关颜色,如图4-23所示。
图4-23 图4-24
当“DC-DC.PV”为真时,则DC-DC变换器为运行状态,希望图形变成绿色,所以在“值为真时颜色”选项将颜色通过调色板选为绿色,同样希望在变换器不运行时,颜色变成灰色,在“值为假时颜色”选择灰色,如图4-24所示。同理定义DC-AC变换器动画连接。
(3)蓄电池组动画连接。
双击“蓄电池组”图形,弹出罐向导提示框,如图4-25所示。
图4-25 图4-26
点击表达式右侧按钮,弹出“变量选择”提示框,变量选择“battery”,参数选择“PV”。然后点击“选择”按钮,并选择充电时电量填充色,如图4-26所示。
(4)开关的动画连接
双击“开关”图形,弹出“开关向导”提示框,选择表达式,弹出“变量选择”提示框,选择变量名“in_battery”,参数选择“PV”,如图4-27所示。
图4-27
希望当“in_battery.pv”为真时,则表示开关闭合,希望开关颜色变成绿色,所以在“值为真时颜色”选项将颜色通过调色板选为绿色,同样希望在开关断开时,颜色变成红,在“值为假时颜色”选择红色,如图4-28所示
。
图4-28
同理为“DC”、“AC”、“out_battery”、“dianwang”开关进行动画连接。
4.7模拟应用程序设计
(1)设计思想
在有太阳光照射情况下,太阳能电池板将光能转化为电能,DC-DC变换器运行,太阳能电池板向蓄电池组充电,并向负载供电,当蓄电池充满电时,DC-AC变换器运行,向电网供电。
在无太阳光照射情况下,太阳能电池板停止工作,DC-DC变换器停止运行,蓄电池组向直流负载供电,当蓄电池组中电量为0时,电网开始供电。
(2)设计步骤
在工程项目菜单栏中,点击“动作” →双击“应用程序动作”,如图4-29所示。
图4-29 图4-30
点击“程序运行周期执行”进行编程,如图4-30所示。
(3)程序
A=100*Sin(t); #假设输入为正弦波
IF run.PV==1 THEN #系统运行时,run.pv=1
dianwang.pv=0; #电网供电开关关闭
IF A<=3 THEN #当蓄电池电量小于等于3%时
low.PV=1; #低压报警,电池向蓄电池充电
high.PV=0;
in_battery.PV=1; #向蓄电池组充电
DC_DC.PV=1; #DC-DC变换器运行
DC.PV=1; #向负载供电开关打开
DC_AC.PV=0;
AC.PV=0;
out_battery.PV=0;
t=t+1; #电量随时间增加而增加
ENDIF
IF A>=3&&A<=95 THEN #当蓄电池组电量>=3%且<=95%时
low.PV=0;
high.PV=0;
DC_AC.PV=0;
DC_DC.PV=1; #DC-DC变换器运行
DC.PV=1;
AC.PV=0;
out_battery.PV=0;
in_battery.PV=1; #向蓄电池组充电
t=t+1;
ENDIF
IF A>=95 THEN #当蓄电池组电量大于等于95%
high.PV=1; #高压警报
low.PV=0;
in_battery.PV=0;
DC_AC.PV=1; #在DC-DC变换器运行下,DC-AC变换器运行,
DC_DC.pv=1; #并向电网送电开关打开,向负载供电开关打开
AC.PV=1;
DC.PV=1;
out_battery.PV=0;
t=90;
ENDIF
ENDIF
IF run.PV==0 THEN #当系统不运行时
IF A>=95 THEN #蓄电池组电量大于等于95%时
low.PV=0;
high.PV=1; #高压报警
DC_AC.PV=0; #DC-AC,DC-DC都不运行
DC_DC.PV=0;
out_battery.PV=1; #蓄电池向负载供电
in_battery.pv=0;
DC.PV=0;
AC.PV=0;
t=t-1;
ENDIF
IF A>=3&A<=95 THEN #当电池电量在3%--95%
low.PV=0; #无报警,并且电池向负载供电,其他关关闭
high.PV=0;
DC_AC.PV=0;
DC_DC.PV=0;
DC.PV=0;
AC.PV=0;
out_battery.PV=1;
in_battery.pv=0;
t=t-1;
ENDIF
IF A<=3 THEN #当蓄电池电量小于等于3%时
low.PV=1; #低压报警
high.PV=0;
DC_AC.PV=0;
DC_DC.PV=0;
DC.PV=0;
AC.PV=0;
dianwang.pv=1; #电网为负载供电
out_battery.PV=0;
in_battery.PV=0;
t=0;
ENDIF
(4)设置运行停止按钮
点击“工具栏”,用框图画出方框,并在框图上写上“系统运行”,双击图形,弹出“动画连接”提示框,如图4-31所示。
图4-31 图4-32
点击“左键动作”,在“鼠标按下”中,写入“run.pv=1”,如图4-32所示。
同理设置“系统停止”按钮。
4.8本地报警设置
组态报警的数据必须是数据库的数据,报警数据将在实时数据库中处理和保存。报警参数是数据库的点的基本参数,在进行点组态时设置点的报警参数。
本地报警是用来显示和确认系统数据的窗口,由开发系统DRAW在工程画面中创建,而由界面运行VIEW运行时显示。本地报警通过访问实时数据库的报警文件进行查询,不但可以访问本地的历史报警数据,还可以访问远程数据库的历史报警数据,灵活地构成分布式的、网络化报警系统。
本地报警有两种预定义类型:实时报警和历史报警。但是在运行过程中,可以相互切换。
“实时报警”反应的是当前未确认的报警。如果经过处理后一个报警返回到正常状态,则这个变量的报警状态变为“恢复”状态,表明现在没有报警发生。
“历史报警”反应的是所有发生过的报警。在历史报警记录可查看报警发生时间、确认的时间和报警状态返回到正常状态的时间。
(1)在开发系统中,点击工程导航栏的“工具” →“复合组件”,再点击复合组件窗口的“报警”,在出现的界面中可找到本地报警控件,如图4-33所示。
图4-33 图4-34
(2)双击“本地报警”图标,将出现当前窗口本地报警控件,双击本地报警控件图形,将会打开报警属性设置界面,在报警属性设置界面可以设置外观、记录格式和统计位号。如图4-34所示
(3)使用脚本控制本地报警控件组件
对于本地报警控件,力控提供了丰富的属性和方法,可以灵活地对报警控件进行控制,利用Statistic(string1,string2,string3)进行查询报警信息。
其中string1代表查询开始时间,string2代表查询结束时间,string3为查询变量位号。如图4-35。
图4-35 图4-36
建立变量string1,string2,string3为开时,结时,位号,并进行动画连接,如图4-36所示。
双击查询开始时间的“#########”进行动画连接,弹出提示框,在“数值输入显示”中点击“字符串”,变量选择“开时”,再在“数值输出显示”中点击“字符串”,变量选择“开时”,如图所示。同理结时和位号,如图4-37。
图4-37 图4-38
双击“开始查询”矩形框,弹出提示框,点击“左键动作”,在脚本编辑器中输入“#FCAlarm.Statistic(开时,结时,位号);”,如图4-38所示。
4.9系统运行
点击“运行”,弹出系统演示画面,如图4-39所示
图4-39 图4-40
点击“系统画面”按钮,弹出系统画面,如图4-40。点击“报警信息”按钮,弹出报警画面,如图4-41。
图4-41
展开阅读全文