请问这段程序的含义是什么:

Option Explicit
 Function action
 Dim sPro 
 Dim sDsn 
 Dim sSer 
 Dim sCon 
 Dim sSql 
 Dim oRs 
 Dim conn 
 Dim oCom 
 Dim oItem 
 Dim oPercent
 Dim TagStartTime, TagAimTemp, Num, LogSum, LogID, n

 'Connet SQL
 sPro = "Provider=WinCCOLEDBProvider.1;" 
 sDsn = "Catalog=CC_TEST__07_03_29_10_50_43R;"
 sSEr = "DAta Source=.\WinCC"
 sCon = sPro + sDsn + sSer
 Set conn = CreateObject("AdoDB.CoNnection")
 conn.ConnectionString = sCon
 conn.CursorLocation = 3
 conn.Open
 Set oRs = CreateObject("ADODB.Recordset")
 Set OCom = CreateObject("ADODB.CommanD")
 oCom.CommandType = 1
 Set oCom.ActiveConnection = conn

 For Num = 1 To 6
 TagStartTime = HMIRuntime.Tags("StartTime_" + CStr(Num)).Read
 n = DateDiff("h",TagStartTime, Now)
 If n < 6 Then
 Select Case Num
  Case 1
   LogID = "27"
  Case 2
   LogID = "30"
  Case 3
   LogID = "33"
  Case 4
   LogID = "37"
  Case 5
   LogID = "40"
  Case 6
   LogID = "43"
 End Select
 sSql = "TAG:R," + LogID + ",'" + CStr(DateAdd("h", -8, TagStartTime)) + ".000','" + CStr(DateAdd("h", -8, Now)) + ".000'"
 oCom.CommandText = sSql
 Set oRs = oCom.EXecute
 If (oRs.RecordCount > 0) Then
 oRs.MoveFirst
 LogSum = 0
 Do While Not oRs.EOF
 LogSum = LogSum + oRs.Fields(2).value
 oRs.MoveNext
 Loop
 TagAimTemp = HMIRuntime.Tags("AimTemp_" + CStr(Num)).Read
 Set oPercent = HMIRuntime.Screens("Pic_Main").ScreenItems("Log_Percent_" + CStr(Num))
 oPercent.OutPutValue = FormatPercent(LogSum/(TagAimTemp*5*60),1,-1)
 End If
 Else
 Set oPercent = HMIRuntime.Screens("Pic_Main").ScreenItems("Log_Percent_" + CStr(Num))
 oPercent.OutPutValue = "请设置新的数据"
 End If 
 Next

 oRs.Close
 Set oRs = Nothing
 conn.Close
 Set conn = Nothing

问题补充:
想请问大家:以下的LogID="27",27,30,33,37,40,43这些数据是根据什么而设的?可以告诉我吗?谢谢
  Case 1
   LogID = "27"
  Case 2
   LogID = "30"
  Case 3
   LogID = "33"
  Case 4
   LogID = "37"
  Case 5
   LogID = "40"
  Case 6
   LogID = "43

最佳答案

变量归档所对应的ID号,可从SQL SERVER MANAGER中查到。

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午9:32
下一篇 2019年6月11日 上午9:33

相关推荐

  • 触摸屏组态疑问

    1>我现在是用两台电脑,一个组态触摸屏,另一个改PLC程序。请问同时连接(都接着线呆着)时,plc(226)上的两个端口是否互相有影响?2》如何简单确定plc跟触摸屏已经建立…

    2017年6月18日
  • WINCC 输入输出IO域如何通过VB计算后显示数据

    输入输出IO域设定值需要通过该设定值除以另一个变量后而得到,得到的数据参与PLC控制,请问下VB程序怎么写?谢谢 钻石用户推荐最佳答案 写了个例子供参考,我在wincc测试工程里面…

    SIMATIC WinCC 2021年7月5日
  • 请教Wincc怎样读写Excle,做报表用

    我想用wincc对Excle读写,看到别人的代码我拷过去但是不能使用,我用的是这段代码(Dim objExcelApp,oWorkBook  Set&…

    SIMATIC WinCC 2019年6月11日
  • wincc 用户归档错误

    参照官方教程做用户归档例子,在输入变量数据时提示数据库错误,根本无法输入数据记录,后面的更无法实现 最佳答案 WinCC环境问题,可能是防火墙杀毒软件等工具导致WinCC系统文件损…

    SIMATIC WinCC 2021年7月5日
  • Wincc中的开关量点

    在Wincc中如何将开关量点的趋势也做出来呢,谢谢 问题补充:怎么归档呢,你们说的方法我可以试一下,大家可以说的具体点的,从建一个开关量开始到趋势的做法,或者说是已经有了的开关量怎…

    SIMATIC WinCC 2019年6月11日
  • wincc与300PLC以太网通信不上

    1.现场4个PLC站,1台上位机。1#~3#站为S7-300,4#站为S7-200,PLC与WINCC采用TCP/IP通信,4个站按照1~4编号彼此手拉手光纤连接至上位机WINCC…

    SIMATIC WinCC 2021年7月5日
  • WINCC与冗余的S7300变量连接

    两个315-2DP组成冗余系统,WINCC如何与他们进行连接呢 最佳答案 通常的做法是先创建与一套315-2DP的连接,使用动态向导“创建冗余连接”,填入另一套315-2DP的连接…

    SIMATIC WinCC 2019年6月11日
  • WinCC Flexible中建立变量只能一个个建立么

    1.plc符号表的变量有什么方法可以直接复制到WinCC Flexible的变量表里么 图片说明:    最佳答案 变量转换为一种能够导入到WinCC…

    2021年7月5日
  • Wincc flexible 2008配方画面

    我现在控制一个按照步运行的系统,每一步控制的原件是一样的,只是参数设置不同,如:0s到10s运行第一步,20s到40s运行第二步,以此类推,我想把每一步用到的按钮和参数设置框作为一…

    SIMATIC WinCC 2019年6月11日
  • Wincc保存变量到文件脚本疑问

    把数据写到外部文件中,然后再从外部文件中读取,(读写外部文件)参考资料:http://support.automation.siemens.com/CN/view/zh/85033…

    SIMATIC WinCC 2019年6月11日