Wincc使用C外部变量替代wincc内部变量
外部变量相对wincc变量的区别
Wincc变量的生命周期是全局的,意味着在CS架构下,和BS架构下,wincc变量的值是统一的,一旦有变化,全局都将发生变化。
如图所示:这里使用的内部变量的location的值为车间首页

当点击web端切换画面时,此时画面切换到电线车间,同时location也切换到电线车间,此时服务器端的位置依然在车间首页

当服务器端切换画面时,wincc变量随着服务器变成导体车间

显然wincc的内部变量是在客户机和服务器间共享的,这可能会导致客户机和服务器或者web端之间产生冲突。
而外部变量的生命周期只在当前运行的客户端中,在每个客户机上面是独立运行的,这样可以各个控件之间传递参数的变量,避免了客户端和服务器之间数据的冲突。
使用方法
在C脚本的项目函数下,创建一个函数,在函数的外部进行变量的定义,这些变量就是外部变量

随后在启动画面处,编辑脚本,在脚本中调用该函数,就会随之创建外部变量,外部变量在当前客户机的生命周期为全局

如图所示,将所有车间画面与数字对应起来



再次运行画面

切换服务器画面到导体车间,可以看到脚本打印4,而web端并没有影响

同样,将web端画面切换到电线车间,调试窗口打印了2,服务器端没有变化。说明外部变量的生命周期只在当前服务器或客户端中
