查看: 842|回复: 10
收起左侧

[问题求助] 请问c++下怎么读写读取AM600PLC的float数据呀

shaohui 2022-8-22 14:43:25 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
求教大神,官方demo里面可以读写byte数据,但是换成float数据就没法读了
image.png
应该怎么写的呢




上一篇:持续交付:发布可靠软件的系统方法
下一篇:Qt5编程入门教程

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

mingiii 2022-8-22 19:59:02 | 显示全部楼层
试了试,没有问题:D ,估计你哪里弄错了吧

        SoftElemType eType = ELEM_MW;//寄存器类型
        int nStartAddr = 0;//寄存器地址
        int nCount =2;//寄存器个数
        float pValue[1];//缓冲区
        int nNetId = 0;//连接id
        float nValue = 1.1;

        //把要写的数据存入缓冲区,备写
        memcpy(pValue,&nValue,sizeof(nValue));

        //调用api写数据
        int nRet = Am600_Write_Soft_Elem_Float(eType,nStartAddr,nCount, pValue,nNetId );

        if (nRet)
        {
            AfxMessageBox(_T("写寄存器成功"));
        } 
        else
        {
            AfxMessageBox(_T("写寄存器失败"));
        }

        SoftElemType eType = ELEM_MW;
        int nStartAddr = 0;
        int nCount =2;
        float pValue[1];//缓冲区
        int nNetId = 0;//连接id

        int nRet = Am600_Read_Soft_Elem_Float(eType,nStartAddr,nCount, pValue,nNetId );
        float nValue;
        memcpy(&nValue,pValue,sizeof(nValue));
        if (nRet)
        {
            AfxMessageBox(_T("读寄存器成功"));
        } 
        else
        {
            AfxMessageBox(_T("读寄存器失败"));
        }

先写后读

回复 送花

使用道具 举报

Dantine 2022-8-22 22:37:36 | 显示全部楼层

回帖奖励 +10

同求该怎么写!!!
回复 送花

使用道具 举报

Dantine 发表于 2022-8-22 22:37
同求该怎么写!!!

我也想呀,兄弟,,,,,
回复 送花

使用道具 举报

shaohui 2022-8-23 08:17:12 | 显示全部楼层
Dantine 发表于 2022-8-22 22:37
同求该怎么写!!!

找到办法了,见回帖
回复 送花

使用道具 举报

shaohui 2022-8-23 08:17:44 | 显示全部楼层
13113226959 发表于 2022-8-22 22:45
我也想呀,兄弟,,,,,

找到办法了,见回帖
回复 送花

使用道具 举报

shaohui 2022-8-23 08:20:01 | 显示全部楼层
找到办法了,这样写是可以的 image.png
不过还想问下am600是不是不能读写ELEM_X和ELEM_Y元件啊,怎么试都不行
回复 送花

使用道具 举报

feelyou888 2022-8-23 08:27:48 | 显示全部楼层
image.png 这是我用的c#代码,看看可以参考吗?放两个字进去转换成浮点数
回复 送花

使用道具 举报

shaohui 2022-8-23 09:24:35 | 显示全部楼层
mingiii 发表于 2022-8-22 19:59
试了试,没有问题 ,估计你哪里弄错了吧

[md]### 写

感谢,试了下确实可以了,还想请问下这款怎么读写ix地址区的bit数据,用ELEM_X或者ELEM_Y好像不行?
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部