12位二进制数的最大值为4095(212–1),对于单极性输入信号(例如dc 0~10v、0~20ma或4~20ma),为了计算方便,三菱的fx系列plc额定输入范围对应的输出值为0~4000,数据放在一个字的右侧(低位),称为右对齐。0~4000与12位二进制数可表示的范围0~4095基本上相同。
s7-200和ge的90-30的12位模拟量输入模块的输出值范围为0~32000。a/d转换后的数据的最高位为符号位,正数的符号位为0,负数的符号位为1。有效位数加符号位一共13位,它们被左移3位后,放在16位字的高13位,最低3位添零,相当于实际的有效值被乘以8。因此32000实际上相当于右对齐的转换值4000,这种处理方法称为左对齐。
对于双极性的模拟量(例如-10v ~ +10v),fx系列的额定输入范围对应于数据值–2000~+2 000(右对齐)。s7-200和ge的90-30对应于–32000~+32000,仍然为左对齐,右边空出来的位添0。
s7-300/400的模拟量输入模块的位数是可以设置的(9~14位),不管转换后的实际位数是多少位,单极性模拟量转换后的输出值均为0~27648,双极性为–27648 ~ 27648(对应的十六进制数为9400h~7c00h)。模拟量输入值即使超过额定值18.5%,也不会产生溢出。
如果不是采用左对齐,而采用右对齐(转换值放在一个字的右侧),模拟量满量程时a/d转换器不同的位数得到的转换值的位数不同,给后续的处理带来困难,采用左对齐则可以解决这一问题。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=132392&Name=liaochangchu