在WINCC中,如何从数据库中查询各种测试结果?

目前有不同型号的电机需要测试,比如A型号电机有30台,测完后假定有10台不满足要求,接下来再测30台B型号电机,有15台不满足要求,依次类似。。
    现在想建立一个数据库,记录各种型号电机的测试数量、合格数量等,现在我已经可以监控出这些数据,该怎么样把它们都记录到数据库里,并且以后可以随时查询?
    这个查询的过程,操作员是需要打开SQL来查,还是可以直接在WINCC界面中,做一个查询页面?
    我对PLC比较熟悉,也能通过WINCC对PLC做一些基本的监控,但对数据库实在是不熟悉。
    希望大家可以帮我想想这个程序的框架和实现的思路,我好慢慢摸索,谢谢大家!!!!
    (我对数据库不熟,这一块儿麻烦多给我出出注意。)

问题补充:
这个查询的过程,操作员是需要打开SQL来查,还是可以直接在WINCC界面中,做一个查询页面?

 

最佳答案

如果只把测试数量和合格的数据写到数据库中,那很好办!!用VBS比较简单。
 首先要在SQL2000中建立一个表,表自己设计吧,应该用三个字段就行了,一个表示测试种类,一个表示测试数量,一个表示合格数量。
 用VBS访问的总体步骤如下:
 定义变量:
 Dim ConnectionObj
 Dim Connectionstring
 Dim CommandStr_TimeStart 
 Dim CommandStr_TimeEnd
 Dim CommandObj
 Dim RecordSetObj
 先获取界面上所要写入的数据。
 Test_class=HMIRuntime.Tags("test_class").Read '其中test_class是wincc中的变量。
 test_num=HMIRuntime.Tags("test_num").Read 
 num_passed=HMIRuntime.Tags("num_passed").Read 
 '建立连接字符串
 Connectionstring="Provider=WinCCOLEDBProvider.1;Catalog=CC_cc_09_01_07_13_16_32R;Data Source=.\WinCC"
 '因为是自己建的表,所以访问是把要用的命令改为对表的操作命令就行了。不用用西门子的专用命令。
 CommandStr_TimeStart="Tag:R,'cc\NewTag',"
 CommandStr_TimeStart=CommandStr_TimeStart+"'"+starttime+"'"+","+"'"+endtime+"'"

 Set ConnectionObj=CreateObject("ADODB.Connection")
 ConnectionObj.ConnectionString=Connectionstring
 ConnectionObj.CursorLocation=3
 ConnectionObj.Open

 Set RecordSetObj=CreateObject("ADODB.Recordset")
 Set CommandObj=CreateObject("ADODB.Command")

 Set CommandObj.ActiveConnection=ConnectionObj
 CommandObj.CommandType=1

 CommandObj.CommandText=CommandStr_TimeStart
 Set RecordSetObj=CommandObj.Execute

 If RecordSetObj.EOF Then
 MsgBox "no data found or data has not archived!",,"Error"
 RecordSetObj.Close
 Set RecordSetObj=Nothing
 Set CommandObj=Nothing
 ConnectionObj.Close
 Set ConnectionObj=Nothing
 Else
 RecordSetObj.MoveFirst
 temp1=RecordSetObj.Fields(2).Value

 RecordSetObj.MoveLast
 temp2=RecordSetObj.Fields(2).Value

 resultt=temp2-temp1
 HMIRuntime.Tags("Result").Write resultt

 
 RecordSetObj.Close
 Set RecordSetObj=Nothing
 Set CommandObj=Nothing
 ConnectionObj.Close
 Set ConnectionObj=Nothing
 End If
 上面的代码只看对几个数据对象的操作就行了,格式就是那样,其他要改是的连接字符串和数据库操作命令。

提问者对于答案的评价:
非常感谢 “null”!  其他几位也谢了!   
 

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

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

相关推荐

  • WinCC V6.0 软件加授权 谢谢!lzzsunny2006@yahoo.com.cn

    哪位高手那里有WinCC V6.0 软件加授权 lzzsunny2006@yahoo.com.cn 最佳答案 你的邮箱能收下吗?我发个给你学习.项目建…

    SIMATIC WinCC 2019年6月11日
  • 哪有卖WINCC手册的

    我打算买一套WINCC手册,一共8本,但是现在好些代理商那都没货,电子版本的我看着不习惯,想买书,请问谁知道哪有卖的,联系我,我手机13811337959。 最佳答案 你看那就把那…

    SIMATIC WinCC 2019年6月11日
  • List view控件

    我在控件上面选择-添加,然后选中LIST VIEW复选框,确定.可是还是没有次控件 最佳答案 这个控件是VB的一个控件.你要注册. 提问者对于答案的评价:hao d

    SIMATIC WinCC 2019年6月11日
  • WinCC OPC 25天死机一次

    故障现象:wincc和twincat PLC通讯用opc完成,但是25天,wincc的opc会死机。导致现场无法察看设备状态。twincat能够直接读取设备信息,twin…

    SIMATIC WinCC 2019年6月11日
  • WINCC实现采集报警记录到数据库中

    想实现采集WINCC中的报警事件到,数据库中,IFIX中有这个功能,1.wincc有类似的功能吗?2.如果没有,怎么实现采集功能?3Q! 最佳答案 1、WINCC提供了报警控件。w…

    SIMATIC WinCC 2019年6月11日
  • 关于用VBS和EXCEL做实时报表数据问题

    我用下面的脚本做的实时数据到EXCEL.但是一点反应都没有,连另存的D盘EXCEL目录都没有生成!希望大侠们能帮我看看问题出在哪里!谢谢!’定义变量  &nbs…

    SIMATIC WinCC 2019年6月11日
  • wincc6.2 变量和314plc连接断断续续

    6.2项目,原有变量和新建变量两部分(都是网口通讯),同样程序(314)有原程序和新程序,新建变量有二进制和无符号十六位整数输入输出域,但是电脑运行wincc6.2项目后,和plc…

    2017年11月4日
  • wicc hmi

    请教各位前辈    我有个工程是一个触摸屏(TP177A)连两个PLC(CPU224) ,在触摸屏编程软件中有个“连接”设置好各个…

    SIMATIC WinCC 2019年6月11日
  • wicc7.0报警控件如何用脚本分类查询报警信息

    利用报警空间自身功能在使用时候很不方便,能否用脚本分类条件筛选(例如按类别、设备号等)后查询的信息显示在报警控件里呢? 最佳答案 可用SQL语句对报警控件进行过滤。允许使用的参数主…

    SIMATIC WinCC 2017年6月24日
  • WINCC7.5 log on的问题

    已经安装好wincc7.5,再装一个log on,出现了一下情况,怎么解决。 问题补充:win10的系统,一个安装包怎么会缺少文件了 图片说明:   …

    2021年7月5日