SetTagValue/GetTagValue函数的使用。急!

SetTagValue/GetTagValue函数的使用方法。。请详细。最好举个例子。谢谢

问题补充:
能不能给个实例什么的。。我不知怎么用

最佳答案

SetTagValue/GetTagValue源自于ODK函数DMGetValue/DMSetValue,其操作对象类型主要是VARIANT,使用起来的确比较困难,以下是个举例,详细用法请参考ODK帮助:
 //给BOOL型变量赋值
 #define TagName "bRet2"
 CMN_ERROR Error;
 BOOL ret = FALSE;
 DM_VARKEY VarKey;
 VARIANT VarValue;
 DWORD dwState;
 memset(&VarValue, 0, sizeof(VARIANT) );
 memset(&VarKey,0, sizeof(DM_VARKEY));
 memset(&Error,0,sizeof(Error));
 //初始化VarKey并设置变量名
 VarKey.dwKeyType = DM_VARKEY_NAME;
 VarKey.dwID = 0;
 strcpy( VarKey.szName, TagName);
 VarKey.lpvUserData = (void*)0;
 //初始化VarValue并赋值
 VariantInit(&VarValue);
 VarValue.vt= VT_BOOL;
 VarValue.u.boolVal=TRUE;
 ret=SetTagValue(&VarKey,&VarValue,&dwState,&Error);
 if(FALSE == ret)
 printf("Error in DMGetValue: E1= 0x%08lx ; E2= 0x%08lx ; %s", Error.dwError1,
 Error.dwError2, Error.szErrorText);
 VariantClear(&VarValue );

提问者对于答案的评价:
非常好。。。谢谢

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

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

相关推荐

  • 全局脚本如何设置密码?

    我编写一个全局脚本,不想让人看到,想设置一个密码,如何设置? 最佳答案 脚本编辑器中,选择触发按钮,在弹出的对话框中,选择口令,输入口令,确认。   …

    SIMATIC WinCC 2017年8月18日
  • 变量前缀修改

    用脚本修改变量前缀。画面窗口不动作还变黑色了。可是要是我直接写上画面前缀。又可以显示? 图片说明:          最…

    SIMATIC WinCC 2017年11月6日
  • WINCC 报表相关问题

    由于刚学做WINCC报表,遇到些问题,希望能有哪位大侠能帮忙解决一下。 我想做一个报表系统,打印的时候能够以表格形式输出 1:过程值的最大值(以及发生时间)&n…

    SIMATIC WinCC 2019年6月11日
  • 新装的wincc问题

    我使用windows xp sp1安装的winccv6.0在开始进入系统后创建项目时每次运行到一会就弹出错误提示“0x80004005,未指定的错误”确定后告诉…

    SIMATIC WinCC 2019年6月11日
  • 請問wincc連Mitsubishi Ethernet,需要那些License?

    請問wincc連Mitsubishi Ethernet,需要那些License? 最佳答案 WINCC7.3可以支持三菱PLC以太网通讯,驱动不需要授权,WINCC连接的…

    SIMATIC WinCC 2021年7月5日
  • WINCC7.4 SP1安装时出现报错,SQLServer 2014无法安装

    系统是微软原版64位WIN7旗舰版,已成功安装了STEP7V5.5,安装WINCC7.4时,安装到SQLServer 2014时报错,请问大神如何解决? 问题补充:确定安…

    2021年7月5日
  • s7-200中的实数怎么通过Profibus通讯在wincc中显示

    我做了一个系统,s7-200通过Profibus-DP与WinCC建立了通讯,现在要将s7-200PLC中的数据传输WinCC中,数字量传输是正常的,但是模拟量(实数)却无法显示,…

    2017年6月27日
  • 脚本编译报错

    我编写了一个函数,编译没有问题,但是连接到按钮编辑C动作时,选中上面编写的函数,编译老是报错,而且不管写几行代码,都显示30 errors,这是怎么回事呀,请高手指点一下…

    SIMATIC WinCC 2019年6月11日
  • WinCC Flexible 2008 怎么在报警用声音报警

    目的是在一个tag=1时打开音频播放器并重复播放一段报警音.直到这个tag=0,然后停止播放.这个我在自己的vbs编译器里已经能做到了.但是把它复制到wincc flex…

    SIMATIC WinCC 2021年7月5日
  • 控件变长变宽

    大家好,我想在Wincc里实现一个点击一下按钮,控件的长度变长一点的功能请问如何实现? 问题补充:控件在原来的基础上继续高一点 最佳答案 1.先做按钮和一个FLOAT类型变量。&n…

    SIMATIC WinCC 2019年6月11日