1、IPAM4017 读取模拟量通道采集值一次读取所有 8 个通道的采集值发送指令:01 04 00 40 00 08 F0 18 其中 01 为模块地址,04 读取输入型模拟量的功能码,00 40 输入型模拟量的通道起始地址(AIN0 的寄存器地址) ,00 08 读取的模拟量的通道数,这里表示读取所有 8 个通道,F0 18 为 crc 校验码模块返回:01 04 10 06 6A 06 12 05 EC 05 94 04 AA 04 54 04 32 03 E9 B3 0C其中 01 为模块地址,04 为读取输入型模拟量的功能码,10 为返回数据的字节数,06 6A 06 12 05 EC
2、05 94 04 AA 04 54 04 32 03 E9 为模块采集到的电压(电流)值,每一个通道的采集值占用两个字节,高位在前,上面 16 个字节按顺序是 AIN0AIN7 的采集值,其中 06 6A 为 AIN0(第零个通道)的采集值,转换为十进制为 06 106,把两个字节变为一个字:06*256+106 = 1642 ,模块出厂设置为 -10v10v 的量程,模拟量数据输出,所以通道零的电压是:1642*0.001=1.642V(通道零上连接了一节干电池) 。如果选择了其他量程,对应关系为:量程 对应采集值范围 转换为电压乘以的系数正负 10v -1000010000 0.001正负
3、 5v -5000 5000 0.001正负 2.5v -2500025000 0.0001正负 1v -1000010000 0.0001正负 500mv -50005000 0.1正负 150mv -1500015000 0.01020ma 020000 0.001B3 0C 为 crc 检验。一次读取单个通道的采集值发送指令:01 04 00 40 00 01 30 1E其中 01 为模块地址,04 读取输入型模拟量的功能码,00 40 输入型模拟量的通道起始地址(AIN0 的寄存器地址) ,00 01 读取的模拟量的通道数,这里表示读取 1 个通道,30 1E 为 crc 校验码模块返
4、回:01 04 02 06 6A 3A BF其中 01 为模块地址,04 为读取输入型模拟量的功能码,02 为返回数据的字节数,06 6A 为模块采集到的电压(电流)值,每一个通道的采集值占用两个字节,高位在前,上面 2 个字节为 AIN0 的采集值,其中 06 6A 为 AIN0(第零个通道 )的采集值,转换为十进制为 06 106,把两个字节变为一个字:06*256+106 = 1642 ,模块出厂设置为-10v10v 的量程,模拟量数据输出,所以通道零的电压是:1642*0.001=1.642V(通道零上连接了一节干电池) 。如果选择了其他量程,对应关系为:量程 对应采集值范围 转换为电
5、压乘以的系数正负 10v -1000010000 0.001正负 5v -5000 5000 0.001正负 2.5v -2500025000 0.0001正负 1v -1000010000 0.0001正负 500mv -50005000 0.1正负 150mv -1500015000 0.01020ma 020000 0.001B3 0C 为 crc 检验。读取第 N 通道的采集值读取 AIN0 的采集值的指令是:01 04 00 40 00 01 30 1E把起始地址 00 40 改为 00 41 就是读取 AIN1 的采集值(注意 CRC 校验码也要随着改) ,以此类推。起始地址和读取通道数可以随意搭配,只要保证其实地址为 00 4000 47,起始地址+通道数小于等于 00 47 就可以了。