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

已锁定

锋言锋语

西门子1847工业学习平台

  • 帖子

    3956
  • 精华

    54
  • 被关注

    131

论坛等级:至圣

注册时间:2011-07-31

钻石 钻石 如何晋级?

发布于 2020-09-19 14:34:53

4楼

楼主可以写几个函数:

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;
}


不忘初心
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32670条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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