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

相关推荐

  • 在 EXCEL中如何导入WINCC的归档变量一文中请教问题

    我按照上面文章中的格式进行操作,但是下面第3部分不知如何操作?3.1 连接字符串“Provider=WinCCOLEDBProvider.1; Catalog=…

    SIMATIC WinCC 2021年7月5日
  • connectivity pack安装

    我正在看一个文档尝试做报表里面提到connectivity pack这个软件包,我想知道这个软件包是需要自己手动安装,还是在安装pcs7盘的时候自动安装上去的呢 图片说明…

    2019年6月10日
  • WINCC界面顶部的报警栏显示没有到数据库服务器的连接

    采用PCS7 wincc启动后,界面顶部的报警栏显示没有到数据库服务器的连接。哪里出了问题。。。当我选择模拟OS后,运行wincc能连接数据库。。什么原因啊? 问题补充:…

    SIMATIC WinCC 2019年6月11日
  • WinCC运行激活问题

    WinCC运行激活的时候若选中和数据库有关的选项就启动不了。我系统装的是WinXP SP2专业版。请各位大侠帮忙!谢谢大家! 最佳答案 以下几个地方不要使用中文:&nbs…

    SIMATIC WinCC 2019年6月11日
  • wincc 授权过期怎么处理

    安装了Wincc6.2,不是正版的,使用都没有问题,但是经常出现在wincc的主画面的一个窗口提示: 你的软件许可证过期,请购买有效的许可证.之前都是这些软件使用没有出现…

    SIMATIC WinCC 2019年6月11日
  • wincc flexible smart模拟

    我的软件,为什么同意个软件,不同的程序,有的程序可以模拟,有的不能模拟呢,都有中文字符,为什么呢,求解? 问题补充:还有从哪里可以看到编译的结果信息呢?不知道是不以编译错误? 最佳…

    SIMATIC WinCC 2021年7月5日
  • WINCC中风机旋转动画的制作

    WINCC中风机旋转动画的怎么制作,假如我检测到风机运行信号了!在画面上我要把风机做成旋转的!怎么来制作? 最佳答案 详见同类问题答案:http://www.ad.siemens.…

    SIMATIC WinCC 2019年6月11日
  • STEP7 V5.6和wincc 7.4

    wincc版本核博图版本对应关系,wincc7.4 sp1的与博图软件哪个版本对应,就是可以相互打开对方编辑的工程。还有STEP 7 Professi…

    2021年7月5日
  • wincc 6.2 不显示文本

    用wincc6.2 打开以前版本的项目,图形可以显示,但汉字变成问号 最佳答案 1、打开编辑的画面的时出现???——    &nb…

    SIMATIC WinCC 2018年12月5日
  • 怎样能使wincc中整型变量的几位置1呢?

    如果第一个条件满足,把整型变量的第1位置1;如果第二个条件满足,把整型变量的第2位置1;怎么可以实现呢? 问题补充:补充一下:if (条件1) {语句1;}//…

    SIMATIC WinCC 2019年6月11日