刚入行做PLC的时候,我最头疼的就是模拟量这块——明明看了不少理论,一到接线编程就卡壳。后来跟着师傅泡了几次现场,亲手调了锅炉温度、料位控制这些项目,才慢慢摸透其中的门道。

  今天就不用那些生硬的术语,纯用大白话给你讲讲模拟量的使用逻辑,再附上个实战案例,新手朋友也能看明白~

  先放两张现场实拍图,后面讲接线的时候会用到,大家可以先有个印象:

  PLC模拟量怎么用?我用实战经验给你讲透 先搞懂基础:数字量和模拟量到底啥区别?

  很多新手刚接触的时候都会问:“为啥不能全用数字量,非要搞个模拟量出来?” 其实这俩就像家里的开关和调光器,各有各的用处。

数字量:要么“有”要么“没有”

  数字量最简单,它的状态只有两种——就像你家里的灯开关,要么开(1)要么关(0),没有中间状态。我之前装过一个传送带的控制,电机启动就是1,停止就是0,这就是典型的数字量控制。

  简单说,数字量是“离散”的,就像台阶一样,一步是一步,没有中间的过渡。

模拟量:能精准表达“多少”

  但实际生产里,光有“开和关”远远不够。比如你要控制锅炉水温到60℃,总不能只让它要么0℃要么100℃吧?这时候就需要模拟量出场了。

  模拟量是“连续变化”的,就像斜坡一样,能精准表达中间的任何数值。比如化工车间测液体酸碱度,PH值6.2、6.8这些精准数据,只能靠模拟量来传递;还有水库的水位、管道的压力,这些需要精确监控的量,全得靠模拟量。

  一句话总结:数字量管“有没有”,模拟量管“有多少”,工业控制里缺一不可。

核心干货:模拟量要学透,先抓这两大块

  我当年走了不少弯路,后来才发现,学模拟量其实就两个核心:硬件(选型+接线)和软件(编程转换)。把这俩搞明白,基本就通了。

一、硬件:选型接线没做好,编程再好也白搭

  很多新手容易忽略硬件,觉得接线“随便接接就行”,结果调试的时候报错不断。我第一次独立接线就把量程卡拨错了,折腾了一下午才找到问题,现在想起来还挺惭愧的。

1. 选型:看工况选信号类型

  模拟量信号不是统一的,得根据现场设备来选。常见的有这几种:

  • 电压信号:比如0-10V、1-5V,适合短距离传输(一般几十米内),我之前做小型恒温箱控制的时候就用的0-10V信号,稳定又方便。
  • 电流信号:最常用的是4-20mA,抗干扰能力强,适合长距离传输(几百米都没问题),比如车间里的料位计到PLC的距离有100多米,就必须用4-20mA。
  • 特殊信号:比如热电偶、热电阻,专门用来测温度的,像锅炉温度控制就得用这种,我之前调过一个蒸汽锅炉,用的就是K型热电偶信号。2. 接线:不同PLC有讲究,细节决定成败

      接线这块,我拿最常用的西门子S7-300举例子,其他品牌原理类似,大家可以参考。

      首先,S7-300的主机一般不带模拟量接口,得加拓展模块。我记得第一次加模块的时候,对着STEP7软件琢磨了半天——先选对PLC型号,再找到对应的模拟量模块,一步步添加进去,硬件组态这步不能错,不然地址都识别不到。

      PLC模拟量怎么用?我用实战经验给你讲透

      每个模拟量通道都有固定地址,比如我之前用的模块,第一个通道地址是304,编程的时候就得用这个地址去读数据,就像每家每户的门牌号,错了就找不到人。

      PLC模拟量怎么用?我用实战经验给你讲透

      然后要根据设备选量程,比如测温度就选温度模块,选对热电偶或热电阻类型;测压力就选对应的电压/电流模块。之前有个同事把压力传感器接到了普通电压模块上,结果读出来的数据全是乱的,后来换了模块才好。

      PLC模拟量怎么用?我用实战经验给你讲透

      电压信号的类型也很多,-10V到10V、-5V到5V这些都有,要跟传感器输出的一致。比如我用的压力传感器输出0-5V,模块就必须选对应的量程。

      PLC模拟量怎么用?我用实战经验给你讲透

      电流信号要注意是二线制还是四线制,接线方式不一样。我之前接四线制的流量计,电源和信号是分开接的,要是接成二线制就烧不了模块,但数据肯定不对。

      PLC模拟量怎么用?我用实战经验给你讲透

      重点提醒:西门子模块有个“量程卡”,就在模块侧面,上面标着A、B、C、D,选的类型要和你接的信号对应上。我第一次就忘拨了,默认是A类型,结果接4-20mA信号读不到数据,后来师傅提醒我才拨到对应的位置。

      PLC模拟量怎么用?我用实战经验给你讲透

      还有个安全细节:拆模块之前一定要断电!我见过有人带电拔模块,直接把模块烧了,损失好几千。调整好量程卡再上电,下载硬件组态,这步走完硬件才算弄好。

      PLC模拟量怎么用?我用实战经验给你讲透

      PLC模拟量怎么用?我用实战经验给你讲透

      对了,像三菱、罗克韦尔这些其他品牌的PLC,大多不用量程卡,直接接线就行,相对简单点,但接线前一定要看手册,别凭经验来。

    二、软件编程:核心是“数据转换”,公式记牢不踩坑

      很多新手觉得模拟量编程难,其实难的是数据转换——PLC读进来的是一堆数字,得转换成我们能看懂的实际值,比如温度、压力这些。

      先记住一个关键:不管是电压还是电流信号,PLC读进来的原始数据范围大多是-32767到32767(16位有符号整数)。我们的任务,就是把这个范围的数,转换成实际的工程量。

      给大家看张图,能直观区分电流和电压信号的转换逻辑,我当时就把这张图存手机里,编程的时候随时看:

      PLC模拟量怎么用?我用实战经验给你讲透1. 模拟量输入:把PLC读数转成实际值

      比如我之前做的水箱液位控制,液位计量程是0-5米,输出4-20mA信号,接到PLC的304通道。这时候PLC读进来的原始数据,4mA对应0,20mA对应32767,我们要把这个范围转换成0-5米。

      给大家一个通用公式,我用了好几年从没出错:

      实际值 = (原始数据 - 最小原始值)/(最大原始值 - 最小原始值) × (最大工程量 - 最小工程量) + 最小工程量

      对应上面的例子就是:实际液位 = (304通道读数 - 0)/(32767 - 0) × (5 - 0) + 0

      再举个具体的,比如304通道读出来的数是16383(正好是中间值),那实际液位就是(16383/32767)×5≈2.5米,是不是很简单?

      下面这张图就是我当时写的程序,把304通道的数据转换成0-500的实际值(比如压力0-500kPa),再存到MW104里,大家可以参考:

      PLC模拟量怎么用?我用实战经验给你讲透2. 模拟量输出:把实际值转成PLC输出信号

      输出和输入正好相反,比如我要控制阀门开度,让它打开50%,对应的输出信号是0-10V,那就要把50%这个值,转换成PLC能输出的原始数据。

      还是用上面的公式反过来算:原始输出值 = (实际值 - 最小工程量)/(最大工程量 - 最小工程量) × (最大原始值 - 最小原始值) + 最小原始值

      如果阀门最大开度是100%,对应10V(32767),那50%就对应16383,PLC输出PQW320就是这个数,对应5V电压。

      这张图是模拟量输出的程序示例,我一直存在电脑里,需要的朋友可以保存:

      PLC模拟量怎么用?我用实战经验给你讲透

      PLC模拟量怎么用?我用实战经验给你讲透 实战案例:料仓料位控制,看完就会用

      光说理论不够,给大家讲个我去年做的加料程序案例,用到了模拟量输入和输出,非常典型。

      现场是一个大料仓,装生产用的原料,用雷达料位计测料位,量程是0.5-10米。要求是料位低于2米的时候自动补料,达到9米的时候停止补料,避免原料溢出来。

      先放几张现场的图片,大家有个直观认识:

      PLC模拟量怎么用?我用实战经验给你讲透

      PLC模拟量怎么用?我用实战经验给你讲透

      PLC模拟量怎么用?我用实战经验给你讲透步骤1:硬件选型和接线

      料位计输出4-20mA信号,距离PLC有80多米,所以选了西门子S7-300的AI模块(6ES7 331-7NF10-0AB0),量程卡拨到4-20mA对应的位置。补料用的是变频器控制的电机,变频器接受0-10V信号,所以选了AO模块(6ES7 332-5HF00-0AB0)。

      接线的时候,料位计的正负极接到AI模块的1、2端子,变频器的正负极接到AO模块的1、2端子,记得区分正负极,接反了读不到数据。

    步骤2:软件编程

      1. 硬件组态:在STEP7里添加S7-300主机、AI和AO模块,AI模块地址设为304,AO模块地址设为320。

      2. 模拟量输入转换:把304通道的原始数据转换成实际料位(0.5-10米),用前面讲的公式编程。

      3. 逻辑控制:当实际料位<2米时,AO模块输出10V(32767),变频器全速运行,电机补料;当料位>9米时,AO模块输出0V(0),电机停止。

      4. 报警处理:加了个料位低于0.5米(料位计最小量程)和高于10米的报警,万一料位计故障能及时发现。

    步骤3:调试要点

      调试的时候,我先手动加料到2米,看PLC读的实际值对不对,再手动降到1.9米,看电机能不能自动启动;加到9米的时候,电机能不能自动停。反复测试了几次,数据都准确,才交的工。

      这里提醒大家,调试的时候一定要有人盯着现场,万一程序出问题,能及时按下急停,安全第一!

    最后总结一下

      其实PLC模拟量没那么难,记住这几点就行:

    1. 数字量管“开关”,模拟量管“多少”,根据需求选;
    2. 硬件关键是选型和接线,量程卡、正负极、断电操作别忘;
    3. 编程核心是数据转换,记住公式,根据量程调整;
    4. 多去现场实操,比看十本手册都有用。

      我当年也是从新手过来的,踩过不少坑才总结出这些经验。如果大家在实际操作中遇到问题,比如接线报错、数据不准,都可以在评论区问我,咱们一起交流~

      觉得有用的话,别忘了点个【关注】,转发给身边做PLC的朋友呀!