使用力控6.0模拟舱监测报警

0x00 题目:机舱监测报警系统设计

  这里的机舱太宽泛。飞机机舱?轮船机舱?机车机舱?我们选择轮船机舱,所以实际完成的是轮船机舱监测报警系统。监测报警是这个系统要实现的功能,也是本题的难点。这个题目全是在电脑上用力控组态软件仿真完成,与实际的结合也只停留在模拟阶段,故实用性较低。

0x01 重点

  • 1 监测的具体参数:温度、液位、压力、速度、可燃气体、开关量和烟雾报警等。
  • 2 报警流程:流程图

  • 3 报警后的动作:包括手动解除报警并处理异常情况和系统自动处理异常。比如停机,开关阀门,喷淋等。

  • 4各类数据的储存和管理:历史数据记录、查询与打印。以报表和趋势曲线形式呈现数据。报警记录的储存和远程查看等。

    0x02 难点

  • 1 《工业控制网络》课程中的知识怎么应用到本系统中。

  • 2 机舱模拟动画的制作和控制程序的编写。
  • 3 监测报警系统框架的设计。

    0x03 一些坑

  • 1 由于整个系统都在力控软件上模拟仿真,所以所有的参数都需要自己模拟。比如烟雾报警的产生,我们控制程序生成0~100的随机数,通过判断随机数是否处在80~90的范围来发出报警,可谓是自给自足。部分伪代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
yanwu.pv=Rand(100);
temp1 = yanwu.pv>=85 && yanwu.pv<=90;
IF yanwu.pv>=80 && yanwu.pv<=90 || temp<5 THEN IF temp1==1 THEN
temp=1;
tag1.pv=2;
ELSE
tag1.pv=0;
ENDIF
temp=temp+1;
deng5.pv=1;
fadongji.pv=0;
beng2.pv=1;
level2.pv=level2.pv-1;
fa.pv=1;
ELSE
temp=10;
deng5.pv=0;
beng2.pv=0;
fa.pv=0;
ENDIF
  • 2 软件兼容性问题。6.0版本在我的windows7 64位电脑上会有一些奇怪的bug,比如控件属性不显示或显示空白。最后我把它安在windows XP的虚拟机里面才解决这个问题。
  • 3 力控软件的脚本程序运行机制问题。脚本编辑界面如下:运行机制
    包括进入程序,程序运行周期执行和退出程序三个界面。进入程序可理解为初始化程序,每次开始模拟只执行一次。程序运行周期执行就是一个while(1)死循环,没隔1000ms执行一次界面内代码。刚开始程序的时候不清楚这个机制,导致我在设置延时执行的时候出现问题,每次延时都有问题。后来发现是延时的时候到了间隔的1000ms,程序自动从头开始了,延时后面的程序根本不执行。

0x04 效果

系统结构:监测系统
仿真动画:动画

#0x05 总结

  这段文字主要记录这个设计任务的完成思路,完成过程中遇到的一些坑和具体实现时用到部分技巧。把它记录下来只为再次整理这个过程中的思路和关键点,以便查阅。

-------------本文结束感谢您的阅读-------------