在wincc的全局脚本中如何将一个从step7传来的md0转换成32个bool型变量

 我来答
司马刀剑
高粉答主

2019-01-07 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7452万
展开全部
在脚本中,C脚本基本是这样的语句:
Float F;
F=GetTagFloat(“TAG1”)这样就可以读出TAG1的数值,不管TAG1是外部变量还是内部变量,在脚本中都要加上“”,否则就默认是对脚本内部使用的变量读写。
如果想向某一个变量写数值的话可以使用SetTagFloat(“TAG1”,99.2)这样TAG1就被设置成了99.2这样的值。另外个对word类型的数据还有SetTagWord()函数,其他类型的也有,看一下帮助。

#include "apdefap.h"int gscAction( void ){#pragma option(mbcs)GetTagWord(Tag_Name); //Return-Type: WORD GetTagValue(lpdmVarKey,lpdmresult,lpdmError); //Return-Type: BOOL GetTagSWord(Tag_Name); //Return-Type: short int GetTagSDWord(Tag_Name); //Return-Type: long int GetTagSByte(Tag_Name); //Return-Type: char GetTagRaw(Tag_Name,pValue,size); //Return-Type: BOOL GetTagFloat(Tag_Name); //Return-Type: float GetTagDWord(Tag_Name); //Return-Type: DWORD GetTagDouble(Tag_Name); //Return-Type: double GetTagChar(Tag_Name); //Return-Type: char* GetTagByte(Tag_Name); //Return-Type: BYTE GetTagBit(Tag_Name); //Return-Type: BOOL SetTagWord(Tag_Name,value); //Return-Type: BOOL SetTagValue(lpdmVarKey,lpdmValue,dwState,lpdmError); //Return-Type: BOOL SetTagSWord(Tag_Name,value); //Return-Type: BOOL SetTagSDWord(Tag_Name,value); //Return-Type: BOOL SetTagSByte(Tag_Name,value); //Return-Type: BOOL SetTagRaw(Tag_Name,pValue,size); //Return-Type: BOOL SetTagFloat(Tag_Name,value); //Return-Type: BOOL SetTagDWord(Tag_Name,value); //Return-Type: BOOL SetTagDouble(Tag_Name,value); //Return-Type: BOOL SetTagChar(Tag_Name,value); //Return-Type: BOOL SetTagByte(Tag_Name,value); //Return-Type: BOOL SetTagBit(Tag_Name,value); //Return-Type: BOOLreturn 0; }
追问
读出了tga1的值,移位转换成bool量怎么弄呢,就是
>>1=0.1
>>2=0.2
具体语法不会弄😂
读出了tga1的值,移位转换成bool量怎么弄呢,就是
100000000000000000000000000011
右边起第一个=m0.0=1

>>1=m0.1=1
>>2=m0.2=0
....
>>31=m3.7=1
具体语法不会弄😂
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式