请教:在Wincc6.0项目中,有多个变量:tag_1,tag_2 ,......一直到tag_100, 想用C或B脚本的循环语句一次将这些变量设置一个初值,假设为整型数,该怎么做?在SetTag*() 中的变量名如何用变量代替? 如果想让一个画面中的多个对象如静态文本同时隐藏或显示又该用什么简便的方法?
最佳答案
给一批变量名称有规律的变量赋初值用VBS脚本很简单
Dim i
For i = 1 To 100
HMIRuntime.Tags("tag_" & i).Write 0
Next
至于同时改变对象属性,建议属性连接到同一个变量,通过控制这个变量就可以了
提问者对于答案的评价:
谢谢各位的解答。 2L的VBS脚本正确,3L的C脚本编译错误,我将其修改为以下语句后OK。
char str[10]="tag_";
char *a="tag_";
char b[5];
int i;
for(i=1;i<=100;i++)
{
sprintf(b,"%d",i);
strncpy(str, a,10);
strcat(str,b );
SetTagFloat(str,22.8);
//printf("%s\n" ,str);
}
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc253307.html