gkket 发表于 2021-5-22 21:40:24

三分钟带你搞懂 PLC是如何读取模拟量的

PLC读取模拟量信号必须要有模拟量输入模块,即常说的AI模块。一般常用的模拟量比如压力,温度,湿度,流量等都需要变送器转化为电流信号,或者电压信号,电流信号常用的4-20mA,或者电压信号1-5V,当然还有其他类型。当这些模拟量信号被接入AI模块后,AI模块经过AD转化器将模拟量信号转化为数字量,即在西门子PLC系统中SM331中,0-27648,不同PLC转化后的数字不同。https://p6.toutiaoimg.com/img/pgc-image/d29af59957ee43989ba768d9ff45951b~tplv-tt-shrink:640:0.image

上图所示为SM331模块,通过背部四个量程选择模块,可以自由选择不同的信号类型。https://p5.toutiaoimg.com/img/pgc-image/570cbd65cfc74c56a2d4da5aee900c01~tplv-tt-shrink:640:0.image

上图对应的是模拟量模块的内部接线图,及描述信息,用户可以根据此图进行各种变送器的接线。完成模块选型及外部接线后,就是进行PLC编程,将AI模块采集到的数据,转化为工程值,即压力,温度,流量等值。
在使用西门子STEP7软件进行编程时,一般使用功能块 FC105,即模拟量信号标准化程序,它的具体算法如下:OUT = [((FLOAT (IN) – K1)/(K2–K1)) ∗ (HI_LIM–LO_LIM)] + LO_LIM参数 BIPOLAR=1,则参数 IN 的值为双极性,取值范围介于 -27648 和 27648 之间。常数“K1”的值为“-27648.0”,“K2”的值为“+27648.0”。参数 BIPOLAR=0,则参数 IN 的值为单极性,取值范围介于 0 和 27648 之间。常数“K1”的值为“0.0”,“K2”的值为“+27648.0”。https://p5.toutiaoimg.com/img/pgc-image/6aef9eea508e4f49b6647938e3dabedc~tplv-tt-shrink:640:0.image

其他参数的含意可以参考上图。https://p26.toutiaoimg.com/img/pgc-image/bc2e12a570604d09978a58174abe3fd5~tplv-tt-shrink:640:0.image

如上图为编程后的AI信号标准化程序,对于参数 IN 为PIW值,HI_LIM和LO_LIM为量程上下限,OUT为实际工程值。

fei哥 发表于 2021-5-22 21:40:26

太生气了,无法HOLD啦 >_<......

japan2046 发表于 2021-5-23 00:04:29

好东西一定要看看!

得鹿梦鱼 发表于 2024-7-17 19:27:39

强烈支持楼主ing……

Ambition 发表于 2025-11-12 19:54:24

同款经历!我当初也这么过来的😂

李凯Corey 发表于 2025-11-12 20:19:08

救命!这回复笑到我捶桌,必须置顶~

guojing 发表于 2025-11-12 21:29:13

路过打卡,为优质内容疯狂打 call

夜殇 发表于 2025-11-12 21:57:11

水个经验,楼主加油,支持你~

Tongfenhua 发表于 2025-11-12 22:00:53

学到了学到了,这波分享太实用啦!

zhanghua 发表于 2025-11-13 08:45:39

蹲个后续,楼主记得更新呀,在线等挺急的~
页: [1] 2
查看完整版本: 三分钟带你搞懂 PLC是如何读取模拟量的