wincc与c脚本

我有很多内部变量,如a1-1,a1-2.a1-3,a2-1,......,我想在c语言中做成循环,来方便使用这些内部变量,不做循环,语句比较烦琐,修改起来工作量也较大,怎样实现?谢谢!

问题补充:
比如程序如下:
 int c;
 int f;
 c=GetTagDouble("b0");
 f=GetTagDouble("a0");
 switch(c)
 {
 case 1:
 {
 switch(f)
 {
 case 1:
 {
 int static n11,n12,n13,n14;
 char* s2;
 char s3;
 int n2;
 s2=GetTagChar("a");
 s3=*s2;
 switch(s3)
 {
 case 'a':
 {
 n11=GetTagDouble("a1-1");
 n11++;
 SetTagDouble("a1-1",n11);
 s3='\0';//
 SetTagChar("a",&s3);
 SetTagChar("b",s2);
 break;
 }
 case 'b':
 {
 n12=GetTagDouble("a1-2");
 n12++;
 SetTagDouble("a1-2",n12);
 s3='\0';
 SetTagChar("a",&s3);
 SetTagChar("b",s2);
 break;
 }
 ......
 break;
 }

 case 2:
 {
 int static n21,n22,n23,n24;
 char* s2;
 char s3;
 int n2;
 s2=GetTagChar("a");
 s3=*s2;
 switch(s3)
 {
 case 'a':
 {
 n21=GetTagDouble("a2-1");
 n21++;
 SetTagDouble("a2-1",n21);
 s3='\0';
 SetTagChar("a",&s3);
 SetTagChar("b",s2);
 break;
 }
 case 'b':
 {
 n22=GetTagDouble("a2-2");
 n22++;
 SetTagDouble("a2-2",n22);
 s3='\0';
 SetTagChar("a",&s3);
 SetTagChar("b",s2);
 break;
 }
 ......
 break;
 }
 诸如此类的变量有好多,没有循环就是一直重复这样写程序?
 十分感谢!

最佳答案

给你一段代码供你参考:
 int i;
 char tagn[20];
 char  num_a[10];
 for(i=1;i<=24;i++)
   {
    sprintf(tagn,"NUM.A%d",i);
    sprintf(num_a,"%d",i);
    SetTagCharWait(tagn,num_a); 
    }
 //代码的功能就是给NUM.A1-NUM.A24依次赋值

提问者对于答案的评价:
十分感谢!

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

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

相关推荐

  • wincc启动后项目打不开

    wincc启动后,打开项目时,提示“服务没有及时响应启动或控制请求”,项目没有打开。且在计算机管理—服务—SIMATIC Wincc CCProjectMgr&…

    SIMATIC WinCC 2019年6月11日
  • 怎样捕捉报警产生时的消息

    自己想监测一下在产生消息时,都弹出一个对话框来提示操作人员有报警产生,弹出的信息用messagebox就可以解决了,但用什么事件来触发messagebox呢,找了一下c脚本编辑器中…

    SIMATIC WinCC 2019年6月11日
  • WINCC归档丢失问题

    我在变量记录里组态了过程值归档,归档数据每个月都会丢失一次,查看TagLoggingFast和TagLoggingSlow文件夹变空,归档到时间不是先进先出吗,怎么会出现这种情况?…

    SIMATIC WinCC 2019年6月11日
  • 激活项目时提示 “不正确的过程数据服务器”

    我在激活项目时提示 “只有当可用的服务器已经输入至计算机列表,项目才能被激活”这是什么原因啊?怎么解决啊?了 问题补充:这个项目是同事给我的,我想看按钮里的脚本时,也提示…

    SIMATIC WinCC 2019年6月11日
  • wincc进程阻止关机

    wincc运行过程中,掉电启动UPS进行保护关机,但是wincc进程阻止关机,如图片所示,请大神帮忙解答 图片说明:    钻石用户推荐最佳答案 wincc的部…

    2020年11月1日
  • wincc开机就启动打印报警记录室怎么回事?

    要是电脑启动WINCC就打印报警记录,而且显示打印的状态一直有,也无法关闭,除非退出WINCC。这是什么原因? 最佳答案 在计算机属性—启动里有个“消息顺序报表/SEQPRT”…

    SIMATIC WinCC 2019年6月11日
  • vb实时读取wincc数据问题

    我想用vb实时读取wincc的数据,用的方法是formsize = wincc.getvalue("resize") 在vb中用的…

    SIMATIC WinCC 2019年6月11日
  • 关于wincc脚本学习的问题

    我对wincc c脚本和VBScript脚本没有基础,但是我想学习一下,请问大神们哪里有c脚本和VBScript脚本的基础资料啊,先从基础学习,谢谢。 最佳答案 可以看看…

    SIMATIC WinCC 2017年5月29日
  • C#通过OPC访问WINCC变量,自定义接口和自动化接口有没有效率方面的差异

    如题,变量大概有几百个,不知道运行效率有没有多大差距,还是可以忽略不计。 最佳答案 自定义接口是服务商必须提供的,而自动化接口则是可选的,不过OPC基金会提供了一个“自动化包装器”…

    SIMATIC WinCC 2019年6月10日
  • 转换按钮功能不好使

    我用VB编一个带有手自动转换的功能按钮,按左键即按一下自动,再按一下手动,再按一下自动,以此类推,用一个变量,自动时为1,手动时为0,正常时好用,但有时突然间自动变手动程序如下Su…

    SIMATIC WinCC 2017年11月1日