当前位置:文档之家› STEP7程序模块的调用方法

STEP7程序模块的调用方法

26
? 组织块OB的种类及优先级别
类型 背景循环 启动
同步错误
OB90 OB100 OB101 OB102 OB121 OB122
名称
暖启动 热启动 冷启动 编程错误 访问错误
未列出编号的组织块是系统保留!
优先级别 29
27
引起错误的 OB的优先级
2、常用组织块的调用方法 主程序循环组织块OB1 暖启动组织块OB100 时间中断组织块OB10 时间延迟中断组织块OB20
类型 冗余错误
异步故障
名称 OB70 I/O( 只适用于 H系统) OB72 CPU( 口适用于 H系统)
OB80 时间错误 OB81 电源故障 OB82 I/O模块诊断中断 OB83 插入/移走模板中断 OB84 CPU硬件故障 OB85 程序循环错误 OB86 机架故障 OB87 通讯错误
优先级别 25 28
OB1_DATE_TIME Date L12.0 OB1启动运行的日期和时间
? 暖启动组织块OB100 ? OB100~102是启动处理组织块,CPU启动时由操作系统调用执行一次,通常用
于程序的初始化。这三个块内是空白的,要想执行程序的初始化,需要用户在这 些块中添加指令。所有类型的CPU都支持暖启动组织块OB100,所以通常针对 此块进行编程。
结构化编程通常采用这种方式,这样有利于提高程序的阅读分析、维护和运行效 率。
2、FC和FB的变量声明表 FC、FB与功能块一样,有输入、输出、返回值等变量。用于接收输入的参数、使
能输入信号,经处理后输出运算结果、使能输出信号、逻辑返回值。
用户打开FC或FB编程时,要设定需要使用的变量的名称、数据类型。为了便于程 序的阅读分析,尽可能地加上说明注释。
? 时间延迟中断组织块OB20 ? OB20~OB23是时间延迟中断组织块,所有机型都可以调用OB20。CPU处于运
行状态才能执行它。可以使用OB20来充当高精度的通电延时定时器。 ? OB20是通过调用SFC32来启动,延时时间、OB编号在SFC32中设置。 ? 先在OB1中编写调用SFC32的指令,然后再添加OB20块,最后打开OB20块编写
SIMATIC S7的程序模块的调用
? 组织块OB的种类和调用方法 ? 功能FC和功能块FBC的用途及调用方法 ? 系统功能FC ? 系统功能块SFB ? 共享数据块DB和背景数据块DB的调用方法
一、组织块OB的种类和调用方法 1、种类及优先级别 ? 共有几十种组织块,分为主程序、中断、冗余错误、异步故障处理、同步故障
OB1_RESERVED_1 Byte L4.0 保留
OB1_RESERVED_2 Byte L5.0 保留
OB1_PREV_CYCLE INT L6.0 OB1的上一次循环时间(毫秒)
OB1_MIN_CYCLE INT L8.0 OB1的最小循环时间(毫秒)
OB1_MAX_CYCLE INT L10.0 OB1的最大循环时间(毫秒)
? 在STEP的SIMATIC Manager窗口下,在块中插入S7块→组织块→OB100,然 后双击OB100打开进行编程
? OB100也有一个变量声明表,用户可以查看相关信息。调用方法与OB1相同。
? 时间中断组织块OB10 ? OB10~17是时间中断组织块,可由用户设定在特定日期、时间执行一次中断,
处理、背景循环、启动方式处理等7大类。每种组织块具有不同的功能,用编 号区别。 ? 有1~29个优先级别,1为最低级,29为最高级。当程序在执行较低级别组织块
时,如果遇到特殊情况要执行较高级别组织块时,就会中断低级别组织块程序, 转去执行高级别组织块。
? 组织块OB的种类及优先级别
类型 主程序
中断
其它有关组织块的使用方法请查阅相关手册
? 主程序循环组织块OB1 ? 由CPU的操作系统调用循环执行。用于编写循环执行的控制程序。 ? STEP7的程序自动包含了OB1,用户可以双击打开OB1进行编程。 ? OB1有一个变量声明表,用户可以查询得到OB1运行的相关信息。这个变量声明
表在打开OB1组织块编程时能看到,其信息存储在L区(临时缓冲存储区)。用户 还可以添加定义OB1的变量。
双击
双击
? 用户还可以在OB1块中调用SFC28来设置时间中断参数,调用SFC30激活时间 中断,调用SFC29取消时间中断。调用SFC31查询时间中断情况。
? 时间中断的时间设置必须设置成一个有效的时间,否则系统会产生一个错误信 息,并执行异步错误处理中断OB80。例如:设置每月31日执行中断一次。
或者从特定日期、时间开始周期性重复执行一次中断。如:整点报时。执行中断 的程序由用户编写。 ? 所有的机型都支持调用组织块OB10。个别机型还可以支持调用其它时间中断组 织块。 ? 先在硬件组态窗口中,选择CPU属性的日时间中断对话框激活OB10,设置中断 运行开始日期、时间和执行周期。然后在管理器窗口中添加组织块OB100,双 击OB100打开编写程序。
延时后的执行指令。 ? 可调用SFC33查询延时中断状态,调用SFC33取消延时中断,调用SFC39禁止,
调用SFC40激活。
双击
按F1键查看 帮助信息
二、功能FC和功能块FB的用途及调用方法 1、用途
用户可以把程序中相同的控制过程、数据处理、信息传递的指令编写在指定的FC 或FB中,然后在OB1或其它程序块调用它,调用时提供相关的参数和变量,来完成 不同的任务。
OB1的变量声明表
名称
Hale Waihona Puke 类型 地址说明OB1_EV_CLASS
Byte L0.0 0~3位=1(未来事件) 4~7位=1(事件等级)
OB1_SCAN_1
Byte L1.0 =1(冷启动检测),=3(OB1次数检测)
OB1_PRIORITY Byte L2.0 OB1的执行优先等级=1
OB1_OB_NUMBR Byte L3.0 OB1的编号=1
OB1 OB10 ~OB17 OB20 ~OB23 OB30 ~OB38 OB40 ~OB47 OB55 ~OB57 OB60 OB61 ~OB64
名称
时间中断 时间延迟中断 循环中断 硬件中断 DPV1 中断 多处理器中断 时钟中断
优先级别 1 2
3~6 7~15 16~23
2 25 25
? 组织块OB的种类及优先级别
相关主题