目前有不同型号的电机需要测试,比如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