西门子S7-1200 PLC中的OB、FB、SFB和FC区别及用法
西门子S7-1200 PLC是一款功能强大的可编程逻辑控制器,广泛应用于工业自动化领域。在S7-1200PLC编程中,OB(组织块)、FB(功能块)和FC(功能)是三种重要的程序块类型,它们在PLC程序中发挥着不同的作用。本文将详细介绍这四种程序块的区别及用法。
一、OB(组织块)
OB是OrganizationBlock的缩写,中文名为组织块。组织块是CPU系统和用户程序之间的接口,负责PLC程序的执行和组织。S7-1200PLC支持多种类型的组织块,如启动组织块OB1、循环组织块OB100等。组织块在PLC程序执行过程中起着至关重要的作用,例如在上电启动时调用OB1,循环执行主程序时调用OB100等。
二、FB(功能块)
FB是FunctionBlock的缩写,中文名为功能块。功能块是一种封装了特定功能的程序块,它可以像函数一样被调用。与FC不同的是,FB具有背景数据块(DB),可以存储块参数值的数据存储器。这意味着FB可以保存其执行过程中的状态和数据,从而实现更复杂的功能。FB适用于需要多次调用且需要保存中间状态的场景,如控制算法、运动控制等。
三、SFB(系统功能块)
SFB(System Function Block)是集成在S7CPU中的功能块,用户可以在程序中直接调用这些已经预先编写和测试过的功能块,而无需自己编写相应的程序。
SFB的种类和功能会根据不同的CPU型号有所不同。一些常见的SFB包括用于通信的SFB、用于处理日期中断的SFB、以及具有特定功能的SFB,例如SFB29“HS_COUNT”等。在STEP7中,可以通过查看CPU的技术手册或在线帮助资料来了解该CPU所支持的SFB的详细信息。
使用SFB的基本步骤如下:
在STEP 7的编程环境中,打开需要调用SFB的用户程序。
在程序编辑器中,选择需要插入SFB的位置。
在指令树或工具栏中找到相应的SFB,并将其拖放到程序编辑器中。
为SFB分配必要的输入和输出参数。这些参数可以通过在SFB的属性窗口中设置或通过直接在程序中赋值来定义。
根据需要配置SFB的其他属性,例如执行条件、触发方式等。
保存并编译用户程序,检查是否有错误或警告信息。
下载程序到PLC中进行测试和运行。
需要注意的是,SFB是预先编写好的功能块,在使用时仍然需要根据具体的控制要求和系统配置进行合理的调用和参数设置。对于某些特殊的SFB,可能还需要进行额外的配置或编程才能实现所需的功能。
四、FC(功能)
FC是Function的缩写,中文名为功能。功能是一种不含存储区的代码块,常用于对一组输入值执行特定运算。
以下是一些常见的OB及其使用方式:
OB1:这是主循环组织块,是PLC程序执行的入口。PLC在每个扫描周期都会执行OB1中的程序。用户可以在OB1中编写自己的程序逻辑,实现各种控制功能。
OB10:这是一个周期性组织块,用于周期性地执行程序中的任务。用户可以设置OB10的执行周期,并在其中编写需要周期执行的代码。例如,可以用于定时采样、定时输出等。
OB35:这是一个定时中断组织块,用于在指定的时间间隔内执行程序。与OB10不同的是,OB35的执行周期是固定的,无法更改。用户可以在OB35中编写需要定时执行的代码,例如定时更新数据、定时检查设备等。
OB80~OB87:这些是异步故障中断组织块,用于处理各种故障事件。例如,OB80用于处理时间故障,OB85用于处理程序循环监控时间超时等。当相应的故障事件发生时,PLC会自动调用相应的OB进行处理。
OB100~OB102:这些是启动中断组织块,用于处理CPU启动事件。