监视定时器指令WDT
S7-200常用指令

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的循环扫描工作过程详解

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对用户程序按顺序进行扫描。
3.4功能指令

名称
子程序调用
D ( . )
指针 P0~P62 嵌套 5 级 无
应用举例1:
X0
是子程序执行的条件,当 X0 置 1 时标号为 P10 的子程 序得以执行。 子程序 P10 安排在主程序结 束指令 FEND 之后,END之前。 标号 P10 和子程序返回指令 SRET 间的程序构成了 P10 子 程序的内容。 当主程序带有多个子程序时, 子程序可依次列在主程序结束 之后。并以不同的标号相区别 。
定Z,即代表了VZ。
FXON中只有V0和Z0。 D8028中保存Z0的值,D8029中
保存V0的值(只读)。
FX2N中只有V0-V7和Z0-Z7。D8028中保存Z0的值,
D8029中保存V0的值(只读)。其余分别保存在D8082-D8095 中。
变址寄存器当前值寄存器
D8028中保存Z0的值,D8029中保存V0的值(只读)。其余分别保存在
FX系列PLC的功能指令
FX系列PLC的功能指令
又称高级/应用指令。实际上是调用一个个功能不同的子 程序,既能简化程序设计,又能完成复杂的数据传送、运 算、变换和程序控制等高难度控制。 三菱FX2的功能指令有87条,FX2N 有128条(有的标246) ,各指令用功能号FNC□□表示;每一指令有与之对应的 助记符表示其功能意义。如FNC00(CJ)表示条件跳转。
)
3# SB3 2# 1# SB2 SB1
FEND 主程序结束 M8000 中断指针I001 (X0的上升沿中断) M8000 中断指针I101 (X1的上升沿中断) M8000 中断指针I201 (X2的上升沿中断) Y2 (中断子程序3) IRET 中断返回 END (a)输入中断(抢答电路)梯形图 中断抢答 已验证 Y1 (中断子程序2) IRET 中断返回 Y0 (中断子程序1) IRET 中断返回
FX系列PLC的程序流向控制指令

FNC12 MOV K150
D8000
WDT指令还可用于下列目的:当与CJ指令对应的标号的步序低于CJ指令步 序号时,在标号后编入WDT指令。可编入FOR—NEXT循环之中。
循环指令用于某种操作需反复进行的场合。二条指令总是成对
出现 , 相距最近的FOR指1令.和6 NE循XT环指令指是令一对 ,循环指令最多
(3)标号一般设在相关的跳转指令之后,也可以出现在跳转指令之前 但要注意从程序执行顺序来看,如果由于标号在前造成该程序的执行时间
超过了警戒时钟设定值,则程序就会出错。
(4)使用CJ(P)指令时,跳转只执行一个扫描周期 用辅助继电器M8000作为跳转指令的工作条件,跳转就成为无条件跳转。
(5)跳转可用来执行程序初始化工作。
注意 : (1)一个中断指针(I***)占一步,最多可设置9个中断点。 (3)其中2个中断点可产生多层中断。 (4)中断信号的脉宽必须超过200μs。 (5)多个中断信号顺序产生时,最先产生的中断信号有优先权。若2个 或2个以上的中断信号同时产生时,中断指针号较低的有优先权。 (6)如果中断信号产生于禁止中断区间(DI到EI范围),这中断信号 被存贮,并在EI指令之后被执行(除非相应的M805△为ON )。
X5
RST
T246
其是否具有掉电保持功能,由于
X7
元件
跳RS转T 前触C0点状态
跳转后触相点关状程态 序停止跳执转后行线,圈它状们态的现实
P8 P9
X6
Y、M、X1S0
X11
1ms定时 10m器s,X0
100mX1s2 定时X器13
XT214、6 XK21、00X0 3
XC05 OFOKFF2,0F X6
100ms 定时器
复位 时钟 WDT

最高频率32MHZ
振荡器系统
1个机器周期=2个时钟周期
振荡器系统
与振荡器的操作相关的特殊功能寄存器:
振荡器控制寄存器OSCCON 时钟分频寄存器CLKDIV 振荡器调节寄存器OSCTUN
振荡器系统
22pF~33pF
画出时钟系统电路 能够写出配置字
config2应用
设所需的配置为: 禁双速启动,使用主振荡器和 PLL 四倍频, OSC1 与 OSC2 引脚接 8MHz的 XT 晶振,禁时钟切换和保护监视。 在程序中加入下面 的芯片配置字 2 的宏便可实现所需配置。
振荡器系统
振荡器的配置-采用程序存储器的配置寄 存器 4个内外部振荡源,11种不同的时钟模式
主振荡器(8M) 辅助振荡器(32K) 内部RC振荡器(8M) 低功耗内部振荡器(31K)
见PDF
内部PLL提高振荡器的内部频率 可程控选择CPU时钟以降低功耗 故障保护时钟监视器(FSCM)
复位
复位
ቤተ መጻሕፍቲ ባይዱ
与复位相关的寄存器:RCON RCON 寄存器的状态位在不同的复位情形下会分别 被置1 或清零。 复位事件结束时和器件实际开始执行代码之间的延 时由两个主要因素决定:复位类型以及退出复位状 态时使用的系统时钟源。 各种复位的延时时间不同。器件手册(上电复位 10us,内部状态复位20us) 复位延时时间与振荡器时钟源有关。
复位
RCON 寄存器的使用
复位后,初始化代码应该检查RCON
并确定复 位源。在某些应用中,可利用此信息采取适当 措施纠正造成复位的错误。 读取了RCON 寄存器中所有复位状态位后,应 将其清零,这样才能确保RCON 值在器件下一 次复位后能提供有意义的结果。
定时器和WDT

定时器和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得到不同的频率。
看门狗定时器课件教学文案

#define WDT_ADLY_250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0)
#define WDT_ADLY_16 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1)
寄存器宏定义
#define __MSP430_HAS_WDT__
SFR_16BIT(WDTCTL);
#define WDTIS0
(0x0001)
#define WDTIS1
(0x0002)
#define WDTSSEL
(0x0004)
#define WDTCNTCL
(0x0008)
#define WDTTMSEL
1
0
1
1
1
0
0
1
1
0
0
1
0
1
0
IS0
定时时间 / ms
1
0.056 Tsmclk * 26
0
0.5 Tsmclk * 29
1
1.9 Taclk * 26
1
8 Tsmclk * 213
0
16 Taclk * 29
0
32 Tsmclk * 215
1
250 Taclk * 213
0
1000 Taclk * 215
看门狗定时器课件
看门狗定时器
MSP430X5XX / 6XX系列单片机的看门狗定时器原理, 如下图所示:
WDT 的相关寄存器
一、WDT寄存器包括WDTCNT和WDTCTL,两个寄存器在 上电和系统复位内容全部清零 ,就是说MSP430的看门狗 在此时处于默认开启的状态。
Msp430定时器的介绍及其基本应用

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单元会产生一个中断。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
监视定时器指令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指令。