wincc服务器客户机项目,在服务器上做一个关机按钮,当按下这个按钮时,要实现关闭所有的客户机。服务器(或者只关闭客户机不关闭服务器)。这个功能如何实现。
问题补充:
有没有实际的做法。来点干货
最佳答案
在服务器上编写全局脚本,针对各个客户端运行,做一个内部变量,全局刷新,或者PLC外部变量也行,另外如果有单独关闭哪一台服务器,可以再做单独的变量比如CLOSE_ALL,是所有关机命令,CLOSE_A是A客户机关机命令。
全局脚本读取变量,判断当变量=1的时候,执行关机脚本:
set ws=CreateObject("Wscript.Shell")
ws.run "cmd.exe /c shutdown -r -t 3000 -c ""12345"" ",0 ,true
''==========================================
''此脚本是使用CMD命令完成关机的
''3000部分可随便改,(倒计时的时间,0就是现在关机),12345部分是关机窗口上的“消息”部分
''如要消除关机窗口,请用下面的代码:
''==========================================
set ws=CreateObject("Wscript.Shell")
ws.run "cmd.exe /c shutdown -a"
在关机之前应该先执行退出WINCC指令
HMIRuntime.Stop
不过最好用C脚本做,读取变量状态,然后执行退出WINCC 并关机:
相关函数:
DeactivateRTProject ();//取消激活运行系统
ExitWinCC ();//退出wincc
DMExitWinCCEx (DM_SDMODE_POWEROFF);//退出WINCC并关机
DMExitWinCCEx (DM_SDMODE_REBOOT);//退出WINCC,然后重新启动计算机
提问者对于答案的评价:
已完成
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc361625.html