现在工作的项目中控室有一个LED屏幕,在WINCC中有个脚本是这样的,打开EXCEL,更新数据,关闭EXCEL。然后LED屏幕的控制程序是访问保存的EXCEL来显示相关的数据,现在出的问题在于,一个程序写,一个程序读,两个合起来,EXCEL很容易就崩溃了,然后屏幕就没有数据更新。
目前初步的设想是在WINCC脚本中加入一个延时程序,使整个程序运行有一个周期,这样能够降低冲突的概率,这样的解决方式可行吗?然后WINCC-VBS中的脚本延时应该如何写。如果有更好的解决方法,也麻烦说一下。
最佳答案
1、EXCEL支持OPC的
可以在EXCEL表格里面使用OPC读取变量,进行更新就好了,不用在WINCC里面脚本
参考:
如何使用Excel通过OPC访问WinCC的实时数据
https://support.industry.siemens.com/cs/cn/zh/view/77467938
2、用VBS检测EXCEL进程是否在运行,如果是的话,再检查那个表格是否打开的话,就直接操作
进程文件检查参考:
常驻内存的EXCEL文件读写
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1345308&b_id=5
提问者对于答案的评价:
。。。我的补充被网页吞了,很气
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc319703.html