Intouch/ifix语音报警系统制作(2)
在我的先前一篇关于语音报警系统制作的文章中,阐述了如何通过标签组来获得@name@的详细内容,以通过这种方式来进行详细的设备故障播报。经过一段时间的试运行,发现使用标签组的方式会产生较大的耦合,(即当标签组内容或者脚本内容发生错误时,脚本会弹出错误,妨碍了其他脚本的执行)
于是,在现场将所有的绑定标签组的报警脚本修改为直接传参到全局变量,实现解耦。
1.后台调度修改:
Private Sub FixEvent2_WhileTrue()
’将全局变量PicNumBer赋值为所需要报警的设备名称
Dim workspace As Object
Set workspace = GetObject("", "Workspace.Application")
Dim tagvar As Object
Set tagvar = workspace.Documents("User").Page.FindObject("PicNumBer")
tagvar.Description = "二期粗格栅2号污水泵" Dim TOP As Integer
Dim LEFT As Integer
TOP = Int((50 * Rnd) + 1)
LEFT = Int((50 * Rnd) + 1)
Dim conODBC As ADODB.Connection
Dim StrD As String
Dim userid As String
Dim username As String
Dim groupname As String
System.FixGetUserInfo userid, username, groupname
StrD = Format(Now, "yyyy-mm-dd hh:mm:ss")
Set conODBC = New ADODB.Connection
conODBC.ConnectionString = "DSN=QPWS;UID=sa;PWD=;"
conODBC.Open "QPWS", "sa", ""
conODBC.Execute "insert into kaitingshijian (DateTimee,mingcheng,neirong,operator) values ('" + StrD + "','二期粗格栅污水泵2', '故障', '" + username + "')"
conODBC.Close
openpicture "故障报警.grf", "", TOP, LEFT, 0, , NONE, "", True End Sub
2.1弹窗界面初始化:
Private Sub CFixPicture_Initialize()
Dim a As String
User.jishu.CurrentValue = User.jishu.CurrentValue + 1
playSound ("D:\alarm.wav")
'将设备名称赋值给text标签的caption属性 Text2.Caption = User.PicNumBer.Description
'故障报警.LoadTagGroupFile User.PicNumBer.Description
'故障报警.tagGroupSubstitution "@name@", a
'JTTS_ActiveX1.Play (a)
JTTS_ActiveX1.Play (Text2.Caption + Text1.Caption + Text2.Caption + Text1.Caption + Text2.Caption + Text1.Caption)
End Sub
2.2界面关闭:
Private Sub CFixPicture_Close()
If User.tagname.CurrentValue = False Then
User.tagname.CurrentValue = True
Else
Dim a As String
a = Text2.Caption
Dim conODBC As ADODB.Connection
Dim StrD As String
Dim userid As String
Dim username As String
Dim groupname As String
System.FixGetUserInfo userid, username, groupname
StrD = Format(Now, "yyyy-mm-dd hh:mm:ss")
Set conODBC = New ADODB.Connection
conODBC.ConnectionString = "DSN=QPWS;UID=sa;PWD=;"
conODBC.Open "QPWS", "sa", ""
conODBC.Execute "insert into querenguzhang (DateTimee,mingcheng,neirong,operator,queren) values ('" + StrD + "','" + a + "', '故障', '" + username + "','未确认')"
User.jishu1.CurrentValue = User.jishu1.CurrentValue + 1
conODBC.Close
End If
End Sub
2.3确认按钮脚本编写:
Private Sub CommandButton1_Click()
Dim a As String
a = Text2.Caption
Dim conODBC As ADODB.Connection
Dim StrD As String
Dim userid As String
Dim username As String
Dim groupname As String
System.FixGetUserInfo userid, username, groupname
StrD = Format(Now, "yyyy-mm-dd hh:mm:ss")
Set conODBC = New ADODB.Connection
conODBC.ConnectionString = "DSN=QPWS;UID=sa;PWD=;"
conODBC.Open "QPWS", "sa", ""
conODBC.Execute "insert into querenguzhang (DateTimee,mingcheng,neirong,operator,queren) values ('" + StrD + "','" + a + "', '故障', '" + username + "','已确认')"
conODBC.Close
User.tagname.CurrentValue = False 'If (User.jishu.CurrentValue > 0) Then
'User.jishu.CurrentValue = User.jishu.CurrentValue - 1
'Else
'User.jishu.CurrentValue = 0
'End If closepicture
End Sub
显示效果如图:
Intouch/ifix语音报警系统制作(2)的更多相关文章
- Intouch/ifix语音报警系统制作(3-利用自定义过程和函数,重构先前版本)
在语音模块嵌入了半年左右的时间,经过实际使用发现,代码冗余,重复太多,维护较难,新增也不易,故而对整个框架进行整理,实现简单添加,维护容易的目的. 1.代码优化 1.1构建自定义过程 name 参数代 ...
- Intouch/ifix语音报警系统制作(4-自动发送邮件提醒)
在近期项目完成后,有遇到情况:类似于语音报警后,中控室人员未及时报告给我们造成了事件的危害升级,以及造成很不好的影响.针对这个情况特此添加语音报警后,自动发送邮件提醒,完善现有的报警机制. 1.函数编 ...
- Intouch/ifix关于语音报警的一种设置思路
工控项目最近升级改造,需要使用Intouch/ifix提供一个语音报警功能.这个不像先前提供的单一的声音报警,业主方要求能详细的提供某某水泵或者是某某设备故障报警,这就要求我们这边对语音解析或者基础控 ...
- powershell《语音报警系统》
用powershell实现:“倩女幽魂姥姥”版<语音报警系统> ------[第一章 前言]------ win7,及以上版本中,是自带语音库的,系统自带一套女声中文库,一套女声英文库.用 ...
- 用powershell实现:“倩女幽魂姥姥”版《语音报警系统》
------[第一章 前言]------ win7,及以上版本中,是自带语音库的,系统自带一套女声中文库,一套女声英文库.用powershell调用,从而发音,制作报警系统.是一件太简单的事情,只需要 ...
- 关于intouch/ifix嵌入视频控件并使用(海康,大华)
2017年下半年项目开始接触利用intouch工控软件来进行项目二次开发.其中关于驱动的问题始终是上位机的重中之重,暂且不表(嘿嘿--),首先遇到的问题就是在弹窗中嵌入视频控件,监控设备的开停状态.经 ...
- intouch/ifix嵌入视频控件2(报警视频联动初步思路)
在项目中有朋友遇到类似的需求,ifix中嵌入视频,并实现报警与视频的联动功能.诸如,重要设备启动时,摄像头自动弹窗,并持续一段时间自动弹窗关掉:设备故障时,摄像头自动截图,录像一段时间存储:设备停止时 ...
- Intouch 关于报表数据的一种思路
在熟悉Intouch项目有一段时间了,也做有相关的三个项目,关于Intouch的一些报表数据的采集,也有了自己一定的看法(主要还是因为自己是野路子)今天就把我常用的一种制作思路,提供给大家.(仅供参考 ...
- 10款.net 图形插件
在如今这个读图时代,图形图表的可视化数据表现形式已成为一种趋势.因为图表能直观的展示信息.对比和趋势等,所以许多项目开发中都需要用到图表控件,而很多图表控件都是在.NET平台下开发的,今天就为大家推荐 ...
随机推荐
- ThreadPoolExecutor参数详解
ThreadPoolExecutor全部参数的构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long ke ...
- Linux命令大全之搜索命令
文件搜索命令(只能搜索文件) locate 文件名 在后台数据库中按文件名搜索,搜索速度快 /var/lib/mlocate(locate文件数据库) 这个数据库默认一天更新一次,强制 ...
- MAT工具定位分析Java堆内存泄漏问题方法
一.MAT概述与安装 MAT,全称Memory Analysis Tools,是一款分析Java堆内存的工具,可以快速定位到堆内泄漏问题.该工具提供了两种使用方式,一种是插件版,可以安装到Eclips ...
- 微信sdk上传图片大小1k,损坏的问题以及微信上传图片需要的配置
微信公众号的appid和appsecret有问题,会导致上传图片大小为1k这个问题 微信上传图片需要设置公众号的'JS接口安全域名'
- 『心善渊』Selenium3.0基础 — 10、使用Seleniun定位页面元素归纳总结(超详细)
目录 1.Selenium中8种基本元素定位方式 (1)单数形式 (2)复数形式 2.By类定位的8种定位方式 (1)单数形式 (2)复数形式 3.XPath定位总结 (1)基础定位语法 (2)属性定 ...
- 手把手教你IDEA连接码云(Gitee)
目录 前言 一.下载.安装git 1.打开git官网,选择你的操作系统 2.根据你的系统位数选择相应的版本下载 3.安装 4.配置全局的用户名.邮箱 5.在idea中配置git目录 二.配置Gitee ...
- Linux基本命令精讲
一.Shell Linux系统中运行的一种特殊程序 在用户和内核之间充当"翻译官 用户登录 Linux系统时,自动加载一个 Shell程序 Bash是 LinuxShell系统中默认使用的程 ...
- ceph-csi源码分析(4)-rbd driver-controllerserver分析
更多ceph-csi其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi源码分析(4)-rbd driver-controllerserver分析 当 ...
- Centos7.5使用SSH密钥登录
12.1.查看操作系统版本 # cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 12.2.在服务器端创建密钥 # ssh-ke ...
- 1、mysql基础入门(2)
1.4.常用非关系型数据库产品介绍: 1.Memcached(key-value)数据库: