S7-200模拟量的数字量值32000究竟是如何而来呢? 概括的说, 它是由信号范围及分辨率来决定的, 而
后再辅以一定目的的数据处理技术而来. 下面通过EM231模块的两种特性参数说明其缘由.
1 单极性,信号范围:0mA ~ 20mA,分辨率:5uA,数字量值:0 ~ 32000,位数:12
1.1 20mA实际对应的数字量值是:
20mA * 1000 / 5uA = 4000
1.2 数字量值 +4000的二进制格式:
0000 1111 1010 0000 {蓝色数字是符号位, 最高位}
1.3 数字量值 +32000的二进制格式:
0111 1101 0000 0000 {蓝色数字是符号位, 最高位}
1.4 数字量值 +4000到+32000的变化:
4000 << 3 = 32000 {相当于数值左对齐或者数值左移3位或者乘以8(增益), 符号位由极性决定}
2 双极性,信号范围:-2.5V ~ 2.5V,分辨率:1.25mV,数字量值:-32000 ~ 32000,位数:11
2.1 2.5V实际对应的数字量值是:
2.5V * 1000 / 1.25mV= 2000
2.2 数字量值 +2000的二进制格式:
0000 0111 1101 0000 {蓝色数字是符号位, 最高位}
2.3 数字量值 +32000的二进制格式:
0111 1101 0000 0000 {蓝色数字是符号位, 最高位}
2.4 数字量值 +2000到+32000的变化:
2000 << 4 = 32000 {相当于数值左对齐或者数值左移4位或者乘以16(增益), 符号位由极性决定}
3 为什么要进行数据对齐处理?
主要是为了数据的统一表示, 让使用者不用关心分辨率的不同而带来编程上的差异, 以方便使用.
4 单极性及双极性参数的来源:
S7-200模拟量模块使用 的第2.3节及第2.5节.