西门子S7-200系列PLC高阶课程-5 定时中断
大家好,这节课我们来学习“定时中断 ”。在这之前,我们先来了解一下定时中断的定义:
了解了定义后,我们来编辑一个主程序:
第一步是”常开触点+沿指令”,实现启动1次即可 的功能。
第二步是将100毫秒传给SMB34的存储地址(由事件号10决定);并在中断指令中,指明事件号10的情况下,启动中断程序0;
第三步是开放中断。
为了方便比较,我们可以将两个不同的地址及事件分别写进去看一下:
我们在状态监控中看一下变量VW0和VW2的数值变化情况:
很明显,我们能够看到在同一时间,VW0的数值是VW2的两倍。
需要说明一下,就是我们用到了SMB 34和35。这里的B指的是“字节”的意思。而对其赋值数,也是有范围的。这次我们用的分别是100和200,而其取值范围是从0-255,超出范围的值是不被接受的。
但是,当定时周期大于255毫秒时,该怎么办呢?这时,我们就可以用到定时器T32和T96,因为他们的计时周期的最大时长,是32767毫秒(32.767秒)。如下图所示,我们就可以实现1秒钟,执行一次定时中断的功能。
最后总结一下,就是关于定时中断,主要考量的是定时长短。在小于1秒的时候,可以不用定时器;而大于1秒时,就要用到定时器T32或T96,要注意事件号吗也中断指令中的数据相一致。
PLC中断是干什么的?应该怎么使用?5分钟后你就明白中断了!
配图单词并不能形容PLC中断,PLC的中断用interrupt!
一 首先我们来讲解以下什么是PLC的中断?
正常状态下,PLC按照扫描顺序从上至下循环工作。以西门子300系列PLC举例,它一直循环扫描OB1中的程序。
也就是说你让PLC按照一定顺序进行工作,它就严格遵守从上至下的方式进行扫描程序。
那么针对一些紧急情况,这种工作方式就有一些不足了。比如一些串口的通讯。
比如说这货!
上图是松下伺服驱动器与PLC通讯的方式,因为数据的重要性,需要多次接受和发送数据进行校正。而这一过程对于时间的要求就很严格。所以虽然PLC的正常扫描周期也不长,但如果不使用中断的话很难保证其工作正常。
再有就是对于一些安全装置的设计,在一些特定场合,需要对安全装置,比如说急停按钮,光栅等进行快速的处理,而不是将它们写在通用程序里循环扫描。
除此之外还有一些系统特定功能的中断,也可以通过中断进行处理等等。
最后就是一些特定程序不需要扫描时间那么快,这种是时间中断,比如说PID的程序必须写到时间中断里。
以上就是西门子PLC的常见中断。
二其次是中断的优先级,中断为什么有优先级?
因为与可能会同时触发两个中断,那么哪个更重要一些呢?
西门子S7-200smart系统中断优先级顺序
通讯要求实效性最高,所以排在首位,其次是外部离散量中断,这可用于急停等需要特殊处理的状况。在这里提示大家不是所有的急停都需要使用中断,对于一些一般场合,还是使用普通程序较好一些。
最后是时间中断,时间中断可以使用慢于PLC扫描周期的时间作为执行周期。以处理类似PID这种情况。
熟悉我文章风格的都知道,理论和实际相结合。下面用几个例子教大家如何使用中断。
中断理解起来困难一些,操作起来很简单。
1 对于非时间中断,大家可以理解中断的编程是特定的条件快速启动特定的子程序。
程序讲解,中断事件1为PLC扫描到I0.0下降沿,检测到该下降沿后暂停执行MAIN程序,而是直接执行INT0中断程序,在中断程序中,可以加一些对于该事件的处理,在中断程序执行后再返回到MAIN程序继续执行。
2 对于时间中断则更简单一些。时间中断大家可以理解为可以设定扫描时间的子程序。
西门子S7-200SMART共有两个时间中断,事件10和事件11。扫描时间由SMB34和SMB35设置。
首先将SMB34设定时间,然后事件10启动中断程序INT1。
在中断子程序里,可以写一些程序,里面的程序就按照100ms的执行时间进行工作。
切记时间中断里面不需要写返回程序。
好吧!你学会中断了吗?
学会的请点个赞吧!
相关问答
plc暂停和继续功能怎么实现?
在PLC编程中,暂停和继续功能的实现方式取决于具体的PLC品牌和型号。下面以一种常见的方法为例,介绍如何实现PLC暂停和继续功能。1.编写暂停程序:在程序中加...
plc程序暂停功能怎么实现?
可以使用CJ指令来实现。CJ指令可以跳过某些流程,被跳过的流程PLC不会再扫描。如果被跳过的是步进STL流程,STL内部的时间继电器T、计数器C会停止计数(但不复位...
请问一下,plc中,如何实现暂停/继续功能?
在梯形图中加一个延时计时器即可实现暂停/继续功能。在梯形图中加一个延时计时器即可实现暂停/继续功能。
PLC什么情况下要调用中断程序?中断程序怎么用?
因为程序是顺序执行的,如果程序大的话,完整扫描时间的就长,如果程序小完整执行时间就短,如果需要定时执行的程序就需要使用中断,例如PID功能就必须使用中断...
PLC暂停功能的实现?
需要结合具体的控制系统,通常可通过添加一个暂停输入信号来实现。当PLC接收到暂停信号时,将对所有输出信号进行逻辑高阻断,从而暂停控制系统的运行。同时,也...
PLC控制伺服,如何实现暂停功能?
PLC控制伺服,如何实现暂停功能,基本可以从硬件和软件的方面去实现伺服电机的暂停功能。硬件方面就是断开伺服驱动器的电源,在这里一般都有一个常闭的信号接到...
请教PLC编程高手,如何实现自动运行中暂停,恢复后接着运行?
增加一个暂停按钮的输入啊,按钮按下时,断开触点啊,按钮断开后恢复触点啊增加一个暂停按钮的输入啊,按钮按下时,断开触点啊,按钮断开后恢复触点啊
plc暂停又继续程序怎么编?
工具材料:简思工控PLC电脑中文指令编程操作方法01编程思路:编程之前首先需要弄清楚动作的具体要求,实现的先后顺序。在动作运行过程中,总避免不了实现...
PLC编程运行中停电后?
在PLC编程运行中,如果遇到停电的情况,可能会导致以下几种情况:停电可能会导致PLC系统的停机。如果停电导致PLC系统失去电源,那么PLC中的所有程序和数据都将...
三菱plc的ei指令详解?
三菱PLC的EI(ExternalInterrupt)指令是一种特殊的指令,用于处理外部中断信号。该指令允许PLC在特定条件下对外部中断进行响应并执行相应的操作。EI指令的使...