技术论坛

 WINCC的原始数据类型通过GetTagRaw进行获取,但是不同数据类型的拆分原则是什么呢,比如INT和Real型数据

返回主题列表
作者 主题
京洛
游民

经验值:124
发帖数:3
精华帖:0
楼主    2020-07-29 15:41:06
主题:WINCC的原始数据类型通过GetTagRaw进行获取,但是不同数据类型的拆分原则是什么呢,比如INT和Real型数据

WINCC的原始数据类型通过GetTagRaw进行获取,但是不同数据类型的拆分原则是什么呢,比如INT和Real型数据是怎样拆分的。

锋言锋语
奇侠

经验值:6829
发帖数:1273
精华帖:25
4楼    2020-09-19 14:34:53
精华帖  主题:回复:WINCC的原始数据类型通过GetTagRaw进行获取,但是不同数据类型的拆分原则是什么呢,比如INT和Real型数据

楼主可以写几个函数:

int GetInt(const char *p, int offset)
{
       WORD refInt = SwapDWord(p + offset);
        return refInt;
}


float GetReal(const char *p, int offset)
{
       DWORD refInt = SwapDWord(p + offset);
        

        return *((float)&refInt);
}
DWORD SwapDWofd(const char *p)
{
       DWORD x = 0;
       char *q = (char*)&x;
       

       q[0] = p[3], q[1] = p[2], q[2] = p[1], q[3] = p[0];
       return x;
}


WORD SwapDWofd(const char *p)
{
       WORD x = 0;
       char *q = (char*)&x;
       

       q[0] = p[1], q[1] = p[0];
       return x;
}


不忘初心
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。