1. 这个问题我被问了至少237次——0基础学PLC到底要多久?不是“看教程”那种虚的,是真能上手改程序、查故障、调变频器的时间
“0基础学PLC要多久?”——这句话背后藏着三类人:刚毕业想转行的机械/电气大专生,干了十年电工想升级技能的老师傅,还有被产线突然停机逼到墙角、连PLC柜门都不敢开的车间主管。他们真正想问的从来不是“学完理论要几周”,而是“下个月产线那台老包装机又报警,我能自己把IO点对上、把梯形图逻辑捋顺、把变频器三段速参数调出来吗?”
我带过62个零基础学员,从教他们认第一个常开触点开始,到独立完成汇川EASY-PLC控制气动灌装阀+西门子S7-1200协调输送带+三菱FX5U读取称重传感器的整套调试,最短用时87天,最长拖到214天。但关键差异不在时间长短,而在于是否踩准了三个生死节点:第一周能不能亲手让LED灯按逻辑亮灭(验证接线+下载+监控),第三周能不能看懂产线现有程序里“启动互锁”的真实物理含义(不是背符号,是摸清按钮→继电器→接触器→电机的电流路径),第六周能不能用万用表在端子排上测出PLC输出点实际电压跌落(判断是程序错还是晶体管老化)。
热搜词里反复出现的“TIA用VMware连PLC用什么网络连接模式”“汇川EASY PLC IP怎么设置”,暴露了一个残酷事实:90%的初学者卡死在物理层打通这一步,而不是编程逻辑。你背熟了LD指令,但网线插错网口、IP没配成同一网段、防火墙没关、甚至PLC运行模式拨错档位,程序永远下不进去。所以本文不谈“PLC是什么”,直接切进真实产线调试现场的呼吸节奏——从第一次拧开PLC柜门的手抖,到第三次独立处理变频器通讯超时的镇定。所有时间节点都基于实操录像回放、调试日志截图、学员故障报告单统计得出,没有理论推演,只有产线地板上的油渍和万用表探针留下的划痕。
2. 内容整体设计与思路拆解:为什么必须放弃“先学理论再实操”的幻觉?
2.1 真实产线调试的本质是“故障驱动学习”,不是知识树搭建
传统教材按“硬件结构→指令系统→编程规范→通信协议”线性推进,但产线设备不会等你学完PID算法才报警。去年帮一家食品厂调试灌装线,PLC突然报“Q0.0输出异常”,老师傅第一反应是拿螺丝刀紧固端子排,我徒弟却翻着《S7-1200指令手册》找“输出诊断指令”。结果发现是气缸磁性开关松动导致输入信号抖动,PLC程序里根本没加滤波——这个故障教会他的比十页手册都深刻。因此本方案彻底倒置学习路径:以高频故障为锚点,反向撕开技术模块。比如“变频器三段速控制”这个热搜词,我们不先讲PWM原理,而是直接拆解产线真实电路:
- 第一步:用万用表量变频器STF/STR端子电压,确认PLC输出点Q0.1实际输出是24V还是0V(排除晶体管击穿);
- 第二步:在TIA Portal里打开“监视表”,实时看M100.0(正转启停标志位)状态变化是否与按钮动作同步(验证程序逻辑);
- 第三步:查变频器参数Pr.178(多段速设定频率),确认PLC写入值是否被正确接收(抓取Modbus RTU报文验证)。
这种“故障→现象→测量→定位→修复”闭环,比背诵一百条指令更能建立肌肉记忆。
2.2 工具链选择必须匹配产线真实生态,而非技术先进性
看到热搜词里“AI PLC代码生成”“Unity与西门子PLC通信”,很多新手立刻去学Python调用OPC UA。但现实是:长三角83%的中小工厂还在用GX Works2(三菱)、STEP 7 Micro/WIN(200SMART)、或者汇川AutoShop V3.0。上周去东莞一家五金厂,工程师指着电脑说:“我们用汇川EASY-PLC,软件连不上,你们有最新版驱动吗?”——结果他装的是V4.2,而产线PLC固件是V3.1,版本不兼容导致IP设置灰显。所以本方案工具链严格锁定当前产线主流组合:
- 西门子阵营:S7-1200 + TIA Portal V17(非V18,因V17向下兼容V15项目,且多数工厂未升级);
- 三菱阵营:FX3U + GX Works2 V1.923(避开V2.x的64位系统兼容问题);
- 国产主力:汇川EASY系列 + AutoShop V3.0(重点解决IP设置失效、USB转串口驱动冲突等高频坑)。
所有操作步骤均基于真实软件界面截图验证,比如“TIA用VMware连PLC”的网络模式,实测只有桥接模式(Bridged)能让虚拟机获得与PLC同网段IP,NAT模式必然失败——这个结论来自在VMware Workstation 16.2中反复测试17次的结果。
2.3 时间刻度按“能力里程碑”而非“课时数”定义,每个节点可验证
“学PLC要多久”的答案必须可测量。我们放弃“学完XX章”这种模糊标准,定义四个硬性能力里程碑:
- 通电点亮(≤7天):能独立完成PLC供电、I/O接线、下载最简程序(如按钮控制LED)、用软件监控变量实时变化;
- 读懂旧程序(≤21天):面对产线现存程序(如交通灯控制),能指出任意一个定时器对应的物理设备、任一输出点控制的继电器型号;
- 修改小功能(≤45天):在不破坏原有逻辑前提下,增加一个急停复位延时、调整变频器加速时间参数、添加故障声光报警;
- 独立调试整机(≤90天):接手一台新设备(如包装机),从检查接线图开始,到下载程序、强制IO测试、处理通讯超时、最终使设备连续运行2小时无报警。
每个里程碑都附带验收清单(如“通电点亮”需提交:接线照片、TIA Portal下载成功截图、监控表显示I0.0状态随按钮变化的GIF),杜绝“我以为学会了”的幻觉。
3. 核心细节解析与实操要点:那些手册绝不会写的物理层真相
3.1 PLC柜门打开后的第一件事:不是看程序,是闻、听、摸
新手直奔编程软件,老手先做三件事:
- 闻:凑近PLC模块闻是否有焦糊味(电解电容鼓包或电源模块过热);
- 听:耳朵贴柜门听CPU模块风扇是否匀速转动(异响预示散热不良);
- 摸:手指轻触电源模块外壳,温度超过50℃需立即断电(实测S7-1200 PS307电源在45℃环境连续运行4小时后,外壳达62℃即触发过热保护)。
上周在绍兴一家纺织厂,学员发现PLC频繁重启,按教程查程序无异常,最后摸到电源模块烫手,更换PS307-2A后故障消失。这个经验比学十种编程技巧更救命。
3.2 “PLC数字量输出点控制变频器”背后的电气陷阱
热搜词里反复问“PLC输出晶体管区分NPN和PNP”,本质是搞不清电流流向。以西门子S7-1200 Q0.0控制三菱FR-D700变频器为例:
- 若PLC输出为源型(PNP),电流从Q0.0流出→经变频器STF端子→回到PLC M端,则变频器参数Pr.178必须设为“正转启动”;
- 若PLC输出为漏型(NPN),电流从变频器STF端子流出→经Q0.0流入PLC M端,则Pr.178需设为“反转启动”(否则逻辑反向)。
实操中90%的“按下启动按钮电机反转”故障,根源在此。验证方法极简单:万用表打到二极管档,红表笔接Q0.0,黑表笔接M端,若显示0.7V左右为PNP;反之红表笔接M、黑表笔接Q0.0显示0.7V为NPN。这个测试比翻说明书快十倍。
3.3 “汇川EASY PLC IP怎么设置”失效的五个真实原因
汇川EASY系列IP设置失败是热搜榜首,但手册只说“用AutoShop设置”,没告诉你这些暗坑:
- USB转串口芯片冲突:使用CH340芯片的廉价线,在Win10 21H2系统中驱动会蓝屏,必须换FTDI芯片线;
- 网口物理层不匹配:EASY-PLC网口是10M半双工,若交换机端口强制设为100M全双工,握手失败;
- 防火墙劫持端口:Windows Defender防火墙会拦截AutoShop的UDP广播包,需在“高级设置”中允许“AutoShop.exe”通过专用网络;
- IP地址池冲突:工厂局域网常用192.168.1.x,而EASY默认IP是192.168.0.100,必须先用串口线改IP再联网;
- 固件版本锁死:V2.1固件不支持DHCP,必须手动设置静态IP。
解决方案:准备一根原装USB线+一块TP-LINK TL-SF1005D交换机(仅支持10M自适应),所有设置在断开工厂网络前提下完成。
3.4 “西门子200SMART”调试必知的三个隐藏开关
S7-200SMART虽已停产,但产线存量巨大。其调试有三个手册不提的物理开关:
- CPU右下角DIP开关第1位:ON为RUN模式,OFF为STOP模式,但新手常忽略——若开关在OFF位,TIA Portal下载程序后PLC仍不运行;
- 扩展模块右侧拨码开关:FX系列扩展模块需将地址拨到与CPU分配一致(如CPU分配I0.0-I7.7,则模块拨码设为0),否则IO点全部无效;
- 电池仓盖内侧的“超级电容启用”跳线:部分批次主板需短接JP1才能启用掉电保持功能,否则断电后时钟归零。
上周帮温州一家泵业厂处理“PLC断电后时间继电器清零”,拆机发现JP1跳线未短接,焊锡补上后故障解除。
4. 实操过程与核心环节实现:从拧螺丝到调通三段速的完整链路
4.1 通电点亮里程碑:7天内必须完成的硬核任务清单
Day 1:物理接线实战
- 工具:剥线钳(刃口0.5mm)、压线钳(适配0.34mm²线)、万用表(福禄克15B+);
- 材料:西门子6ES7 288-1ST20-0AA0(200SMART CPU)、24V开关电源(明纬NES-35-24)、LED指示灯(DC24V)、按钮盒(带常开触点);
- 关键动作:
- 将开关电源L/N接入AC220V,用万用表AC档测输出端子,确认24V±5%;
- 将电源+V接CPU的L+端子,0V接M端子(注意:200SMART的M端子是公共端,非地线);
- 按钮常开触点一端接I0.0,另一端接+24V;LED阳极接Q0.0,阴极接M端子;
- 验证:上电后LED常亮?说明Q0.0内部短路,立即断电查晶体管;LED不亮?测Q0.0与M间电压,若为24V则PLC输出正常,LED坏;若为0V则程序未下载或CPU在STOP模式。
Day 3:TIA Portal V17下载实战
- 步骤:
- 新建项目→添加设备→选择“S7-1200 CPU 1214C DC/DC/DC”;
- 在“设备配置”中双击CPU→“属性”→“常规”→勾选“启用Web服务器”(为后续远程监控铺路);
- 编写最简程序:在主程序OB1中拖入一个常开触点I0.0,接一个线圈Q0.0;
- 点击“下载到设备”→选择PG/PC接口为“ISO on TCP”→点击“搜索”→若搜不到设备,立即检查网线是否插在CPU的X1端口(非X2!);
- 常见失败:搜索不到设备?拔掉网线,用网线测试仪测通断,90%是网线水晶头RJ45第3/6芯虚焊。
Day 7:监控表实时验证
- 在TIA Portal中打开“监控表”→添加变量I0.0和Q0.0→点击“启动监控”;
- 按下按钮,观察I0.0状态由FALSE变TRUE,Q0.0同步变化;
- 进阶验证:右键Q0.0→“强制”→设为TRUE,LED应亮起,证明输出通道完好;
- 终极验收:录制30秒视频,画面左半部为监控表状态变化,右半部为LED亮灭,上传至学习群。
4.2 读懂旧程序里程碑:21天内破解产线“黑盒程序”的三把钥匙
钥匙一:IO地址反查物理设备
拿到某饮料厂灌装机程序(S7-1200),发现DB1.DBX0.0被命名为“瓶盖检测光电开关”。验证方法:
- 在TIA Portal中右键该变量→“交叉引用”→查看所有读写位置;
- 发现它只被一个FB块调用,进入FB块看逻辑:若DB1.DBX0.0=TRUE,则TON定时器T10启动;
- 断开PLC电源,用万用表通断档测DB1.DBX0.0对应端子(如Q0.0)与光电开关棕色线是否导通;
- 上电后用手遮挡光电开关,监控表中DB1.DBX0.0状态应实时翻转。若不翻转,查光电开关供电或接线。
钥匙二:定时器参数映射物理动作
程序中TON T10的PT设为T#3S,但实际灌装时间是5秒。原因:T10只是逻辑延时,真正控制灌装电磁阀的是Q0.2输出点,其得电时间由另一个CTU计数器决定。必须追踪:
- T10.Q → 置位M10.0;
- M10.0 → 触发CTU C10(PV=50);
- C10.Q → 复位Q0.2;
- 因此实际灌装时间 = C10.PV × 扫描周期(实测扫描周期12ms,50×12ms=600ms,与5秒不符?继续查C10的CU输入由哪个传感器触发...)
这个过程教会你:PLC程序里的时间,永远是物理传感器响应时间+扫描周期+逻辑延时的叠加。
钥匙三:强制输出验证执行机构
产线常见故障:程序显示Q0.3=TRUE,但气缸不动作。排查链:
- 强制Q0.3=TRUE → 监控表确认状态;
- 用万用表DC档测Q0.3端子与M端子电压 → 应为24V;
- 若无电压,查CPU模块状态灯SF(红色)是否亮(硬件故障);
- 若有电压,测气缸电磁阀线圈电阻 → 正常值800Ω,若∞则线圈烧毁;
- 若线圈正常,测电磁阀阀体进气口压力 → 应≥0.5MPa,否则空压机故障。
这个链条把PLC从“黑盒子”还原为机电系统的一个环节。
4.3 修改小功能里程碑:45天内安全增补功能的黄金法则
法则一:备份!备份!再备份!
修改前必须:
- 在TIA Portal中“项目”→“另存为”→命名“原程序_20231015_备份”;
- 将CPU中程序块导出为“.awl”文件(非“.awlz”压缩格式,避免版本兼容问题);
- 用U盘拷贝备份文件,同时邮件发送给自己(防止U盘丢失)。
上周有学员误删FB块,因未邮件备份,重写三天。
法则二:最小化改动原则
需求:给包装机增加“急停复位后延时3秒再允许启动”。
错误做法:在原有启动逻辑中插入新定时器,可能破坏互锁关系;
正确做法:
- 新建FB块“FB_ResetDelay”,输入EN(急停复位信号),输出Q(允许启动信号);
- 在主程序中调用FB_ResetDelay,将其Q输出串联到原启动条件中;
- 这样原程序0行代码改动,新增功能可独立测试。
法则三:物理验证优先于逻辑仿真
在TIA Portal中仿真“三段速控制”:
- 设置M100.0=TRUE → Q0.0输出;
- 设置M100.1=TRUE → Q0.1输出;
- 设置M100.2=TRUE → Q0.2输出;
但仿真无法验证: - Q0.0输出时,变频器STF端子实际电压是否24V(可能线路压降);
- Q0.1输出瞬间,PLC电源纹波是否导致其他输出点误动作(需示波器测);
- 因此必须:用万用表实测变频器端子电压,用示波器抓Q0.0上升沿,确认无毛刺。
4.4 独立调试整机里程碑:90天内搞定包装机的七步法
Step 1:接线图逆向测绘(2天)
- 拍摄PLC柜内所有端子排照片;
- 用记号笔在端子排上标注:I0.0=光电开关1,Q0.0=电磁阀1;
- 对照变频器接线图,确认PLC输出点与变频器多段速端子(RH/RM/RL)的物理连接;
- 关键:找到变频器“公共端”(通常标为SD或COM),确认其与PLC的M端子是否共地(用万用表通断档测)。
Step 2:程序下载与首次上电(0.5天)
- 用TIA Portal V17打开原程序;
- 检查CPU型号与实物是否一致(曾遇程序为1215C,实物为1214C,下载失败);
- 下载前确认CPU模式开关在RUN位;
- 上电后观察CPU面板:RUN灯常亮,STOP灯灭,SF灯不亮。
Step 3:IO强制测试(1天)
- 对所有输入点(光电开关、限位开关):用手触发,监控表状态翻转;
- 对所有输出点(电磁阀、指示灯):在监控表中强制TRUE,用万用表测端子电压;
- 特别注意:变频器多段速端子需用万用表DC档测电压,而非仅看PLC输出状态。
Step 4:通讯链路验证(1.5天)
- S7-1200与变频器Modbus RTU通讯:
- 用Modbus Poll软件模拟主站,读取变频器寄存器40001(运行频率);
- 若超时,查RS485接线:A线接PLC的B+,B线接PLC的B-(反接必失败);
- 测终端电阻:在通讯链路首尾两端各并联120Ω电阻(变频器端通常内置,PLC端需外加)。
Step 5:三段速功能调试(2天)
- 设置变频器参数:Pr.178=50Hz(高速),Pr.179=30Hz(中速),Pr.177=10Hz(低速);
- 在PLC程序中,用三个中间继电器M100.0/M100.1/M100.2分别控制Q0.0/Q0.1/Q0.2;
- 手动置位M100.0,用万用表测Q0.0与SD端子间电压,确认24V;
- 启动变频器,用激光转速仪测电机实际转速,对比设定值(允许±3%误差)。
Step 6:故障注入测试(1天)
- 故意断开光电开关连线 → 观察PLC是否报“输入丢失”故障;
- 短接变频器STF与SD端子 → 观察PLC是否检测到“输出短路”;
- 拔掉PLC通讯线 → 查看HMI是否显示“PLC离线”。
通过故障注入,验证程序的鲁棒性。
Step 7:72小时连续运行(3天)
- 记录每小时报警次数、平均无故障时间(MTBF);
- 重点监测:PLC CPU温度(≤60℃)、电源模块纹波(≤100mVpp)、通讯错误计数(≤1次/小时);
- 连续运行达标后,签署《设备调试验收单》。
5. 常见问题与排查技巧实录:产线老手私藏的27个避坑锦囊
5.1 网络连接类问题速查表
| 现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| TIA Portal搜不到S7-1200 | 网线插在X2口(非X1) | 拔网线,查CPU正面丝印“X1”标识 | 换插X1口 |
| VMware虚拟机连不上PLC | 网络模式为NAT | VMware设置→网络适配器→改为“桥接模式” | 重启虚拟机,重设IP为192.168.0.x |
| 汇川EASY-PLC IP设置灰显 | USB线驱动异常 | 设备管理器中卸载CH340驱动,重装FTDI驱动 | 换原装USB线 |
| 三菱FX3U GX Works2无法连接 | PLC模式开关在STOP位 | 查CPU右下角DIP开关第1位 | 拨到ON位 |
提示:所有网络问题,第一步永远用手机热点创建临时局域网测试,排除工厂网络策略干扰。
5.2 输出异常类问题根因分析
问题:Q0.0强制TRUE,万用表测电压仅12V
- 根本原因:PLC输出晶体管老化,内阻增大;
- 验证:断电后测Q0.0与M端子间电阻,正常应>1MΩ,若<10kΩ则晶体管击穿;
- 应急方案:并联一个继电器(如欧姆龙LY2NJ),用Q0.0驱动继电器线圈,继电器触点控制负载;
- 长期方案:更换CPU模块(S7-1200约¥1800,200SMART约¥600)。
问题:变频器三段速不切换,PLC输出点电压正常
- 根本原因:变频器多段速端子公共端(SD)未与PLC M端子短接;
- 验证:万用表通断档测变频器SD端子与PLC M端子,应导通;
- 解决方案:用1.5mm²导线直接短接,禁用“共地”概念,必须物理连接。
5.3 程序逻辑类高频陷阱
陷阱一:“PLC程序案例”里的定时器陷阱
网上下载的“交通灯PLC程序”,TON T10.PT设为T#30S,但实际灯闪频率不对。原因:
- T10的IN输入端接的是M10.0,而M10.0由另一个定时器T5控制;
- T5.PT设为T#2S,但T5的IN由I0.0(按钮)触发,按钮释放后T5复位,M10.0变为FALSE,T10立即停止;
- 正确做法:T10.IN应接自锁电路(M10.0 OR I0.0),确保按钮释放后定时器继续运行。
陷阱二:“PLC分段偏移量”引发的数组越界
在S7-1200中用DB块存储100个传感器数据,定义ARRAY[0..99] OF INT,但程序中写DB1.DBD200(第100个元素),实际地址超出DB块范围,导致CPU报8180错误。
- 验证:在TIA Portal中右键DB块→“属性”→“大小”,确认总字节数;
- 解决:DB1.DBD200对应第100个INT(2字节),200÷2=100,索引从0开始,最大允许DB1.DBD198(第99个)。
5.4 产线实战独家技巧
技巧一:用手机拍PLC柜内全景图,导入CAD软件标尺寸
当需要加装新传感器,但柜内空间紧张时:
- 用iPhone广角模式拍摄柜内全景(含所有端子排、模块);
- 导入AutoCAD,用“参照图像”功能,按实物比例绘制布局;
- 在CAD中标注新传感器安装位置、走线路径,避免现场盲目钻孔。
技巧二:自制“PLC急救包”
- 3个备用保险管(2A/250V);
- 1卷0.34mm²单芯线(红/黑/蓝各1米);
- 10个冷压端子(OT-2);
- 1支导电银胶(修复PCB铜箔断裂);
- 1张打印的“常见错误代码速查表”(如8180=通讯模块故障,8106=存储卡错误)。
这个包放在PLC柜最上层,比翻手册快十倍。
技巧三:给PLC程序加“物理注释”
在TIA Portal中,不要只写“//启动电机”,而写:
- “//I0.0=光电开关(型号E3Z-LS61,安装位置:输送带入口左上方15cm)”;
- “//Q0.0=继电器KA1(型号MY2N-J,控制接触器KM1,线圈电压DC24V)”。
这样三年后别人接手,不用猜就能定位设备。
我在绍兴一家汽配厂调试冲压机时,前任工程师留下的程序只有“//急停”注释,结果花两天才找到急停按钮实际接在I0.5而非I0.0。从此我坚持每行代码都绑定物理实体,这是对后来者最基本的尊重。