在wincc中 多个变量 互相 赋值的问题

由于现场特殊需求,需把A  B   C   D等多个16位 变量   在某个开关量 为0时, 分别对应赋值给变量 A1  B1  C1  D1 ,为1时,分别对应赋值给变量A2  B2  C2  D2。 这个 在C 脚本里面 怎么实现, 也可以提供 VBS 参考 ,谢谢。

之前有朋友 提供的 if  else  语句 只能 赋值一组, 这样需要建四组才能实现目的。  不知道 大家 有没有 更简洁的 命令 语句。

最佳答案

c:
if(GetTagBIt("开关量"))
{
 SetTagWord("A2",GetTagWord("A"));
 SetTagWord("B2",GetTagWord("B"));
 SetTagWord("C2",GetTagWord("C"));
 SetTagWord("D2",GetTagWord("D"));
}
else
{
 SetTagWord("A1",GetTagWord("A"));
 SetTagWord("B1",GetTagWord("B"));
 SetTagWord("C1",GetTagWord("C"));
 SetTagWord("D1",GetTagWord("D"));
}
vbs:
dim tag(10)
tag(0)=hmiruntime.tags("开关量").read

tag(1)=hmiruntime.tags("A").read
tag(2)=hmiruntime.tags("B").read
tag(3)=hmiruntime.tags("C").read
tag(4)=hmiruntime.tags("D").read

if tag(0)then
hmiruntime.tags("A2").write tag(1)
hmiruntime.tags("B2").write tag(2)
hmiruntime.tags("C2").write tag(3)
hmiruntime.tags("D2").write tag(4)
else
hmiruntime.tags("A1").write tag(1)
hmiruntime.tags("B1").write tag(2)
hmiruntime.tags("C1").write tag(3)
hmiruntime.tags("D1").write tag(4)
endif

提问者对于答案的评价:
ok,对 C 还是不熟悉, 缺少 { { } } 符号, 都是大神啊  ,真心感谢。!~谢谢两位的真情回答,因为 量不多 就 6个变量, 迷失中原  你的方案 我也会 试一试,不过读了你的代码  是可以走的同, 希望以后能用上 ,先保留了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc197949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月26日 上午12:42
下一篇 2017年8月26日 上午12:42

相关推荐

  • WINCC可以生成RUNTIME文件么

    我想知道WINCC软件可以直接生成RUNTIME文件么,可以的话是如何操作的,不可以的话,有什么方法可以让WINCC生成RUNTIME文件么,谢谢 钻石用户推荐最佳答案 经典win…

    SIMATIC WinCC 2020年11月1日
  • wincc远距离同组态王通信

    我们单位一台设备是用组态王监控的,住监控室里是用的wincc,我打算用wincc与组态王OPC通信,把组态王的几个关键点直接在wincc里看,这样就不用两边老跑了,可是问题是他们之…

    SIMATIC WinCC 2019年6月11日
  • 加不进脚本

    我今天用wincc 6.2做了一个菜单和工具栏,在上午时还能加入好用,但是后来我改了一下脚本程序,在工具栏的加入脚本上把脚本移除后,再就加不进去了,不知道怎么回事? 最佳…

    SIMATIC WinCC 2019年6月11日
  • WINCC项目自动掉线

    各位同仁,好!现遇到一问题比较棘手:wincc项目激活运行中,(生产线正常运行过程中),项目自动掉线,表现为所有的数据设定、显示均变为黄色感叹号,跟离线激活时情况一致,项目退出后重…

    SIMATIC WinCC 2021年7月5日
  • 激活项目时不可用,autostart不可用

    现场的工程运行一段时间了,但电脑重启后出现如图的错误提示,有什么解决办法吗? 问题补充:图片补充 图片说明:    最佳答案 查看控制面板\管理工具\服务,相关…

    2017年6月10日
  • MCGS组态

    如何让MCGS组态里的实时曲线,历史曲线和数据报表在不链接PLC的情况下自己动起来, 最佳答案 第一你问错地方了,第二你这个自建内部数据 ,然后写脚本模拟 提问者对于答案…

    SIMATIC WinCC 2021年7月5日
  • wincc–如何根据项目的大小选择外部变量点,有128、512、2048、8K、64K、128K

    有一个项目,需要用到wincc上位机组态软件+西门子300+触摸屏+分布式I/O-ET200M,通过profibus-DP组成网络,现在大概计算出通过输入输出模块进入PLC的点数为…

    SIMATIC WinCC 2021年7月5日
  • Wincc提示“被调用的对象已与其客户端断开连接”

    Wincc7.3 打开项目文件的时候会提示“被调用的对象已与其客户端断开连接”,然后就打不开项目。这个文件应该没有问题,我在自己电脑上和其他两台工控机(暂且称为1、2号吧…

    2021年7月5日
  • wincc组合框不同选项将不同变量置位

    组合框连接变量为a,数据类型int。b,c,d是3个BOOL量。当a=1,将变量b置1,a=2,将变量c置1;a=3,将变量d置1.请问这个如何实现,C脚本程序应该怎么编。谢谢大家…

    SIMATIC WinCC 2017年11月1日
  • i/o域在无数据时如何设置显示位空

    i/o域在无数据时如何设置显示位空,就是“0”也不要显示,数据类型为“字符串”和“十进制” 最佳答案 你要求的这种情况不适合使用IO域,推荐使用静态文本。再使用GetPropCha…

    SIMATIC WinCC 2019年6月11日