西门子PLC学习笔记二十一-(中断处理二)

1.循环中断

循环中断组织块用于按一定时间间隔循环执行中断程序,例如周期性地定时执行某一段程序,间隔时间从STOP切换到RUN模式时开始计算。

循环中断组织块OB30~OB38默认的时间间隔和中断优先级如表所示。CPU318只能使用OB32和OB35,其余的S7-300CPU只能使用OB35。S7-400CPU可以使用的循环中断OB的个数与CPU型号有关。

循环中断组织块的时间间隔、优先级、OB号表如下:

示例:在I0.0的上升沿时启动OB35对应的循环中断,在I0.1的上升沿禁止OB35对应的循环中断,在OB35中使用MW2加1。

程序如下图:

1)启用、禁用OB35中断

2)OB35完成自加业务

2.硬件中断组织块

硬件中断组织块(OB40~OB47)用于快速响应信号模块(SM,即输入/输出模块)、通信处理器(CP)和功能模块(FM)的信号变化。具有中断能力的信号模块将中断信号送到CPU时,或者当功能模块产生一个中断信号时,将触发硬件中断。

CPU318只能使用OB40和OB41,其余的S7-300CPU只能使用OB40,S7-400CPU可以使用的硬件中断OB的个数与CPU型号有关。

例:CPU313C-2DP集成的16点数字量输入I124.0~I125.7可以逐点设置中断特性,通过OB40对应的硬件中断,在I124.0的上升沿将CPU集成的数字量输出Q124.0置位,在I124.1的下降沿江Q124.0复位。此外要求在I0.2的上升沿时激活OB40对应的硬件中断,在I0.3的下降沿禁止OB40对应的硬件中断。

程序如下:

1)设置硬件

2)启用、禁用OB40

3)OB40获取中断地址,进行业务操作

程序中的OB40_MDL_ADDR代表硬件中断的字节地址,OB40_POINT_ADDR代表硬件中断的位地址

注:仿真程序模拟硬件中断,如下图所示

点击Apply即可完成地址是124.0的硬件中断。

问:在目前该程序中,仿真软件模拟的硬件中断的字节地址一直是07fff,但是模拟的位地址正确,想问一下本程序中是否有哪块儿编写的不正确,请纠正。

程序代码可以在此下载

时间: 2024-11-02 12:09:59

西门子PLC学习笔记二十一-(中断处理二)的相关文章

西门子PLC学习笔记十五-(数据块及数据访问方式)

一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的. 数据块分共享数据块.背景数据块.用户自定义数据块,下面分别介绍. 1.共享数据块(全局数据块) 其用于存储全局数据,所有逻辑块(OB.FC.FB)都可以访问共享数据块中的数据. 2.背景数据块(私有存储区) 其用做功能块(FB)的"存储器".FB的参数和静态变量安排在它的背景数据块中.

西门子PLC学习笔记二-(工作记录)

今天师傅给讲了讲做自己主动化控制的总体的思路,特进行一下记录,做个备忘. 1.需求分析 本次的项目是对楼宇循环供水的控制,整个项目须要完毕压力.压差.温度等的获取及显示.同一时候完毕电机的控制. 2.设计 使用西门子的Step7工具进行梯形图编程,完毕自己主动化控制. 使用西门子的WinCC5.5进行自己主动化人机界面的设计实现. 3.Step7进行编程的步骤 1)进行硬件组态 因为西门子的设备型号已经选定好,故依据实物的型号,先进行硬件组态,组态结果图例如以下: 注: 1.本图需和现场的实物连

西门子PLC学习笔记十三-(算术运算指令与控制指令)

今天在写一篇PLC的学习笔记,本篇将介绍PLC最基本的运算指令与控制指令,本篇将直接上截图. 1.基本算数运算指令 1)整数运算 2)长整数运算 3)实数运算 . STL编程示例(16位整数的算术运算) L IW10 //将输入字IW10装入累加器1的低字 L MW12 //将累加器1低字中的内容装入到累加器2的低字 //将存储字MW12装入累加器1的低字 +I //将累加器2低字和累加器1低字相加,结果保存到累加器1的低字中 +68 //将累加器1的低字中的内容加上常数68,结果保存到累加器1

西门子PLC学习笔记三(S7-300信号模块)

本篇为阳胜峰老师第二讲视频学习笔记 1.数字量模块 1)数字量输入模块 数字量输入模块将现场过程送来的数字信号电平转换成S7-300内部信号电平. A.数字量输入模块SM321(需要外接24V电源供电) SM321有四种类型的模块:直流16点输入.直流32点输入.交流16点输入.交流8点输入,其中常用的是直流的输入. 附图: B.数字量输出模块SM322(需要外接24V电源供电) 数字量输出模块SM322将S7-300内部信号电平转换成国产所要求的外表信号电平,可直接用于驱动电磁阀.接触器.小型

西门子PLC学习笔记二十一-(中断处理一)

中断处理用来实现对特殊内部事件或外部事件的快速响应.CPU检测到中断请求时,立即响应中断,调用中断源对应的中断程序(OB).执行完中断程序后,返回被中断的程序中. 中断源类型主要有:I/O模块的硬件中断,软件中断,例如日期时间中断.延时中断.循环中断和编程错误引起的中断等. 1.日期时间中断组织块 日期时间中断组织块有OB10~OB17.CPU318只能支持OB10和OB11,其余的S7-300CPU只支持OB10.S7-400支持的日期时间中断OB的个数与CPU的型号有关. 日期时间中断可以在

西门子PLC学习笔记十七-(不带参数FC编程二)

不带参数FC编程示例二,本次是要实现如下功能: 1.当未按下自动按钮时,可以分别手动控制3个灯的亮灭. 2.当按下自动按钮后,则这3个灯依次循环闪烁,每次亮的时间是1s 程序编写如下: FC1:手动控制 FC2:自动控制 程序可以在此下载.

西门子PLC学习笔记二十-(多重背景数据块的使用)

设某发动机组由1台汽油发动机和1台柴油机发动机组成,现要求用PLC控制发动机组,使各台发动机的转速稳定在设定的速度上,并控制散热风扇的起动和延时关闭.每台发动机均设置一个起动按钮和一个停止按钮. 程序设计如下: 1.程序模块 2.符号表 3.风扇控制程序 4.启动机控制 5.启动机组 注:1)在变量声明表内完成FB1类型的局部实例,"gasline_engine"."diesel_engine"的声明. 2)调用FB1局部实例时,不需要设置背景数据块,FB1的实例数

西门子PLC学习笔记十八-(带参数FC编程二)

本篇仍是对带参数的FC编程的练习,本次实现功能: 一共有4台电机,每台电机都要求Y-△降压启动.启动时,按下启动按钮,M1电机启动,然后每隔10s启动一台,最后M1到M4四台电机全部启动.当按下停止按钮时,M4先停止,过10s后M3在停止,再过10s后M2停止,再过10sM1电机停止.同时任一台电机启动时,控制电源的接触器和Y形接法的接触器接通电源6s后,Y形接触器断开,1s后△接触器动作接通. 本需求程序实现代码如下: 1.符号表 2.功能块编写代码如下 3.主程序编写如下 本程序代码可在此下

西门子PLC学习笔记十一-(装入与传送指令)

S7-300/400指令有:装入与传送指令.比较指令.算术运算指令.字逻辑运算指令.移位指令.逻辑控制指令.程序控制指令.主控指令等. 1.装入与传送指令(不能用于梯形图编程) 装入传送指令实现了各种数据存储区的数据交换,其凭借累加器来完成.装入指令标识符:L,传送指令标识符:T. s7-300PLC有2个32位的累加器,当执行装入指令(L)时,首先将累加器1中原有的数据移入累加器2中,累加器2中的原有内容被覆盖,然后将数据装入累加器1中:当执行传送指令(T)时,将累加器1中的数据写入目标存储区