作者 | 主题 |
---|---|
zhangli0 版主 经验值:46270 发帖数:16691 精华帖:61 |
楼主 2024-03-28 15:18:59
主题:wincc脚本调用一般exe程序 有的exe程序调用不像系统的exe程序一样直接写程序名字就行了,需要设置工作路径,完整脚本如下: Function action Const ForReading = 1, ForWriting = 2 Dim fso,MyFile,ReadLineTextFile '读文件变量 Dim MyArray'结果保存到数据中
If HMIRuntime.Tags("OP80_srun4").read=1 Then HMIRuntime.Tags("OP80_烧录结果").Write "" HMIRuntime.Tags("OP80_烧录版本").Write "" HMIRuntime.Tags("write_time").Write "" Do
Loop Until HMIRuntime.Tags("系统F4继电器反馈").Read Dim WSH Set WSH=CreateObject("Ws cript.Shell") WSH.currentdirectory = "E:downloadfilesdownloadprogramRFBT"'设置工作路径 WSH.Run "E:downloadfilesdownloadprogramRFBTRFBT.exe",1,False'打开exe文件
'查看烧录结果 Dim strComputer,objWMIService,colProcessList strComputer = "." Do Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & " Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'RFBT.exe'") Loop Until colProcessList.Count<=0 '等待烧录完成读取烧录结果
Set fso = CreateObject("s cripting.FileSystemObject") Set MyFile = fso.OpenTextFile("E:downloadfilesdownloadfilesDownloadStatus.log", ForReading) ReadLineTextFile = MyFile.ReadLine ' Returns "Hello world!" MyArray=Split(ReadLineTextFile,";") HMIRuntime.Tags("OP80_烧录结果").Write MyArray(0) HMIRuntime.Tags("OP80_烧录版本").Write MyArray(1) HMIRuntime.Tags("write_time").Write MyArray(2)
MyFile.Close End If 这个程序的的意思是等到烧录结束后读取烧录的结果的数据保存到wincc的变量中。 我要表达的主要蓝色字体的部分,其他的可以忽略。
活到老,学到老!为了生活学习吧!
|