c函数 内存拷贝

SetTagFloat("new2",100);
 memcpy("new1","new2",4);
 语句执行不抱错,但new1中数值无变化,100的值没有进去,请高手指点.
 

问题补充:
new1,new2为wincc中浮点数据类型变量,使用memcpy主要目的是将原始数据变量中的字节存储数据,转化为浮点数,(vb调用 api中copymemory功能可以将字节存储数据转换为目标地址数据类型)

最佳答案

你前面的语句并没有产生一个字节类型的数据。

 真要将字节数据,比如一个4个字节的数组,数据拼起来成为float,可以用共同体union来实现。
 

提问者对于答案的评价:
感谢 万泉和 的提示
 原始数据转浮点解包的方法供后来者参考:
 使用共体变量
 union
 {float a[4];//转换后浮点存放
 BYTE b[19];//原始变量存放中转数组,要大于原始变量数据长度
 } uu;
 int j;
 BYTE c[19];//原始变量存放数组
 GetTagRaw("NewTag3",c,20);
 for (j=0;j<=5;j++)
 {
 uu.b[j*4]=c[j*4+3];
 uu.b[j*4+1]=c[j*4+2];
 uu.b[j*4+2]=c[j*4+1];
 uu.b[j*4+3]=c[j*4];
 };

 使用内存拷贝
 BYTE a[100];//原始变量存放数组,
 BYTE b[100];//原始变量存放中转数组
 float c[30];//转换后浮点存放,要大于原始变量数据中转存放数组长度
 int j;
 for (j=0;j<=100;j++)
 {
 b[j]=a[100-j]
 };
 memcpy(c,b,100);

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

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

相关推荐

  • wincc变量的问题

    1.PLC接了一个火焰传感器,接在是数字量模块的,地址是I0.1,若要用WINCC提取传感器的值,是不是变量的地址直接可以写成选I0.0 2.如果不能得话,应该要把传感器…

    SIMATIC WinCC 2019年6月11日
  • wincc 冗余系统怎么组态?

    Wincc 要实现冗余软件和硬件该如何配置? 最佳答案 参考如何构建一个WinCC  冗余项目https://support.industry.sie…

    SIMATIC WinCC 2021年7月5日
  • WINCC SQL.Server.2005数据库

    在安装WINCC V7.0 SP3 时,里面集成了SQL.Server.2005数据库,但是英文版的,如何切换成中文版的,或者有个汉化文件。 最佳答案…

    SIMATIC WinCC 2017年12月7日
  • 关于TIA-V13HMI离散量报警触发的问题

    目前生产线如果出现一个故障的话,在HMI上面会出现很多个不相关的报警,我看了下HMI程序,有点迷糊,想问那个“触发位”是“触发变量”的第几位?还是“触发地址”的第几位?我打开触发变…

    2017年6月18日
  • wincc flexible 下载报组态文件过大

    Wincc flexible 下载到触摸屏是报组态文件过大,下载中断,该如何解决? 问题补充:1.编译的时候没有报错误2.OS更新后触摸屏里的程序文件会没有了:…

    2017年5月28日
  • 运行WINCC控制画面时如何禁止切换出去

    在XP专业版运行WINCC的时候,怎么才能禁止用AIL+TAB切换出去? 我用的是WINCC6.0的,我在计算机属性参数里的禁止键里试过,但依然无法禁止. 问题补充:其实…

    SIMATIC WinCC 2019年6月11日
  • wincc显示控制问题

    各位大哥,我想在WINCC画面中,通过一个标准对象如“矩形或圆的颜色的变化显示’多个‘报警信息”,比如风机1、风机2、风机3等等的故障、也就是任何一个风机故障,这个标准对象都能反映…

    SIMATIC WinCC 2019年6月11日
  • 博图V13 SP1安装问题

    我前几天安装了博图V14(step7和wincc),然后又卸载了,现在安装V13 SP1时,step7安装成功了,但是安装wincc profisional版时…

    2017年6月4日
  • 报警信息删除后项目运行后仍显示

    报警记录中的报警信息没有被触发,却提示报警,将组态报警记录中的该编号信息删除,仍提示该报警,将项目文件夹下的报警记录、短期归档和长期归档的文件包都删除,仍然提示该报警 图片说明: …

    2021年7月5日
  • 请教一下WINCC中离散量

    在组态WINCC过程中,组态变量中,有组态离散消息,组态离散量报警等。离散量的定义是什么?那位前辈能给举例说明一下,谢谢! 最佳答案 在坐标平面上,模拟量表现为一条连续的曲线,数字…

    SIMATIC WinCC 2019年6月11日