在西门子博途(TIA Portal)软件中,针对 S7-300 PLC 的Main(主组织块,OB1) 是程序的 “入口”,所有用户逻辑的执行都围绕 OB1 展开 —— 它是循环扫描的核心,负责调用子程序(FC)、函数块(FB)、处理输入输出信号,是整个控制程序的 “骨架”。以下从基础概念、编程逻辑、使用技巧三方面详细说明其用法:
一、Main(OB1)的核心定位与循环机制
1. 什么是 OB1?
OB1(Organization Block 1,组织块 1)是 S7-300 PLC 的默认主循环组织块,PLC 上电后会自动启动 OB1,并按照 “扫描周期” 重复执行其内部逻辑,直到 PLC 断电或停止。
2. OB1 与其他块的关系
OB1 是 “主调用者”,其他块(FC/FB/DB)需被 OB1 调用才能执行,结构如下:
plaintext
[PLC上电启动] → 自动执行OB1 → 调用FC1(如电机控制子程序)→ 调用FB1(如PID调节函数块)→ 调用DB1(数据存储块)→ 完成1个扫描周期 → 重复执行
二、OB1 的基础编程步骤(博途操作)
以 “控制 1 台电机启停” 为例,演示 OB1 的基本使用流程:
1. 新建项目与添加 S7-300 PLC
2. 打开 OB1 并编写基础逻辑
OB1 默认存在于项目的 “程序块”→“组织块” 中,双击即可打开编程界面(支持 LAD 梯形图、FBD 功能块图、ST 结构化文本,新手推荐 LAD)。
示例 1:简单电机启停控制(直接在 OB1 写逻辑)
需求:通过外部按钮(I0.0 = 启动,I0.1 = 停止)控制电机输出(Q0.0 = 电机运行),并实现 “启动自锁”。梯形图逻辑编写:
逻辑图如下(文字示意):
plaintext
I0.0(启动) Q0.0(自锁) ┌───┐ ┌───┐ │ │ │ │ └───┘ └───┘ │ │ ├──────────────────┤ │ ├──────────┐ │ │ │ I0.1(停止,常闭) │ ┌───┐ │ │ │ │ └───┘ │ │ └──────────┼────────→ Q0.0(电机输出) │ ▼ (接地)
3. 调用子程序(FC)简化 OB1 逻辑
若 OB1 内逻辑复杂(如多个电机控制、多段...