Wincc使用C外部变量替代wincc内部变量

文章介绍了Wincc内部变量全局共享可能导致的数据冲突问题,并提出使用C脚本创建的外部变量作为解决方案。外部变量在每个客户端中独立运行,生命周期仅限于当前客户端,从而确保各控件间参数传递的安全性,避免了不同端之间的冲突。通过示例展示了外部变量如何在不同场景下工作,证明其在解决数据同步问题上的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Wincc使用C外部变量替代wincc内部变量

  1. 外部变量相对wincc变量的区别

Wincc变量的生命周期是全局的,意味着在CS架构下,和BS架构下,wincc变量的值是统一的,一旦有变化,全局都将发生变化。

如图所示:这里使用的内部变量的location的值为车间首页

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

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

显然wincc的内部变量是在客户机和服务器间共享的,这可能会导致客户机和服务器或者web端之间产生冲突。

而外部变量的生命周期只在当前运行的客户端中,在每个客户机上面是独立运行的,这样可以各个控件之间传递参数的变量,避免了客户端和服务器之间数据的冲突。

  1. 使用方法

在C脚本的项目函数下,创建一个函数,在函数的外部进行变量的定义,这些变量就是外部变量

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

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

再次运行画面

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值