我用wincc向excel写数据,当IO域中的对像变化时就向EXCLE写一组数据,于是在io域的'事件' 中的 ' 其他' 中
的 ' 对象改变'下做了一个动作,试了一下,当io域所在的画面为当前画面时,IO域的值改变时就可以象excel写数据,一切正常,但是当io域所在的画面不是当前画面时,改变io域对象的值就不能写数据,是什么原因呢,有没有其他的办法实现呢?
问题补充:
在全局动作中,我该怎样把变量的值(例如MW10,mw12,mw14等一组数据)写到EXCLE中呢,在画面中我是建个IO域,把变量(mw0)赋给IO域,当变量mw0变化时,通过objExcelApp.sheets(1).Cells(iBlanKLine, 1).Value = ScreenItems("IOField1").OutputValue 做的.在全局变量中.应该怎么办呢?
最佳答案
xsxzc说的对,一旦脱离I/O域所在画面,脚本将不再执行。
你需要的是全局脚本,WinCC Explorer -> C脚本编辑器 -> 全局动作。如需某个值变化时写入数据库,可在"信息/触发器"中定义为变量,选择你原来I/O域所连接的变量即可。
------------------------
全局脚本中可以通过HMIRuntime.Tags("xxx").Read来直接读取变量,通过ScreenItems("IOField1").OutputValue读取I/O输出值并不可取。
提问者对于答案的评价:
高手,谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc275531.html