在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项目移植问题

    目前我有一个在7.0版本上做好的项目,项目能完美运行,没有报错。然后我将7.0版本的项目拷贝到另一台装有7.3版本的机子上,打开时提示移植,移植后提示成功!首次也能打开该项目,但提…

    SIMATIC WinCC 2021年7月5日
  • 加快WINDOWS启动速度

    每当我进入操作系统时都启动了好多其他乱七八糟的程序,比如QQ、QQ超级旋风;怎样才能进入操作系统使这些程序不自动启动了?谢谢!! 最佳答案 在开始菜单/运行/打开系统配置程序:MS…

    SIMATIC WinCC 2019年6月11日
  • WinCC flexible 如何传送

    将电脑里的*.hmi文件传送到触摸屏上,我用的485的线连不上,请问该如何连接,还有一些参数该如何设置,谢谢! 最佳答案 楼主的问题有些笼统,不同型号的触摸屏的下载电缆以及设置是不…

    SIMATIC WinCC 2019年6月11日
  • wincc图库添加

    什么地方有wincc的图库可以下载? 最佳答案 若觉得WINCC自带的图库内容不够,你可以自己绘制然后在画面中使用粘帖等方式使用,若需要可以自己设置其动作对应变化,都是可以的,不一…

    SIMATIC WinCC 2019年6月11日
  • WINCC无法安装

    这是什么情况 问题补充:这是什么情况 图片说明:    钻石用户推荐最佳答案 如何在Win10中安装WinCC V7.4SP1http://www.a…

    2020年11月1日
  • 触摸屏V3问题

    SIMATIC WinCC打开提示未安装服务’almservice 钻石用户推荐最佳答案 重置WinCC flexible软件 http:…

    SIMATIC WinCC 2020年11月1日
  • 关于Wincc程序运行中的问题

    将Wincc V6.2安装到了我的电脑,运行程序后出现了一个提示框,提示如下:The project can only be&nb…

    SIMATIC WinCC 2017年11月16日
  • wincc通讯连接问题

    请教大家,wincc通过tcp连plc,隔个1.2天就连不上,退出运行再激活又可以,一般是什么问题 最佳答案 应该是假死吧?你有变量记录,报警记录一类的吗?如果有,那可能就是记录太…

    SIMATIC WinCC 2021年7月5日
  • Wincc6.0能转成WINCC6.2么?

    Wincc6.0项目能转成WINCC6.2项目么? 如果能转,具体怎么转呢?谢谢 最佳答案 可以直接打开,不需要用项目移植器转换。后台数据库虽然不一样,但SQL&nbsp…

    SIMATIC WinCC 2019年6月11日
  • 在线表格打印

    我用的是WINCC6.0,我用在线表格连接打印作业,打印作业连接打印布局,在打印布局中动态部分选择CSV表格(我选择要打印的在线表格),但是打印出来的日期时间只有一半,不知道为什么…

    SIMATIC WinCC 2019年6月11日