技术论坛

 • 产品分类
 • 咱工程师的故事
 • 培训与认证答疑专区
 • 服务合作伙伴专区

 wincc脚本调用一般exe程序

返回主题列表
作者 主题
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 & "
ootcimv2")

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的变量中。

我要表达的主要蓝色字体的部分,其他的可以忽略。

活到老,学到老!为了生活学习吧!
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。