关于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与200通讯?

    现在有16个200PLC站点,分布在4层楼上,层与层站点之间距离大概60米左右,WINCC电脑放在一楼,从4楼拉到3楼用个交换机再从3楼拉到2楼,再加个交换机从2楼拉到一楼,这样站…

    SIMATIC WinCC 2019年6月11日
  • wincc驱动的选择

    200的网口243-1与300的343-1中的p1口连接,300的343-1的p2与电脑wincc连接,能否实现通讯,而且wincc里的驱动程序我该选哪一个? 最佳答案 是的!S7…

    SIMATIC WinCC 2019年6月11日
  • 关于wincc中PDU (协议数据单元)的问题!

    原始数据的最大长度受限于所要传送的数据块之一的长度。S7通讯驱动程序能够传送的数据块最大长度取决于连接建立期间所设置的PDU长度减去报头以及其它附加信息。S7-300:PDU长度2…

    SIMATIC WinCC 2019年6月11日
  • 工程转换数据记录

    请问数据记录功能,是记录工程转换前的数据(PLC的直接数据)还是工程值转换后的数据。 问题补充:我是说当一个连接变量选择了数据记录,也选择了线性变化,系统是记录工程转换前的数据(P…

    SIMATIC WinCC 2019年6月11日
  • 上位机有主从设置吗?

    我厂系统有3台上位机(WINCC V6.0),分别是1#2#3#机,监控同一个画面,走MPI通讯,用的是CP5611卡,现象如下:当1#机关机后2#3#机就灰屏,数据全部…

    SIMATIC WinCC 2019年6月11日
  • VB在wincc中的使用

    我想了解一下VB在wincc中的使用,但一点头绪都没有,我了解VB,但对于VB在wincc中的应用还是不熟悉,一些程序根本看不明白,那位有关于这一类的资料,或者知道这一类的书,麻烦…

    SIMATIC WinCC 2019年6月11日
  • 力控opcserver配置完后客户端能连接但没有点表

    经过查资料,配置完成DCOM, 在winCC看到力控OPC ,但里面没有变量 问题补充:1.力控opcserver没有把点位配置进去,2.DCOM配置里面去除掉…

    2021年7月5日
  • 请教Wincc怎样读写Excle,做报表用

    我想用wincc对Excle读写,看到别人的代码我拷过去但是不能使用,我用的是这段代码(Dim objExcelApp,oWorkBook  Set&…

    SIMATIC WinCC 2019年6月11日
  • HMI用户登录和显示用户名

    给一个按钮加管理员权限,并且用IO域显示用户名。按照以下流程:①新建用户及密码选择管理员组。②新建HMI内部wstring变量username存储用户名。③新加计划任务,用户更改,…

    SIMATIC WinCC 2021年7月5日
  • wincc中时间控件如何改成24小时制?

    wincc中时间控件如何改成24小时制?装的英文操作系统,安装的英文版的PCS7.计算机时钟改成24小时制了,但wincc中图形组态时时间控件怎么改成24小时制?只该localid…

    SIMATIC WinCC 2019年6月11日