ARTICLE · 1203807
PLC程序编程万能模板,学会编程轻轻松松!
发布时间:2026-10-18 08:52:50 最近访问:2026-10-18 08:52:52
PLC程序编程万能模板,学会编程轻轻松松!
小程序现已上线,欢迎大家体验试用!需要源码的朋友可以私信我,觉得有用,也欢迎转发分享给有需要的工友。💡很多刚学 PLC 的朋友都会有一个痛点:拿到设备工艺要求,不知道从哪里下手写程序,东写一段、西加一段,写着写着逻辑乱了、互锁漏了,调试的时候到处找 bug,改到崩溃。做非标多年的老工控都懂:PLC 编程拼的不是指令有多花哨,而是一套稳定、通用、可复用的程序框架。不管是输送线、上料机、装配工装、包装设备,大部分中小型设备,都可以套用这套万能模板,模块化写程序,思路清晰、改起来省事、后期维护也省心。今天把这套工控圈一直在用的标准化 PLC 程序万能框架分享给大家,新手直接套用,老手拿来优化程序,看完就能上手!说明:模板以西门子 S7-1200/1500 博途思路为主,三菱、台达等其他品牌 PLC 可以直接平移这套结构,逻辑思路通用。
✅整套程序一共 7 大模块,顺序不要乱
推荐扫描顺序:IO 映射 → 初始化 → 报警故障处理 → 安全联锁 → 手动控制 → 自动步序流程 → 输出驱动
重点提醒:报警、安全联锁放在最前面,安全逻辑优先级最高,不管手动还是自动,安全保护永远生效
模块 1:IO 映射(变量隔离,强烈建议必做)
很多新手喜欢直接用 I、Q 地址写程序,后期改接线、换 PLC 型号,整个程序到处都要改,非常麻烦。✅标准做法:新建全局 DB,把原始输入 I 映射到内部变量,输出 Q 也统一映射,所有控制逻辑只调用 DB 变量,不直接读写 IO 地址。输入映射:传感器、按钮、急停、安全门、气压检测
输出映射:气缸电磁阀、电机、指示灯、报警蜂鸣器好处:接线改动只改映射段,主程序不用动,程序可读性直接拉满。
模块 2:上电初始化(OB100 / 首次扫描)
上电只执行一次,给程序一个确定的初始状态,避免随机变量导致设备乱动作西门子工业...需要做的内容:流程步号清零、运行标志、启动标志复位
定时器、计数器、中间状态位复位
复位所有输出,设备默认安全状态
加载配方默认参数、清零非保持报警
有伺服 / 步进轴:上电判断是否需要回原点
一句话总结:上电之后,设备先回到安全起点,再允许操作。
模块 3:报警 & 故障诊断模块(保命模块)
程序好不好用,一半看流程,一半看报警。报警分为两类:锁定报警、非锁定报警锁定报警:急停、安全门打开、电机过载、气压不足、超时故障 → 触发后,自动流程立刻停止,必须手动复位故障才能重新启动
提示报警:料少、预热等待、预警信号,只弹窗提示,不中断自动流程
报警逻辑通用写法:条件满足置位报警标志,记录报警代码、报警时间;故障消失后,需要复位按钮清除报警。✅必加:动作超时报警!气缸伸出 / 缩回超时、伺服定位超时,防止传感器断线设备卡死。模块 4:全局安全联锁(全模式生效)
不管切手动还是自动,安全联锁全程生效,不能被模式切换屏蔽!联锁清单:急停、安全门、低压气压、过载、伺服故障、防护罩信号只要任意一个安全信号触发:自动运行标志复位、禁止启动自动流程;手动动作也会被锁住,危险输出禁止触发。模块 5:手动控制模块(调试检修用)
模式互锁:手动、自动、回原点模式,同一时间只能选中一个
每个执行机构独立控制:气缸伸出 / 缩回、电机点动、伺服 JOG 点动
手动同样带上限位、原点、安全联锁,不是无限制随便动
切换到手动模式时,自动流程步号复位,自动运行标志清零,防止切模式瞬间误动作
模块 6:自动流程步序控制(模板核心!状态机)
这就是大家常说的万能顺控框架,推荐用步号(状态机)写法,SCL 或者梯形图都能实现,通用性最强思路:用一个寄存器StepNo代表当前工序步骤StepNo=0:待机等待启动
StepNo=1:上料
StepNo=2:夹紧
StepNo=3:加工 / 定位
StepNo=4:下料
StepNo=99:故障停止
当前步号匹配 → 执行本步动作输出
等待本步完成条件(传感器到位、定位完成、计时到)
条件满足,步号 + 1,进入下一步
任意时刻报警 / 急停触发 → 步号直接跳转到故障状态,停止流程
✅优势:新增工序、删减动作,只需要增加步号,不用大面积改动原有逻辑,不会牵一发而动全身。对比传统自锁梯形图,状态机写法调试、查问题非常方便,看步号就知道设备卡在哪一步。模块 7:输出驱动层(统一输出,禁止多处驱动同一个输出)
很多新手踩大坑:同一个电磁阀,手动一段驱动、自动一段驱动,双线圈冲突,时好时坏!✅规范做法:所有逻辑只给到 “请求输出标志位”,最后统一在输出段,根据标志位统一驱动 Q 点。一处汇总驱动,方便加延时、指示灯同步,杜绝双线圈问题。案例说明
具体看下图,例子只为给大家展示,并不与实际工业状况相符;传送带上产品好坏的检测,并进行简单的分类;产品从左侧流入,有料感应器1亮后,传送带停止,相机拍照,拍完传送带继续转动,有料感应器2亮,传送带停止,推料气缸:产品OK则不推,产品NG则推入不良品盒子。
📝通用程序执行流程图(可以直接给客户做方案)
上电初始化 → IO 信号采集映射 → 扫描报警 + 安全联锁判断→ 判断模式(手动 / 自动 / 回零)→ 手动:单点点动控制→ 自动:状态机步序流转执行工艺→ 统一输出驱动 → 循环扫描⚠️新手套用模板,一定要避开这 5 个坑
❌不要把安全联锁放到自动流程里面,切手动就失效
❌不要多处驱动同一个输出,统一汇总输出
❌自动流程里不要写大量自锁,优先状态机步号
❌忘记动作超时报警,传感器断线直接卡死设备
❌上电不初始化,变量随机,偶尔开机乱动作
📌这套模板适合哪些设备?
上料工装、移栽机、输送线、压紧工装、包装机、简易装配机、测试治具、转盘机,绝大多数中小型非标自动化设备都能直接套用。复杂产线只需要在这个框架基础上,增加子程序 FB,把气缸、伺服、输送带封装成通用功能块即可,依然是这套底层结构。
✍️写在最后
PLC 编程的本质,是先搭骨架,再填血肉。指令只是工具,框架才是内功。当你习惯用这套模块化模板写程序之后,拿到新项目,第一件事不是写动作,而是先划分模块、定义变量、搭好这套框架,再往里面填工艺逻辑。同样一台设备,有的人程序一团乱,改一次出一堆 bug;有的人程序分层清晰,调试快、售后改需求省心,差距就在框架上。建议收藏本文,以后写程序直接拿出来对照,慢慢把这套框架变成自己的编程习惯。觉得有用,转发给身边学 PLC 的工友,一起少踩坑!关注本公众号,您的每一次关注,都是我持续更新的动力!这里会持续分享工控布线规范、故障排查实操干货、设备调试技巧,帮大家少走现场弯路,高效解决各类设备疑难故障。