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

相关推荐

  • 哪位有过程控制方面的图库?

    哪位有过程控制方面用到的图库?包含伺服电机、滚轴传送带、皮带传送带、开卷机、液压装置、剪切刀具等的图库有的话,能不能给一份呢?245283629@qq.com谢谢!!! 最佳答案 …

    SIMATIC WinCC 2019年6月11日
  • 关于wincc中定义全局变量的问题

    用wincc做一个用户控制的界面,之前在VB中做过相同的功能,我想问下VB里设置的全局变量在wincc中应该在哪里定义,是一个一个设置内部变量吗,还是说在全局脚本里定义 最佳答案 …

    SIMATIC WinCC 2020年11月1日
  • 关于wincc授权问题

    wincc 6.2  在激活过程中,提示SIPPA9WRT306021 upgrade wincc runtime&nb…

    SIMATIC WinCC 2019年6月11日
  • Wincc中Alarm log的疑问?

    1.在Alarm Log中那个消息块可以显示变量符号? 2.在Wincc的报警中是不是默认该符号位为0正常,为1报警呢?那样是不是很麻烦,如果我现场有的信号要求…

    SIMATIC WinCC 2019年6月11日
  • PC610H工控机连接wincc6.0问题?

    PC610H工控机可以正常连接s7,但无法在wincc6.0连接, 最佳答案 wincc连接时需要修改几个默认的地方1。驱动连接里的系统参数–单元–逻辑设备名称,设置成和PLC…

    SIMATIC WinCC 2019年6月11日
  • 在WINCC里棒图的变量连接

    我要在WINCC画面上做一个监视电机扭矩的棒图,电机扭矩的变量要放到棒图的哪里,才能使棒图的颜色跟电机扭矩一样。 问题补充:我用的是WINCC7.0中文版的 最佳答案 属性–MI…

    SIMATIC WinCC 2019年6月11日
  • STEP7和wincc7.0

    这2个软件必须一起装吗 最佳答案 STEP7是编程软件wincc7.0是人机界面软件可以不一起装,用那个软件装那个。最好一起装了,临时使用比较方便。 step7,WinC…

    SIMATIC WinCC 2021年7月5日
  • wincc如何把设置的退出运行画面功能取消

    wincc如何把设置的退出运行画面功能取消 最佳答案 打开设置按钮的属性,点击 事件  把鼠标下的事件全部删除 提问者对于答案的评价:很好,谢谢解决了

    SIMATIC WinCC 2021年7月5日
  • HMI的变量快速转移

    用wincc  Flexble  Smart组态的HMI里的变量怎么快速转移到博图组态的HMI上? 钻石用户推荐最佳答案 wincc&nbs…

    SIMATIC WinCC 2020年11月1日
  • 关于服务器客户机的问题

    关于服务器监控计算机怎么与plc通讯? 1.是服务器和监控计算机同时采集plc的数据还是服务器采集plc数据然后在传送给监控计算机? 2.组态软件装在监控计算机…

    SIMATIC WinCC 2019年6月11日