C动作脚本求解

这是一个输出输入域中的一个C动作,动作内容为将系统参数6读取出来,或者将新值赋给系统参数6。内部变量中可找到UNIT;但不能找到“.SYS_PARA6”,请注意“.SYS_PARA6”中最前面有一个点。
而该画面名称为U172_CC1B_Seq.PDL.。而系统的TCP/IP中,有变量组U172_UD,变量组中有一个变量叫做“U172_CC1B.SYS_PARA6”,可以肯定,

问:strcat(TagName,".SYS_PARA6");中:".SYS_PARA6"指的是哪个变量,若是“U172_CC1B.SYS_PARA6”,是如何实现只用后缀便可指定此变量。或者有偏移寻址的说法?求高手解此惑。

#include "apdefap.h"
 double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
double waarde;
char TagName[256];      // Command Word 1

strcpy(TagName,GetTagChar("UNIT"));
strcat(TagName,".SYS_PARA6");
waarde =GetTagDouble(TagName)/10.0; 
return waarde;
}

最佳答案

首先你要搞明白strcpy和strcat这两个函数的意思。
1.strcpy是复制字符串
原型:extern char *strcpy(char *dest,const char *src);   
头文件:string.h   
功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间   
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。   返回指向dest的指针。
2.strcat
原型:extern char *strcat(char *dest,char *src);
用法:#include <string.h>   在C++中,则存在于<cstring>头文件中。
功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的''\0'')并添加''\0''。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。   返回指向dest的指针。
举例
  // strcat.c   
#include <syslib.h>   
#include <string.h>   
main()   
{   char d[20]="Golden Global";   
char *s=" View";   
strcat(d,s);   
printf("%s",d);   
getchar();   
return 0;   
}   
程序执行结果为:   Golden Global View
明白这两个函数的意思,我想你自然就会明白你所提问题的答案了。

提问者对于答案的评价:
回答得太好了,二楼也做了很好的补充,谢谢。不知道从哪可以下载到函数的详细说明?有的话,请发我一份好吗?网上下载的WINCC全局脚本手册写得不详细。或者说是自己水平低,看得不太懂。

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

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

相关推荐