quote:以下是引用怀念过去在2012-02-15 15:39:00的发言:quote:以下是引用小釉在2012-02-15 15:06:00的发言:
[quote]以下是引用怀念过去在2012-02-15 13:06:21的发言:
[quote]以下是引用小釉在2012-02-15 10:35:22的发言:
[quote]以下是引用怀念过去在2012-02-14 13:28:18的发言:
[quote]以下是引用小釉在2012-02-14 11:16:47的发言:
西门子有这样一篇文档,关于模拟量的,有点不明白。积分时间怎么和采样频率有关系呢?有谁能说一下
既然分辨率的区别最低变化值从1,2,4等不同单位,那么精度理论上也就提高了。
同样27648 最低位越小,精度应该也提高了吧。
对于分辨率 < 16位的模拟模块,模拟值表达方式是左对齐格式,最低有效位填零。
那么对于16位精度的模块,符号位也算是一位是吧。
分辨率和精度 这么说呢, 两者有一定联系,的确16位的分辨率高,精度也很高,假如你精度是0.1,你测温度 100度 实际99.9度,但分辨率是1, 只显示 99度或者100度,那精度的意义就不大了。
同样, 精度1度,分辨率 0.001, 精度只是 你测量值和真实值的关系,但你分辨率 是你能精确到多少位,你能观察到或计算到多细微的值的变化。
这是我大概的理解,仅供参考。 还有 16位 实际 15位 32767 15位(模拟量溢出值),最高位符号位。你正常使用的是27648 ,至于最小1-2-4-8 变化量 应该就是一直说的 分辨率设置问题。
以下摘自廖老师:
有人可能要问,为什么是27648呢?我认为可能是制定规则的人担心实际的模拟量输入可能会超过选择的量程,因此在量程的上、下限(-100%~100%)之外设置了18.5%的裕量。为什么是27648而不是别的数呢?因为27648的十六进制数6C00H是个较特殊的数。
转载:
西门子的模拟量模块为12bit 16bit,注意这里12位和16位是指的分辨率,分辨率=精度+符号位
,所以分辨率与精度是不同的概念,不能混为一谈。
S7-300/400的CPU用16位二进制补码定点数来表示模拟量值。A/D转换的结果是按16位二进制
补码形式存储,即占用一个字(两个字节)的长度。其中,最高为(第15位)为符号位,正
数的符号位为0,负数的符号位为1。模拟量模块的模拟值位数(即转换精度)可以设置为9
--15位(与模块的型号有关,不包括符合位)。如果模拟量值的精度小于15位,则模拟量值
左移,使其最高位(符号位)在16位字的最高位(第15位),模拟量左移后未使用的低位填
入“0”,这种方法称为“左对齐”。
你所说的27648的值是对应于分辨率为16bit的数字化的系统转换最大值(上溢),所以西门子模拟量输入/输出模块上讲的如AI8X16位,其中16位是指分辨率,精度是15位,要除去最高位符号位。
实例:
下面以12bit为例说明精度、分辨率、对应模拟量模块数字化的模拟量转换值之间的关系:
精度(位)+符号位 分辨率 高字节 低字节
11位+符号位 8(十六进制为8H) S 1010101 0101XXXX
12bit对应的最大数字化的模拟量值为(整值,16位的符号位为0)=1111111
11110000=32512(十六进制为7F00),相当于上溢值,通常正常范围(单极性而言)为0---
27648(十六进制为0-6C00),27648对应于满量程10V(0-10V)或20 mA(4-20 mA)。