WINCC技巧
更新时间:2023-11-12 20:01:01 阅读量: 教育文库 文档下载
如何使用函数 \来读多个 WinCC 变量?
说明:
在WinCC全局C脚本中,有默认几个\函数,用于读取多个WinCC变量:
? ?
BOOL GetTagMultiWait(const char* pszFormat, const char* pszTag, void* pvValue, ...) BOOL GetTagMultiStateWait(DWORD* pdwState, const char* pszFormat, const* pszTag, void* pvValue, ...)
? BOOL GetTagMultiStateQCWait(DWORD* pdwState, DWORD* pdwQC, const char* pszFormat, const* pszTag, void* pvValue, ...)
这些函数统称为\函数,也就是直接从PLC读取变量值,而不通过WinCC数据管理器的画面。这些函数参数的数量是变化的;取决于读取变量的个数。 参数:
函数包含以下参数:
? DWORD* pdwState (仅用于GetTagMultiStateWait() and GetTagMultiStateQCWait()) 使用\函数必须有数组对应DWORD变量(缓存)。数据区域第一个元素的指针被传递到\函数。函数\连续将WinCC变量读取的变量状态写到传送地址中。
? DWORD* pdwQC (仅用于GetTagMultiStateQCWait())
使用\函数必须有数组对应DWORD变量(缓存)。数据区域第一个元素的指针被传递到\函数。函数\连续将WinCC变量读取的质量代码写到传送地址中。
? const char* pszFormat
使用\函数必需一个字符串变量(缓存)并用读取WinCC变量的格式信息对其初始化。字符串第一个元素的指针被传递到\函数。
1
? const char* pszTag
\是一个包含读取WinCC变量名的字符串里第一个元素的指针。 使用\函数必需为每一个读取的变量设定\字符串。
? void* pvValue
\是一个地址,是\函数保存读取WinCC变量目录的地址。 使用\函数必需为每一个读取的变量设定地址。
返回值:
当至少其中一个参数设定为\,函数\返回值为\,否则返回值为\。由于这个原因,不能使用返回值来检查读取WinCC变量是否成功。因此,需要使用\或\函数和变量状态、质量代码用于错误分析。
在WinCC帮助提供了WinCC变量质量的信息(变量状态和质量代码):
? ?
\通讯 > 通讯 - 诊断 > 变量质量> 变量状态\ \通讯 > 通讯 - 诊断> 变量质量> 变量质量代码\
在WinCC帮助提供了关于\函数例子的常规信息:
? \使用WinCC > 用于创建函数和动作的ANSI-C> ANSI-C function descriptions > Internal functions > tag > get > Functionality of the GetTag functions\
下表描述了格式行中可用的格式说明,可以与WinCC和C数据类型一起使用:
格式 WinCC 数据类型 C 数据类型 2
\ 整型WinCC 变量 32-位变量(4 字节) 格式说明 \用于将WinCC整型变量写入到C变量。不考虑WinCC变量的尺寸,必须要保留4字节存储空间,因为使用\格式时,函数GetTagMulti()是向目标地址写入32位 (4 字节) 值。条目 ID: 26710239 描述了如何确定 C变量存储尺寸。可用的数据类型包括: ? 二进制变量 ? 有符号8位数 ? 有符号8位数 ? ? ? ? BOOL DWORD int long ? 无符号8位数 ? 无符号16位数 ? 有符号32位数 例子: ? 无符号32位数 ? 为了读取WinCC无符号8位数值,可以创建C变量类型为DWORD,对于函数\传送变量地址。 ? 为了读取WinCC有符号8位数值,可以创建C变量类型为int 或 long,对于函数\传送变量地址。 警告! 在使用WinCC\无符号32位数\数据类型,对于最高位(31位), 函数GetTagMulti()生成转换错误并返回0值。 \ 浮点型WinCC变\双精度型\变量 量 格式说明 \用于将WinCC浮点型变量写入到C变量。必须要保留8字节? 浮点数32存储空间,因为使用\格式时,函数GetTagMulti()是向目标地址写入64位 位IEEE (8 字节) 值。必须使用\双精度\数据类型。 3
754 ? 例子: 浮点数64为了读取WinCC浮点数32位IEEE754 数值,可以创建C变量类型为位IEEE 754 \,对于函数\传送变量地址。 \ 文本WinCC变量 \字符型变量 (字符指针) 格式说明\用于将WinCC文本或文本参考变量写入到C变量。必须要保留\指针存储,指针地址传送给函数GetTagMulti()。必须使用\双精度\数据类型。 函数GetTagMulti() 保留足够存储空间用于WinCC文本变量的? 文本变量8位字符集 ? 文本变量16位字符内容,在保留的存储空间保存WinCC文本变量的内容,将传送地址写入预留集 ? 文本参考 例子: 为了读取WinCC文本值,可以创建C变量类型为\ (指针),对于函数\传送变量地址(一个指针接一个指针传送)。 存储地址。 配置出错情况下的现象:
以下描述了选择配置错误情况下的现象:
? 访问在WinCC变量管理中没有创建的变量
如果使用\或\函数访问在WinCC变量管理中没有创建的变量,则会在全局脚本诊断窗口或\输出窗口出现错误消息
\未知变量, 超时或访问失败 - 没有找到变量\。变量状态和质量代码包含了发生访问错误的信息。 警告!
在这种情况下,函数\不会在全局脚本诊断窗口或\输出窗口产生
4
\错误消息。 ?
使用C数据类型\读取WinCC浮点数
如果WinCC浮点数32位IEEE754类型变量写入C语言\型变量,函数\返回浮点数\。函数\不会在全局脚本诊断窗口或\输出窗口产生错误消息。变量状态和质量代码不包含产生错误的访问信息。 ?
使用C小于4个存储字节的数据类型读取WinCC整数
如果使用占用小于4字节 (如 BYTE, WORD, char 或short)的C 变量来读取WinCC整数,会导致未定义的系统动作,因为在这种情况下,不支持函数GetTagMulti()写入存储区。 ?
访问无符号32-位WinCC值,其最高位(Bit 31)被设定
如果WinCC无符号32位数(\类型变量写入C语言\型变量,函数\返回整数值\十六进制0x00000000)。在全局脚本诊断窗口或\输出窗口出现错误消息\未知变量, 超时或访问失败 - OLE访问失败\。然而,变量状态和质量代码不包含了发生访问错误的信息。 纠正:
o 如果可能,确保不要设置WinCC无符号32位数的第31位。
o 如果32-位WinCC变量是外部变量,则在WinCC变量管理器可配置的上限为:
2147483648 (十六进制0x80000000)。
5
正在阅读:
WINCC技巧11-12
项目代理协议书范本05-08
房地产评估技术报告06-12
寺河矿安全生产责任制2015040704-13
最新苏教版小学六年级数学下册全套精品教学设计 第二学期全册优06-25
中国区域文化的形成经历了特定的道路08-07
全系列USB接口定义及封装08-26
关于小小超市创业计划书05-06
金融市场学习题11-15
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 技巧
- WINCC
- 隧道各施工工序作业指导书
- 数据结构习题
- 投资银行学原理 复习大纲(含答案)
- 差热分析法(DTA)简介(Differential Thermal Analysis)
- 2018部编人教版小学二年级下册语文第五单元教师用书
- 片剂练习3
- 混凝土结构修补方案
- 中国方便汤料行业调研报告
- (修正版)中央电大信息管理系统形成性考核册答案
- 北京语言大学 18秋《统计学》作业3满分答案
- 《新编统计学原理》复习题 带答案
- 中职英语基础模块上册unit4练习
- windows2000试题汇编答案
- 中交股份先进基层党组织优秀共产党员
- boyfriend组合简介 - 图文
- matlab上机练习
- 尔雅通老子论语精读学期考试答案
- 市场调研报告大纲
- 浅谈我国产业的升级转型
- matlab下面的kalman滤波程序(1)