wincc 按照时间查询数据

在wincc 想通过时间条件来查询,通过 data time picker控件获取系统时间,或者是通过脚本将系统时间赋值给了一个内部变量。然后想通过数据库查询语言将时间变量值与后天数据库数据时间值比较来查询数据,但是怎么也实现不了,我做的有一下2种方法,请各位大神给我看一下:
1、sql="select * from Table_5 where timer between '"& StartData &"' and '"& StopData &"'
2、TAG:R方式来查询
时建类型为datatime,不知道如何可以实现这种类型的数据比较,各位大神有没有好的建议,谢谢。

最佳答案

查询语句应该是
sql="select * from Table_5 where timer between ''"& StartData &"'' and ''"& StopData &"''ORDER BY timer "
下面是我做的一个类似的时间查询画面
其中查询按钮下面的脚本为
Dim i, n, k, n1, a1, b1, c1,e1, f1,h1,j1
Dim Sql, oCom, conn, sql1, oCom1,oItem
Dim j, b, z
Dim ylp, wdp, llp, ylx, wdx, llx, yld, wdd, lld
Dim zlp, dyp, sdp, zlx, dyx, sdx, zld, dyd, sdd
Dim strcn, cn
Dim a, shi, t, x
Dim oRs, oRs1
Dim  Text2
Dim BeginDate 
Dim EndDate  
Dim By, Bm, Bd
Dim Ny, Nm, Nd, c, e, f
Dim Date1,Date2
Dim t31,y1,m1,d1,s1,y2,m2,d2,s2
Set y1=ScreenItems("控件1")
Set m1=ScreenItems("控件4")
Set d1=ScreenItems("控件6")
Set s1=ScreenItems("控件7")
Set y2=ScreenItems("控件10")
Set m2=ScreenItems("控件11")
Set d2=ScreenItems("控件12")
Set s2=ScreenItems("控件13")


Set dyx = ScreenItems("控件19")
dyx.ListItems.Clear 
By=y1.Text
Bm=m1.Text
Bd=d1.Text
Ny=y2.Text
Nm=m2.Text
Nd=d2.Text

If By > Ny Or By = Ny And Bm > Nm Or By = Ny And Bm = Nm And Bd > Nd Or Bd=Nd And s1.Text>s2.Text  Then
MsgBox "输入的时间不正确", vbOK, "错误的起始时间"
Else

BeginDate = By&"/"&Bm&"/"&Bd&" "&s1.Text&":00:00"
EndDate = Ny&"/"&Nm&"/"&Nd&" "&s2.Text&":59:59"
''CONVERT(char(19),shijian, 20) AS
''建立连接
 Sql = "SELECT * FROM 一楼温度记录  WHERE shijian BETWEEN ''" & BeginDate & "'' and ''" & EndDate & "'' ORDER BY shijian "
 strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist SecurityInfo=False;Initial Catalog=wanda;Data Source=.\wincc"
   Set conn = CreateObject("ADODB.Connection")
    conn.ConnectionString = strcn
    conn.CursorLocation = 3
    conn.Open
''使用命令文本查询
    Set oRs = CreateObject("ADODB.Recordset")    
    Set oCom = CreateObject("ADODB.Command")
    oCom.CommandType = 1
    Set oCom.ActiveConnection = conn
    oCom.CommandText = Sql 
   Set oRs = oCom.Execute
    
   n = oRs.RecordCount

 
  

If n = 0 Then
MsgBox "对不起,没有找到符合条件的数据", vbOK, "没有相关数据"
End If
oRs.Requery


If (n > 0) Then
        oRs.MoveFirst       
        i = 0       
 End If
Do While Not oRs.EOF

 Set oItem = dyx.ListItems.Add()''添加新行
 oItem.Text=CStr(oRs.Fields(0).Value)
 oItem.SubItems(1)=CStr(oRs.Fields(1).Value)
 oItem.SubItems(2)=CStr(oRs.Fields(2).Value)
 oItem.SubItems(3)=Formatnumber((oRs.Fields(3).Value),2)
 oItem.SubItems(4)=Formatnumber((oRs.Fields(4).Value),2)
 oItem.SubItems(5)=Formatnumber((oRs.Fields(5).Value),2)
 oItem.SubItems(6)=CStr(oRs.Fields(6).Value)
 oItem.SubItems(7)=CStr(oRs.Fields(7).Value)

  
oRs.MoveNext   
 Loop
 End If 
   oRs.close''这是后加的,退出程序前,关闭与数据库,记录集的连接
  ''ors1.close''这是后加的
  conn.close''这是后加的

希望对你有所帮助

图片说明:

wincc 按照时间查询数据  wincc 按照时间查询数据  

提问者对于答案的评价:
对于时间查询,我选择data timepicker 将系统时间赋值给内部变量,时间值为字符串,用数据库语句就可以实现了,不需要TAG:R的方式来实现查询。谢谢各位的答复,谢谢。

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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午12:01
下一篇 2021年7月5日 下午12:01

相关推荐

  • 在WinCC中使用VBS读取变量归档数据到EXCEL

    完全按照官方链接文档中的步骤操作,VB脚本也是使用官方链接提供的(官方链接:https://support.industry.siemens.com/cs/cn/zh/view/7…

    2020年11月1日
  • 按钮切换画面,同时按钮变色

    wincc6.2 通过按钮切换画面,如何实现,切换画面同时按钮变色,显示当前在哪个画面?当切换到另一个画面时,之前的按钮颜色恢复,新画面对应的按钮变色。 最佳答案 把画面…

    SIMATIC WinCC 2017年11月29日
  • 关于WINCC中的画面窗口问题

    在应用画面窗口时我在"属性-其他-变量前缀"时应用变量动态对话框连接变量前缀,为什么变量变化时变量前缀也变化了,可是结构变量却连接不上呢?如果把该画面窗口显示隐…

    SIMATIC WinCC 2019年6月11日
  • Wincc变量周期

    如何批量更改 Wincc变量周期  由于开始复制粘贴了很多对象,变量周期都是1S的,怎么批量改成有变化时 钻石用户推荐最佳答案 1.变量周期已经为1s…

    2021年7月5日
  • WINCC按钮实现复制功能

    WINCC按钮能实现复制功能么? 比如按一下按钮就把D盘里的文件考到E盘下面。 最佳答案 利用ProgramExecute函数调用批处理文件*.bat 当然,这…

    SIMATIC WinCC 2019年6月11日
  • Demo project for SIMATIC WinCC V7.4 SP1

    在官网上下了这个,例子,看起来很强大,但是没有视频操作流程,或者文档,学完了wincc,没办法检验效果,https://support.industry.siemens.com/c…

    SIMATIC WinCC 2020年11月1日
  • PC与S7-300通过343-1通讯

    装有WINCC 画面的PC通过以太网监控S7-300PLC(CP343-1) ,请问高手,应如何设置? 问题补充:谢谢诸位老师的回答!不过我还有一事不明,我用普…

    SIMATIC WinCC 2019年6月11日
  • Industrial?Ethernet与TCP/IP之间的区别

    请教-WINCC变量管理器上INDUSTRIAL?ETHERNET与TCP/IP之间的区别?现在WINCC工作站单站4台,点数比较多PLC314+CP卡,TCP/IP通信方式,WI…

    2019年6月11日
  • win7专业版64位装好step7 v5.5正版授权后打开提示未找到密钥

    在正版win10家庭版系统上安装VMware虚拟机,虚拟机上装win7专业版64位系统(非ghost版本)。在该虚拟系统内装了2012年买了一直未拆封的正版step7 v…

    2021年7月5日
  • 如何让趋势曲线光滑

    我现在做的趋势都是选择线形的,因此两点之间是一根直线,有什么办法能让两点之间是曲线,从而显得曲线更光滑些? 最佳答案 呵呵,没有曲线显示,尤其是动态变化的数值坐标,当变化很小时,因…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论