西门子S7-200 PLC指令简介及实例分析
西门子S7-200 PLC的指令系统及指令应用
说明: 根据控制要求,程序在 M0.1 处应该输出 Q0.1,在 M0.2 处也应该输出 Q0.1 如果在 M0.1 及 M0.2 处直接输出 Q0.1,则就范了上面程序双线圈错误, 因此在需要输出 Q0.1 的地方,输出不同的中间继电器,然后把中间继电器的常 开点并联起来,再集中输出一个 Q0.1 的线圈,这样就能避免双线圈的问题。 或者下面的程序也能正确的满足控制要求:
分析: 若 A 先按下按钮, 则 Q0.1 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 若 B 先按下按钮, 则 Q0.2 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 同理,C、D 一样 以下程序是分析后得出的:
地址:苏州吴中宝丰路 1 号
咨询: 400-8169-114
苏州天天自动化 PLC 培训中心
触点指令应用案例 3:
用一个按钮(I0.1)来控制三个输出(Q0.1、Q0.2、Q0.3) 。 当 Q0.1、Q0.2、Q0.3 都为 OFF 时,按第一下 I0.1,则 Q0.1 变为 ON, 按第二下 I0.1,则 Q0.1、Q0.2 变为 ON, 按第三下 I0.1,则 Q0.1、Q0.2、Q0.3 都变 ON 按第四下 I0.1,则 Q0.1、Q0.2、Q0.3 都变为 OFF 状态。 按第五下 I0.1,重复执行如上动作。 试用两种不同的程序设计方法设计其梯形图程序。 以下是分析后得出的程序:
上图梯形图中,”N”此条件只有当 I0.0 由接通→断开的瞬间(也就是上面波形 图中的过程 4 这个状态时)才会接通,其他时刻都不会接通。
应用案例 1:每按一下 I0.1 按钮,变量存储器的数值加 1
西门子s7-200PLC基本指令
15:33
14
15:33
15
2、保持型接通延时定器(TONR)
Txx IN TONR PT
•在输入(IN)收到能流时,从当前值开始计时; •当当前值达到预置值(PT)时,定时器位被置1; •当输入能流断开时停止计时,定时器位、当前值保持不变; •必须用复位指令才能清除定时器位和当前值; •定时器号(Txx)决定了定时器的分辨率。
???
② 置位线圈指令
(S) xxx
???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置1;
当指令没收到能流时,则???指定的位状态不变 。
???
③ 复位线圈指令 (xRxx) ???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置0;
当指令没收到能流时,则???指定的位状态不变 。
1. 基本逻辑指令 2. 堆栈操作指令* 3. 定时器指令 4. 计数器指令 5. 比较指令
15ห้องสมุดไป่ตู้33
2
一、基本逻辑指令
1、触点指令
???
① 检查闭指令 其中???位代表位地址 当???指定地址的数据为1时, 指令结果接通能流; 否则,指令结果断开能流。
???
② 检查开指令 其中???位代表位地址 当???指定地址的数据为0时, 指令结果接通能流; 否则,指令结果断开能流。
15:33
21
2、减计数器减计数指令(CTD)
Cxx CD CTD LD PV
从当前计数值开始,在每一个(CD)输入状态 的低到高时递减计数。
•当CXX的当前值等于0时,计数器位CXX置位。
西门子s7200-PLC-基本指令(比较和表等).
I0.1
SB2
启动按 钮
Q0.1
Q0.2
KM-Y
KM-Δ
交流接触器KMY
交流接触器KMΔ
Y-△降压起动控制(1)
项目三: Y-△降压起动控制(1) PLC接线图
项目三:Y-△降压起动控制(1)
Y-△降压起动控制(2)
Y-△降压起动控制(2)
I/O分配表
输入
输入继电 器
I0.0 I0.1
输出
二、 梯形图程序设计原则
• 梯形图编程的基本规则 梯形图程序由网络组成(逻辑行),每个网络由 一个或几个梯级组成。 从左母线向右以触点开始,以线圈或指令盒结束, 构成一个梯级,触点不能出现在线圈右边 。在一 个梯级中,左右母线之间是一个完整的“电路”, 不允许短路、开路,也不允许“能流”反向流动。
使用一个按钮控制两个灯,第一次按下时,第一盏灯 亮,第二盏灯灭;第二次按下时第一盏灯灭,第二盏 灯亮;第三次按下时两盏灯都两亮;第四次按下时两 盏灯都灭。 I/O分配
输入:I0.0
输出:Q0.0 Q0.1
三台电机 M1,M2, M3,启动时: 先动M1-60 秒后M2动 60秒后M3 启动:停 车时:先 停M3-30秒 后停 M230秒后M1 停。
• 梯形图编程的基本规则 输入点状态由外部输入设备的开关信号驱动,用 户程序不能随意改变 梯形图中同一触点可以多次重复使用 梯形图中同一继电器线圈只能出现一次(置位、 复位除外),通常不能重复使用,若多次使用则 最后一次有效。但它的触点可以无限次使用。即 线圈可以做触点使用,但触点不能做线圈使用。 双线圈输出:在一个程序中,同一继电器线圈出 现两次或两次以上,一般这种情况是不允许的, 但在下列情况下允许双线圈输出: 1、置位和复 位指令中。2、跳转指令中。
西门子s7200PLC编程实例解析
1、起保停控制电路控制要求:按下起动按钮(I0.0为ON),Q0.0为ON;按下停止按钮(I0.1为OFF),Q0.0为OFF。
梯形图见图1。
2、互锁控制电路在如图2所示的互锁电路中,I0.0 I0.1是启动按钮,I0.2是停止按钮。
在图2(a)中,Q0.0和Q0.1通过输出进行互锁,一个得电,另一个必须在停止前一个的基础上才能启动,即只能是先停后启。
在图62(b)中,启动和输出双重互锁。
3、多地控制电路图3所示是一个多地控制电路梯形图。
I0.0、I0.1、I0.2是多地启动按钮,I0.3、I0.4、I0.5是多地停止按钮。
4、顺序控制电路比如有3台电动机,按启动按钮I0.0,3台电动机Q0.0、Q0.1、Q0.2依次启动;按停止按钮I0.1,3台电动机Q0. 0\Q0.1、Q0.2依次反向停止。
这个程序在诸如皮带机控制等顺序控制机械中应用广泛。
顺序控制梯形图如图4所示。
在图中,启动时,I0. 0为ON,用通电延时时间继电器T37通过比较指令来依次启动电动机,当T37的当前值等于100时,即定时10 s时,启动Q0.1,20 s时,启动Q0.2。
停止时,I0.1为ON,用断电延时时间继电器T38通过比较指令来依次反向停止电动机。
5、二分频电路二分频电路也叫单按钮电路。
在许多控制场合,需要对控制信号进行分频,有时为了节省一个输人点,也需要采用此种电路。
图5是实现二分频运行时序控制的两种梯形图。
在图5(a)中,10.0第一一个脉冲到来时,PC第一次扫描,MO.0为ON ,Q0.0为ON ,第二次扫描,00.0自锁;10.0第二个脉冲到来时,PC第一次扫描,MO.0 为ON ,MO.1为ON,Q0.0断开,第二次扫描,M0.0断开,Q0.0保持断开;依次类推。
图5b前面梯形图的原理差不多,不再作说明。
此电路多用于一个按钮控制一盏灯的两种状态。
I0.0下面可并联多个输入按钮,就可实现多个开关控制一盏灯。
S7-200plc的基本指令及编程
**本指令的执行影响的特殊存储器位: SM1.0(零值标志)SM1.1(溢出标志) SM1.2(负值标志)
**影响允许输出ENO正常工作的出错条件: SM1.1(溢出标志)=1 SM4.3(运行时发现编程错误标志)=1 出现错误代码0006(间接寻址错误)
3. 置位和复位指令
置位即置1,复位即置0。这两条指令在使用时需指明三点:操作性质、开 始位和位的数量。
S 置位指令 将位存储区的指定位(位bit)
开始的N个同类存储器位置位
指令格式: S bit, N
R 复位指令
将位存储区的指定位(位bit)开始的
N个同类存储器位复位。
如果是对定时器T位或计数器C位进行 复位,则定时器位或计数器位被复位, 同时,定时器或计数器的当前值被清 零。
堆栈 名称
结构
S0 STACK 0 S1 STACK 1 S2 STACK 2 S3 STACK 3 S4 STACK 4 S5 STACK 5 S6 STACK 6 S7 STACK 7 S8 STACK 8
说明
第一个堆栈(即栈顶) 第二个堆栈 第三个堆栈 第四个堆栈 第五个堆栈 第六个堆栈 第七个堆栈 第八个堆栈 第九个堆栈
OUT
整数加法指令为指令盒,指令名称?EN?ENO? IN1和IN2?数据类型?OUT?数据类型? 当EN有效时执行整数加法操作,
结果为IN1+IN2=OUT
**IN1和IN2的寻址范围: IW、QW、MW、SMW、SW、W、 LW、AIW 、T、C、AC,*VD、*AC 常数。
*******************************************************************
西门子S7-200PLC指令简介及实例分析.
RRW OUT ,N
RRD OUT , N
IN : VB, IB, QB, MB, SB, SMB, LB, AC, 常量。 OUT : VB, IB, QB, MB, SB, SMB, LB, AC 。 数据类型:字节
IN : VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, 常 量。 OUT : VW, IW, QW, MW, SW, SMW, LW, T, C, AC 。 数据类型:字
后取余数),其结果 0-31 为实际移动位数。 ( 4)使 ENO = 0 的错误条件: 0006(间接寻址错误) , SM4.3 (运行时间) 。
表 5-6 循环左、右移位指令格式及功能
LAD
STL 操作 数及 数据 类型
功能
RLB OUT ,N
RLW OUT ,N
RLD OUT , N
RRB OUT ,N
LAD
STL 操作 数及 数据 类型
BMB IN ,OUT
BMW IN , OUT
BMD IN ,OUT
IN : VB, IB, QB, MB, SB, IN : VW, IW, QW, MW, SW, IN/ OUT :VD, ID, QD, MD,
SMB, LB 。
SMW, LW, T, C, AIW 。
存储器输出。在传送过程中不改变数据的大小。传送后,输入存储器
IN 中的内容不变
使 ENO = 0 即使能输出断开的错误条件是: SM4.3 (运行时间) ,0006 (间接寻址错误) 。 【例 5-1】将变量存储器 VW10 中内容送到 VW100 中。程序如图 5-1 所示。
LD
I0.1
MOVW VW10, VW100
S7-200PLC的基本功能指令详解
制表示数值在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之间。
第5章 西门子S7-200PLC的功能指令介绍及应用 《电气控制与PLC技术及其应用》
编码指令将输入字(IN)最低有 效位(其值为1)的位号写入输
出字节(OUT)的低4 位中
ENO=0 的 错误条件
0006 间接地址,SM4.3 运行时间
四、转换指令及典型应用
5.译码和编码指令
图 5-9 例 5-8 译码编码指令应用举例
四、转换指令及典型应用
6.七段显示译码指令
图 5-10 与七段显示码对应的代码
三、移位指令及典型应用
3.移位寄存器指令(SHRB)
图 5-6 例 5-6 梯形图、语句表、时序图及运行结果
三、移位指令及典型应用
3.移位寄存器指令(SHRB)
图 5-7 装料小车运动图
三、移位指令及典型应用
3.移位寄存器指令(SHRB)
功能 启动按钮
输入 元件
SB1
行程开关 SQ1
行程开关 SQ2
二、字节交换、字节立即读写指令及典型应用
2. 字节立即读写指令
表 5-4 字节立即读写指令格式
LAD
STL
功能及说明
BIR IN,OUT
功能:字节立即读; IN:IB; OUT:VB,IB,QB ,MB,SB, SMB,LB,AC;
数据类型:字节
BIW IN,OUT
功能:字节立即写; IN:VB,IB,QB,MB,SB,SMB, LB,AC,常量; OUT:QB;
1.字节、字、双字和实数单个数据传送指令 MOV
数据传送指令的梯形图表示:传送指令由传送符 MOV、数据类型 (B/W/D/R)、传送启动信号 EN、源操作数 IN 和目标操作数 OUT 构成。 其梯形图和语句表表示如表 5-1 所示。
表 5-1 单个数据传送指令 MOV 指令格式
LAD
S7-200PLC子程序指令及应用实例
S7-200PLC子程序指令及应用实例S7-200 PLC把程序主要分为三大类:主程序、子程序和中断程序。
在实际应用中有些程序内容可能被反复使用,对那些需要经常执行的程序段,可设计成子程序的形式,并为每个子程序赋以不同的编号,在程序执行的过程中,可随时调用某个编号的子程序。
子程序的优点在于它可以用于对一个大的程序进行分段及分块,使其成为较小的更易管理的程序块。
程序调试、程序检查和程序维护时,可充分利用这项优势。
子程序只在需要时才被调用、执行。
这样就可以更有效地使用PLC,充分利用CPU的时间。
1)子程序的建立。
可以采用下列方法创建子程序:·在编辑环境的程序块中点击鼠标右键,选择“插入子程序SBR_n”(n的范围为:0~63)。
·从编辑菜单中,选择插入子程序SBR_n。
只要插入了子程序,程序编辑器底部就将出现一个新标签,标志新的子程序名。
此时,可以对新的子程序编程。
2)为子程序定义参数根据子程序有无参数,可以将子程序分为有参子程序和无参子程序,如果该子程序带有参数,就要使用该子程序的局部变量表来定义参数。
S7-200为每个程序都安排了局部变量表,必须利用选定该子程序后出现的局部变量表为该子程序的局部变量,S7-200对其局部变量参数有以下规定:·子程序在带参数调用时,最多可以带16个参数。
每个参数包含变量名、变量类型和数据类型。
这些参数在子程序的局部变量表中进行定义。
·变量名由不超过8个字符的字母和数字组成,但第一个字符必须是字母。
·变量类型:在子程序带参数调用时可以使用4种变量类型,根据数据传递的方向,依次安排这些变量类型在局部变量表中的位置,包含:①IN类型(传入子程序型)。
②IN/OUT类型(传入/传出子程序型,调用子程序时,将指定地址的参数传入子程序,子程序执行结束时,将得到的结果值返回达到同一个地址)。
③OUT类型(传出子程序型)。
④TEMP类型(暂时型,用于在子程序内部暂时存储数据,不能用来与主程序传递参数数据)。
第五章 S7-200PLC基本指令及应用
SB1 SB2 SB3 KM1 I0.0 I0.1 I0.2 L+ 1L 电源
Q0.0
FR
接触器联锁正反转控制电路
电动机的正反转控制
I/O接线图
SB2 正转互锁 反转互锁
KM1 I0.0
Q0.0
正转启动 SB2-I0.0
I2.1
Q1.1
I
I2.3
Q1.2
I
I0.1 I0.2
I
Q2.0 SI 2 Q2.0 RI 2
(三)立即置位和立即复位指令 立即置位指令:从指令所指出的位(bit)开始的N个物理输出点 被立即置位,同时,相应的输出映像寄存器的内容也被刷新。 立即复位指令:从指令所指出的位(bit)开始的N个物理输出点 被立即复位,同时,相应的输出映像寄存器的内容也被刷新。
例:
说明:立即I/O指令是直接访问物 理输入输出点的,比一般指令访 问输入输出映像寄存器占用CPU 时间要长,不能盲目使用。
四、边沿脉冲指令EU和ED
• 正跳指令 EU :检测到脉冲的每一次正跳变后,产生一个扫 描周期的脉冲。 • 指令格式: • 负跳变指令 ED :检测到脉冲的每一次负跳变后,产生一个 扫描周期的脉冲。 • 指令格式: • 应用举例:
SB3
KM2
FR
正转接触器 KM1-Q0.0
KM2 KM1
反转启动 SB3-I0.1
SB1
I0.1
Q0.1
反转接触器 KM2-Q0.1
停止 SB1-I0.2
I0.2 1L 电源
L+
电动机的正反转控制梯形图
I0.0
SB2 I0.0
S7-200_PLC功能指令应用及实例分析
(3)线圈不能直接与左母线相连。如果需要,可以通过特殊内部标志位 存储器SM0.0(该位始终为1)来连接,如图所示。
a)不正确
b)正确
(4)适当安排编程顺序,以减少程序的步数。 1)串联多的支路应尽量放在上部,如图所示。
S7-200_PLC功能指令应用及实例
指令使用说明
(1)梯形图指令符号中:CU为加计数脉冲 输入端;CD为减计数脉冲输入端;R为加计 数复位端;LD为减计数复位端;PV为预置值 (2)Cxxx 为计数器的编号,范围为:
C0~C255 (3)PV预置值最大范围:32767; PV的数据 类型:INT;PV操作数为: VW, T, C, IW,
Y1
M1
S2
S1
M3F M3R
M2
(2)I/O分配 输入
起动按钮:I0.0 停止按钮:I0.3 (常闭按钮) S1按钮:I0.1 S2按钮:I0.2
输出
M1:Q0.0 M2:Q0.1 M3F:Q0.2 M3R:Q0.3 Y1: Q0.4
4.5 比较指令
比较指令是将两个操作数按指定的条件比较,操作数可以 是整数,也可以是实数,在梯形图中用带参数和运算符的 触点表示比较指令,比较条件成立时,触点就闭合,否则 断开。
I0.1
100
C1
C2(Q0.0)
100
100
2000
2. 定时器的扩展
S7-200的定时器的最长定时时间为3276.7S,如果需要更长的 定时时间,可使用图4-59所示的电路。
3. 自动声光报警操作程序
自动声光报警操作程序用于当电动单梁起重机加载到1.1倍额定负荷并 反复运行1h后,发出声光信号并停止运行。程序如பைடு நூலகம்所示。
梯形图
4.6.3 子程序调用及子程序返回指令
在程序中使用子程序,必须执行下列三项任务:建立子程序;在子程序 局部变量表中定义参数(如果有);从适当的POU(从主程序或另一个子 程序)调用子程序。
1. 建立子程序 可采用下列一种方法建立子程序: 1)从“编辑”菜单,选择插入(Insert)/ 子程序(Subroutine) 2)从“指令树”,用鼠标右键单击“程序块”图标,并从弹出菜单选择 插入(Insert)→子程序(Subroutine) 3)从“程序编辑器”窗口,用鼠标右键单击,并从弹出菜单选择插入 (Insert)→ 子程序(Subroutine)。
S7-200系列plc基本指令及逻辑控制应用技术
三组抢答器梯形图:
//儿童组抢得逻辑,除 常闭触点Q1.2, Q1.3外 为基本启-保-停电路
//学生组抢得逻辑,除 常闭触点Q1.1, Q1.3外 为基本启-保-停电路
//教授组抢得逻辑,除 常闭触点Q1.1, Q1.2外 为基本启-保-停电路
//幸运抢得计时
//彩球逻辑,除定时器 T37触电外为基本 启-保-停电路
3) 按下鼓风机停止按钮I0.3, 鼓风机停止工作;
4) 按下引风机停止按钮I0.1, 引风机停止工作;
改进手动顺序起停控制梯形图:
1)把Q0.1的常开触点串联在Q0.2的支路当中, 使Q0.1得电之后,Q0.2才能得电;
2)把Q0.2的常开触点并联在Q0.1的支路当中, 使Q0.2失电之后,Q0.1才能失电;
最大当前值(s) 32.767 327.67 3276.7 32.767 327.67 3276.7
定时器号 T32,T96 T33-T36,T97-T100 T37-T63,T101-T225 T0,T64 T1-T4,T65-T68 T5-T31,T69-T95
定时时间的计算:T=PT×S(T为实际定时时间, PT为预设值,S为精度等级).
输入端口
输出端口
正向启动按钮:I0.0 停止按钮:I0.1
反向启动按钮:I0.2 正向限位开关:I0.3 反向限位开关:I0.4
正向运行控制 : Q0.0 反向运行控制: Q0.1
其他器件
自动往复限位控制梯形图:
自动往复限位控制带延时梯形图:
• 交流异步电动机Y-△降压起动PLC控制:
控制要求:一般大于7.5KW的交流异步电动机,在启动时常采用Y- △ 降压起动。要求按下启动按钮之后,电动机先进行星形连接启动,经 延时5s后,自动切换到三角形连接运转,按下停止按钮后,电动机停 止运转。
S7-200系列PLC的基本指令及应用
3.3.2 PLC编程举例 1. 汽车自动清洗装置 一台汽车自动清洗机的动作如下: 按下起动按钮后,打开喷淋阀门, 同时清洗机开始移动。当检测到汽 车到达刷洗范围时,启动旋转刷子 开始清洗汽车。当检测到汽车离开 清洗机时,停止清洗机移动、停止 刷子旋转并关闭阀门。当按下停止 按钮时,任何时候均立即停止所有 动作。
(2) 参数子程序调用的规则 常数参数必须声明数据类型。 输入或输出参数没有自动数据类型转换功能。 参数在调用时必须按照一定的顺序排列,先是输入参数, 然后是输入输出参数,最后是输出参数。 (3) 变量表使用 按照子程序指令的调用顺序,参数值分配给局部变量 存储器,起始地址是L0.0。使用编程软件时,地址分配是 自动的。 参数子程序调用指令格式为: CALL 子程序, 参数1, 参数2, … 参数n 3.2.7 “与”ENO指令 ENO是LAD中指令块的布尔能流输出端。如果指令块 的能流输入有效,且执行没有错误,ENO就置位,并将能 流向下传递。ENO可以作为允许位,表示指令成功执行。
3.1.9 计数器指令 计数器主要用于累计输入脉冲的次数。S7-200系列 PLC有三种计数器:递增计数器CTU、递减计数器CTD、 增减计数器CTUD。三种计数器共有256个。 1. 递增计数器CTU(Count Up) 指令格式如下: Cn
CU R PV CT U CT U Cn , PV
梯形图指令
3. SFC转换成梯形图 SFC一般不能被PLC软件直接接受,需要将SFC转 换成梯形图后才能被PLC软件所识别。 (1) 进入有效工作步 (2) 停止有效工作步 (3) 最后一个工作步 (4) 工作步的转移条件 (5) 工作步的得电和失电 (6) 选择性分支 (7) 并发性分支 (8) 第0工作步 (9) 动作输出
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-200PLC第5章 S7-200功能指令PLC
码),该信号使数码管显示“4”。
• 3. 字符串转换指令
•
字符串转换指令是实现由ASCII码表示字符串数据与其它数据类
型之间的转换。
• 例:ASCII码转换为十六进制数指令ATH
当EN有效时,把从IN开始的LEN(长度)个字节单元的ASCII码, 相应转换成十六进制数,依次送到OUT开始的LEN个字节存储单元中。
在语句表指令中,IN1和OUT按位与,其结果送入OUT中。 逻辑非指令,把1字节长的无符号数IN按位取反后送OUT中。
• 5.3 移位指令
•
移位指令的作用是对操作数按二进制位进行移位操作,移位指令
包括:左移位、右移位、循环左移位、循环右移位以及移位寄存器指
令。
• 1. 左移和右移指令
• 左移和右移指令的功能是将输入数据IN左移或右移N位,其结果 送到OUT中。移位指令分字节、字、双字移位指令,其指令格式类同。 下面为一般字节移位指令:
• 例如:设S_BIT=V20.5(字节地址为20,位序号为5),N=16 。自定 义移位寄存器地址范围为20.5~22.4,共16位,如图所示。
• 5.4 表功能指令
•
所谓表是指定义一块连续存放数据的存储区,通过专设的表功能指
令可以方便地实现对表中数据的各种操作。
• 1. 填表指令
• 填表指令ATT(Add To Table)用于向表中增加一个数据。
其中,BLKMOV_B为字节块传送梯形图指令标识符;BMB为语句表 指令操作码助记符;
N为字节型数据,表示块的长度 ;IN为字节块起始地址 。
• 2. 填充指令FILL • 填充指令FILL用于处理字型数据。 • 例,在I0.0控制开关导通时,将VW100开始的256个字节全部清0。程
西门子S7-200SMARTPLC功能指令学习及实例分析
西门子S7-200SMARTPLC功能指令学习及实例分析
技成培训
1
定时器
(1)S7-200 SMART CPU提供了接通延时定时器(TON)、保持型接通延时定时器(TONR)、断开延时定时器(TOF)三种定时器。
(2)定时器编号与分辨率
(3)定时器实例分析
①接通延时定时器 TON
②保持型接通延时定时器 TONR
③断开延时定时器 TOF
2
计数器
(1)S7-200 SMART CPU提供了加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD)三种计数器。
(2)计数器实例分析
①加计数器 CTU
②减计数 CTD
③加减计数器 CTUD
3
循环指令
(1)S7-200 SMART CPU提供了FOR-NEXT循环指令用于重复执行程序段。
每条FOR指令需要使用一条NEXT指令,FOR指令表示循环体的开始,NEXT指令表示循环体的结束。
FOR- NEXT循环指令
循环嵌套深度可达8层。
(2)循环指令示例分析
通过调用FOR - NEXT 指令对VW100、VW102、......、VW108 5个INT变量进行求和,求和的结果存放到VW200中。
4
移位和循环指令(1)指令概览
(2)示例分析
①移位指令和循环移位指令的示例分析
②移位寄存器位指令
综上所述,每当M0.0有一个上升沿到来时,从V200.4开始向高
地址方向数的9个位会朝高地址方向移位,I0.0的状态会被送到V200.4中。
HISTORY/。
西门子S7-200PLC第3章S7-200指令
• 3.6 程序控制指令
• 程序控制指令包括:跳转、循环、看门狗、停止、结 束及子程序调用等指令。
•
计数器的编号格式为: Cn (n为常数)
•
例如:C50
• (3)计数器编号在程序中可作为计数器位(输出触点)的状态及 计数器当前所累计的计数脉冲个数,
• 3.4.2 .递增计数器CTU
•
CTU:递增计数器指令助计符;
•
Cn:计数器编号;
•
CU:计数脉冲输入端;
•
R:复位输入端;
•
PV:设定值。
当复位输入(R)无效时,计数器开始对计数脉冲输入(CU)的上升沿 进行加1计数,若计数当前值大于等于设定值(PV)时,计数器位被置ON, 计数器继续计数直到32767;当复位输入(R)有效时,计数器复位,计数器 位变为OFF,当前值清零。
•
比较运是否等于IN2)
•
<>
(比较IN1是否不等于IN2)
•
>
(比较IN1是否大于IN2)
•
<
(比较IN1是否小于IN2)
•
>=
(比较IN1是否大于等于IN2)
•
<=
(比较IN1是否小于等于IN2)
比较指令格式:
例: 网络1:整数比较取指令,IN1为计数器C5的当前值,IN2为常 数20,当C5的当前值大于等于20时,比较指令触点闭合,M0.0=1。
保证每一扫描周期内同一条100ms定时器指令只执行一次。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据处理、运算指令及应用本章要点✍ 数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训 ✍ 算术运算、逻辑运算、递增/递减指令的介绍、应用及实训✍ 表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍5.1 数据处理指令5.1.1 数据传送指令1. 字节、字、双字、实数单个数据传送指令MOV数据传送指令MOV ,用来传送单个的字节、字、双字、实数。
指令格式及功能如表5-1所示。
表5-1单个数据传送指令MOV 指令格式使EN O = 0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。
【例5-1】将变量存储器VW10中内容送到VW100中。
程序如图5-1所示。
LD I0.1MOVW VW10, VW100图5-1例5-1题图2. 字节、字、双字、实数数据块传送指令BLKMOV数据块传送指令将从输入地址IN 开始的N 个数据传送到输出地址OUT 开始的N 个单元中,N 的范围为1至255,N 的数据类型为:字节。
指令格式及功能如表5-2所示。
表5-2 数据传送指令BLKMOV 指令格式使ENO= 0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。
【例5-2】程序举例:将变量存储器VB20开始的4个字节(VB20- VB23)中的数据,移至VB100开始的4个字节中(VB100-VB103)。
程序如图5-2所示。
LAD STLLD I0.0BMB VB20 ,VB100, 4图5-2 例5-2图程序执行后,将VB20~VB23中的数据30、31、32、33送到VB100~VB103。
执行结果如下:数组1数据 30 31 32 33数据地址 VB20 VB21 VB22 VB23块移动执行后:数组2数据 30 31 32 33数据地址 VB100 VB101 VB102 VB1035.1.2 字节交换、字节立即读写指令1. 字节交换指令字节交换指令用来交换输入字IN 的最高位字节和最低位字节。
指令格式如表5-3所示。
表5-3 字节交换指令使用格式及功能ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间) 【例5-3】字节交换指令应用举例。
如图5-3所示。
程序执行结果:指令执行之前VW50中的字为:D6 C3指令执行之后VW50中的字为:C3 D62. 字节立即读写指令字节立即读指令(MOV-BIR)读取实际输入端IN给出的1个字节的数值,并将结果写入OUT所指定的存储单元,但输入映像寄存器未更新。
字节立即写指令从输入IN所指定的存储单元中读取1个字节的数值并写入(以字节为单位)实际输出OUT端的物理输出点,同时刷新对应的输出映像寄存器。
指令格式及功能如表5-4所示。
表5-4字节立即读写指令格式存取扩展模块。
5.1.3 移位指令及应用举例移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。
前两类移位指令按移位数据的长度又分字节型、字型、双字型3种。
1. 左、右移位指令左、右移位数据存储单元与SM1.1(溢出)端相连,移出位被放到特殊标志存储器SM1.1位。
移位数据存储单元的另一端补0。
移位指令格式见表5-5。
(1)左移位指令(SHL)使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向左移N位后(右端补0),将结果输出到OUT所指定的存储单元中,如果移位次数大于0,最后一次移出位保存在“溢出”存储器位SM1.1。
如果移位结果为0,零标志位SM1.0置1。
(2)右移位指令使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向右移N位后,将结果输出到OUT 所指定的存储单元中,移出位补0,最后一移出位保存在SM1.1。
如果移位结果为0,零标志位SM1.0置1。
(3)使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间)5-5 移位指令格式及功能说明:在STL指令中,若IN和OUT指定的存储器不同,则须首先使用数据传送指令MOV将IN中的数据送入OUT所指定的存储单元。
如:MOVB IN,OUTSLB OUT,N2. 循环左、右移位指令循环移位将移位数据存储单元的首尾相连,同时又与溢出标志SM1.1连接,SM1.1用来存放被移出的位。
指令格式见表5-6。
(1)循环左移位指令(ROL)使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。
当需要移位的数值是零时,零标志位SM1.0为1。
(2)循环右移位指令(ROR)使能输入有效时,将IN输入无符号数(字节、字或双字)循环右移N位后,将结果输出到OUT所指定的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。
当需要移位的数值是零时,零标志位SM1.0为1。
(3)移位次数N≥数据类型(B、W、D)时的移位位数的处理如果操作数是字节,当移位次数N≥8时,则在执行循环移位前,先对N进行模8操作(N除以8后取余数),其结果0-7为实际移动位数。
如果操作数是字,当移位次数N≥16时,则在执行循环移位前,先对N进行模16操作(N除以16后取余数),其结果0-15为实际移动位数。
如果操作数是双字,当移位次数N≥32时,则在执行循环移位前,先对N进行模32操作(N除以32后取余数),其结果0-31为实际移动位数。
(4)使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间)。
表5-6 循环左、右移位指令格式及功能说明:在STL指令中,若IN和OUT指定的存储器不同,则须首先使用数据传送指令MOV将IN中的数据送入OUT所指定的存储单元。
如:MOVB IN,OUTLB OUT,N【例5-4】程序应用举例,将AC0中的字循环右移2位,将VW200中的字左移3位。
程序及运行结果如图5-4所示。
图5-4 例5-4题图【例5-5】用I0.0控制接在Q0.0~Q0.7上的8个彩灯循环移位,从左到右以0.5s的速度依次点亮,保持任意时刻只有一个指示灯亮,到达最右端后,再从左到右依次点亮。
分析:8个彩灯循环移位控制,可以用字节的循环移位指令。
根据控制要求,首先应置彩灯的初始状态为QB0=1,即左边第一盏灯亮;接着灯从左到右以0.5s的速度依次点亮,即要求字节QB0中的“1”用循环左移位指令每0.5s移动一位,因此须在ROL-B指令的EN端接一个0.5s的移位脉冲(可用定时器指图5-5 例5-5题图令实现)。
梯形图程序和语句表程序如图5-5所示。
LD SM0.1 //首次扫描时MOVB 1, QB0 //置8位彩灯初态LD I0.0 //T37产生周期为AN T37 0.5s的移位脉冲TON T37, +5LD T37 //每来一个脉冲RLB QB0, 1 彩灯循环左移1位3. 移位寄存器指令(SHRB)移位寄存器指令是可以指定移位寄存器的长度和移位方向的移位指令。
其指令格式如图5-6所示。
说明:(1)移位寄存器指令SHRB将DATA数值移入移位寄存器。
梯形图中,EN为使能输入端,连接移位脉冲信号,每次使能有效时,整个移位寄存器移动1位。
DATA为数据输入端,连接移入移位寄存器的二进制数值,执行指令时将该位的值移入寄存器。
S_BIT指定移位寄存器的最低位。
N指定移位寄存器的长度和移位方向,移位寄存器的最大长度为64位,N为正值表示左移位,输入数据(DA TA)移入移位寄存器的最低位(S_BIT),并移出移位寄存器的最高位。
移出的数据被放置在溢出内存位(SM1.1)中。
N为负值表示右移位,输入数据移入移位寄存器的最高位中,并移出最低位(S_BIT)。
移出的数据被放置在溢出内存位(SM1.1)中。
(2)DA TA和S-BIT的操作数为I, Q, M, SM, T, C, V, S, L 。
数据类型为:BOOL变量。
N的操作数为VB, IB, QB, MB, SB, SMB, LB, AC, 常量。
数据类型为:字节。
(3)使ENO = 0的错误条件:0006(间接地址),0091(操作数超出范围),0092(计数区错误)。
(4)移位指令影响特殊内部标志位:SM1.1(为移出的位值设置溢出位)。
【例5-6】移位寄存器应用举例。
程序及运行结果如图5-7所示。
?溢出位(SM1.1)S-BITI0.1S-BITI0.1S-BITI0.1溢出位(SM1.1)溢出位(SM1.1)溢出位第一次移位第一次移位后第二次移位后第一次移位前时序图MB10?MB10?MB10?I0.0?I0.1图5-7 例5-6梯形图、语句表、时序图及运行结果【例5-7】用PLC构成喷泉的控制。
用灯L1~L12分别代表喷泉的12个喷水注。
(1)控制要求:按下起动按钮后,隔灯闪烁,L1亮0.5秒后灭,接着L2亮0.5秒后灭,接着L3亮0.5秒后灭,接着L4亮0.5秒后灭,接着L5、L9亮0.5秒后灭,接着L6、L10亮0.5秒后灭,接着L7、L11亮0.5秒后灭,接着L8、L12亮0.5秒后灭,L1亮0.5秒后灭,如此循环下去,直至按下停止按钮。
如图5-8所示。
?图5-8 喷泉控制示意图(2)I/O分配输入输出(常开)起动按钮:I0.0 L1:Q0.0 L5、L9:Q0.4(常闭)停止按钮:I0.1 L2:Q0.1 L6、L10:Q0.5L3:Q0.2 L7、L11:Q0.6L4:Q0.3 L8、L12:Q0.7(3)喷泉控制梯形图梯形图程序如图5-10所示。
分析:应用移位寄存器控制,根据喷泉模拟控制的8位输出(Q0.0~Q0.7),须指定一个8位的移位寄存器(M10.1~M11.0),移位寄存器的S-BIT位为M10.1,并且移位寄存器的每一位对应一个输出。
如图5-9所示。
DATA图5-9 移位寄存器的位与输出对应关系图在移位寄存器指令中,EN 连接移位脉冲,每来一个脉冲的上升沿,移位寄存器移动一位。
移位寄存器应0.5s 移一位,因此需要设计一个0.5s 产生一个脉冲的脉冲发生器(由T38构成)。
M10.0为数据输入端DATA ,根据控制要求,每次只有一个输出,因此只需要在第一个移位脉冲到来时由M10.0送入移位寄存器S-BIT 位(M10.1)一个“1”,第二个脉冲至第八T38构成0.5s 产生一个机器扫描周期脉冲的脉冲发生器 8位的移位寄存器 移位寄存器的每一位 对应一个输出?图5-10 例5-7喷泉模拟控制梯形图个脉冲到来时由M10.0送入M10.1的值均为“0”,这在程序中由定时器T37延时0.5s 导通一个扫描周期实现,第八个脉冲到来时M11.0置位为1,同时通过与T37并联的M11.0常开触点使M10.0置位为1,在第九个脉冲到来时由M10.0送入M10.1的值又为1,如此循环下去,直至按下停止按钮。