监视定时器指令WDT
- 格式:pdf
- 大小:52.58 KB
- 文档页数:2
S7-200常用指令一、PLC梯形图语言的编程原则1、梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级有多条支路,每个梯级代表一个逻辑方程;2、梯形图中的继电器继电器、接点、线圈不是物理的,是PLC存储器中的位(1=ON;0=OFF);编程时常开/常闭接点可无限次引用,线圈输出只能是一次;3、梯形图中流过的不是物理电流而是“概念电流”,只能从左向右流;4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用;5、PLC的内部继电器不能做控制用,只能存放逻辑控制的中间状态;6、输出线圈不能直接驱动现场的执行元件,通过I/O模块上的功率器件来驱动。
二、存储器区域输入映像寄存器(I)输出映像寄存器(Q)变量存储器( V )定时器存储器( T )计数器存储器( C )模拟量输入映像寄存器(AI)模拟量输出映像寄存器(AQ)累加器(AC)高速计数器(H C )说明:1)输入映像寄存器(I)的状态只能由外部输入信号驱动,而不能由程序来改变其状态。
即在程序中,只能出现输入映像寄存器的触点,而不能出现其线圈。
2)输出映像寄存器(Q)是PLC用来向外部负载发送控制命令的窗口。
每一个输出端子与输出映像寄存器( Q )的一个相应位想对应。
并有无数对常开和常闭触点供编程时使用。
3)定时器存储器(T),PLC所提供的定时器作用相当于继电器控制系统中的时间继电器。
每个定时器可提供无数对常开和常闭触点供编程使用。
其设定时间通常由程序设置。
S7-200 PLC提供了三种定时器:TON-通电延时;TONR-有记忆通电延时;TOF-断电延时。
S7-200 PLC提供了三种定时精度:1ms、10ms、100ms4)计数器(C),计数器用于累计计数输入端接收到的脉冲电平由低到高的脉冲个数。
计数器可提供无数对常开和常闭触点供编程使用,其设定值通常由程序赋予。
地址格式:C[计数器号]如C5,S7-200 PLC提供了三种计数器:CTU-增计数器、CTD-减计数器、CTUD -增减计数器5)变量存储器(V)变量存储器主要用于存储全局变量,或者存放数据运算的中间运算结果或设置参数。
PLC的循环扫描工作过程详解1.CPU自检阶段CPU自检阶段包括CPU自诊断测试和复位监视定时器。
在自诊断测试阶段,CPU检测PLC各模块的状态,若出现异常立即进行诊断和处理,同时给出故障信号,点亮CPU面板上的LED指示灯。
当出现致命错误时,CPU被强制为STOP方式,停止执行程序。
CPU的自诊断测试将有助于及时发现或提前预报系统的故障,提高系统的可靠性。
监视定时器又称看门狗定时器WDT,它是CPU内部的一个硬件时钟,是为了监视PLC的每次扫描时间而设置的。
CPU运行前设定好规定的扫描时间,每个扫描周期都要监视扫描时间是否超过规定值。
这样可以避免由于PLC在执行程序的过程中进入死循环,或者由于PLC 执行非预定的程序造成系统故障,从而导致系统瘫痪。
如果程序运行正常,则在每次扫描周期的内部处理阶段对WDT进行复位(清零)。
如果程序运行失常进入死循环,则WDT得不到按时清零而触发超时溢出,CPU将给出报警信号或停止工作。
采用WDT技术也是提高系统可靠性的一个有效措施。
2.通信处理阶段在通信处理阶段,CPU检查有无通信任务,如果有则调用相应进程,完成与其他设备(例如,带微处理器的智能模块、远程I/O接口、编程器、hmi装置等)的通信处理,并对通信数据做相应处理。
3.读取输入在读取输入阶段,PLC扫描所有输入端子,并将各输入端的通/断状态存入相对应的输入映像寄存器中,刷新输入映像寄存器的值。
此后,输入映像寄存器与外界隔离,无论外设输入情况如何变化,输入映像寄存器的内容也不会改变。
输入端状态的变化只能在下一个循环扫描周期的读取输入阶段才被拾取。
这样可以保证在一个循环扫描周期内使用相同的输入信号状态。
因此,要注意输入信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。
4.执行程序阶段可编程控制器的用户程序由若干条指令组成,指令在存储器中按顺序排列。
当PLC处于运行模式执行程序时,CPU对用户程序按顺序进行扫描。
定时器和WDT1、概述MSP430F149有三个时钟源:外部LF(XT1一般为32.768K),HF(XT2一般为8M),内部DCO。
从时钟系统模块可得到三种时钟信号:MCLK,SMCLK,ACLK。
上电默认状况下MCLK,SMCLK信号来自DCO,ACLK来自LF。
根据官方PDF说法默认状况下DCO模块配置为RSELX=4,DCO=3,因此DCO应为1M,但示波器实测MCLK/SMCLK为680K,测试温度约25摄氏度。
标注:MCLK主时钟、SMCLK子时钟、ACLK活动时钟。
P5.4,P5.5,P5.6的第二功能分别对应MCLK,SMCLK,ACLK时钟信号,可用示波器测量。
测试时发现频率后两位一直在跳动,频率稳定度很差。
MSP430系列单片机选择晶振为时钟源时,时钟周期就是晶振周期。
一个机器周期=一个时钟周期,即430每个动作都能完成一个基本操作;一个指令周期=1~6个机器周期,具体根据具体指令而定。
如果选择8M晶振,则一个机器周期为125ns。
51单片机选择12M 晶振,它的机器周期是时钟周期/12,一个机器周期为1us,可见MSP430的的速度是51的8倍。
2、使用方法概述2.1 程序架构一般在系统初始化关闭看门狗后要配置系统时钟,配置步骤为:1、打开晶振;2、等待晶振起振。
清除OFIFG,延时,判断OFIFG是否为0,为0则晶振正常起振,退出判断;3、选择MCLK/SMCLK时钟源;uchar iq0;BCSCTL1&=~XT2OFF; //打开XT2振荡器do{IFG1 &= ~OFIFG; // 清除振荡器失效标志for (iq0 = 0xFF; iq0 > 0; iq0--); // 延时,等待XT2起振}while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振BCSCTL2 =SELM_2+SELS; //选择MCLK、SMCLK为XT22.2 细节描述对于DCO可以通过配置电阻和DCO得到不同的频率。
Msp430定时器的介绍及其基本应用Msp430定时器的介绍及其基本应用Msp430单片机一共有5种类型的定时器。
看门狗定时器(WDT)、基本定时器(Basic Timer1)、8位定时器/计数器(8-bit Timer/Counter)、定时器A(Timer_A)和定时器B(Timer_B)。
但是这些模块不是所有msp430型号都具有的功能。
1、看门狗定时器(WDT)学过电子的人可能都知道,看门狗的主要功能就是当程序发生故障时能使受控系统重新启动。
msp430中它是一个16位的定时器,有看门狗和定时器两种模式。
2、基本定时器(Basic Timer1)基本定时器是msp430x3xx和msp430F4xx系列器件中的模块,通常向其他外围提供低频控制信号。
它可以只两个8位定时器,也可以是一个16位定时器。
3、8位定时器/计数器(8-bit Timer/Counter)如其名字所示,它是8位的定时器,主要应用在支持串行通信或数据交换,脉冲计数或累加以及定时器使用。
4、16位定时器A和B定时器A在所有msp430系列单片机中都有,而定时器B在msp430f13x/14x和msp430f43x/44x等器件中出现,基本的结构和定时器A是相同的,由于本人最先熟悉并应用的是定时器A所以在这里就主要谈一下自己对定时器A的了解和应用。
定时器A是16位定时器,有4种工作模式,时钟源可选,一般都会有3个可配置输入端的比较/捕获寄存器,并且有8种输出模式。
通过8种输出模式很容易实现PWM波。
定时器A的硬件电路大致可分为2类功能模块:一:计数器TAR计数器TAR是主体,它是一个开启和关闭的定时器,如果开启它就是一直在循环计数,只会有一个溢出中断,也就是当计数由0xffff到0时会产生一个中断TAIFG。
二:比较/捕获寄存器CCRX如何实现定时功能呢?这就要靠三个比较/捕获寄存器了(以后用CCRx表示)。
当计数器TAR的计数值等于CCRx时(这就是捕获/比较中的比较的意思:比较TAR是否等于CCRx),CCRx单元会产生一个中断。
016:MSP430_WDT看门狗定时器1, 看门狗定时器概述看门狗定时器(WDT)是 MSP430 系列单⽚机中常⽤的⼀种部件。
在⼯业现场,往往会由于供电电源、空间电磁⼲扰或其他原因引起强烈的⼲扰噪声。
这些⼲扰作⽤于数字器件,极易使其产⽣误动作,从⽽失去应有的控制功能,引起 MSP430 发⽣“程序跑飞”事故。
若不进⾏有效的处理,程序就不能回到正常的状态,从⽽失去应有的控制功能。
看门狗定时器正是为了解放这类问题⽽产⽣的,尤其是在具有循环结构的程序任务中更为有效。
在正常操作器件,⼀次 WDT 定时时间到,将产⽣⼀次器件复位。
如果通过编制程序使 WDT 定时时间稍⼤于程序执⾏⼀遍所⽤的时间时,并且程序执⾏过程中都有对看门狗定时器清零的指令,使计数器重新计数,则程序正常执⾏时,就会在 WDT 定时时间到达之前对 WDT 清零,不会产⽣ WDT 溢出,如果由于⼲扰使程序跑飞,则不会在 WDT 定时时间到达之前执⾏ WDT 清零指令,WDT 就会产⽣溢出,从⽽产⽣系统复位 CPU 需⽤重新运⾏⽤户程序,这样程序就可以⼜恢复正常运⾏状态。
MSP430 看门狗除了具有上述系统监测的特定⽤途之外,还可以作为内部定时器来使⽤,当选择的时间到达之后,和其他定时器⼀样产⽣⼀个定时中断。
此外 WDT 还可以被完全停⽌活动以⽀持超低功耗应⽤2 看门狗定时器结构3 看门狗定时器寄存器[1] WDTCTL 看门狗控制寄存器WDTCTL 由两部分组成:⾼ 8 位是对 WDT 操作的控制命令。
要写⼊操作 WDT 的控制命令,出于安全原因必须先正确写⼊⾼字节看门狗⼝令。
⼝令位 5AH,如果⼝令写错将导致系统复位。
读 WDTCTL 时,不需要⼝令,可直接读取地址 120H 中的内容,读出数据低字节位 WDTCTL 的值,⾼字节始终位 69H。
WDTCTL 除了看门狗定时器的控制位之外,还有两个⽤于设置 NMI 引脚功能。
WDTISx:选择看门狗定时器的计时输出其中 T 是 WDTCNT 的输⼊时钟源周期。
WDT是英语Watchdog Timer的缩写字母。
Watchdog Timer 中文名看门狗。
是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,使MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
所以在使用有看门狗的芯片时要注意清看门狗。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。
那么定时时间到后就会使单片机复位。
常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元不等. 软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。
我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化则使程序复位。
对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。
在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。
而T1的中断正常与否我们再由T0定时中断子程序来监视。
PIC单片机之看门狗
PIC 单片机之看门狗
看门狗定时器
看门狗定时器(WDT,WatchDogTImer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。
如果程序运行正常,过一段时间CPU 应发出指令让看门狗复位,重新开始倒计数。
如果看门狗减到0 就认为程序没有正常工作,强制整个系统复位。
工作原理
使用时,WDT 将递增,直到溢出,或称超时。
除非处于休眠或空闲模式,WDT 超时会强制器件复位。
为避免WDT 超时复位,用户必须定期用PWRSAV 或CLRWDT 指令将看门狗定时器清零。
如果WDT 在休眠或空闲模式下超时,器件将唤醒并从PWRSAV 指令执行处继续执行代码。
在上述两种情况下,WDTO 位(RCON《4》)都会置1,表示该器件复位或唤醒事件是由于WDT 超时引起的。
如果WDT 将CPU 从休眠或空闲模式唤醒,休眠状态位(RCON《3》)或空闲状态位(RCON《2》)也会置1,表示器件之前处于省电模式。
u p .wh ut.ed u.c nUM10398第14章:LPC111x看门狗定时器(WDT)ReRev v.00.10—11J a nuary2020110U s er manual 1.如何阅读本章所有LPC111x系列处理器的WDT模块完全一致。
2.特性•如果没有周期性重装计数值(即喂狗),则产生片内复位。
•支持调试模式。
•可通过软件允许看门狗,但禁止看门狗需要硬件复位或看门狗复位/中断。
•如果看门狗被允许,不正确/不完整的喂狗时序会产生复位/中断。
•具有看门狗复位的标志。
•可编程的32位定时器(带有内部预分频器)。
•时钟周期可选,从(T WDCLK×256×4)到(T WDCLK×232×4),取(T WDCLK×4)的倍数。
•可在系统控制块中选择内部RC振荡器(IRC)、主时钟或看门狗振荡器,来做为看门狗的时钟(WDCLK)源,见表3–23。
这样,看门狗定时器在不同功耗条件下,有多种可能计时选择。
为增加可靠性,还提供了一个看门狗定时器专用的完整内部时钟源,它不依赖于外部晶振及其相关元件和线路。
3.应用看门狗的目的是为了使微控制器在程序运行进入错误状态时,使系统在一个合理的时间内复位。
当看门狗被允许之后,如果用户程序没有在预定的时间内进行“喂狗”(或重新装载计数值),看门狗将复位系统。
4.描述看门狗定时器包括一个固定的4分频器和1个32位计数器,时钟通过4分频器送给送定时器。
每到一个时钟,定时器计数值减1。
开始递减的值,最小必须是0xFF;如果设定小于0xFF的值,则默认将0xFF装载到计数器。
因此,看门狗最小时间是(TWDCLK×256×4),最大时间是(TWDCLK×232×4),取(TWDCLK×4)的倍数。
看门狗必须按如下方法使用:1.在WDTC寄存器中设定看门狗定时器重装载值。
三菱FX系列PLC功能指令-程序流程指令条件跳转指令CJ(P)条件跳转指令CJ(P)的编号为FNC00,操作数为指针标号P0~P127,其中P63为END所在步序,不需标记。
指针标号允许用变址寄存器修改。
CJ和CJP都占3个程序步,指针标号占1步。
如图1所示,当X20接通时,则由CJ P9指令跳到标号为P9的指令处开始执行,跳过了程序的一部分,减少了扫描周期。
如果X20断开,跳转不会执行,则程序按原顺序执行。
图1 跳转指令的使用使用跳转指令时应注意:1)CJP指令表示为脉冲执行方式;2)在一个程序中一个标号只能出现一次,否则将出错;3)在跳转执行期间,即使被跳过程序的驱动条件改变,但其线圈(或结果)仍保持跳转前的状态,因为跳转期间根本没有执行这段程序。
4)如果在跳转开始时定时器和计数器已在工作,则在跳转执行期间它们将停止工作,到跳转条件不满足后又继续工作。
但对于正在工作的定时器T192~T199和高速计数器C235~C255不管有无跳转仍连续工作。
5)若积算定时器和计数器的复位(RST)指令在跳转区外,即使它们的线圈被跳转,但对它们的复位仍然有效。
子程序调用指令CALL子程序调用指令CALL的编号为FNC01。
操作数为P0~P127,此指令占用3个程序步。
子程序返回指令SRET子程序返回指令SRET的编号为FNC02。
无操作数,占用1个程序步。
如图2所示,如果X0接通,则转到标号P10处去执行子程序。
当执行SRET指令时,返回到CALL指令的下一步执行。
图2 子程序调用与返回指令的使用使用子程序调用与返回指令时应注意:1)转移标号不能重复,也不可与跳转指令的标号重复;2)子程序可以嵌套调用,最多可5级嵌套。
中断返回指令IRET中断允许指令EI中断禁止DI与中断有关的三条功能指令是:中断返回指令IRET,编号为FNCO3;中断允许指令EI,编号为FNCO4;中断禁止DI,编号为FNC05。
它们均无操作数,占用1个程序步。
监视定时器指令WDT
来源:网络或本站原创
监视定时器指令WDT(P)编号为FNC07,没有操作数,
占有1个程序步。
WDT指令的功能是对PLC的监视定时器进行刷新。
FX系列PLC的监视定时器缺省值为200ms(可用D8000来设定),正常情况下PLC扫描周期小于此定时时间。
如果由于有外界干扰或程序本身的原因使扫描周期大于监视定时器的设定值,使PLC的CPU出错灯亮并停止工作,可通过在适当位置加WDT指令复位监视定时器,以使程序能继续执行到END。
如图1所示,利用一个WDT指令将一个240ms的程序一分为二,使它们都小于
200ms,则不再会出现报
警停机。
图1 监控定时器指令的使用
使用WDT指令时应注意:
1)如果在后续的FOR-NEXT循环中,执行时间可能超过监控定时器的定时时间,可将WDT插入循环程序中。
2)当与条件跳转指令CJ对应的指针标号在CJ指令之前时(即程序往回跳)就有可能连续反复跳步使它们之间的程序反复执行,使执行时间超过监控时间,可在CJ指令与对应标号之间插入WDT指令。