S7 - 1200 PLC 的模拟量模块呢,有模拟量输入模块、模拟量输出模块,还有模拟量输入输出一体的模块。这模拟量输入模块能支持像电压、电流、热电阻、热电偶这些信号类型。而模拟量输出模块呢,支持的是电压和电流这两种信号类型。
2.模拟量模块主要技术参数
模拟量模块的转换量程范围是这样的:要是模拟量模块输入的信号是 0 到 10 伏、0 到 20 毫安还有 4 到 20 毫安,那转换量程就是 0 到 27648;要是模拟量模块输入的信号是 -10 到 10 伏、-5 到 5 伏、-2.5 到 2.5 伏,转换量程就是 -27648 到 27648。模拟量模块的分辨率:这分辨率呀,就是 A/D 转换芯片的转换精度,意思就是用多少位的数字来表示模拟量。
就像图里显示的那样,要是转换精度小于 16 位,对应的位就往左对齐,没用到的低位就补上“0”。比如说,图里那个 12 位分辨率的模块,它小的变化单位是 8,那 bit 0 到 bit 2 就得补“0”。呢,12 位的 AD 模拟量转换芯片的转换精度是 1/4096,也就是说能够反映出模拟量变化的小单位是满量程的 1/4096。模拟量转换出现的误差,不光取决于 AD 转换芯片的分辨率,还会受到转换芯片外面那些电路的影响。
3.常用指令
在PLC编程过程中,经常会对模拟量进行工程量转换,除了自己使用数学公式计算外,我们也可以使用编程软件所提供的NORM_X和SCALE_X指令。
看一下这两种指令使用的计算公式:
NORM_X:OUT = (VALUE – MIN) / (MAX – MIN)
SCALE_X:OUT = [VALUE ∗ (MAX – MIN)] + MIN
指令在使用过程中,有几点需要注意。
1). NORM_X的数据类型不能进行隐式转换,编译会报错。SCALE_X可以进行隐式转换,编译不会出错。如下图:
要想消除NORM_X未指定类型的常量编译报错问题,需要给三个参数中的任一参数常量指定数据类型即可。如下图:
2). NORM_X和SCALE_X指令的MAX参数值为0时,计算结果并不会按照以上定义的计算公式计算,结果将保留为参数VALUE的值,很多时候我们希望此时结果为0,在使用过程中一定要注意。如下图:
16.模拟量转换应用 PLC论坛-全力打造可编程控制器技术论坛 -
16.模拟量转换应用
http://bbs.plcjs.com/forum.php?mod=viewthread&tid=505227&fromuid=42656
(出处: PLC论坛-全力打造可编程控制器技术论坛)