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日 上午2:34

相关推荐

  • WiCC安装出错

    在安装WinCCV6.2ASian时出识下列错误:请高手解决!1.Fatal error during initialization:N0 …

    SIMATIC WinCC 2019年6月10日
  • wincc数据备份

    wincc如何带数据进行复制项目,或者备份数据? 最佳答案 转贴:1.WinCC项目复制推荐使用系统自带的项目复制器Project Duplicator来复制,直接拷贝文…

    SIMATIC WinCC 2019年6月11日
  • 如何判断wincc变量与哪个PLC连接

    假设一台WICC单用户机与3台PLC连接,在WinCC定义变量与PLC连接,地址为DB1.DBW2,我怎么知道到底是和PLC1的DB1.DBW2连接还是和PLC2,PLC3呢?是不…

    SIMATIC WinCC 2019年6月11日
  • Wincc项目是中文名,不能激活,求助高人

    我是学生用Wincc6.0做的毕业设计,当初建项目是随便用中文建的(存储的文件夹也是这个项目名) 可是到后来激活时发现不能成功激活,只能到11%就停了。因为这个项目所有的…

    SIMATIC WinCC 2019年6月11日
  • 如何用wincc v14 通过工控机的音箱实现声音报警

    如何用wincc v14 professional,通过工控机上的音箱实现声音报警。 最佳答案 WinCC实现声音报警的方法http://www.ad.siem…

    SIMATIC WinCC 2017年6月4日
  • 域号的分配

    OP与PLC通讯中设置存放画面号的5个字中第4个字是“当前域号”,请问这个当前域号怎么分配? 问题补充:哪位高手能讲一下具体步骤。就是怎么把1234等编号分配给画面中的任何一个域。…

    SIMATIC WinCC 2019年6月11日
  • wincc工程加密问题

    厂里有台电脑WINCC67.4  运行的是脱销系统。现在时间到了,每次登陆提示输入密码,画面显示正常,泵能够启停,但是无法加减频率。如何破解这个密码。估计他的加…

    SIMATIC WinCC 2021年7月5日
  • wincc 两个变量控制圆背景颜色

    按钮1和按钮2,去控制圆的背景颜色。在按钮1为1和按钮2为0时,圆的背景颜色为绿色,其他情况都为红色。这个有什么解决方法吗? 钻石用户推荐最佳答案 按钮1和按钮2分别对应两个变量t…

    2021年7月5日
  • WINCC画面复制

    请教一下大家,我想从一个项目里面的画面复制到另一个画面里面,该如何做?谢谢大家 最佳答案 1.同一项目的不同画面 将画面打开,右键拷贝粘贴即可。 2.不同项目&…

    SIMATIC WinCC 2019年6月11日
  • WINCC报警内容外接声光报警器,如何实现,报警器需要在哪里取信号

    WINCC报警内容外接声光报警器,如何实现,报警器需要在哪里取信号 最佳答案 1、可以直接应用PLC直接报警与WINCC画面报警相结合。因为PLC应用开关量输出来控制外接声光报警器…

    SIMATIC WinCC 2019年6月11日