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日

相关推荐

  • 用WinCC做冗余

    出现“The SQL-Server instance "WinCC" is not installe…

    SIMATIC WinCC 2018年12月14日
  • wincc窗口出现透明现象

    在主画面中跳出小窗口,移动小窗口位置出现透明现象。图一为正常,图二为透明现象。求解决方案。 图片说明:       最佳答案 这个好像是软件…

    2021年7月5日
  • WINCC 动作执行

    如图,怎样做到在点击按钮后先执行VB语言的动作再执行C语言的动作,我放在单机和释放上实现不了。 问题补充:用一个二进制的变量 置一 作为 C程序体执行…

    2020年11月1日
  • 请问博图软件兼容哪些系统?

    请问博图软件兼容S7-300吗?S7 5.5的工程能编辑吗?下载到原来的PLC吗?还有有SD卡的屏,怎么下载组态到卡里?下载到卡里就可以可以运行了吧?博图里的WINCC组…

    2017年6月29日
  • wicc问题

    我的WINCC报警表连到75%就不运行了,为什么 ? 最佳答案 很有可能是因为你的项目名称或路径是中文的,改成英文就好了 提问者对于答案的评价:谢谢大家,问题解决了,是路…

    SIMATIC WinCC 2019年6月11日
  • MP277-10无法进入系统

    MP277-10无法进入系统走到  Firmware Init  Done就停止了 最佳答案 你最好先OS更新下试试。OS更新的步…

    SIMATIC WinCC 2017年11月18日
  • TP700编译出错

    提示错误还无法跳转,大神们看看是哪里的错误。内部错误(详情:Linker :data of a value object&nbsp…

    SIMATIC WinCC 2021年7月5日
  • WINCC层的使用

    这个层怎么使用?我切换了一下感觉没啥变化呢? 问题补充:我又试了一下 ,默认是图层0我是关闭不了的,然后我打开图层1关闭图层0 这时画面是无按钮的,但我在图层1…

    2020年11月1日
  • Wincc Pro V13 VS Wincc Flexible V13

    Wincc Pro V13和Wincc Flexible V13有什么区别?安装Wincc Pro V13时选择那个密匙…

    SIMATIC WinCC 2017年6月7日
  • wincc数据格式负数不能显示的问题

    WINCC下位机为S7 300,现在我们要把300里数据块的数据在WINCC上显示,在数据块内,我们定义的数据类型为INT,因为这个数据为负数,在WINCC里我们要把此数…

    SIMATIC WinCC 2018年12月9日