Wincc通过OPC读取了一个变量,这个变量属于WinCC的内部变量,如果我要在CFC程序中调用这个变量参数来进行计算,是无法直接调取的。要实现CFC调用WinCC OPC服务读来的变量,可以使用VB脚本来实现,具体实现方法如下:
1、新建动作(Action):打开WinCC的全局脚本中的VB脚本编辑器,新建一个动作(Action):
2、写入相应的VB脚本:在编辑框内写入如下脚本,实现将OPC读来的变量写入到另一个变量(符号表中新建一个实数变量或是在DB中新建一个实数变量,打个旗帜编译后使用),保存并命名;
HMIRuntime.Tags(“P_PLC11/TEST_To”).Write HMIRuntime.Tags(“P_PLC11/TEST_From”).Read
3、设置触发器:打开触发器,指定这个OPC读来的tag,设置为有变化时执行脚本,这样在OPC读来的变量有变化时就执行2中的脚本;
4、记得打开WinCC项目的全局脚本运行时(Global Script Runtime),这样全局脚本功能会被启用。