力控-照明系统设计与实现
实验内容
—实验内容参考至建筑组态实验指导书—
工程描述:
照明监控系统模拟某楼宇某层的照明系统布置及其监控状况,包括房间照明、厅堂照明、走廊照明等正常照明和事故照明。
功能要求:
1、房间照明灯具、会议室照明灯具、走廊照明灯具和事故照明灯具分别采用不同的图元形状加以区别。
2、点击“开灯”按钮,所有正常照明打开,点击“关灯”按钮,所有正常照明关闭。
2、预设置 “早晨”、“下午”、“夜晚”3种灯光场景,利用按钮分别实现灯光场景的控制。“早晨”模式下,要求内部房间打开;“下午”模式下,内走廊灯打开;“夜晚”模式下,所有正常照明全部打开。
3、设置“火灾模拟”按钮,点击按钮模拟火灾发生时的照明系统设置,要求所有正常照明关闭,事故照明启动,指引人员逃生;同时弹出报警界面要求显示火灾报警的信息,火灾报警结束要求关闭报警窗口。
4、利用模拟的调光控制按钮控制厅堂照明的灯具颜色变化,实现彩光照明。
5、工程进入运行状态时要求直接进入照明监控系统登陆窗口。
因为找不到灯具,所以有椭圆代替
绿色椭圆代表办公室、厕所的灯;
紫色椭圆代表走廊、电力室的灯;
大椭圆代表会议室的灯,它可以根据游标值的变动,改变颜色;
红色的矩形代表火灾应急灯;
灯亮时为黄色;
实验步骤
1.绘制窗口
照明监控系统窗口
组件放置位置可参照 实验1
//房间的布局是用线画的,网格工具可以使其画直;
游标在标准图库-游标-类别2
背景的灰黑色矩形框是进行了图元后置,右击矩形-图元位置-后置
//可利用ctrl+c / ctrl+v 复制粘贴按钮(复制粘贴的控件会保留原控件的属性)
火灾报警窗口
组件放置位置可参照 实验1
这个表格在复合组件-报警-复合报警
2.定义I/O设备
- 双击“IO设备组态”
- “IO设备”-“力控”-“仿真驱动”-“Simulator(仿真)”,右击,新建名为“PLC”、设备地址为1的I/O设备。
3.建立实时数据库组态
- 在数据库定义模拟量I/O点lightcolor,数字量I/O点lighton、morning、afternoon、night、fireon
详情可参照 实验1
4.建立数据连接
(1)、将模拟量I/O点lightcolor的PV参数连接到I/O设备“PLC”的模拟量-常量寄存器输入区的0通道;
(2)、将数字量I/O点lighton的PV参数连接到I/O设备“PLC”的数字量-状态输出的0通道;
(3)、将数字量I/O点morning的PV参数连接到I/O设备“PLC”的数字量-状态输出的1通道;
(4)、将数字量I/O点afternoon的PV参数连接到I/O设备“PLC”的数字量-状态输出的2通道;
(5)、将数字量I/O点night的PV参数连接到I/O设备“PLC”的数字量-状态输出的3通道;
(6)、将数字量I/O点fireon的PV参数连接到I/O设备“PLC”的数字量-状态输出的4通道;
5.实时数据库火灾报警参数的组态
对实时数据库点fireon组态报警参数,报警优先级为高级。
6…建立动画连接
照明监控系统窗口
- 对会议室调光灯游标数据绑定
因为找不到灯具,所以有椭圆代替
绿色椭圆代表办公室/洗手间的灯;
紫色椭圆代表走廊、电力室的灯;
大椭圆代表会议室的灯,它可以根据游标值的变动,改变颜色;
红色的矩形代表火灾应急灯;
灯亮时,统一设置为黄色;
//可利用ctrl+c / ctrl+v 复制粘贴按钮(复制粘贴的控件会保留原控件的属性)
- 绿色灯(除洗手间的):动画连接-颜色变化-条件 表达式:lighton.PV||morning.PV
- 绿色灯(洗手间的):动画连接-颜色变化-条件 表达式:lighton.PV||night.PV
- 紫色灯:动画连接-颜色变化-条件 表达式:lighton.PV||afternoon.PV
- 大椭圆灯:动画连接-杂项-一般性动作-运行中周期执行 脚本:this.FColor=lightColor.PV;
- 红色灯:动画连接-颜色变化-条件 表达式:fireon.PV
如果大家有灯具,其表达,脚本也是一个原理:将灯表达式等于某个值,当这个值为1时亮,为0时灭
- 开灯按钮 动画连接-触敏动作-左键动作-按下鼠标 脚本:lighton.PV=1;
- 关灯按钮 动画连接-触敏动作-左键动作-按下鼠标 脚本:
lighton.PV=0;
morning.PV=0;
afternoon.PV=0;
night.PV=0; - 早晨按钮 动画连接-触敏动作-左键动作-按下鼠标 脚本:morning.PV=1;
- 下午按钮 动画连接-触敏动作-左键动作-按下鼠标 脚本:afternoon.PV=1;
- 夜晚按钮 动画连接-触敏动作-左键动作-按下鼠标 脚本:night.PV=1;
- 火灾模拟按钮 动画连接-触敏动作-左键动作-按下鼠标 脚本:
lighton.PV=0;
morning.PV=0;
afternoon.PV=0;
night.PV=0;
fireon.PV=1;
Display(“火灾报警”); - 火灾模拟结束按钮 动画连接-触敏动作-左键动作-按下鼠标 脚本:
CloseWindowEX(“火灾报警”);
fireon.PV=0;
7.脚本编写
- 编写“应用程序动作脚本”的“进入程序”动作脚本
脚本内容如下
注意!这是进入程序的脚本,不是程序运行周期执行的脚本
fireon.PV=0;
lighton.PV=0;
morning.PV=0;
afternoon.PV=0;
night.PV=0;
display("照明监控系统");
这段脚本的意思是,进入程序后,将所有灯关闭,并打开照明监控系统窗口
实验心得
1.对组件的方法、属性和事件加深了理解,对脚本的编写有了很大的提升;
2.有时找不到很好看、很好用、很方便的组件,后期要学会找资源;
3.编程时,要有很清晰的逻辑,要学会举一反三,刚开始时可能都只是在模仿别人的代码,但后期一定会弄出一点自己的东西的!
详情可参照 实验1,有些内容在那写了,这里就不写了
以上为个人学习经验,欢迎大家来交流、改进实验