
1. 转换之前先把手上的电气图读透做电气改造和PLC编程的工程师十有八九都遇到过这种场景老设备没有PLC全靠中间继电器、时间继电器、接触器搭出来的控制电路在跑。设备要接入产线管理系统或者故障率太高需要升级老板甩过来一张发黄的电气原理图说“把它改成PLC控制”。这时候的核心工作就是把电气图转成PLC梯形图。很多新手拿到图纸的第一反应是打开编程软件对着硬写结果写到一半发现线圈重复、自锁丢失、互锁打架最后只能推倒重来。问题不在梯形图难写而在电气图没读透。电气图本质上是一套用“硬接线”实现的逻辑表达式而梯形图是用“软逻辑”实现的同一个表达式转换的关键不是照着画而是先把图纸里的逻辑关系提取成一张“对应表”。这张对应表至少要包含三层信息。第一层是元件清单图纸上所有的按钮、行程开关、接触器辅助触点、中间继电器、时间继电器都要列出来并标注它们的常开常闭属性。第二层是线圈驱动关系搞清楚每个接触器或继电器的线圈是被哪些触点串联、并联后驱动的。第三层是执行条件也就是在什么条件下这个线圈得电、在什么条件下失电有没有自锁、有没有互锁、有没有延时。读图的时候有一个小技巧从线圈往回看。不要按图纸的视觉顺序从上往下读而是找到一个接触器线圈然后沿着它的控制回路反向找看这条回路经过了哪些触点。电气图里线圈在图纸下方控制电源在图纸上方所以从下往上读往往效率更高也不容易漏掉并联支路。这样读完每一个线圈整套设备的控制逻辑就全拆出来了。只要这个功夫下到位后面写梯形图就是翻译工作。做这个行业十年、改了不下五十套设备之后我的体会是凡是转换后逻辑不对的九成是读图这一步漏了触点或者搞反了常开常闭而不是编程软件操作有问题。2. 四种主流转换思路按场景选就不会走弯路电气图转梯形图不是只有一种固定套路不同复杂度的图纸用不同思路效率完全不同。我实际用下来最常见的有四种方法分别对应不同的场景和图纸类型。2.1 直接替换法最基础适合简单控制回路直接替换法就是把电气图里的元件一对一翻译成梯形图指令。启动按钮用常开指令停止按钮用常闭指令接触器辅助触点对应普通常开触点时间继电器对应定时器。例如电气图里“按下启动按钮接触器线圈得电辅助触点自锁”翻译过来就是“启动按钮常开触点并联接触器常开触点串联停止按钮常闭触点输出到接触器线圈”。这个方法适合单台电机启停、单台设备启保停电路这类只有一两个线圈的图纸。它的优点是简单直观只要读图没读错写出来基本不会有逻辑问题。缺点是它完全复刻了电气图的原始结构如果原图纸本身设计得绕梯形图也会很绕程序可读性差。直接替换法还有一个隐含坑电气图里同一元件的常开常闭触点可以在不同回路里出现很多次梯形图里同一个物理触点的常开常闭地址是同一对可以在程序中反复调用。但线圈不一样同一个输出线圈在梯形图里只能写一次这一点和电气图完全不同。电气图里接触器的辅助触点和主触点本来就是自由分布的但写PLC程序的时候TM线圈、KM线圈都只能输出一次。转换时如果原图一个线圈出现了多次得电回路不能用多个输出指令叠加必须把并联条件合并成一个网络块。2.2 逻辑代数化简法适合触点冗余的组合逻辑第二种是逻辑代数化简法。电气图纸设计年代较早很多图纸存在触点冗余比如同一个条件串联了两个常开触点但这两个触点指向同一个信号源这种情况在梯形图里就是重复判断可以删掉一个。又比如一个线圈有三个并联的启动条件其中两个条件又完全包含了第三个条件那这个被包含的支路就是多余逻辑可以清除。具体做法是先把每个线圈的驱动条件写成布尔表达式然后化简。比如某个接触器KM1线圈的得电条件是(SB1且KM1不动作)或(KM2动作且SB2不动作)写成布尔表达式后如果SB2不动作这个条件和KM2动作永远同时出现那就可以把两者合并成一个中间变量。化简完再翻译成梯形图程序面板会干净很多。但这里必须提醒一点逻辑化简只适合控制逻辑层面的化简。电气图纸里的安全联锁触点比如急停、安全门开关、热继电器常闭触点不管化简结果如何都必须保留在回路里。曾经有人化简掉一个冗余触点恰好那个触点就是安全回路上的关键节点结果设备在维护状态下出现了意外启动动作。后来我们把安全相关触点单独拆出来做成硬电路不再参与软件逻辑化简才算彻底杜绝了这类隐患。2.3 状态分析法适合顺序控制与步进流程第三种是状态分析法适合有明确工艺流程顺序的设备比如自动送料、多工位转盘、液压机自动循环。这类设备的电气图往往有大串中间继电器和时间继电器搭成的步进链继电器一个接一个轮流吸合每一个继电器的得电都依赖上一个继电器已经动作。这种图纸用直接替换法写出来会非常痛苦因为继电器之间的连锁关系复杂状态跳到哪一步在梯形图里很难一眼看出来。更好的办法是忽略原图继电器之间的物理接线方式把目光放在它们的“动作顺序”上把每个中间继电器看作一个状态步用转移条件来触发状态跳转。比如某个自动循环设备的状态流是原位-夹紧-进刀-退刀-放松-回原位对应电气图里五个中间继电器依次吸合。转换时就不需要纠结继电器K1的常开触点和K2的线圈怎么接只需要定义五个状态位M0到M4M0得电表示处于原位原位条件满足后置位M1夹紧输出同时触发进刀状态以此类推。这样写出来的程序每一条都对应工艺的一步调试的时候直接看哪个状态位亮了就能判断设备卡在哪一步。状态分析法写出来的程序结构性很强修改工艺顺序也方便但要特别注意状态之间的互锁同一时刻只能有一个状态位为ON转到下一步时必须把上一步复位。漏了复位就会出现两个状态同时激活输出一起动作的局面在设备上就是直接撞机。2.4 工具辅助翻译CAD图纸配合编程软件导入第四种是工具辅助。很多PLC编程软件支持从CAD电气原理图导出数据或者可以用脚本把电气图纸里的元件连接关系解析出来再生成梯形图框架。比如GX Works2就支持通过标签批量导入触点线圈地址有些第三方工具还能把EPLAN生成的电气BOM表直接映射成PLC变量表。用了工具辅助最大的收益是变量地址不容易写错。手动转换时最容易犯的低级错误就是触点地址敲错一位数字——常开地址和常闭地址搞混或者把接触器的辅助点地址填到输入点地址上。工具如果用得好地址映射这一步能省很多事电气图纸上一个元件对应PLC的哪个地址直接批量生成。但工具也有它的局限性。它只能解决“符号对应”和“地址映射”这两件事逻辑关系还是得人来判断。工具生成的梯形图框架往往非常臃肿因为它在翻译的时候保持了电气图的原始结构没有任何化简。我一般在简单图纸上用工具再做人工整理复杂图纸直接手写逻辑用工具反而不划算。3. 核心案例星三角降压启动电路从接线图到梯形图全流程星三角降压启动是所有转换案例里最经典的它包含了接触器自锁、互锁、时间继电器延时切换、热保护等多个典型元素把这一张图吃透市面上大多数电机控制类图纸都能举一反三。3.1 原电路的动作过程分析星三角降压启动的主回路是一台异步电机启动时先接成星形启动延时结束后切换成三角形目的是降低启动电流。控制回路里涉及三个接触器主接触器KM1负责接通电源星形接触器KM3负责短接绕组尾端形成星点三角形接触器KM2负责把绕组接成三角形。另外还有一个时间继电器KT负责启动延时切换。控制回路的动作顺序是这样的按下启动按钮SB2KM1和KM3同时得电电机以星形接法启动时间继电器KT也同时开始计时延时时间到KT延时动作断开KM3线圈回路同时接通KM2线圈回路电机切换到三角形运行按下停止按钮SB1KM1和KM2同时失电电机停止。KM2和KM3之间必须有互锁否则两个接触器同时吸合会造成相间短路。3.2 触点线圈映射表转换前先做一张映射表把电气图上的每个元件和PLC的地址对应起来。这是整个转换最费心思但也是最有价值的一步。原件电气图符号类型PLC地址备注启动按钮 SB2常开按钮输入X0按下为ON停止按钮 SB1常闭按钮输入X1按下为OFF热继电器 FR常闭保护输入X2动作时为OFF主接触器 KM1线圈输出Y0—三角形接触器 KM2线圈输出Y1—星形接触器 KM3线圈输出Y2—延时继电器 KT线圈内部定时器T0延时3-5秒KM1辅助触点常开输入或内部辅助辅助继电器M0自锁使用这里有一个改造细节接触器辅助触点如果接回PLC输入点读的是实际触点状态这种接法叫做“反馈输入”。反馈输入的优点是程序可以真实判断接触器是否吸合万一接触器机械卡死程序能检测到异常。缺点是占用输入点而且接线复杂。如果输入点不够用就用PLC内部辅助继电器做自锁也就是程序内部模拟自锁逻辑不读取实际触点反馈但这样做了之后接触器是否真正吸合程序就检测不到了。3.3 梯形图逐段编写过程有了映射表可以开始写梯形图。第一段是主接触器和启动自锁回路。启动按钮X0常开停止按钮X1常闭热继电器X2常闭三者串联后并联上M0自锁触点输出M0再由M0驱动Y0。这段逻辑等价于电气图里“SB2并联KM1辅助触点串联SB1常闭和FR常闭驱动KM1线圈”。第二段是运行模式切换。这里要特别注意KM2和KM3的互锁。星形启动阶段T0还没到时间Y2输出为ON延时时间到T0动作T0的常闭触点断开Y2T0的常开触点接通Y1。同时KM2对应的Y1和KM3对应的Y2之间要互相串对方的常闭触点这就是软件互锁。很多人在这里会犯一个错误只在KM2线圈回路里串了KM3的常闭触点却没在KM3线圈回路里串KM2的常闭触点。这相当于只做了单向互锁切换过程中如果前一个接触器释放慢后一个接触器得电快还是存在瞬间重叠的可能。正确做法是两个方向都加常闭互锁从电气回路上完全杜绝两个输出同时为ON。第三段是定时器。T0的启动条件是和KM1同步得电延时时间到后触发切换。定时器预设值需要根据电机功率和负载类型调整。轻载或空载启动星形阶段可以短一点3秒左右就够重载启动要适当加长到6秒以上否则电机转速还没上来就切换电流冲击会很大。我给过很多现场调参数一般空压机电机设4秒输送带电机设5秒破碎机类重载设8秒起步。3.4 转换后的联机调试要点写好的梯形图不能直接上电试机必须先在软件里做离线仿真。三菱GX Works2的仿真功能和西门子PLCSIM都支持在线监视用鼠标强制X0为ON模拟启动按钮按下看T0是否开始计时、Y0和Y2是否同时亮、计时结束后Y2是否熄灭同时Y1亮起。仿真没问题之后再下载到PLC但第一次上电依然要断开主回路电源只给PLC送电然后手动按按钮验证逻辑。逻辑验证通过后再合上主回路带电机试机。这中间有一个细节几乎没有人写在说明书里第一次带电机试机时不要带负载让电机空转。这样即便相序接错或者接触器切换有问题最多是电机不转或者声音异常不会损坏负载设备。空载运行确认电机转向正确、切换过程没有异响再接入真实负载。还有一个容易踩的坑是相序问题。星三角切换在电气上是三相绕组接线形式的切换相序接反会导致电机反转或者切换瞬间短路。所以主回路接线完成后必须用相序表检查三相相序启动切换的瞬间再用万用表量接触器进线侧和出线侧的电压确认没有缺相和错相。4. 转换过程中最容易翻车的细节逐个排雷电气图转梯形图逻辑写错有时候一眼能看出来但更多的翻车发生在细节上。以下这些坑我基本都踩过有些是帮客户排查故障时遇见的每一条都在现场付出过代价。4.1 停止按钮常闭接线的映射陷阱这是新手翻车第一名。电气图里停止按钮是常闭触点按下后常闭变断开切断控制回路。很多人看图的时候知道这一点一到写梯形图就忘了既然停止按钮是常闭触点按下时就应该是断开状态所以梯形图里用的是“常开指令”LD X1停止按钮没有按下时X1为OFF常开指令断开但常闭指令LDI X1为导通按下后X1为ONLDI X1断开输出切断。这里特别容易搞混的是“常开指令”和“常闭指令”与触点的物理常开常闭的对应关系。理解方式很简单要看PLC程序里怎么用而不是看按钮本身。停止按钮物理常闭接在PLC输入端X1上不按的时候X1通电为ON按下时断电为OFF。梯形图里用LDI X1常闭指令X1为OFF时导通对应按钮未按下X1为ON时断开对应按钮按下。如果你在梯形图里用了LD X1常开指令那就是反的按下启动按钮后程序瞬间就会以为自己被按了停止根本启动不了。这条规则推而广之电气图里的常闭触点接到PLC输入端后通常对应梯形图里的常闭指令但如果输入端用的是常开接法传感器、安全继电器等就要反过来看信号有效时是ON还是OFF一切以有效状态为准。4.2 双线圈问题电气图里同一个接触器线圈在多个回路中出现是很正常的触点之间互相纠缠最后汇到一个线圈上。梯形图不一样同一个输出线圈在程序里只能OUT一次。三菱GX Works2写同一个Y地址两次软件编译时会报警但有些编程软件是允许你写两次的以最后一次OUT为准前面的输出全部无效。这种“最后一个OUT有效”的规则非常害人因为编译不报错程序下载后表现出来就是这个输出时有时无按一个按钮它动了再按另一个按钮它又灭了。排查起来极其折磨。解决办法是遇到需要多处输出同一线圈的情况先把所有驱动条件在程序里做好判断最后用一个OUT指令统一输出。做法是定义两个辅助继电器M1和M2M1的线圈由第一组条件驱动M2的线圈由第二组条件驱动最后写Y0 M1 OR M2相当于程序里做了一个逻辑或运算。这样既保证同一个Y地址只OUT一次又实现了多条件控制同一输出。4.3 互锁不能只做软的电气图里KM2和KM3之间用机械互锁电气上用的是互锁触点。转换到PLC后很多人把互锁用程序实现就满足了把接触器本身的电气互锁触点在主回路里省略了——这是极其危险的。PLC程序里的互锁只对输出信号有效如果某个接触器因为机械卡死导致主触点熔焊没有及时释放另一端即使程序已经断开输出接触器依然保持吸合电气回路依然导通短路照样发生。正确的做法是软件互锁照写作为正常切换逻辑的一部分同时电气主回路里KM2和KM3的辅助常闭触点串联在对方的线圈供电回路中做成硬互锁。即便PLC程序混乱或者跑飞硬回路也能把两个接触器锁在二选一状态。安全上该用双保险的地方绝对不要省尤其是电机控制这类直接带大电流的设备。4.4 时间继电器的类型选择电气图里的时间继电器分为通电延时型和断电延时型两者在图纸上有不同的图形符号。通电延时型是线圈得电后开始计时时间到触点动作断电延时型是线圈得电触点立即动作线圈失电后开始延时复位。转换时如果用错类型设备动作就会完全错乱。以星三角为例原图用的是通电延时型线圈和KM1同步得电延时到后常闭触点断开星形、常开触点接通三角形。PLC里的定时器T0默认都是通电延时型正好对应。但如果原图里是断电延时型时间继电器用来做“停止后电机继续吹风30秒”这类逻辑转换成PLC梯形图时就不能直接用普通定时器需要写一个自锁逻辑检测到停止信号后置位一个辅助继电器用它的常开触点驱动定时器定时时间到再复位辅助继电器。手动把“断电延时”翻译成“得电保持再启动定时器”的等效逻辑。4.5 急停回路的处理原则急停按钮和停止按钮的最大区别是它必须瞬间切断所有危险动作。PLC程序处理急停至少存在两个问题第一是扫描周期滞后程序从读到急停信号到输出动作要经过一到两个扫描周期在高速运转的设备上这几十毫秒可能就是事故和安全的差别第二是PLC本身可能故障程序可能正在死循环。所以急停回路在改造中坚决不进PLC直接硬接线切断接触器控制电源或者直接接在接触器线圈的供电回路中。这也是IEC标准的推荐做法。转换时在图纸上把急停回路单独标注出来作为“不参与梯形图转换的保留硬接线回路”如果你转换的图纸里有急停或者安全门开关直接保留原硬接线无非PLC控制这是原则不是建议。5. 改完之后的验证与常见问题速查程序写完了看似万事大吉其实真正的工作量在验证阶段。电气图和梯形图的逻辑一致性需要逐条核对最常见的做法是把电气图里的动作条件和梯形图里的每个网络块对照检查。我做了一个简单的验证表格每一行对应一个接触器或继电器线圈列出动作条件、保持条件和复位条件然后逐个在梯形图里找对应的网络块画勾。全部对应完成才能上电试机。调试阶段如果碰到逻辑不对不要马上打开程序瞎改先按症状定位。以下是我这几年的高频问题速查表基本覆盖了大多数转换故障故障现象可能原因处理方法按下启动按钮无任何反应常开/常闭指令写反检查X0和X1的LD/LDI指令是否与按钮接法匹配输出继电器有动作但设备不运行主回路接触器或线路故障检查Y点是否有输出、接触器线圈供电是否正常启动后自锁不保持松手就停自锁触点或并联逻辑丢失检查线圈驱动网络里是否并联了输出对应的常开触点切换瞬间接触器抖动软件互锁缺失或切换顺序不对检查切换延时、互锁触点是否串联完整定时器时间到了不切换定时器类型用错或其触点未正确关联检查T0触点常开常闭确认用的是通电延时一启动就跳闸或烧保险硬互锁缺失或相序错误断电检查KM2/KM3电气互锁回路和主回路相序偶尔正常偶尔失灵触点接触不良或程序双线圈检查输入接线端子紧固排查程序是否有重复OUT还有一个排查高级技巧用PLC的在线监视功能配合强制表。三菱GX Works2和西门子博途都有强制输入输出功能调试密码没有保护的情况下可以在调试阶段强制X0为ON看输出跟随是否正确。强制功能用完必须取消最怕的是调试完忘了取消强制结果交付给生产后设备按照强制点位一直运行弄不清是程序问题还是强制的点位没解。我吃过这个亏后来每次调试结束都会在软件里搜一遍“强制点位”确认清零才交付。关于仿真验证再补一句GX Works2自带梯形图仿真器不需要连接PLC就能跑逻辑。我通常的做法是把转换完的梯形图仿真跑一遍把按钮的ON/OFF状态当作输入脉冲记录每一个输出的变化时刻和电气图上的时序要求比对。星三角这类有切换过程的程序重点看切换时间点早了晚了都能在仿真曲线上看出来。改造项目的交付不止是一个能跑的程序维护人员接手的应该是“电气图IO表梯形图注释元器件清单”四件套。电气图是硬件依据IO表是线怎么接的依据梯形图注释是以后改逻辑的依据元器件清单是备件采购的依据。少一样未来都是要加班补的。6. 最后分享一次改造中的替换思路去年接手一台旧液压机的改造原图纸是七八十年代的设计风格控制柜里密密麻麻的中间继电器光时间继电器就装了四个整个柜子温度比环境温度高十几度。控制逻辑本身不复杂就是液压缸的“快进-工进-保压-快退”四步循环原图用四五个中间继电器搭了一个步进链外加两个通电延时继电器控制快进转工进和保压时间。这种图纸用状态分析法最合适。我没有按照原图的中间继电器挨个翻译而是把四步动作用四个状态位M10到M13表示动作切换条件从原图里提取行程开关S1到位触发快进转工进压力达到YJ整定值触发工进转保压时间继电器延时到触发保压转快退退回原位S0触发复位。程序量从原图翻译的六十多行压缩到不到二十行而且每行逻辑一眼就能看懂对应工艺的哪一步。调试的时候遇到一个问题快进转工进瞬间液压缸有轻微的冲击。分析发现原图用的是两个中间继电器延时切换转换后我直接用一个定时器切换时间点上略有差异。解决办法是在切换逻辑里加了一个0.3秒的过渡延时让方向阀先复位再接通工进。这类细节不实际试机根本发现不了也正因如此电气图转梯形图这件事图纸只是起点现场调试才是决定成败的关键。接这种改造项目多了我越来越觉得真正值钱的不是会写梯形图指令而是能读懂设备工艺。电气图纸是工艺的载体转换到PLC之后程序还是要服务工艺。如果你是从零开始学PLC拿一张自己喜欢的电气图反复练习转换是最快的成长路径——等到能看着任意一张继电器控制图在三五分钟内搭出逻辑等价、结构干净的梯形图你就真正跨过PLC编程那道坎了。