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日 上午10:40
下一篇 2019年6月11日 上午10:40

相关推荐

  • 关于调用别的画面中的画面窗口和一段程序求教

    1、调用别的画面中的画面窗口有A、B、C三个画面,A为主画面,在A中放置“按钮1”和“画面窗口1”调出小画面B,A中还放有“画面窗口2”(画面窗口2连接C画面,画面尺寸A>C…

    SIMATIC WinCC 2019年6月11日
  • wincc 变量存储

    关闭wincc后,变量就变为0了,如何保存?下次启动后,能恢复到原先的值 最佳答案 1.如果是从PLC传过来的变量,数值保存在CPU中,与WinCC无关。 2.对于内部变…

    SIMATIC WinCC 2019年6月11日
  • wincc趋势打印

    “当一个外部条件产生,wincc开始记录趋势,在令一个外部条件产生后,趋势记录停止,同时打印机打印两个外部条件中间时间所记录的趋势。”请问这个方案如何实现? 最佳答案 首先来事先趋…

    SIMATIC WinCC 2019年6月11日
  • wincc运行许可证

    运行系统工作所需的许可证不全。 钻石用户推荐最佳答案 缺乏所提示的软件相关西门子授权。请找西门子代理商购买 提问者对于答案的评价:

    SIMATIC WinCC 2021年7月5日
  • Wincc Server与Wincc OPC

    Wincc Server 是说跟WinccRT的关系么?那么WinccOPC应该是什么? 问题补充:系统PLC用的是CPU315-2DP,上位用的是Wincc,…

    SIMATIC WinCC 2019年6月11日
  • 1500PLC的上位机问题

    请问1500PLC的上位机是选WINCC7.X还是TIA WINCC呢谢谢 最佳答案 这个没有固定的模式要求,它们都可以与 1500 建立连接,所以都…

    SIMATIC WinCC 2021年7月5日
  • 在WINCC中利用VB6.0的MSComm控件开发计算机与一智能采集模块进行串行通信的程序

    在WINCC中刚如何利用VB6.0的MSCOMM控件把WINCC中的内部二进制变量和模拟量分别与外部的开关量采集模块及温度采集模块进行串行通信来采集数据?能不能举个例子?谢谢 最佳…

    SIMATIC WinCC 2019年6月11日
  • 项目移植的问题?

    我现在想把在WinCC V6.0中编写的项目移植到WinCC V6.2中! 我是直接把V6.0中的项目文件夹复制出来,然后拷贝到装有V6.2的计算机上…

    SIMATIC WinCC 2019年6月11日
  • 如何应用状态显示和文本列表两个控件

    wincc图形编辑器中“状态显示”和“文本列表”两个控件一般用在何处?能提供点示例么?   最佳答案 "状态显示"一般是在实现画面的动态时引…

    SIMATIC WinCC 2019年6月11日
  • wincc中按钮改变变量的值

    wincc中按一下按钮,二进制变量变成1,松开鼠标左键,变量变成0.用的按钮就是窗口对象里面的按钮。请问不用脚本如何制作? 最佳答案 选择按钮–属性–事件–鼠标按下–直接连…

    SIMATIC WinCC 2019年6月11日