利用Wincc读取excel文档中的数据,需要连续读数,采用在Wincc画面中添加按钮的形式,但是运行后,只有点击按钮后才会出现一个数,想问问怎么只点击一次按钮就可以按照一定的间隔进行数据的读取。
下面是相应的代码
Dim fso
Set fso = CreateObject("scripting.FileSystemObject")
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Workbooks.Open "D:\1.xlsx"
objExcelApp.Visible = False
objExcelApp.Worksheets(sheet1).Activate
SmartTags("a")=objExcelApp.Worksheets(sheet1).cells(Smarttags("nt"),1).value
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp= Nothing
最佳答案
你把这个放到全局脚本中,脚本周期是1s
dim readdata
readdata=hmiruntime.tags("Bread").read
if readdata then
Dim fso
Set fso = CreateObject("scripting.FileSystemObject")
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Workbooks.Open "D:\1.xlsx"
objExcelApp.Visible = False
objExcelApp.Worksheets(sheet1).Activate
SmartTags("a")=objExcelApp.Worksheets(sheet1).cells(Smarttags("nt"),1).value
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp= Nothing
end if
按钮中c脚本:
SetTagBit("Bread",!GetTagBit("Bread"));
运行后按一下按钮读取数据,再按一下结束读取。
提问者对于答案的评价:
谢谢,您的回答
里面是不是少了一个Dim objExcelApp?
在全局脚本中周期怎么进行设置?
程序中的Bread是定义为内部变量吗,类型为Bool?对吗
按钮选择点击,C脚本,把您的那一句程序写进去。
程序运行后,没有对Excel中的数据进行读取,请问是什么原因,能不能电话指导一下,谢谢,祝好
最佳答案作者回复:
我是复制你的代码,告诉你方法,你的脚本你要自己调试,或者参考:
http://www.52plc.net/read.php?tid=4596&fid=52
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc358794.html