关于Labview MODBUS通讯问题

2019-07-17 08:03发布

labview得到ACS880变频器的参数,大致做了一下,很多指令暂时还找不到,不知道这样的思路对不对。我的想法就是先创建SERVE IO ,制作两个VI.一个作为主机VI,用来发送各种指令。另一个作为从机VI.比如在我的从机VI里面,根据ACS880里面所说,速度的地址应该是400102,那么我从机里面那个开始地址设置的是不是应该是101(因为400001对应的是0)。因为ACS880硬件有一个端口是用来连接MODBUS的,是不是就说明速度的数据会传送到这个寄存器里面,然后我是不是可以直接取400102里面的数据,然后在主机VI里面显示出来,本来初学者,真的不太清楚,希望大神帮忙解决,不胜感激,如果可以的话,希望大神能联系我的微信 yqchenhe  万分感激
LABVIEW.zip 下载积分: 积分 -1 分
50.15 KB, 下载次数: 77, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
zhouyezuishuai
2019-07-18 18:37
你还是没搞懂MODBUS这段协议的意思 我给你简单分析下,比如我读0001开始的3个数据,设备地址是02,那么我需要发送的指令如下: 0203 0001 0003 5438   其中前面两个字节“0203” 02——设备地址,03——读取码  后面两个字节 0001——寄存器地址,就是你要读取的寄存器的起始地址,接下来的0003——要读取的寄存器数量,如果要读一个,就是0001, 最后的5438——CRC16校验码  crc16校验的VI我上传附件,你自己调用,我先提醒你后面你可能需要16进制的10进制之间相互转换的,如果想不到办法就找找我以前的帖子,一个从零开始学LabVIEW那个我传过一批VI,里面就有你需要的全部VI

一周热门 更多>