西门子PLCS7-200中断允许和禁止指令的用法

合集下载

S7-200的功能指令应用

S7-200的功能指令应用

2014-8-13
•表5.4
中断事件及优先级
2014-8-13
5.2 中断指令
21
2014-8-13
5.2 中断指令
3、CPU响应中断的原则 一个程序中总共可有128个中断。 S7-200在任何时刻,只能执行一个中断 程序;在中断各自的优先级组内按照先 来先服务的原则为中断提供服务,一旦 一个中断程序开始执行,则一直执行至 完成,不能被另一个中断程序打断,即 使是更高优先级的中断程序; 中断程序执行中,新的中断请求按优 先级排队等候,中断队列能保存的中断 个数有限,若超出,则会产生溢出。
2014-8-13
5.2 中断指令
1、中断源分类 S7-200系列可编程控制器最多有34个中断源,

分为三大类:通信中断 输入/输出(I/O)中断 时基中断
2014-8-13
5.2 中断指令
2、中断优先级 中断优先级由高到低依次是: 通信中断、输入输出中断、时基中断。 每种中断中的不同中断事件又有不同的优 先权。 主机中的所有中断事件及优先级如下表。
2014-8-13
5.2 中断指令
二、中断指令
2014-8-13
5.2 中断指令
三、中断程序(中断服务程序 )

中段程序是为处理中断事件而事先编好的 程序。中断程序不是由程序调用,而是在 中断事件发生时由操作系统调用。
注意:
(1)在中断程序中禁止使用DISI、ENI、HDEF、 LSCR、END指令。 (2) 中断程序最后一条指令一定是无条件返回 指令 RETI( 省略 ), 也可以是有条件返回指令 CRETI结束中断程序。
高速计数器指令
2014-8-13
5.1 程序控制类指令

第六章S7-200PLC功能指令二

第六章S7-200PLC功能指令二
3、局部变量的赋值
在局部变量表中赋值时,只需指定局部变量的类 型(TEMP、IN、IN_OUT或OUT)和数据类型,不 用指定存储器地址,程序编辑器按照子程序指令的 调用顺序,将参数值分配给局部变量存储器,起始 地址是L0.0;8个连续位的参数值分配一个字节,从 LX.0到LX.7。
4、在局部变量表中增加新的变量
S7-200的CPU中可响应最多34个中断事件,见下表。
②一至八个连续位参数值被指定给从Lx.0开始 持续至Lx.7的单字节。
③字节、字和双字数值被指定给局部内存,位于 字节边界(LBx、LWx或LDx)位置。在带参数的 “调用子程序”指令中,参数必须与子程序局部变量 表中定义的变量完全匹配。参数顺序必须以输入参数 开始,其次是输入/输出参数,然后是输出参数。
三、建立子程序
在“编辑”菜单中执行命令“插入”→“子程序”;
在程序编辑器视窗中点击鼠标右键,从弹出的菜单中 执行命令“插入”→“子程序”;
新建的子程序,默认的程序名是SBR_n,编号 n从0(0~63)开始按递增顺序生成。用鼠标右键点 击指令树中的子程序的图标,在弹出的菜单中选择 “重新命名”,可以修改它们的名称。注意: CPU226的项目中最多可以创建128个子程序。
二、中断源及中断事件
1、中断源及种类
中断源,即中断事件发出中断请求的来源。S7200PLC具有最多可达34个中断源,每个中断源都分 配一个编号用以识别,称为中断事件号。这些中断 源大致分为三大类:通信中断、输入输出中断和时 基中断。
S7-200中,过程中断分为通信中断和输入输 出中断。通信中断包括通信口0和通信口1产生的中 断;输入输出中断包括外部输入中断、高速计数器 中断和高速脉冲串输出中断。
四、子程序的调用(CALL指令)

第6章S7-200 PLC的功能指令及使用

第6章S7-200 PLC的功能指令及使用

Network 10 C10 +16 Network 11 C10
QB0
MOV_B EN ENO 7 IN OUT QB0
MOV_B EN ENO OUT
MOV_B EN ENO 3 IN OUT QB0
+18
MOV_B EN ENO OUT QB0
Network 12 C10 +20
MOV_B EN ENO 1 IN OUT QB0
字(整数INT)比较指令(取)
第一种 字比较触点“取”
字比较触点“取”
字(整数INT)比较指令(与)
第二种
字比较触点“与”
字比较触点“与”
字(整数INT)比较指令(或)
第三种 字比较触点“或”
字比较触点“或”
字(整数INT)比较指令(例题2)
例题2:分析程序,画出指定元件的时序
字比较指令例题2图
第一种:实数比较触点“取”
实数比较触点“取”
第二种:实数比较触点“与”
实数比较触点“与”
第三种:实数比较触点“或”
实 数 比 较 触 点 “ 或 ”
传送指令
1. 字节、字、双字、 实数的传送 SIMATIC功能指令助记符中最后的B、W、DW(或D)和R分别表 示操作数为字节(Byte)、字(Word)、双字(Doudle Word)和实数 (Real). 传送指令将输入的数据(IN)传送到输出(OUT),传送过程不改 变源地址中数据的值。
输入 启动开关 I1.0
输出 六盏灯 Q0.0-Q0.5
Network 1 I1.0 SM0.5 CU I1.0 R C10 24 Network 2 C10 +0 1 Network 3 C10 +2 3 Network 4 C10 +4 7 IN IN IN PV

西门子S7-200PLC指令系统手册

西门子S7-200PLC指令系统手册

(二)输出指令 梯形图(LAD)中,“()”表示线圈,“能 流”到线圈端,则线圈被激励,其Q寄存器的相 应位为1,反之为0; 语句表(STL)中,输出指令为“=”,把栈 顶值复制到操作数地址指定的存储器位(bit), 堆栈各级栈值不变。 (三)置位和复位指令-把从操作数(bit)指定 的地址开始的N个点都被置位或复位,其中N=1 -255
3. 修改指针:用自增或自减指令修改指针,则可 连续存取存储单元中的数据
五、用户程序的结构 用户程序可分为三个区:主程序、子程序和 中断程序; 主程序(OB1):是用户程序的主体,CPU 在每一个扫描周期都要执行一次主程序指令; 子程序:可选部分,只有主程序调用时才执 行; 中断程序:可选部分,只有当发生中断事件 时,才执行中断程序,可在扫描周期的任意点执 行。
(二)直接寻址-指令中直接给出操作数的地址 的寻址方式 例: 位寻址 AND Q5.5
字节寻址 ORB VB33 , LB21 字寻址 双字寻址 MOVW MOVD AC0 , AQW200 AC1 , VD200
(三)间接寻址-指令中给出了存放操作数地 址的存储单元的地址的寻址方式 1. 建立指针
S7-200 PLC 的SIMATIC指令集不支持完全 数据类型检查; 使用局部变量时,执行简单数据类型检查; 使用全局变量时,指令操作数为地址而不是 可选的数据类型时,执行无数据类型检查。 (二)数据长度和数值范围 数据长度:用字节型(B)、字型(W)、 双字型(D)分别表示8位、16位、32位数据; 不同的数据长度对应的数据范围如表5-4所示
在语句表(STL)中,没有EN允许输入端, 但允许执行指令的条件是栈顶的值必须为1。 功能框的ENO端是允许输出端,即允许功能 框的布尔量输出,用于指令的级联 ; 语句表(STL)中,用AENO(ANDENO)指 令产生允许输出。 (四)条件输入、无条件输入 条件输入:在梯形图(LAD)、功能块图 (FBD)中,与“能流”有关的功能框或线圈不直 接与左母线连接;

s7-200中断讲解

s7-200中断讲解

中断由事件驱动在启动中断程序之前,必须使中断事件(可以是通信I/O口定时中断源)与发生该事件时您希望执行的程序建立联系。

使用"中断连接"指令(ATCH)建立中断事件(由中断事件号码指定)与程序段(由中断例行程序号码指定)之间的联系。

将中断事件附加于中断例行程序时,该中断自动被启用(但是此时必须中断必须是打开的要不中断都处于等待状态)。

如果您使用全局禁止中断指令(DISI)禁止所有的中断,中断事件的每次出现均被排队等候,直至使用全局启用中断指令重新启用中断。

使用"中断分离"指令(DTCH)可中断分离事件与中断例行程序之间的联系,从而禁止单个中断事件。

"分离"指令使中断返回未激活或被忽略状态。

了解S7-200如何处理中断程序作为对关联的内部或外部事件的应答,执行中断例行程序,中断程序的调用不是由程序调用的,而是在中断发生时由操作系统调用的。

在中断程序中不能更改其它程序使用的存储器,而最好使用全局或局部变量。

一旦中断例行程序的最后一条指令被执行,控制被返回至主程序。

您可以用执行"从中断指令有条件返回"指令(CRETI)的方法退出例行程序。

使用中断例行程序指南和限制中断程序为特殊内部或外部事件提供快速反应。

您应当优化中断例行程序,通过将中断例行程序保持为短小和简明扼要,可加快执行的速度,使其他程序不会受到长时间的延误。

如果未能做到这一点,无法预料的情形可能导致主程序控制的装置出现非正常操作状况。

限制不得在中断程序中使用DISI、ENI、HDEF、LSCR和END指令。

中断的系统支持由于触点、线圈和累加器逻辑可能受中断的影响,系统保存和重新载入说明累加器和指令操作状态的逻辑堆栈、累加器寄存器和特殊内存位(SM)(也就是说在中断程序执行时将将其它的存储器值进行保护,中断执行完后再进行恢复)。

这样可避免因分支至中断例行程序和从中断例行程序分支而导致的主程序中断。

S7-200的功能指令

S7-200的功能指令

图4-27 跳转与定时器
编辑课件
23
【例4-6】 用跳转指令实现图4-28中的流程图的要求。
编辑课件
24
4.4.2 循环指令
1.单重循环
驱动FOR指令的逻辑条件满足时,反 复执行FOR与NEXT之间的指令。执行 到NEXT指令时,INDX的值加1,如果 INDX的值小于等于结束值FINAL,返 回去执行FOR与NEXT之间的指令。如
编辑课件
16
【例4-3】设计程序,用模拟电位器设置定时器T37的预设值为5~20s。 SMB28中电位器的位置对应的数字N为0~255。时间设定值为150×N/255+50。 用累加器来存放操作数和运算的中间结果比较方便。
2.递增与递减指令 梯形图中IN + 1 = OUT,语句表中OUT+1=OUT
编辑课件
11
3.计算程序中的数据转换 下图将101英寸转换为以mm为单位的双整数值。
编辑课件
12
4.解码指令与编码指令 解码指令DECO根据输入字节IN的最低4位表示的位号,将输出字OUT对应 的位置为1,输出字的其他位均为0。16#0010=2#0000 0000 0001 0000。 编码指令ENCO将输入字IN中的最低有效位(为1的位)的位编号写入输出字 节OUT的最低4位。16#0014=0000 0000 0001 0100。 存储器填充指令FILL用输入参数IN指定的字值填充从地址OUT开始的N个连 续的字。
0则不移位。符号位也被移位。
编辑课件
9
3.移位寄存器指令 下图中的14位移位寄存器由V30.0 ~V31.5组成,在I0.3的上升沿,I0.4的值 从移位寄存器的最低位V30.0移入,寄存器中的各位左移一位,最高位V31.5的 值被移到溢出标志位SM1.1。 N为−14时,I0.4的值从最高位V31.5移入,寄存器 中的各位右移一位,从最低位V30.0移到溢出标志位SM1.1。

7-西门子S7-200系列PLC应用指令解析

7-西门子S7-200系列PLC应用指令解析
2018/10/14
电气控制与PLC
6
高速计数器指令
2018/10/14
电气控制与PLC
7
时钟指令
读实时时钟指令(TODR):从硬件时钟中读取当前日期,并把它装载到一个8字节、 起始地址为T的时间缓冲区。 写实时时钟指令(TODW):将当前时间和日期写入硬件时钟,当前时钟存储在以地 址T开始的8字节时间缓冲区中。时钟指令见表。 使ENO=0的错误条件:间接寻址(代码:0006)、TOD数据错误(代码:0007,只对 写实时时钟指令有效)、时钟模块不存在(代码:000C)。 时钟指令所有日期和时间值必须按照BCD码的格式编码,如图所示。 时间和日期(TOD)时钟在电源掉电或内存丢失后,初始化日期和时间为:日期01Jan-90、时间00:00:00、星期日。
LAD BGN-ITIME EN ENO OUT FBD BGN-ITIME EN ENO OUT BITIM OUT IN: ID、QD、VD、MD、SMD、SD、 LD、HC、AC、*VD、*LD、*AC OUT: ID、QD、VD、MD、SMD、SD、 LD、AC、*VD、*LD、*AC CITIM IN,OUT STL
时间间隔定时器指令
时间间隔定时器指令:触发时间间隔指令(BITIM)和计算时间间隔指令(CITIM)。 BITIM指令:读内臵的1ms计数器的当前值,并将此值存储到OUT中,双字ms值的最 大定时间隔是2的32次幂或49.7天。 CITIM指令:计算当前时间和IN提供的值之间的时间差,时间差被存储到OUT中,双 字ms值的最大定时间隔是2的32次幂或49.7天。依据BITIM指令执行的时间,CITIM自动 处理在最大间隔内发生的1ms定时器翻转。
2018/10/14

S7-200PLC的基本功能指令详解

S7-200PLC的基本功能指令详解
• 这样可以表示256种状态,表示数据0~255。 • 字节数据可以用16进制表示或者10进制表示。16进
制表示数值在16#00~16#FF之间。 • 两种进制可以相互转换:
PLC的字节编址方法
• 字节编址用第一个字母表示寄存器的类型, 第二个字母B表示字节编址。例如IB0、 QB0、MB0、VB0、SMB0等。
• 有IB0~IB15输入映像寄存器,共计256点。 • 有QB0~QB15共16个输出映像寄存器,共
计256点,这就决定可以扩展的I/O数目。 • 同样有MB0~MB31共32个共计256个中间
继电器。VB0~VB2047(CPU221/222)或者 VB0~VB5119(CPU224/226)变量存储单元。
逻辑等效
2、或逻辑运算
• 将参与运算的多位二进制数逐位进行或运算,有1 出1,全0出0。例如:16#F0与16#0F进行与逻辑 运算后的结果是16#FF。
• 或逻辑运算分为字节或逻辑运算、字或逻辑运算 和双字或逻辑运算三种情况。
逻辑等效
3 异或逻辑
• 将参与运算的多位二进制数逐位进行异或运算, 同则出0,异则出1。例如:16#FF与16#FF进行 与逻辑运算后的结果是16#0。
四、逻辑运算指令
• 1. 逻辑与指令(WAND) • 2. 逻辑或运算 (WOR) • 3. 逻辑异或指令(WXOR) • 4. 取反指令(INV)
1、与逻辑运算
• 将参与运算的多位二进制数逐位进行与运算,全1 出1,有0出0。例如:16#FF与16#0F进行与逻辑 运算后的结果是16#0F。
• 与逻辑运算分为字节与逻辑运算、字与逻辑运算 和双字与逻辑运算三种情况。
4、双字数据
• 双字数据(double word)用D表示,是32位数据, 可以表示状态数232=4294967296(约43亿)种。 表示无符号数在0~4294967295之间,表示的有 符号数-147483648~+214483647之间。

S7-200 PLC功能指令

S7-200 PLC功能指令

4.4 S7-200 PLC的功能指令PLC的功能指令(Functional Instruction)或称应用指令,是指令系统中满足特殊控制要求的那些指令。

在本节中主要介绍数据处理指令、数据运算指令、转换指令、表功能指令、程序控制类指令、中断指令、高速计数器指令、高速脉冲指令等。

1.指令格式指令的梯形图格式主要以指令盒的形式表示,如图4-49所示:图4-49 指令的梯形图格式指令盒的顶部为该指令的标题,如MOV_B,一般由两部分组成,前面部分为指令的助记符,后面部分为参与运算的数据类型,B表示字节,W表示字,DW表示双字、R表示实数、I表示整数、DI表示双整数。

指令的指令表格式也分为两部分,如字节传送指令的指令表格式为:MOVB IN,OUT。

前面部分为指令的助记符,后面部分为指令的操作数,其中“IN”为源操作数,“OUT”为目的操作数。

为了节省篇幅,对每条功能指令的操作数的内容即数据类型做如下约定:字节型:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*LD、*AC和常数。

字型及INT型:VW、IW、QW、MW、SW、SMW、LW、AC、T、C、*VD、*LD、*AC和常数。

双字型及DINT型:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*LD、*AC和常数。

2.指令的执行条作和运行情况指令梯形图格式中的“EN”端是允许输入端,为指令的执行条件,只要有“能流流入EN 端,指令就执行。

要注意的是:只要条件存在,该指令会在每个扫描周期执行一次,如果希望只执行一次,要在“EN”前加一条跳变指令。

在语句表(STL)程序中没有EN允许输入端,允许执行STL语句的条件是栈顶的值必须是“1”。

4.ENO状态(用于指令的级联)指令盒的右边设有“ENO”使能输出,若EN端有“能流”且指令被准确无误地执行了,则ENO端会有“能流”输出,传到下一个程序单元,如果指令运行出错,ENO端状态为0。

第六章 S7-200PLC特殊功能指令

第六章 S7-200PLC特殊功能指令

SWAP
EN IN ENO
VW50 SWAP D6C3
VW50 C3D6
第二节 数学运算指令
1、加法指令
ADD_I ADD_DI ADD_R
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT
加法指令可分为整数、双整数、 实数加法指令; 执行操作:IN1+IN2=OUT。
逻辑运算指令执行表
指令 ANDB ORB XORB
操作数
地址
单元长度
运算前
运算后
IN1
IN2(OUT) IN1
VB0
AC0 VB0
1
1 1
00110011
11110000 00110011
00110011
00110000 00110011
IN2(OUT)
IN1 IN2(OUT)
AC1
VB0 AC2
1
使能输入有效时,将整数型输入
数据IN转换成字节类型,并将结果 送到 OUT 输出。输入数据超出字 节范围(0~255)则产生溢出 。
(二)双字整数与整数的转换
使能输入有效时,将双整数型输
入数据IN转换成整数类型,并将结 果送到OUT输出。被转换的输入值 应是有效的双字整数。输入数据超 出整数范围则产生溢出。
LD T37 //每来一个脉冲 RLB QB0, 1 彩灯循环左移1位
已知:I0.0接外部开关,Q0.0接指示灯,问下面的梯形图 实现什么功能?
(5)移位寄存器指令 移位寄存器指令可用来进行顺序控制、物流及数据流控制。
I0.1 正跳变 I0.2
S_BIT指定移位寄存器的 最低位,N指定寄存器的 长度;正数表示正向移动 (低字节→高字节),N 为负数表示反向移动; N 为字节型数据类型,最大 长度为64位。EN端每个 上升沿采样。

西门子S7-200的基本指令

西门子S7-200的基本指令

• 在LAD和FBD中,以指令盒形式编程,执行结果:IN1-IN2=OUT。
• 在STL中,执行结果: OUT- IN2=OUT。
• 指令格式:-I
IN2, OUT (整数减法)
• -D IN2, OUT (双整数减法)
• -R IN2, OUT (实数减法)
• 例:
-I
AC0, VW4
20
第2章 西门子S7-200的基本指令
3. 整数与双整数 (1)双整数到整数 (2)整数到双整数 4. 双整数与实数 (1)实数到双整数 (2)双整数到实数
34
第2章 西门子S7-200的基本指令
数据类型转换指令应用实例
35
第2章 西门子S7-200的基本指令
2.4.2数据编码、解码指令
1. 编码指令 ENCO,编码指令。使能输入有效时,将字型输入数据IN的最低有效位(
LDW >= =
C 30, V W 30 //比 较 计 数 器
//当 前 值 是 否 大 于
//V W 30 中 的 值
Q 0.1
//输 出 触 点
50005000
C30 当前值 1000
1000
Q 0.0 Q 0.1
比较指令程序举例
18
第2章 西门子S7-200的基本指令
2.2 数学运算指令
AN
I0.2 //
=
Q0.1 //
//
//
LD
I0.0 //
O
I0.1 //
A
I0.2 //
NOT
//
=
Q0.3 //
6
第2章 西门子S7-200的基本指令
2.1.2脉冲生成(边沿触发)指令

S7-200 SMART PLC编程及应用电子课件(廖常初)

S7-200 SMART PLC编程及应用电子课件(廖常初)
1.打开和关闭窗口 2.窗口的浮动与停靠,定位器的作用 3.窗口的合并 4.窗口高度的调整 5.窗口的隐藏与停靠
6.帮助功能的使用 (1)在线帮助:单击选中的对象后按〈F1〉键。 (2)用帮助菜单获得帮助 单击“帮助”菜单功能区的 “帮助”按钮,打开在线帮助窗口。 用目录浏览器寻找帮助主题。 双击索引中的某一关键词,可以获得有关的帮助。
2.先进的程序结构 3.灵活方便的存储器结构,大多数存储区可以按位、字节、字和双字读写。 4.简化复杂编程任务的向导功能 5.强大的通信功能 6.支持文本显示器和三种系列的触摸屏。 7.强大的运动控制功能 1.1.3 CPU模块 1.CPU模块的技术规范 标准型CPU SR20/SR30/SR40/SR60、CPU ST20/ST30/ST40/ST60,可扩展6 个 扩 展 模 块 , SR 和 ST 分 别 是 继 电 器 输 出 和 晶 体 管 输 出 。 经 济 型 的 CPU CR40/CR60价格便宜,不能扩展。定时器/计数器各256点。
第2章 编程软件使用指南
2.1 编程软件概述 2.1.1 编程软件的界面
1.安装编程软件 操 作 系 统 可 以 是 Windows XP SP3 、 32 位 和 64 位 的 Windows 7 。 双 击 setup.exe,开始安装,使用默认的安装语言简体中文。可以选择软件安装的 目标文件夹。 2.项目的基本组件 1)程序块包括主程序(OB1)、子程序和中断程序,统称为POU(程序 组织单元)。 2)数据块用于给V存储器赋初值。 3)系统块用于硬件组态和设置参数。 4)符号表用符号来代替存储器的地址,使程序更容易理解。 5)状态图表用来监视、修改和强制程序执行时指定的变量的状态。
主程序ob1ldsm01第一次扫描时atchint00i00上升沿时执行0号中断程序atchint13i01下降沿时执行1号中断程序eni允许全局中断ldsm50如果检测到io错误dtch0禁用i00的上升沿中断dtch3禁用i01的下降沿中断中断程序0int0ldsm00该位总是为onsiq001使q00立即置位todrvb10读实时时钟中断程序1int1ldsm00该位总是为onriq001使q00立即复位todrvb18读实时时钟第一百一十一页编辑于星期五

S7-200程序控制类指令及应用

S7-200程序控制类指令及应用
29 2015-3-20
下降沿中断服务程序举例:
30
2015-3-20
用定时中断读取模拟量数值举例:
31
2015-3-20
13 2015-3-20
子程序举例:
14
2015-3-20
子程序的嵌套举例:
15
2015-3-20
第四节
中断指令
一、中断与中断源
中断是计算机特有的工作方式,指主程序执行过程中, 中断主程序的执行去执行中断子程序。和前节谈到的子程 序一样,中断子程序也是为某些特定的控制功能而设定的。 和普通子程序不同的是,中断子程序是为随机发生且 必须立即响应的事件安排的,其响应时间应小于机器的扫 描周期。 能引起中断的信号叫中断源,S7-200系列CPU支持34 种中断源,如表9-5所示。从表中可以看出,不同的CPU对 中断事件的支持是不同的(表中Y表示该型号CPU具有该种中 断功能)。
22 2015-3-20
中断事件的优先级顺序:
23
2015-3-20
24
2015-3-20
三、中断指令及中断程序
中断是计算机为应对紧急事件而设立的一种运行 机制,但是并不一定在计算机的任何运行时间点上都 可以允许中断的发生。对于PLC应用程序的运行来说, 任何时候都响应内部及外部的所有中断称为全局开中 断,任何时候都不响应各种中断称为全局禁止中断。 当PLC进入RUN状态时,自动进入全局禁止中断状 态,如需在适当的时候开放全局中断时,可在用户程 序中使用全局中断允许指令(ENI),反之,如需全局 禁止中断时,可在应用程序中的适当位置使用全局中 断禁止指令(DISI)。执行DISI指令不会影响当前正 在执行中的中断程序的执行,只有当该中断程序执行 完毕后,DISI功能才有效。

s7-200中断[指南]

s7-200中断[指南]

S7-200中断由于中断方式可以随机地、高速地处理若干事件,因此在PLC的应用中是经常使用的,因此在本书扼要介绍S7-200的中断功能及其编程的概要。

S7-200的中断能力中断源在CPU 212中,可有下述六种不同的中断源:1.二个I/O事件中断(I0.0的上升沿和下降沿);2.一个定时中断;3.二个串行通信中断(port 0的接收和发送);4.一个高速计数器HSC0中断。

在CPU 214中,可有下述21种不同的中断源:1.八个I/O事件中断(I0.0—I0.3的上升沿和下降沿);2.二个定时中断;3.二个串行通信中断(port 0的接收和发送);4.七个高速计数器中断;5.二个脉冲输出中断(PLS0和PLS1脉冲计数完成)。

在CPU 215中,可有下述24种不同的中断源:1.八个I/O事件中断(I0.0—I0.3的上升沿和下降沿);2.二个定时中断;3.二个串行通信中断(port 0的接收和发送);4.七个高速计数器中断;5.二个脉冲输出中断(PLS0和PLS1脉冲计数完成);6.定时器T32和T96的CT=PT的二个中断;7.一个port 0的完成接收信息中断。

在CPU 216中除具有CPU 215的24种不同的中断源外,还具有下述三个不同的中断源:1.Port 1的完成接收信息中断;2.Port 1接收字符中断;3.Port 1完成发送的中断。

中断的优先级S7-200中的中断优先级别从大的方面可按下列顺序分级:通信(最高级);I/O(含HSC和脉冲序列输出);定时(最低级);在每一级又按表所示的级别分级。

** 如果时间12(HSC0,PV=CV)连接到一个中断,则事件0和1都不能连接到中断链中。

相反,如果事件0和1被连接到中断,则事件12就不能连接到中断链中。

优先级还有下列约定:1.在指定的优先级内按先来先服务的原则;2.任何情况下只执行一个中断服务程序,即没有中断嵌套功能(即在执行一个中断服务程序过程中不能再响应并执行另一中断服务程序);3.一个中断正在处理时又有若干中断的申请,则需要按级别分别排列(形成队列),待以后陆续处理。

PLC应用技术-S7-200的功能指令

PLC应用技术-S7-200的功能指令

5.1 程序控制类指令
三、子程序调用指令
1.建立子程序 2.子程序调用 3.带参数的子程序调用
5.1 程序控制类指令
1. 建立子程序
(1)从“编辑”菜单,选择插入→子程序; (2)从“指令树”,用鼠标右键单击“程序
块”图标,并从弹出菜单选择插入→子程序 ; (3)从“程序编辑器”窗口,用鼠标右键单 击,并从弹出菜单选择插入→ 子程序。
一、系统控制类指令 二、跳转、循环指令 三、子程序调用指令 四、顺序控制指令
5.1 程序控制类指令
一、系统控制类指令 1. 结束指令
• 结束指令有两条:END和MEND。两 条指令在梯形图中以线圈形式编程。
• END,条件结束指令。使能输入有效 时,终止用户主程序。
• MEND无条件结束指令。无条件终止 用户程序的执行,返回主程序的第一 条指令。
5.1 程序控制类指令
2. 子程序调用
(1)子程序调用和返回指令 ➢ 子程序调用 SBR ➢子程序条件返回 CRET
5.1 程序控制类指令
3. 带参数的子程序调用
(1)子程序参数 (2)局部变量的类型 (3)数据类型 (4)建立带参数子程序的局部变量表 (5)带参数子程序调用指令
5.1 程序控制类指令
PLC 应用技术 第五章 S7-200的功能指令
本章主要内容
• 5.1 程序控制类指令 • 5.2 中断指令 • 5.3 高速计数器 • 5.4 高速脉冲输出
本章学习要求
重点内容: S7-200功能指令的作用及使用方法
了解内容: 系统控制类指令的应用
难点内容: 高速计数器指令
5.1 程序控制类指令
• 指令格式:WDR(无操作数)
5.1 程序控制类指令

S7-200PLC的功能指令和运算指令

S7-200PLC的功能指令和运算指令

SMB76
状态字节,在PTO方式下,跟踪 脉冲串的输出状态
SMB67
SMB77
控制字节,控制PTO/PWM脉 冲输出的基本功能
PTO/PWM的周期值,字型, SMW68 SMW78 范围:2~65535,16位无符号

Q0.0的 Q0.1的 寄存器 寄存器
名称及功能描述
SMW70
SMW80
PWM的脉宽值,字型,范围0 ~65535,16位无符号数
● 1个 16位的脉宽值(SMW70、 SMW80)
● 1个 32位的脉冲数量(SMD72、 SMD82) 对于多段 PTO,还有
● 1个 8位的段字节(SMW166、
这些参数存放在系统指定的特殊标志寄存器中
表7-17 相关寄存器功能表
Q0.0的 Q0.1的 寄存器 寄存器
名称及功能描述
SMB66
S7-200PLC 的复杂功能指令
§7-12 高速脉冲输出指令
1. 高速脉冲输出的几个概念 1) 高速脉冲输出的形式
● 高速脉冲串输出 PTO :
( Pulse Train Output )
输出指定数量,占空比为50% 的方波脉冲串 。
● 宽度可调脉冲输出 PWM :
( Pulse Width Modulation )
●单段PTO:定义一个脉冲串,输出一个脉冲 串 (特性参数通过特殊寄存器分别定义) 。
●多段PTO:集中定义多个脉冲串,按顺序输 出多个脉冲串(特性参数通过包络表集中定义) 。
▲单段PTO 实现的方法
用指定的特殊标志寄存器定义脉冲串特性参 数(每次定义一个脉冲串)。一个脉冲串输出 完成后,产生中断。在中断服务程序中再为下 一个脉冲串更新参数,输出下一个脉冲串。

第九章_S7-200系列PLC程序控制指令

第九章_S7-200系列PLC程序控制指令
SCRE
Network13 S0.3 I0.2 R
1
4. 顺序控制指令编程要点
(1) 顺序控制指令的操作数为顺控继电器S,也称为状态器,每一个S位都表 示状态转移图中一个SCR段的状态。S的范围是S0.0~S31.7。各SCR段的程序能 否执行取决于对应的S位是否被置位。若需要结束某个SCR段,需要使用 SCRT 指令或对该段对应的S位进行复位操作。 (2) 要注意不能把同一个S位在一个程序中多次使用。例如在主程序中使用了 S0.1,在子程序中就不能再次被使用。 (3) 状态图中的顺控继电器S位的使用不一定要遵循元件的顺序,即可以任意 使用各S位。但编程时为避免在程序较长时各S位重复,最好做到分组、顺序使用 。 (4) 每一个SCR段都要注意3个方面的内容。 ① 本SCR段要完成什么样的工作? ② 什么条件下才能实现状态的转移? ③ 状态转移的目标是什么?
I0.0 Network2
1 JMP
Network1 LD I0.0 JMP 1 Network2
Network7 I1.2 Network8 1 LBL
Network7
Q2.0
LD =
I1.2 Q2.0
Network8 LBL 1
4) 指令说明 (1) JMP和LBL指令必须成对使用于主程序、子程序或中断程序中。主 程序、子程序或中断程序之间不允许相互跳转。若在步进程序中使用跳转指 令,则必须使JMP和LBL指令在同一个SCR段中。
SCR
S0.0 S
1
Network15 S0.3
SCR
Q0.3接通
Network16 SM0.0
Q0.3
Network3 SM0.0
Q0.0
Network17 S0.4 I0.5

电气控制与PLC应用技术第六章 S7-200PLC的功能指令及使用(201709)

电气控制与PLC应用技术第六章 S7-200PLC的功能指令及使用(201709)

转换指令
(1) BCD码与整数的转换 无符号操作 BCD码转为整数(BCDI)指令,将输入 端(IN)指定的BCD码转换成整数,并将
BCD-I EN ENO
IN OUT
结果存放到输出端(OUT)指定的存储单 BCDI OUT 元中去。输入数据的范围是0到9999
(BCD码)。
整数转为BCD码(IBCD)指令,将输入端
I0.0
IN1与OUT 不是同一地 址单元
ADD_I EN ENO
AC1 IN1 AC0 IN2
OUT AC0
MUL
EN
ENO
AC1 IN1 OUT VD100
VW102 IN2
DIV EN ENO
VW202 IN1 VW120 IN2
OUT VD200
DIV_R
EN
ENO
VD300 IN1 VD130 IN2
1. 传送指令
数据传送指令 数据块传送指令 交换字节指令 传送字节立即读、写指令
1. 数据传送指令
MOV-B EN ENO
IN OUT
MOV-W EN ENO
IN OUT
MOV-DW EN ENO
IN OUT
MOV-R EN ENO
IN OUT
MOVB IN,OUT MOVW IN,OUT MOVDW IN,OUT MOVR IN,OUT
MUL EN ENO
IN1 OUT IN2
VD200
*I IN1, OUT
*D IN1, OUT
*R IN1, OUT
MUL IN1, OUT
操作数的数据类型: 有符号整数(INT) 有符号双整数(DITN) 实数(REAL)
操作数IN2与OUT

第六章S7-200 PLC的功能指令及使用

第六章S7-200 PLC的功能指令及使用

1.四则运算指令--加法指令
②双整数加法指令 梯形图:
语句表:+D IN1, OUT 功能:当EN=1时,将两个双字长的有符号整数IN1和I N2相加,结果为双字长的有符号整数存入OUT 。
1.四则运算指令--加法指令
③实数加法指令 梯形图:
语句表:+R IN1, OUT 功能:当EN=1时,将两个32位实数IN1和IN2相加, 结果为32位实数存入OUT 。
数据由IN传送到OUT 。
2.数据块传送指令
①字节块传送指令 梯形图:
语句表:BMB IN, OUT, N 功能:当EN=1时,将从IN开始的N个字节型数据 传送到OUT开始的N个字节型存储单元 。
2.数据块传送指令
②字块传送指令 梯形图:
语句表:BMW IN, OUT, N 功能:当EN=1时,将从IN开始的N个字型数据传 送到OUT开始的N个字型存储单元 。
2.数学功能指令—平方根指令
梯形图:
语句表:SQRT IN, OUT 功能:当EN=1时,将双字长的实数IN开平方,结果 为32的实数存入OUT 。
2.数学功能指令—自然指数指令
梯形图:
语句表: EXP IN, OUT 功能:当EN=1时,将双字长的实数IN取e为底的指数, 结果为32的实数存入OUT 。
6.1.1 数据传送指令
1.单一数据传送指令 2.数据块传送指令 3.交换字节指令 4.字节传送立即读、写指令
1.单一数据传送指令
①字节传送指令 梯形图:
语句表:MOVB IN, OUT 功能:当EN=1时,将一个无符号单字节数据
由IN传送到OUT 。
1.单一数据传送指令
②字传送指令 梯形图:
1.四则运算指令—减1指令
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断允许、中断禁止
中断
操作数 无 内存范围 数据范围
错误
持 CPU内存中的指令大小
SIMATIC/国际助记符 编址内存
中断允许(ENI)指令全局性启用所有附加中断事件进程。
中断禁止(DISI)指令全局性禁止所有中断事件进程。
转换至RUN(运行)模式时,中断开始时被禁止。一旦进入RUN(运行)模式, 您可 以通过执行全局中断允许指令,启用所有中断进程。执行中断禁止指令会禁止处 理中 断;但是现用中断事件将继续入队等候。
另请参阅: 中断例行程序细节 队列溢出错误(中断) 中断事件时间间隔赋值 中断事件优先级别表
NETWORK 2 // 如果检测到一则I/O错误,禁用用于I0.0的下降沿中断 // (本网络为选项) LD SM5.0 DTCH 1
NETWORK 3 // 当M5.0打开时,禁用所有的中断 LD M5.0 DISI
NETWORK 1 // 中断0 // I0.0下降沿中断例行程序 // 根据I/O错误执行的有条件返回 LD SM5.0 CRETI
设置ENO = 0的错误条件: 0004 尝试在中断例行程序中执行ENI、DISI或HDEF指令。 另请参阅: 中断例行程序细节 队列溢出错误(中断) 中断事件时间间隔赋值 中断事件优先级别表
LAD
程序举例
FBD
STL
NETWORK 1 // 主程序 // 在首次扫描时,将中断例行程序INT_0定义为 // 下降沿中断,用于I0.0,并全局启用中断 LD SM0.1 ATCH INT_0 1 ENI
相关文档
最新文档