博图快捷键
(* XXXXXX *)注释掉你所选择的区域
Ctrl+Shift+Y 注释掉你所选择的区域
Ctrl+Shift+U 取消注释所选择的区域
Ctrl+Shift+W 自动格式化所选择的区域
Ctrl+Shift+E cpu切换到run
Ctrl+Shift+Q cpu切换到stop
Ctrl+B 编译
Ctrl+R 插入梯形图程序块
Ctrl+T 转至在线
Ctrl+F2 修改为1
Ctrl+F3 修改为0
F1 查找模块对应资料
PLC编程
零点
存储位置
报文 3(PLC 工艺对象):零点存在 PLC 侧的工艺对象数据块(DB) 里,驱动器只负责跑位置环
报文 111(EPOS/FB284):零点存在伺服驱动器参数 P2599,同时映射到 PLC 过程数据区(PZD)
零点设置
桁架零点设置应该设置在一个相对安全的位置
双线圈
避免写双线圈 会导致plc停机,伺服零点丢失,保持性存储数据丢失
流程点位
存储位置
中小型 PLC(如 S7-1200/1500、三菱 FX5U) 均以闪存(Flash) 为保持性数据主存储,无需外接电池,掉电后数据永久保存;
老式 / 大型 PLC(S7-300/400、三菱 Q 系列)依赖RAM + 锂电池,需注意电池状态,避免没电丢数据。
流程位置设置
流程位置,当有一个数据块专门存储点位数据,和伺服控制数据隔离
点位示教
伺服位置当有单个点位示教和四个点位同时示教功能,还需支持直接写入位置调整伺服点位
扫描周期
PLC 的核心扫描方式是循环扫描(也叫周期扫描),这是所有 PLC 的基础执行逻辑,也是你之前遇到 “变量赋值覆盖” 的根本原因,同时还有中断扫描作为补充,应对紧急 / 高速任务。
核心:PLC循环扫描(主扫描方式)
PLC 上电后,会无休无止、从上到下、从左到右重复执行 “三大阶段”,这个完整的执行过程叫一个扫描周期,也是 PLC 最基础的工作模式,所有常规程序(如 OB1 主程序)都在这个循环里执行。
三大阶段(按执行顺序,缺一不可)
输入采样阶段(输入刷新)
PLC 会一次性读取所有输入端子(如传感器、按钮、接近开关)的实际状态(0/1),并把这些值存入输入映像区(一个专门的内存区域),这个阶段结束后,即使输入端子状态变化,输入映像区的值也不会变,要等下一个扫描周期才会刷新。
✅ 通俗说:PLC 先 “拍一张” 所有输入信号的 “照片” 存起来,后续程序执行只看这张 “照片”,不看现场实时变化。
程序执行阶段(核心)
PLC 从主程序入口(如西门子 OB1、三菱主程序)开始,逐行、逐块、从上到下、从左到右执行用户编写的所有程序(包括 FC/FB 子程序、连锁逻辑、赋值指令等)。
执行过程中:
读取输入映像区(而非现场输入)、输出映像区、内部寄存器 / 数据块的数值;
运算后将结果写入输出映像区(而非直接输出到端子);
同一变量
多次赋值时,按执行顺序覆盖
(就是你之前遇到的情况,先赋 0 再赋新值,最终取最后一个)。
✅ 通俗说:PLC 照着 “输入照片” 执行程序,运算结果先存到 “输出草稿区”,不直接发给现场设备。
输出刷新阶段(输出执行)
程序执行完毕后,PLC 会一次性把输出映像区的所有运算结果,写入输出端子(如继电器、电磁阀、指示灯),驱动现场设备动作。
这个阶段结束后,输出端子的状态才会真正变化,下一个扫描周期前,输出端子状态保持不变。
✅ 通俗说:PLC 把 “输出草稿区” 的结果一次性 “盖章生效”,发给现场设备。
循环扫描的核心特点
- 顺序性:严格按 “输入采样→程序执行→输出刷新” 执行,程序内严格从上到下;
- 周期性:重复执行三大阶段,扫描周期完成后立刻开始下一个;
- 映像区隔离:输入 / 输出与现场之间通过 “映像区” 隔离,避免程序执行中现场信号突变导致逻辑混乱。
扫描周期应用
可以利用扫描周期特点进行值覆盖
扫描周期过长:
检查有没有写大数据的循环,循环套循环
检查有没有写双线圈
可以在属性-循环中修改plc的扫描时间
可以使用OB80数据块,可以解决一次的plc扫描周期过长导致的plc stop
可以使用基本指令-程序控制指令-RE_TRIGR:重置周期监视时间
编程优化
使用FB数据块的#I
优点
程序清晰
调用方便
出现数据长度不一致,看代码中的#I 使用是否正确
使用流程步
优点:
验证效率高
结构清晰
缺点:
测试程序复位比较麻烦
流程步设置成0会影响其他流程
设置程序号
通过程序号可以控制plc的程序分步执行
自定义程序块
西门子plc中input 和output还有inout有什么功能怎么使用?
Input:只读,PLC读取外部信号。
Output:只写,PLC向外部设备发送控制信号。
InOut:读写,既可以传入数据,也可以输出数据,适用于需要传递并修改数据的函数块或程序模块。
触摸屏
1.报警页面
2.与其他平台,plc或者上位机的交互数据,如果调试中需要,尽量表现到plc上,通过plc直接进行调试
3.文本图形列表数据,尽量和plc伺服控制模块中的伺服点位数组对应