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

相关推荐

  • wincc模拟量输入输出怎么弄啊

    输入AI模块为331-7KF02,输出AO模块为332-5HD01,模块量程卡和STEP7组态都完成,选择的都是4线制,SF灯没红色。外围设备已经有4ma的输出,WINCC上的模拟…

    SIMATIC WinCC 2019年6月11日
  • wincc的485通讯

    想在想用wincc走485通讯,读取仪表,但是没有这方便的经验,想问问大家1、方案是否可行。2、如果可行,应该如何组态,谁能提供一下这方面的资料。感谢!! 最佳答案 尝试用Modb…

    SIMATIC WinCC 2017年12月10日
  • wincc 7.0 怎么变回中文版

    前今天安装完WINCC7,0中文版后打开过一个项目菜单都是中文版的,今天打开了一个别的项目 菜单就变成英文版了 怎么也切不回去 求帮助 最佳答案 你说…

    SIMATIC WinCC 2017年11月26日
  • 急求winccflexible smart v3的软件

    winccflexible 不能和smart1000 IE v3 通讯,需要winccflexible smart v3…

    SIMATIC WinCC 2021年7月5日
  • wincc flexible2008打开出错

    wincc flexible2008打开弹出0x801314a是怎么回事啊 图片说明:    最佳答案 您可以尝试对软件进行重置,具体做法是在电脑右下…

    2017年6月27日
  • 请问哪有WINCC的运行版软件

    我用WINCC做了套控制,但是不想让人能改动我的设计,听说有运行版的WINCC,请问哪里有下载的,谢谢了。 问题补充:如果只安装 运行部分,那我做的工程,用他能打开吗? …

    SIMATIC WinCC 2019年6月11日
  • Sybase7的安装

    我在把以前的WINCC项目移植成当前版本时(5.0或5.1或6.0,转成6.2),通过项目移植器操作,提示未安装Sybase7。我在5.1C的文件里(不是光盘)找到了Sybase7…

    SIMATIC WinCC 2019年6月11日
  • WINCC7.5如何正确卸载和重装

    WINCC7.5如何正确卸载和重装,不需要重做系统 最佳答案 估计你得重做系统了https://support.industry.siemens.com/cs/bg/en/view…

    SIMATIC WinCC 2021年7月5日
  • wincc怎样做立体仓库

    用WINCC怎样去做立体仓库。就是把物品放入货架,每个货架可以放10个,有100百个货架,可以设置50个品种放到这100个货架里面,但每个货架里面只能放一个品种,请问用WINCC结…

    SIMATIC WinCC 2021年7月5日
  • 如何使用结构变量组态画面模板

    如何使用结构变量组态画面模板?   Edition (2010-05)http://www2.ad.siemens.com.cn/downl…

    SIMATIC WinCC 2017年11月1日