前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用函数 "SetTagMultiWait()" 来写多个 WinCC 变量?

如何使用函数 "SetTagMultiWait()" 来写多个 WinCC 变量?

作者头像
科控物联
发布2022-03-29 19:25:55
2.7K0
发布2022-03-29 19:25:55
举报
文章被收录于专栏:科控自动化

说明: 在 WinCC 全局 C 脚本中有几个默认的 "SetTagMulti()" 函数用来写多个 WinCC 变量值:

  • BOOL SetTagMultiWait(const char* pszFormat, const char* pszTag, void vValue, ...)
  • BOOL SetTagMultiStateWait(DWORD* pdwState, const char* pszFormat, const* pszTag, void vValue, ...)

这些函数就是所谓的“Wait”函数,他们直接将变量值写入 PLC 而不是 WinCC 的数据管理器中。这些函数参数的数量是变化的;这取决于要写的变量数量。

参数: 以下参数被传送给“SetTagMulti()”函数:

  • DWORD* pdwState (仅用于 SetTagMultiStateWait()) “SetTagMulti()“函数的使用必需一个双字变量类型的数组 DWORD (保留内存),指向该区域首个元素的指针被传送给“SetTagMulti()“函数。“SetTagMulti()"“函数持续将所写 WinCC 变量的状态写入所传送的地址中。
  • const char* pszFormat “GetTagMulti()“函数的使用必需一个可用的字符串(保留内存)并用其存贮要写的 WinCC 变量的格式信息。指向该字符串首个元素的指针被传送给“SetTagMulti()“函数。
  • const char* pszTag “pszTag“是一个指向包含对应 WinCC 变量名称的字符串的指针。使用“SetTagMulti()“函数时必须为每个要写的变量传送一个“pszTag“字符串。
  • void vValue “vValue“是其变量值要写入 WinCC 的变量。
  • “SetTagMulti()“函数的使用必须为每个要写的变量传送该参数。
  • 该参数的实际数据类型取决于要写的 WinCC 变量的数据类型。可能的数据类型请参照以下表格。
  • Return value: 当“SetTagMulti()“函数正确完成执行则函数返回值“TRUE“。若程序运行中有错误产生,如值“ZERO“被传送给至少一个参数或格式字符串包含无效的格式,“SetTagMulti()“函数返回值“FALSE“。该函数不能检查变量值是否被正确写入。因此您不能使用该返回值检查 WinCC 变量的写入是否成功。因此您应该使用 “SetTagMultiStateWait()“函数及关联的变量状态来评估错误。

WinCC 变量的质量信息(变量状态)可在 WinCC 信息系统中的以下位置找到:

  • “通讯 > 通讯 - 诊断> 变量质量> 变量状态“

关于“SetTag()“函数如何运行的常规信息可在 WinCC 信息系统中的以下位置找到:

“使用 WinCC > 使用 ANSI-C 创建函数和动作 > ANSI-C 函数描述 > 内部函数 > 变量 > 写 > SetTag 函数的功能“

下表描述了格式字符串中可能的格式并说明了何种格式可以同何种 WinCC 和 C 数据类型一起使用:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档