zoukankan      html  css  js  c++  java
  • 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

    显示效果如图:


  • 相关阅读:
    使用异或解题 —— 序列中仅出现一次的两个数
    使用异或解题 —— 序列中仅出现一次的两个数
    希尔排序
    java中接口的定义与实现
    erlang工作前新手学习指引路线
    NAT的全然分析及其UDP穿透的全然解决方式
    hibernate官方新手教程 (转载)
    git与svn的不同
    C#调用GDAL算法进度信息传递
    atitit. access token是什么??微信平台公众号开发access_token and Web session保持状态机制
  • 原文地址:https://www.cnblogs.com/cache-yuan/p/9218450.html
Copyright © 2011-2022 走看看