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日

相关推荐

  • sql2000安装

    在XP系统上安装SQL2000,提示我只能安装客户端,不能安装服务器端。我之后要安装Wincc6.0,有影响吗?我的操作系统是XP(上海大客户版)。请教了,谢谢!!! 最佳答案 你…

    SIMATIC WinCC 2019年6月11日
  • wincc对输入IO域作操作记录,C脚本问题

    要实现的功能:对输入IO域(连接到PLC)作操作记录,用报警控件作输出显示。在全局C脚本中,用触发器来实现,只要该模拟量的数值发生变化,就会触发wincc的相关内部二进制变量置1,…

    SIMATIC WinCC 2019年6月11日
  • vb全局动作脚本死机

    我通过VB动作脚本定时(1分钟)将WINCC界面上的数据传送至ACCESS数据库(access数据库的数据表链接至远程SQL服务器)。但现在发现该动作脚本经常会死,不再传送数据至A…

    SIMATIC WinCC 2019年6月11日
  • WINCC和ABPLC模拟器链接

    我现在没有实际的ABPLC我想通过AB的仿真器(RSLogix Emulate500)来实现链接可以让我测试PLC程序和WINCC程序  我需要做些什…

    2021年7月5日
  • wincc6.2动态加载"菜单和工具栏"

    wincc6.2动态加载"菜单和工具栏",不通过在启动中加载,打开图形编辑器中的一画面,自动加载相应的菜单和工具栏,请问用脚本或VBS脚本怎样实现? 最佳答案 …

    SIMATIC WinCC 2019年6月11日
  • wincc模拟量输入

    wincc模拟输入输出域调用的大键盘不好看,有没有办法让他只显示NUM这块小键盘,如果通过调用库的小键盘实现那小数点输入没有咋整。。。。。。。 最佳答案 WINCC调用系统键盘1、…

    SIMATIC WinCC 2019年6月11日
  • c脚本的变量如何对应到WINCC里的内部变量?

    刚接触wincc里C脚本,想做个简单的试验:在wincc里新建三个内部变量,a,b,c,a+b的值赋予c,画面编辑器里建三个输入输出域,分别对应这三个变量.在c脚本编辑器里新建一个…

    SIMATIC WinCC 2019年6月11日
  • WINCC以太网无法连接

    s7-300项目改造使用以太网,模块型号是6GK7-343-1EX30-OXEO版本是V2.6。在实际组态的时用了V2.0版本组态,组态位置没放在CPU后面的插槽,直接放在所有模块…

    SIMATIC WinCC 2018年12月7日
  • WCC激活时间太长

    我如果在一进入WCC项目管理器后立即激活,每打开一个画面都要经过很长时间。如果进入画面编辑器并打开任意画面后激活,画面的切换就很快,请问这是什么回事,是否是什么地方没有设置好。多指…

    SIMATIC WinCC 2019年6月11日
  • 请问wincc flexible有Y轴为时间轴的实时曲线吗?

    在一个项目中,甲方要求实时曲线Y轴为时间轴,因为涉及到选屏和组态软件,请问MP377能实现这效果吗?另外3D(边界)的标签效果能实现不?如附图,甲方对效果要求很严格 问题补充:你好…

    2018年12月5日