首页 > 其他分享 >Citect 2018 R2报警弹窗的实现方法

Citect 2018 R2报警弹窗的实现方法

时间:2023-06-07 09:00:41浏览次数:35  
标签:R2 T100 Citect DISPLAYED 画面 2018 WENDU ALARM 弹窗

我在新浪博客发表过这一篇学习笔记,不过新浪博客审查机制一直把其作为私密状态,可能出发了某些敏感机制吧。我在这里再记录一遍,以免丢失。

我们现场有一个变频器室,周末发生了变频器空调坏掉,温度高,变频器停机造成生产中断的情况。由于变频器室无人值守,领导希望把变频器室的温度接入控制系统,后台计算机显示温度,有报警功能,还要弹窗提醒。我经过在办公室计算机上模拟测试,实现了上面的要求。我把过程简单记录下来。

上面的需求还需要进一步明确: 1. 温度高就弹窗,无论当前画面是哪一个。 2. 发生弹窗后,中控工通知设备维护人员,在处理完之前,弹窗不能影响中控工其它操作。 3. 如果中控工关掉弹窗,温度还是异常,继续弹窗。 4. 弹窗只有一个,不能满屏不停的弹窗。 根据上面的需求,在citect项目程序中新建变量T100,内部变量,实数,模拟现场温度。新建一个数字量内部变量WENDU_ALARM_DISPLAYED,表示是否已经弹窗。 在主画面上放一个数字显示控件,关联T100。放两个按钮,分别用于T100+20.0和T100-20.0。   新建一个小画面,名字交WENDU,作为弹窗,长宽数字都小一点,”退出画面时“事件写下面的脚本 WENDU_ALARM_DISPLAYED=0 写cicode脚本 FUNCTION WENDU_ALARM() IF T100>50.0 THEN IF WENDU_ALARM_DISPLAYED=0 THEN WENDU_ALARM_DISPLAYED=1 pagepopup("WENDU") END END END   定义一个事件WENDU_ALARM,周期00:00:10,动作为WENDU_ALARM() 当前画面切换到其他画面的按钮鼠标点击事件写下面的脚本 pagedisplay("page2") WENDU_ALARM_DISPLAYED=0 WENDU_ALARM() 其它画面切换时,都是类似的操作 保存、编译,做一下计算机向导,启用事件。 运行项目,使用按钮让T100超过50.0,每隔10秒会执行事件,如果没有弹窗就弹窗一次,弹窗期间不影响操作。如果关掉弹窗,每隔10秒还是会执行事件进行判断。 画面切换不影响弹窗。   到了这里,95%工作已经完成。考虑到容错性,如果运行着的这个HMI程序意外终止,下一次启动时,很可能WENDU_ALARM_DISPLAYED还是1,如果报警条件具备,就不再弹窗了,这是我们不希望看到的情况。 我是这样解决的。   新建一个画面INI,外形尺寸尽可能小,画面的打开事件中,先使用pagedisplay()跳转到其他工艺画面,紧接着写语句 WENDU_ALARM_DISPLAYED=0 保存编译,计算机向导,起始画面设定为INI,这样运行HMI项目程序的时候,打开INI画面,一闪而过到正式的工艺画面,由于INI外形尺寸很小,也不会察觉出来。

标签:R2,T100,Citect,DISPLAYED,画面,2018,WENDU,ALARM,弹窗
From: https://www.cnblogs.com/fishingsriver/p/17462296.html

相关文章

  • 2018年湖南省对口高考计算机应用类《网络》部分试题分析
    ......
  • Swagger2生成Api文档
    前置条件是项目中已经使用swagger一、html格式:1.加入依赖swagger2markup<!--文档生成--> <dependency> <groupId>io.github.swagger2markup</groupId> <artifactId>swagger2markup</artifactId> <version>1.3.1</ve......
  • widnows2012 r2上安装iis 报错,提示找不到原文件位置的解决办法。
    服务器win2012安装.NetFramework3.5失败的解决方法安装一个或多个角色、角色服务或功能失败。找不到源文件。请在尝试在新的“添加角色和功能”向导会话中安装角色、角色服务或功能,然后在向导的“确认”页中单击“指定备用源路径”以指定安装所需的源文件的有效位置。目标服......
  • matlab r2022b 在vbox下显示plot上下镜像的问题
    现象:matlabr2022b在vbox环境下plot显示会出现上下镜像的现象。原因:默认开启的OpenGL渲染模式造成的。解决:关闭OpenGL渲染模式或者代码改用"painters"渲染模式。set(gcf,'renderer','painters'); ......
  • python+uiautomator2+atx,未开启底部导航栏会存在元素不一致
    如果在同一个安卓手机上,一个应用程序开启了底部导航栏而另一个未开启,在UI自动化测试中,这可能会导致元素在两个应用程序之间的定位方式有所不同。因为不同的应用程序可能会使用不同的布局和元素渲染方式。如果在未开启导航栏的应用程序中无法找到元素,则需要确保您的locator与该应......
  • CATIA-CATIA V5-6R2017 WIN10 64位版本安装+许可证的安装配置(CATIA启动时必须要调用许
    CATIAV5-6R2017WIN1064位安装步骤:1.先使用“百度网盘客户端”下载CATIAV5-6R2017软件安装包到电脑磁盘英文路径文件夹下,并解压缩,安装前先断开电脑网络,然后双击打开CATIAV5R2017文件夹,找到setup.exe,鼠标右击选择【以管理员身份运行】2.正在准备安装中,稍等片刻自动进入安......
  • 2018WEB安全测试秋季预选赛WriteUp
    0x01input传送门:http://114.55.36.69:8003/题目上说前三道题目是容易的,于是就从容易的题目入手,为了拿到1血,手速飞快地点,emmm,一紧张忘了js输出语句怎么写了,百度后才发现,自己有多蠢alert啊!进入网址,发现一个输入框,查看源码,发现id="flag",后面有一段js代码<script>functionchec......
  • windows server2022 激活
    近期因为需要安装一个Windowsserver2022服务器操作系统做测试,安装完成后发现一些设置需要激活后方可使用。但又不想使用网上的激活软件去激活。有没有办法不安装激活软件又能激活延长Windowsserver2022操作系统的方法。还真找到了一个方法。以管理员身份打开运行powershell。打......
  • [HCTF 2018]WarmUp 1 做题笔记
     打开发现什么信息也没有,先看源代码, 发现隐藏信息 source.php试着打开  看到了class.emmm里面有个hint.php提示,试着打开提示flag不在这里,ffffllllaaaagggg,猜测是有四次过滤,再结合上面的classemmm代码,构造file=hint.php,然后试着用../../../../反过滤构造?file......
  • Mediastreamer2
     http://www.linphone.org/eng/documentation/dev/mediastreamer2.htmlMediastreamer2-themultimediastreamingengineMediastreamer2isapowerfulandlightweightedstreamingenginespecializedforvoice/videotelephonyapplications.Itisthelib......