PLC模拟量计算及编程问题

模拟量是指连续变化的物理量,其在工业控制中非常常见,比如说温度,位移,速度等。

模拟量计算

PLC同其他CPU一样,内部运算都是二进制运算,所以对于模拟量,需要有模拟量输入模块将其模拟量信号转为数字量信号。以西门子S7-300为例,模拟量模块分为模拟量输入模块(331),模拟量输出模块(332)和模拟量输入/输出模块(333),其精度(位数)从8到15不等,精度越高,分辨率也越高,8位的分辨率为128,15位的分辨率为1。

对于常见的模拟量输入有±10V,0-10V,4-20mA等,对于这些量程,到底该如何计算呢?下面以拉线位移传感器为例进行说明,该传感器型号量程为0-100cm,输出值为4-20mA,即此传感器可以拉出的范围为0-100cm,当拉出0cm时输出4m,当拉出100cm时输出20mA。量程与输出电流之间是一个线性关系。
PLC模拟量计算及编程问题_第1张图片

对于模拟量模块来说,其模拟值不再是4-20mA的模拟信号,而是0-27648的数字信号(随着模拟量输入信号的不同,也可能是-32768-+32768,比如±10V的模拟量输入信号)。这时拉线传感器4mA的输出电流对应模拟量输入模块的0,20mA的电流对应模块的27648。这时我们就能看出0-100cm,4-20mA,0-27648之间的对应关系,即拉出0cm时,传感器输出4mA电流信号,模拟量输入模块的信号为0;拉出为100cm时,传感器输出20mA电流信号,模拟量输入模块的信号为27648。这时我们可以看出4-20mA只是一个中间变量,我们不需要拿它来进行计算,传感器与模拟量输入模块的对应关系为0-100cm对应0-27648。
PLC模拟量计算及编程问题_第2张图片

如上图中,拉出位移与模块的值之间是一个线性关系,输入为0-100cm,输出为0-27648,根据数学关系我们可以算出其斜率为276.48,即输入值乘以276.48则为模块的输出(模块输出是整型)。
此时取得的数值除以276.48就是传感器拉出的长度。
对于其他的传感器计算也一样,比如测量范围为-50℃-+100℃的温度传感器,输出值为0-27648,其关系如下图,我们也可以算出温度与模拟量模块间的数学关系。
PLC模拟量计算及编程问题_第3张图片

PLC编程

西门子PLC模拟量编程有两种方法,其中一种是用step7自带的功能FC编程,另一种是自己编程。

step7中自带了很多功能和功能块可以供我们选择使用,其中就有传感器的模拟量计算编程功能(FC105),FC105的位置在:库——Standard Library——TI-S7 Converting Blocks——FC105
PLC模拟量计算及编程问题_第4张图片
FC105的功能是接受一个整型值,并将其转换为以工程单位表示的介于下限(LO
_LIM)和上限(HI_LIM)之间的实型值。可以通过输入BIPOLAR来确定输入值是双极性(-27648-+27648)还是单极性(0-27648),其中双极性为1,单极性为0。下图则将模拟量输入模块的地址PIW288的数值(整型)转化为0-100cm的工程量(实型).
PLC模拟量计算及编程问题_第5张图片
自己编程的话就是根据上部分的计算思想,由输入的0-27648的整型数值,计算出0-100的一个实数值。注意数据类型的转换。
PLC模拟量计算及编程问题_第6张图片

你可能感兴趣的:(PLC)