关于Wincc的两个C代码问题

1 分别采集了从站1的数据a1,b1,c1,d1,e1;从站2的数据a2,b2,c2,d2,e2..........以此类推,共30个从站,且a1,a2......数据类型都相同,我想在Wincc中建立一个赋值功能,一个内部变量n,如当n=1时,内部变量a=a1,b=b1......如果用C代码实现以上功能,有什么简洁的方法呢,我想的是用case语句但也要很长,有什么语句能实现a=an吗?
 2 我想让内部变量a(无符号八位数)加上1后赋值给内部变量b(无符号八位数),应该怎么实现呢?SetTagByte能否实现呢?
 麻烦各位高手指点

问题补充:
在1中,不仅仅是n=1情况,还有n=1,2,3.....的情况,具体是哪种情况由操作者来决定

最佳答案

2.  setTagByte("b",getTagByte("a")+1)
 1.定义一个结构元素分别为a,b,c,d,e的结构,然后建立数据类型为该结构的结构变量30个,当n=1-30中的任意值时,用以下代码可为任一个从站赋值到所定义的1-30的内部结构变量,同时将这30从站的变量也定义为与上述内部变量具有相同结构的外部变量。如果该数据类型为byte的话,假设内部结构变量都有一致的前缀如st1,st2,...st30;外部结构变量的前缀为plcSt1,plcSt2,...plcSt30:
 dim tagName(30),objTag(30),i,plcTagName(30),objPlcTag(30)
 for i=0 to 29
    tagName(i)="st" & i+1 
   set objTag(i)=hmiRumtime.tag(tagName(i))
   plcTagName(i)="plcSt" & i+1
  set objPlcTag(i)=hmiRumtime.tag(plcTagName(i))
  objTag(i).value=objPlcTag(i).read
  objTag(i).value.write
 next 
 上述代码针对的是所有30各从站的采集数据的赋值,如果仅仅是针对任意个从站的话,可不要循环语句,将i作为从站号即可。上述代码用VBS脚本写的,也可以根据该原理采用C脚本完成

提问者对于答案的评价:
恩  非常感谢
 

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午1:11
下一篇 2019年6月11日 下午1:11

相关推荐

  • wincc变量管理连接参数问号

    WINCC7.5变量管理器中连接参数状态显示未知,不显示绿勾,也不显示红叉 问题补充:我在驱动诊断状态中找不到任何连接,在channle 诊断中也找不到任何连接,这是什么…

    2021年7月5日
  • 是什么问题

    wincc6.0sp2在虚拟机里安装,快结束是报错,0xc0000005,然后用授权工具授权不了,一直是演示模式,那位前辈能帮忙解答一下,感谢 图片说明:   …

    2020年11月1日
  • Wincc7.3归档数据在电脑存储问题

    采用快速归档,模拟量35个,采集周期500ms;数字量50个,采集周期500ms,如果我想保证能在历史记录中查询到1年前的数据,我需要如何设置我的归档属性,最好能配上说明和截图。谢…

    SIMATIC WinCC 2021年7月5日
  • wincc结构变量怎么更换连接通道

    wincc7.5,里面结构变量,现在变量管理里更换通讯通道,原来变量更换连接方式,但是结构变量不好更换,怎么弄,创建时时先在结构变量那创建还是先变量管理那创建再拉进去 最佳答案 先…

    2020年11月1日
  • WinCC flexible报警窗口的弹出

    请问怎么设置才使报警窗口不弹出? 最佳答案 把模板上的报警控件删了就好了 提问者对于答案的评价:谢谢,解决了

    SIMATIC WinCC 2018年3月6日
  • 脚本编译报错

    我编写了一个函数,编译没有问题,但是连接到按钮编辑C动作时,选中上面编写的函数,编译老是报错,而且不管写几行代码,都显示30 errors,这是怎么回事呀,请高手指点一下…

    SIMATIC WinCC 2019年6月11日
  • 两台工控机上的wincc报警

    当设备有报警时,两台工控机上的wincc报警没有同时出现。有时候其中一台有,而另一台没有,有时候另一台有,其中一台没有。两台工控机的系统时间一样。时区也一样。请问有什么办法可以解决…

    SIMATIC WinCC 2019年6月11日
  • wincc归档的平均值与实际计算的不一样

    在归档中建了一个数据,对TAG1每分钟采集一次,每小时归档一次求平均值,写入到TAG2中,然后对TAG2每小时采集一次,每天归档一次求平均值,但是最后对TAG2归档的数据和我自己计…

    SIMATIC WinCC 2019年6月11日
  • win7_64位_SP1安装wincc7.0sp3报错

    系统是旗舰版win7_64位SP1,安装到SQL Standard Database Services报错unknown msi …

    SIMATIC WinCC 2021年7月5日
  • Wincc中如何打开PictureWindow

    Wincc中如何使用C脚本或者VBS脚本在不增加内部变量的情况下使用按键打开关闭PictureWindow 最佳答案 按钮的vbs脚本中用:screenitems(“画面窗口”).…

    SIMATIC WinCC 2017年12月8日