恭喜,你发布的帖子
发布于 2023-06-21 10:34:25
5楼
这个第一次是运行之后马上应该执行,还是过一段时间才执行?
是不是运行的时候已经是1了,没有捕捉到上升沿变化
我们的wincc都是连很多1200的,做数据归档的,每个1200的第一次Tag跳变都捕捉不到,往后完全正常.
我们做这类项目挺多的.我特地查了别的项目,脚本和触发器这块是完全一样的,别的项目没有这个情况啊,没想明白原因.
另外还有个状况很像:
Dim objConnection
Dim strConnectionString
Dim strSQL
Dim objCommand
Dim objRecordset
strConnectionString = "Provider=MSDASQL;DSN=MySQL;UID=ZXC;PWD=1826;"
If SmartTags("Upload_Upload2SQL1_update报警_1") Then
Set objConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
strSQL="INSERT INTO dbo.ERROR(订单号,电机型号,高低保压,喷嘴口径,模式,ry,tm,gw,型号,ERR,电流,压力,流量,转速)VALUES('"&SmartTags("订单号_1")&"','"&SmartTags("电机型号_1")&"','"&SmartTags("高低保压_1")&"','"&SmartTags("喷嘴口径_1")&"',"&SmartTags("Upload_Upload2SQL1_Record_Mode_1")&",'"&SmartTags("Operater_1")&"','"&SmartTags("Barcode_BarcodeStringA1_1")&"',"&SmartTags("Upload_Upload2SQL1_工位_1")&",'"&SmartTags("WinccSetting_Model_1")&"',"&SmartTags("Upload_Upload2SQL1_Record报警_报警代码_1")&","&SmartTags("Upload_Upload2SQL1_Record报警_电流_1")&","&SmartTags("Upload_Upload2SQL1_Record报警_压力_1")&","&SmartTags("Upload_Upload2SQL1_Record报警_流量_1")&","&SmartTags("Upload_Upload2SQL1_Record报警_转速_1")&");"
objConnection.Open
Set objRecordset=CreateObject("ADODB.Recordset")
Set objCommand=CreateObject("ADODB.Command")
With objCommand
.ActiveConnection=objConnection
.CommandText=strSQL
End With
objCommand.Execute
Set objCommand=Nothing
objConnection.Close
Set objRecordset=Nothing
Set objConnection=Nothing
End If
VBS中间字符串拼接直接用了HMI变量, 仅第一次他是不正常的, 数据能插入, 但是Insert的数据都是0, 往后完全正常. 但是如果Dim一些中间变量, 脚本一开始用这些变量读取一遍HMI变量, 脚本第一次执行也是正常的, 这个错误也是有的项目出现有的项目不出现. 应该是机制性的什么问题
请填写推广理由:
分享
只看
楼主