数据打包上传时在C脚本中遇到的问题!

我从下位机给上位机打包上传一组float型数据,上传时是以字节打包形式上传的,在C脚本中进行解包时需要把每四个字节的数据转换为一个float型数据,如何转换呢?

最佳答案

我自己写的一个项目函数,读取raw组数据,转换成float放到中间变量中。三个参数
 RawTagName---raw变量的名字
 RawTagSize---变量的长度(byte)
 FloatTagNameHeader---转换成float后,存放数据中间变量的名字头,尾是_1...._2..._3这样格式的

 void ReadRawFloat(char* RawTagName,int RawTagSize,char* FloatTagNameHeader)
 {
 BYTE ReadData[200];
 BYTE ConvertData[200];
 char  FloatTagName[200];
 char FloatTagTail[200];
 float* intArray;
 int i,j;

 if (RawTagSize>200) return;

 GetTagRaw(RawTagName,ReadData,RawTagSize);
 for (i=0;i<50;i++)
  for (j=0;j<4;j++)
      ConvertData[4*i+3-j]=ReadData[4*i+j];

 intArray=(float*)ConvertData;
 for (i=0;i<RawTagSize/4;i++)
  {
  strcpy(FloatTagName,FloatTagNameHeader);
  sprintf(FloatTagTail,"_%d",i+1);
  strcat(FloatTagName,FloatTagTail);
  SetTagFloat(FloatTagName,intArray[i]);
  } 
 }
 

提问者对于答案的评价:
谢谢!
 

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc273772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午10:12
下一篇 2019年6月11日 上午10:13

相关推荐

  • 归档数据无法显示

    我用wincc v6.0+sp3做的项目,在变量归档输出中直接用的wincc online Table Control控件显示输出变量数据。…

    SIMATIC WinCC 2019年6月11日
  • wincc C脚本那位大师给详细解释下吗

    详细解析介绍下下图意思 问题补充:最好详细说明下 图片说明:          最佳答案 你忘了上图了。第一个是调出登陆…

    2017年6月18日
  • 无法添加变量记录

    添加变量记录就弹出未知内部错误的对话框,请看截图,请教各位大侠有没有什么好的建议,在线等高手解答,先谢过各位! 问题补充:两年前有过一次断电经历,恢复后该系统运行一直正常,首先感谢…

    2020年11月1日
  • wincc 6.2与XP SP3兼容性

    WINCC 6.2 SP2与XP的SP3不兼容,主要是一个XP补丁的问题。能否有解决办法? 最佳答案 在  XP-SP3 &nbs…

    SIMATIC WinCC 2019年6月11日
  • fso.OpenTextFile 中filename参数,为何使用变量无效

    Set str_temp1=HMIRuntime.Tags("Time")   str_temp1.Read …

    SIMATIC WinCC 2018年12月3日
  • wincc能够连接OPC数量

    wincc通过opc能够连接几台LOGO! 8控制器? 最佳答案 没有限制,与计算机资源有关,参考脚标5的注释:如图 图片说明:    &n…

    2021年7月5日
  • WINCC访问远程EXCEL

    WINCC7。0怎么样通过交换机访问远程电脑上的EXCEL啊,EXCEL是别人做的系统然后生成的表格,把别人EXCEL生成的数据读到WINCC显示出来,是采用OPC协议还是DDE啊…

    SIMATIC WinCC 2019年6月10日
  • 报表如何写入excel里

    我现在做了一个报表,想把它用excel保存在硬盘上,wincc与excel如何写入呢,能不能发个例程,要详细一点的吗 最佳答案 A0106  应用文档&nbsp…

    SIMATIC WinCC 2019年6月11日
  • 报警及报表示例(实例)

    我需求一份WINCC监控软件的报警及报表示例(实例),越简单越好,比如一个动态布尔型信号,一个模拟量如温度的高低温显示. 问题补充:需求一个实例 最佳答案 学习一下 提问者对于答案…

    SIMATIC WinCC 2019年6月11日
  • 下拉表控件的应用

    各位大侠,我想添加一个类似于VB中combox这样的控件,用于选择数据,在控件中我添加了一个S7hwTpaComboCtrl的控件,可是不太会用,该怎么对他编程,举个例子好吗?或者…

    SIMATIC WinCC 2019年6月11日