打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
什么是STEP7程序模块的调用?PLC工程师基础知识!干货收藏了!

STEP7程序模块的调用

一 组织块OB的种类和调用方法

1、种类及优先级别

共有几十种组织块,分为主程序、中断、冗余错误、异步故障处理、同步故障处理、背景循环、启动方式处理等7大类。每种组织块具有不同的功能,用编号区别。有1~29个优先级别,1为最低级,29为最高级。当程序在执行较低级别组织块时,如果遇到特殊情况要执行较高级别组织块时,就会中断低级别组织块程序,转去执行高级别组织块。

组织块OB的种类及优先级别:

未列出编号的组织块是系统保留!

2、常用组织块的调用方法

a 主程序循环组织块OB1

由CPU的操作系统调用循环执行。用于编写循环执行的控制程序. STEP7的程序自动包含了OB1,用户可以双击打开OB1进行编程。OB1有一个变量声明表,用户可以查询得到OB1运行的相关信息。这个变量声明表在打开OB1组织块编程时能看到,其信息存储在L区(临时缓冲存储区)。用户还可以添加定义OB1的变量。

OB1的变量声明表:

b 暖启动组织块OB100

OB100~102是启动处理组织块,CPU启动时由操作系统调用执行一次,通常用于程序的初始化。这三个块内是空白的,要想执行程序的初始化,需要用户在这些块中添加指令。所有类型的CPU都支持暖启动组织块OB100,所以通常针对此块进行编程。

在STEP的SIMATIC Manager窗口下,在块中插入S7块→组织块→OB100,然后双击OB100打开进行编程OB100也有一个变量声明表,用户可以查看相关信息。调用方法与OB1相同。

c 时间中断组织块OB10

OB10~17是时间中断组织块,可由用户设定在特定日期、时间执行一次中断,或者从特定日期、时间开始周期性重复执行一次中断。如:整点报时。执行中断的程序由用户编写。

所有的机型都支持调用组织块OB10。个别机型还可以支持调用其它时间中断组织块。

先在硬件组态窗口中,选择CPU属性的日时间中断对话框激活OB10,设置中断运行开始日期、时间和执行周期。然后在管理器窗口中添加组织块OB100,双击OB100打开编写程序。

双击OB10

还可以在OB1块中调用SFC28来设置时间中断参数,调用SFC30激活时间中断,调用SFC29取消时间中断。调用SFC31查询时间中断情况。时间中断的时间设置必须设置成一个有效的时间,否则系统会产生一个错误信息,并执行异步错误处理中断OB80。例如:设置每月31日执行中断一次。

d 时间延迟中断组织块OB20

OB20~OB23是时间延迟中断组织块,所有机型都可以调用OB20。CPU处于运行状态才能执行它。可以使用OB20来充当高精度的通电延时定时器。OB20是通过调用SFC32来启动,延时时间、OB编号在SFC32中设置。先在OB1中编写调用SFC32的指令,然后再添加OB20块,最后打开OB20块编写延时后的执行指令。

可调用SFC33查询延时中断状态,调用SFC33取消延时中断,调用SFC39禁止,调用SFC40激活。

双击SFC32

一 组织块OB的种类和调用方法

1、种类及优先级别

共有几十种组织块,分为主程序、中断、冗余错误、异步故障处理、同步故障处理、背景循环、启动方式处理等7大类。每种组织块具有不同的功能,用编号区别。有1~29个优先级别,1为最低级,29为最高级。当程序在执行较低级别组织块时,如果遇到特殊情况要执行较高级别组织块时,就会中断低级别组织块程序,转去执行高级别组织块。

组织块OB的种类及优先级别:

未列出编号的组织块是系统保留!

2、常用组织块的调用方法

a 主程序循环组织块OB1

由CPU的操作系统调用循环执行。用于编写循环执行的控制程序。

STEP7的程序自动包含了OB1,用户可以双击打开OB1进行编程。

OB1有一个变量声明表,用户可以查询得到OB1运行的相关信息。这个变量声明表在打开OB1组织块编程时能看到,其信息存储在L区(临时缓冲存储区)。用户还可以添加定义OB1的变量。

OB1的变量声明表:

b 暖启动组织块OB100

OB100~102是启动处理组织块,CPU启动时由操作系统调用执行一次,通常用于程序的初始化。这三个块内是空白的,要想执行程序的初始化,需要用户在这些块中添加指令。所有类型的CPU都支持暖启动组织块OB100,所以通常针对此块进行编程。

在STEP的SIMATIC Manager窗口下,在块中插入S7块→组织块→OB100,然后双击OB100打开进行编程

OB100也有一个变量声明表,用户可以查看相关信息。调用方法与OB1相同。

c 时间中断组织块OB10

OB10~17是时间中断组织块,可由用户设定在特定日期、时间执行一次中断,或者从特定日期、时间开始周期性重复执行一次中断。如:整点报时。执行中断的程序由用户编写。

所有的机型都支持调用组织块OB10。个别机型还可以支持调用其它时间中断组织块。

先在硬件组态窗口中,选择CPU属性的日时间中断对话框激活OB10,设置中断运行开始日期、时间和执行周期。然后在管理器窗口中添加组织块OB100,双击OB100打开编写程序。

双击OB10:

还可以在OB1块中调用SFC28来设置时间中断参数,调用SFC30激活时间中断,调用SFC29取消时间中断。调用SFC31查询时间中断情况。时间中断的时间设置必须设置成一个有效的时间,否则系统会产生一个错误信息,并执行异步错误处理中断OB80。例如:设置每月31日执行中断一次。

d 时间延迟中断组织块OB20

OB20~OB23是时间延迟中断组织块,所有机型都可以调用OB20。CPU处于运行状态才能执行它。可以使用OB20来充当高精度的通电延时定时器。OB20是通过调用SFC32来启动,延时时间、OB编号在SFC32中设置。先在OB1中编写调用SFC32的指令,然后再添加OB20块,最后打开OB20块编写延时后的执行指令。

可调用SFC33查询延时中断状态,调用SFC33取消延时中断,调用SFC39禁止,调用SFC40激活。

击SFC32:

二 功能FC和功能块FBC的用途及调用方法

1、用途

用户可以把程序中相同的控制过程、数据处理、信息传递的指令编写在指定的FC或FB中,然后在OB1或其它程序块调用它,调用时提供相关的参数和变量,来完成不同的任务。

结构化编程通常采用这种方式,这样有利于提高程序的阅读分析、维护和运行效率。

2、FC和FB的变量声明表

FC、FB与功能块一样,有输入、输出、返回值等变量。用于接收输入的参数、使能输入信号,经处理后输出运算结果、使能输出信号、逻辑返回值。

用户打开FC或FB编程时,要设定需要使用的变量的名称、数据类型。为了便于程序的阅读分析,尽可能地加上说明注释。

FC和FB的变量声明表 :

3、FC的调用方法

建立一个FC用于LED的闪烁频率可调的控制,闪烁频率值以参数的形式输入。添加一个功能FC1,取名为LED_Flash。打开FC1,设定输入输出变量(形参)的名称、数据类型。编写LED闪烁的控制指令。打开OB1,编写赋不同实参的调用FC1指令。

3、FB的调用方法

建立一个FB用于两个整数的大小比较。把比较结果保存到指定存储区域。添加一个功能FB1,取名为CMP_Enable。打开FB1,设定输入输出变量(形参)的名称、数据类型。编写整数比较指令。打开OB1,编写指定实参的调用FB1指令。调用FB1时为它指定一个背景数据块DB30。所有参与运算的数据都保存该数据块中。

三 系统功能FC

四 系统功能块SFB

五 共享数据块DB和背景数据块DB的调用方法

1、共享数据块DB的调用

在SIMATIC Manager窗口下,“插入S7块→数据块”生成一个新的数据块。在对话框中选择数据块的类型为共享,指定数据块的编号“FBXX”、符号、注释。生成后的DB可以由任何程序块调用。共享DB有两种显示方式:声明表显示方式和数据显示方式,声明表显示方式用于定义或修改展示块内变量的名称、类型和初值。数据显示方式用于显示块内的全部信息。

2、背景数据块DB的调用

先生成一个FB后。再生成一个由指定FB专用的数据块DI。

双击OB10:

用户还可以在OB1块中调用SFC28来设置时间中断参数,调用SFC30激活时间中断,调用SFC29取消时间中断。调用SFC31查询时间中断情况。

时间中断的时间设置必须设置成一个有效的时间,否则系统会产生一个错误信息,并执行异步错误处理中断OB80。例如:设置每月31日执行中断一次。

d时间延迟中断组织块OB20

OB20~OB23是时间延迟中断组织块,所有机型都可以调用OB20。CPU处于运行状态才能执行它。可以使用OB20来充当高精度的通电延时定时器。

OB20是通过调用SFC32来启动,延时时间、OB编号在SFC32中设置。

先在OB1中编写调用SFC32的指令,然后再添加OB20块,最后打开OB20块编写延时后的执行指令。

可调用SFC33查询延时中断状态,调用SFC33取消延时中断,调用SFC39禁止,调用SFC40激活。

双击SFC32:

其它有关组织块的使用方法请查阅相关手册

二 功能FC和功能块FBC的用途及调用方法

1、用途

用户可以把程序中相同的控制过程、数据处理、信息传递的指令编写在指定的FC或FB中,然后在OB1或其它程序块调用它,调用时提供相关的参数和变量,来完成不同的任务。

结构化编程通常采用这种方式,这样有利于提高程序的阅读分析、维护和运行效率。

2、FC和FB的变量声明表

FC、FB与功能块一样,有输入、输出、返回值等变量。用于接收输入的参数、使能输入信号,经处理后输出运算结果、使能输出信号、逻辑返回值。

用户打开FC或FB编程时,要设定需要使用的变量的名称、数据类型。为了便于程序的阅读分析,尽可能地加上说明注释。

FC和FB的变量声明表 :

3、FC的调用方法

建立一个FC用于LED的闪烁频率可调的控制,闪烁频率值以参数的形式输入。

添加一个功能FC1,取名为LED_Flash。

打开FC1,设定输入输出变量(形参)的名称、数据类型。编写LED闪烁的控制指令。

打开OB1,编写赋不同实参的调用FC1指令。

3、FB的调用方法

建立一个FB用于两个整数的大小比较。把比较结果保存到指定存储区域。

添加一个功能FB1,取名为CMP_Enable。

打开FB1,设定输入输出变量(形参)的名称、数据类型。编写整数比较指令。

打开OB1,编写指定实参的调用FB1指令。

调用FB1时为它指定一个背景数据块DB30。所有参与运算的数据都保存该数据块中。

三 系统功能FC

四 系统功能块SFB

五 共享数据块DB和背景数据块DB的调用方法

1、共享数据块DB的调用

在SIMATIC Manager窗口下,“插入S7块→数据块”生成一个新的数据块。

在对话框中选择数据块的类型为共享,指定数据块的编号“FBXX”、符号、注释。生成后的DB可以由任何程序块调用。

共享DB有两种显示方式:声明表显示方式和数据显示方式,声明表显示方式用于定义或修改展示块内变量的名称、类型和初值。数据显示方式用于显示块内的全部信息。

2、背景数据块DB的调用

先生成一个FB后。

再生成一个由指定FB专用的数据块DI。

觉得有用就收藏、关注吧~

享受更多最新实用PLC干货知识!

(溪谷公众号发布)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
STEP7 程序块的类型及区别(总结转)_天外小屋
SCL与STL的区别是什么?16个SCL常见问题及解答
西门子编程里面的各种块(Block)宝宝-OB/FB/FC/DB/SFC科普
周报38期 | SMART PLC Modbus通讯、组态、模拟量等常见问题~
西门子PLC程序结构的基本原理
PLC初学者不知道什么是FC、FB、OB、DB块,一定要明白
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服