发表于:2013/7/15 10:42:54
#0楼
一次读取所有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 05 94 04 AA 04 54 04 32 03 E9为模块采集到的电压(电流)值,每一个通道的采集值占用两个字节,高位在前,上面16个字节按顺序是AIN0~AIN7的采集值,其中06 6A为AIN0(第零个通道)的采集值,转换为十进制为 06 106,把两个字节变为一个字:06*256+106 = 1642 ,模块出厂设置为-10v~10v的量程,模拟量数据输出,所以通道零的电压是:1642*0.001=1.642V(通道零上连接了一节干电池)。如果选择了其他量程,对应关系为:
量程 对应采集值范围 转换为电压乘以的系数
正负10v -10000~10000 0.001
正负5v -5000 ~ 5000 0.001
正负2.5v -25000~25000 0.0001
正负1v -10000~10000 0.0001
正负500mv -5000~5000 0.1
正负150mv -15000~15000 0.01
0~20ma 0~20000 0.001
B3 0C为crc检验。
一次读取单个通道的采集值
发送指令:01 04 00 40 00 01 30 1E
其中01为模块地址,
04读取输入型模拟量的功能码,
00 40输入型模拟量的通道起始地址(AIN0的寄存器地址),
00 01读取的模拟量的通道数,这里表示读取1个通道,
30 1E为crc校验码
模块返回:01 04 02 06 6A 3A BF
其中01为模块地址,
04为读取输入型模拟量的功能码,
02为返回数据的字节数,
06 6A为模块采集到的电压(电流)值,每一个通道的采集值占用两个字节,高位在前,上面2个字节为AIN0的采集值,其中06 6A为AIN0(第零个通道)的采集值,转换为十进制为 06 106,把两个字节变为一个字:06*256+106 = 1642 ,模块出厂设置为-10v~10v的量程,模拟量数据输出,所以通道零的电压是:1642*0.001=1.642V(通道零上连接了一节干电池)。如果选择了其他量程,对应关系为:
量程 对应采集值范围 转换为电压乘以的系数
正负10v -10000~10000 0.001
正负5v -5000 ~ 5000 0.001
正负2.5v -25000~25000 0.0001
正负1v -10000~10000 0.0001
正负500mv -5000~5000 0.1
正负150mv -15000~15000 0.01
0~20ma 0~20000 0.001
B3 0C为crc检验。
读取第N通道的采集值
读取AIN0的采集值的指令是:01 04 00 40 00 01 30 1E
把起始地址00 40 改为00 41就是读取AIN1的采集值(注意CRC校验码也要随着改),以此类推。
起始地址和读取通道数可以随意搭配,只要保证其实地址为00 40~00 47,起始地址+通道数小于等于00 47就可以了。
发送指令: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 05 94 04 AA 04 54 04 32 03 E9为模块采集到的电压(电流)值,每一个通道的采集值占用两个字节,高位在前,上面16个字节按顺序是AIN0~AIN7的采集值,其中06 6A为AIN0(第零个通道)的采集值,转换为十进制为 06 106,把两个字节变为一个字:06*256+106 = 1642 ,模块出厂设置为-10v~10v的量程,模拟量数据输出,所以通道零的电压是:1642*0.001=1.642V(通道零上连接了一节干电池)。如果选择了其他量程,对应关系为:
量程 对应采集值范围 转换为电压乘以的系数
正负10v -10000~10000 0.001
正负5v -5000 ~ 5000 0.001
正负2.5v -25000~25000 0.0001
正负1v -10000~10000 0.0001
正负500mv -5000~5000 0.1
正负150mv -15000~15000 0.01
0~20ma 0~20000 0.001
B3 0C为crc检验。
一次读取单个通道的采集值
发送指令:01 04 00 40 00 01 30 1E
其中01为模块地址,
04读取输入型模拟量的功能码,
00 40输入型模拟量的通道起始地址(AIN0的寄存器地址),
00 01读取的模拟量的通道数,这里表示读取1个通道,
30 1E为crc校验码
模块返回:01 04 02 06 6A 3A BF
其中01为模块地址,
04为读取输入型模拟量的功能码,
02为返回数据的字节数,
06 6A为模块采集到的电压(电流)值,每一个通道的采集值占用两个字节,高位在前,上面2个字节为AIN0的采集值,其中06 6A为AIN0(第零个通道)的采集值,转换为十进制为 06 106,把两个字节变为一个字:06*256+106 = 1642 ,模块出厂设置为-10v~10v的量程,模拟量数据输出,所以通道零的电压是:1642*0.001=1.642V(通道零上连接了一节干电池)。如果选择了其他量程,对应关系为:
量程 对应采集值范围 转换为电压乘以的系数
正负10v -10000~10000 0.001
正负5v -5000 ~ 5000 0.001
正负2.5v -25000~25000 0.0001
正负1v -10000~10000 0.0001
正负500mv -5000~5000 0.1
正负150mv -15000~15000 0.01
0~20ma 0~20000 0.001
B3 0C为crc检验。
读取第N通道的采集值
读取AIN0的采集值的指令是:01 04 00 40 00 01 30 1E
把起始地址00 40 改为00 41就是读取AIN1的采集值(注意CRC校验码也要随着改),以此类推。
起始地址和读取通道数可以随意搭配,只要保证其实地址为00 40~00 47,起始地址+通道数小于等于00 47就可以了。
晋江机场电子科技有限公司(dzgs.qzair.com),一家专业生产计数器、数据采集模块、隔离变
送器、信号隔离模块、开关量模块、数字量模块、模拟量模块、温度变送器、计数测频模块的
厂家。
送器、信号隔离模块、开关量模块、数字量模块、模拟量模块、温度变送器、计数测频模块的
厂家。