在我的先前一篇关于语音报警系统制作的文章中,阐述了如何通过标签组来获得@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)的更多相关文章

  1. Intouch/ifix语音报警系统制作(3-利用自定义过程和函数,重构先前版本)

    在语音模块嵌入了半年左右的时间,经过实际使用发现,代码冗余,重复太多,维护较难,新增也不易,故而对整个框架进行整理,实现简单添加,维护容易的目的. 1.代码优化 1.1构建自定义过程 name 参数代 ...

  2. Intouch/ifix语音报警系统制作(4-自动发送邮件提醒)

    在近期项目完成后,有遇到情况:类似于语音报警后,中控室人员未及时报告给我们造成了事件的危害升级,以及造成很不好的影响.针对这个情况特此添加语音报警后,自动发送邮件提醒,完善现有的报警机制. 1.函数编 ...

  3. Intouch/ifix关于语音报警的一种设置思路

    工控项目最近升级改造,需要使用Intouch/ifix提供一个语音报警功能.这个不像先前提供的单一的声音报警,业主方要求能详细的提供某某水泵或者是某某设备故障报警,这就要求我们这边对语音解析或者基础控 ...

  4. powershell《语音报警系统》

    用powershell实现:“倩女幽魂姥姥”版<语音报警系统> ------[第一章 前言]------ win7,及以上版本中,是自带语音库的,系统自带一套女声中文库,一套女声英文库.用 ...

  5. 用powershell实现:“倩女幽魂姥姥”版《语音报警系统》

    ------[第一章 前言]------ win7,及以上版本中,是自带语音库的,系统自带一套女声中文库,一套女声英文库.用powershell调用,从而发音,制作报警系统.是一件太简单的事情,只需要 ...

  6. 关于intouch/ifix嵌入视频控件并使用(海康,大华)

    2017年下半年项目开始接触利用intouch工控软件来进行项目二次开发.其中关于驱动的问题始终是上位机的重中之重,暂且不表(嘿嘿--),首先遇到的问题就是在弹窗中嵌入视频控件,监控设备的开停状态.经 ...

  7. intouch/ifix嵌入视频控件2(报警视频联动初步思路)

    在项目中有朋友遇到类似的需求,ifix中嵌入视频,并实现报警与视频的联动功能.诸如,重要设备启动时,摄像头自动弹窗,并持续一段时间自动弹窗关掉:设备故障时,摄像头自动截图,录像一段时间存储:设备停止时 ...

  8. Intouch 关于报表数据的一种思路

    在熟悉Intouch项目有一段时间了,也做有相关的三个项目,关于Intouch的一些报表数据的采集,也有了自己一定的看法(主要还是因为自己是野路子)今天就把我常用的一种制作思路,提供给大家.(仅供参考 ...

  9. 10款.net 图形插件

    在如今这个读图时代,图形图表的可视化数据表现形式已成为一种趋势.因为图表能直观的展示信息.对比和趋势等,所以许多项目开发中都需要用到图表控件,而很多图表控件都是在.NET平台下开发的,今天就为大家推荐 ...

随机推荐

  1. Air722UG_模块硬件设计手册_V1.1

    下载PDF版本: Air722UG_模块硬件设计手册_V1.1.pdf @ 目录 1. 绪论 2.综述 2.1 型号信息 2.2 主要性能 2.3 功能框图 3.应用接口 3.1 管脚描述 3.2 工 ...

  2. Windows10无线能连上但没有网络

    解决思路:重置widows10网络配置 步骤: 1.win+X键 2.在命令提示符窗口中,输入命令行:netsh winsock reset 3.然后按下回车键,这时就会提示重置Winsock目录成功 ...

  3. Kubernetes中予许及限制(PodSecurityPolicy)使用宿主机资源

    1.在pod中使用宿主机命名空间.端口等资源 pod中的容器通常在分开的Linux命名空间中运行.这些命名空间将容器中的进程与其他容器中,或者宿主机默认命名空间中的进程隔离开来. 例如,每一个pod有 ...

  4. 『心善渊』Selenium3.0基础 — 20、Selenium对Cookie的操作

    目录 1.Cookie介绍 2.Session介绍 3.Cookie工作原理图解 4.Cookie内容参数说明 5.Selenium操作Cookie的API 6.Selenium操作Cookie的示例 ...

  5. POJ 1050 To the Max 枚举+dp

    大致题意: 求最大子矩阵和 分析: 一开始想复杂了,推出了一个状态方程:d[i][j]=max(d[i][j-1]+-,d[i-1][j]+-).写着写着发现上式省略的部分记录起来很麻烦. 后来发现n ...

  6. 前端集合传参,springmvc后端如何接收

    废话不多说,上代码 后端接收对象: class ObjectA{ private String a; private String b; private List<ObjectB> lis ...

  7. rosbag 初尝试

    overview ROS (Robot Operating System, 机器人操作系统) 提供一系列程序库和工具以帮助软件开发者创建机器人应用软件.它提供了硬件抽象.设备驱动.函数库.可视化工具. ...

  8. 经典论文系列 | 目标检测--CornerNet & 又名 anchor boxes的缺陷

    ​ 前言: 目标检测的预测框经过了滑动窗口.selective search.RPN.anchor based等一系列生成方法的发展,到18年开始,开始流行anchor free系列,CornerNe ...

  9. Elasticsearch-02-入门:集群、节点、分片、索引及常用API

    2. 基础入门 2.1 重要概念 2.1.1 集群和节点 1)cluster Elasticsearch集群是由一个或多个节点组成,通过其集群名称来进行唯一标识.节点在搜索到集群之后,通过判断自身的 ...

  10. SESSION和JWT

    1.传统登录的方式是使用 session + token,比较适用于Web应用的会话管理.token 是指在客户端使用 token 作为用户状态凭证,浏览器一般存储在 localStorage 或者 ...