关于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 历史趋势我选择的是归档变量,但运行的时候显示无连接数据

    wincc 历史趋势我选择的是归档变量,但运行的时候显示无连接数据 问题补充:好了,谢谢了 最佳答案 1、在Wincc Explorer-计算机-属性-启动中把…

    SIMATIC WinCC 2019年6月11日
  • WINCC授权出错

    我使用的是WINCC  V6.2,安装在两台工控机上,并分别安装了RT,和RC,256点的授权,运行一个月后两台都成了演示版本,并且不能把授权导到其他盘,重新安…

    SIMATIC WinCC 2019年6月11日
  • wincc 对象属性名出现乱码

    请教各位:我的wincc组态时发现对象属性名都是乱码 ,比如我在画面中添加管道控件,然后对管道控件点右键选择属性,接着在控件属性里出现的属性名居然中文不象中文日文不象日文…

    SIMATIC WinCC 2019年6月11日
  • wincc连接数据库

    我在画面打开事件中连接数据库成功,在同一个画面又使用按钮事件再次打开数据库时显示数据库连接错误。两个地方使用的是一样的代码,为什么后一个不行了,是不是第一个打开的没有关闭?我使用的…

    SIMATIC WinCC 2019年6月10日
  • 弹出小按钮

    各位大虾,请问一下在WINCC6.0 组态的图形编辑器中,我做了个电动阀门的图标,点击这个图标呢需要弹出一个小画面,小画面上有开、关按钮和电流显示等,开和关应业主的要求需…

    SIMATIC WinCC 2019年6月11日
  • 如何在wincc中实现一个信号变化触发另一个信号置位

    如何在wincc中实现一个模拟量信号变化触发另一个信号置位,如一个模拟量信号变化就认为某一工序开始 问题补充:请问用c脚本的时候,如何保留上一采样的变量值,是不是定义一个变量,然后…

    SIMATIC WinCC 2019年6月11日
  • wincc授权名

    wincc6.2的授权名是什么啊?我这里有一堆6.2版本的授权,不知道哪个合适:例如:A9WVC562,A9WSP262,A9WRC262.很多 最佳答案 楼主最好使用ALM来检查…

    SIMATIC WinCC 2019年6月11日
  • wincc修改报表的值,数据后增加了字母u

    wincc报表采用归档变量,报表运行时编辑数据,但是数据后面增加了字母u,如何处理? 最佳答案 当归档值采集出现问题时,会在显示时出现删除线以及"i"或&quo…

    SIMATIC WinCC 2018年12月14日
  • wincc中数据与EXCEL交互

    1.用VB打开一个窗口,选择其中的EXCEL,数据读取,用VB怎么写, 最佳答案 http://www.ad.siemens.com.cn/club/bbs/post.aspx?a…

    SIMATIC WinCC 2021年7月5日
  • WINCC V7.4 SP1安装问题

    各位大神,我的电脑OS是WIN7 64位企业版的,还装了STEP7 V5.5和TIA V15,但是在安装WINCC V7.4 SP…

    2021年7月5日