background image

  

If IsError(SCC_QC.Value) = False Then '为 true 则证明无法连接现场 PLC,所以程序跳

出。

 

  

 Call CheckSX("分厂一", CInt(SCC_QC.Value))'进入控件数值判断的 Function。 

  

End If 

  

End Sub 

  

 

  控件数值判断模块,控件值是大于

1 或者小于 1 需要执行不同的操作: 

  

Public Function CheckSX(strFactoryName As String, IntSumRun As Integer) 

  

On Error GoTo ErrHandler 

  

Dim strsql As String 

  

Dim Rs As ADODB.Recordset 

  

Dim tmpCon As New ADODB.Connection 

  

GetConn '连接数据库 

  

If IntSumRun >= 1 Then '控件值为 1,则证明生产系统在运行,执行 table1 的操作 

  

strsql = "insert into Table1 ... ..." 

  

tmpCon.Execute strsql 

  

End If 

  

End If 

  

ElseIf (IntSumRun = 0) Then '控件值为 0,则证明生产系统已经停车,执行 table2 的操

 

  

strsql = "insert into Table2 ... ..." 

  

tmpCon.Execute strsql 

  

End If 

  

 tmpCon.Close 

  

ErrHandler: 

  

MsgBox "代码出错,请检查数据库及 PLC 连接!" 

  

End Function 

  

 

  

SQL Server 数据库连接模块,用于存储开停机信息: 

  

Private Sub GetConn() 

 

 

tmpCon.ConnectionString 

"Provider=SQLOLEDB.1;Persist 

Security 

Info=False;Password=XXXXXX;User 

ID=sa;Initial 

Catalog=XXXXXX;Data 

Source=Server01\NDXM" 
  

tmpCon.Open 

  

End Sub 

  

SQL Server 数据库将记录所有分厂生产线开机、停机事件的时间、设备类型、停机原因等

信息。总厂调度室用户可以通过历史数据分析,实现报表、曲线等多种输出信息的浏览。

 

  在洗煤厂生产运行当中安全是极其重要的,应该利用一切手段减少故障的发生。当故障
发生时,应在第一时间以多种方式通知操作人员。

FactoryTalk ViewSE 的报警运行系统用图

形画面和语音的形式报告记录下来的消息事件,所以可利用计算机的多媒体功能在某台设
备有故障发生时产生语音报警,但问题是

FactoryTalk ViewSE 本身并不能产生语音功能,

而且其内部也没有提供处理语音的函数。解决这个问题的方法归功于

FactoryTalk ViewSE 支

持的

VBA 编程与 Microsoft 操作系统的完美结合。例如,当 201 皮带发生故障时,在代表

201 皮带报警状态的 Numeric Display 控件的 Change()事件中,执行: