Intouch/ifix语音报警系统制作(2)
2024-10-21 07:31:56
在我的先前一篇关于语音报警系统制作的文章中,阐述了如何通过标签组来获得@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
显示效果如图:
最新文章
- 查询SqlServer中每张表的记录数
- 如何用Maven创建web项目
- 【JAVA】Calendar
- Gradle版本变更的问题
- NOI2018准备 Day11
- 数据结构之AVL树
- 光流算法:灰度恒常约束,LK算法,HS算法
- Visual C++ 开发心得与调试技巧
- 转】Linux下安装Tomcat服务器和部署Web应用
- Django用户认证系统(三)组与权限
- MarkDown编辑器快捷方式
- 我眼中的Linux设备树(六 memory&;chosen节点)
- zeppelin中连接hive和impala
- java压缩文件或文件夹并导出
- my.conf配置信息
- Android热修复原理
- Python高级网络编程系列之第二篇
- PAT A1149 Dangerous Goods Packaging (25 分)——set查找
- Asp.Net WebApi 学习记录(一)
- Android权限申请完全解析(一):Android自带的权限申请
热门文章
- MIT6.828-LAB1 : PC启动
- FTP下载文件时拒绝登陆申请怎么办?
- ZooKeeper集群解析
- 本地SQL Server怎么连接服务器上的数据库
- JavaScript实现的7种排序算法
- 温故知新,使用ASP.NET Core创建Web API,永远第一次
- POJ 3449 Geometric Shapes 判断多边形相交
- Gym 101206L	Daylight Saving Time 根据年月日计算星期
- 使用Hugo框架搭建博客的过程 - 前期准备
- QT从入门到入土(一)——Qt5.14.2安装教程和VS2019环境配置