西门子S7_200PLC指令简介与实例分析
西门子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置位。
西门子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-200基本指令(修正版)
第4章 基本指令
4.1 位操作类指令 4.2 运算指令 4.3 其他数据处理指令 4.4 表功能指令 4.5 转换指令
第4作及运算指令, 与时也涉及与位操作亲密有关旳定时器和计数 器指令等。
l 运算指令,涉及常用旳算术运算和逻辑运算 指令。
第4章 基本指令
1. 栈装载与指令
ALD,栈装载与指令(与块)。在梯形图中用于将并联 电路块进行串联连接。 在语句表中指令ALD执行情况如表4.8所示。
第4章 基本指令
2. 栈装载或指令
OLD,栈装载或指令(或块)。在梯形图中用于 将串联电路块进行并联连接。 在语句表中指令OLD执行情况如表4.9所示。
第4章 基本指令
可编程序控制器中旳 堆栈与计算机中旳堆 栈构造相同,堆栈是 一组能够存储和取出 数据旳临时存储单元。 堆栈旳存取特点是 “ 后 进 先 出 ” , S7200可编程序控制器旳 主机逻辑堆栈构造如 表4.3所示。
第4章 基本指令
1. 原则触点指令
(1)LD:装入常开触点(LoaD) (2)LDN:装入常闭触点(LoaD Not) (3)A:与常开触点(And) (4)AN:与常闭触点(And Not)。 (5)O:或常闭触点(Or) (6)ON:或常闭触点(Or Not) (7)NOT:触点取非(输出反相) (8)= :输出指令
输出刷新
扫描周期 n 扫描周期 n+1 扫描周期 n+2
扫描周期 n+3
输入扫描
输入扫描
输入扫描
输入扫描
输入扫描
I0.0
Q0.0 Q0.1 Q0.2 Q0.3
图4.10 时序图
返回本节
第4章 基本指令
复杂逻辑指令
西门子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
7-西门子S7-200系列PLC应用指令解析
电气控制与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-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-200SMARTPLC常用编程指令汇总
「干货分享」西门子S7-200SMARTPLC常用编程指令汇总
01一、定时器
1、S7-200 SMART CPU提供了接通延时定时器、(TON)、保持型接通延时定时器(TONR)、断开延时定时器(TOF)三种定时器。
2、定时器编号与分辨率
3、定时器实例分析
(1)接通延时定时器TON
(2)保持型接通延时定时器TONR
(3)断开延时定时器TOF
02二、计数器
1、S7-200 SMART CPU提供了加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD)三种计数器。
2、计数器实例分析
(1)加计数器CTU
(2)减技数CTD
(3)加减计数器CTUD
03三、循环指令
1、S7-200 SMART CPU提供了FOR-NEXT循环指令用于重复执行程序段。
每条FOR指令需要使用一条NEXT指令,FOR指令表示循环体的开始,NEXT指令表示循环体的结束。
FOR- NEXT循环指令循环嵌套深度可达8层。
2、循环指令示例分析
通过调用FOR - NEXT 指令对VW100、VW102、......、VW108 5个INT变量进行求和,求和的结果存放到VW200中。
04四、移位和循环指令
1、指令概览
2、示例分析
(1)移位指令和循环移位指令的示例分析
(2)移位寄存器位指令
综上所述,每当M0.0有一个上升沿到来时,从V200.4开始向高地址方向数的9个位会朝高地址方向移位,I0.0的状态会被送到V200.4中。
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-200 PLC指令学习(1)
西门子S7-200 PLC指令学习S7-200系列的基本逻辑指令S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。
表S7-200系列的基本逻辑指令S7-200系列PLC的比较指令在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。
当满足比较等式,则该触点闭合。
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。
若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令: >、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。
比如:①(30007)>(40030)②(30007)=(40030)③ (30007)<(40030)①+②(30007)≥②+③(30007)≤(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
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-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定时器指令只执行一次。
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-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程序详解
S7-200P L C程序详解-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIANS7-200PLC程序详解(图文并貌)一、时间继电器:TON使能=1计数,计数到设定值时(一直计数到32767),定时器位=1。
使能=0复位(定时器位=0)。
TOF使能=1,定时器位=1,计数器复位(清零)。
使能由1到0负跳变,计数器开始计数,到设定值时(停止计数),定时器位=0。
如下图:图1:使能=1时,TOF(T38)的触点动作图图2:使能断开后,计数到设定值后,TOF(T38)的触点动作图(其中T38常开触点是在使能由1到0负跳变后计数器计时到设定值后变为0的)TONR使能=1,计数器开始计数,计数到设定值时,计数器位=1。
使能断开,计数器停止计数,计数器位仍为1,使能位再为1时,计数器在原来的计数基础上计数。
以上三种计数器可以通过复位指令复位。
正交计数器A相超前B相90度,增计数B相超前A相90度,减计数当要改变计数方向时(增计数或减计数),只要A相和B相的接线交换一下就可以了。
二、译码指令和编码指令:译码指令和编码指令执行结果如图所示:DECO是将VW2000的第十位置零(为十进制的1024),ENCO输入IN最低位为1的是第3位,把3写入VB10(二进制11)。
三、填表指令(ATT)S7-200填表指令(ATT)的使能端(EN)必须使用一个上升沿或下降沿指令(即在下图的后加一个上升沿或下降沿),若单纯使用一个常开触点,就会出现以下错误:这一点在编程手册中也没有说明,需要注意。
其他的表格指令也同样。
四、数据转换指令使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。
如下图所示为数据的大小及其范围。
(1)BCD码转化为整数(BCD_I)关于什么是BCD码,请参看《关于BCD码》。
BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。
西门子s7200-PLC-基本指令(比较和表等).
梯 形 图
装载 LDB= IN1, LDW <>IN1, LDD<IN1, IN2 IN2 IN2 AB= IN1, IN2 AW<>IN1, IN2 LDR>= IN1, IN2 AR>= IN1, IN2
串联 并联
AD < IN1, IN2 OD < IN1, IN2
OB= IN1, IN2
OW<> IN1, ILeabharlann 2LD LD LD CTUD
I0.0 I0.1 I0.2
//增计数输入端 //减计数输入端 //复位输入端 //增减计数, //设定脉冲数 //为 10000。
C30, +10000
6000
LDW>=
C30, VW20
//比较计数器 //当前值是否大于 //VW20 中的值
= LDW>=
2.3 电动机的顺序启动、逆序停止
I/O分配表:
输入
输入继电 器 I0.0 I0.1 I0.2 输入 元件 SB1 SB2 SB3
2.3 电动机的顺序启动、逆序停止
输出
输出继 电器 电机1停止 Q0.0
按钮 电机2停止 按钮 电机1起动 按钮
作用
作用 输出 元件 KM1 电机1运行用交流
接触器
Q0.1
Q0.1
KM2 电机2运行用交流
接触器
I0.3
SB4
电机2起动 按钮
2.2 电动机的顺序启动、顺序停止 PLC接线图:
梯形图
2.2 电动机的顺序启动、顺序停止
2.3 电动机的顺序启动、逆序停止
控制要求: 电动机1启动后,电动机2才能启动;若 电动机1不启动,电动机2无法启动。电 动机2停止后,电动机1才能停止;若电 动机2不停止,则电动机1无法停止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据处理、运算指令及应用本章要点l 数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训l 算术运算、逻辑运算、递增/递减指令的介绍、应用及实训l 表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍5.1 数据处理指令5.1.1 数据传送指令1. 字节、字、双字、实数单个数据传送指令MOV数据传送指令MOV,用来传送单个的字节、字、双字、实数。
指令格式及功能如表5-1所示。
表5-1单个数据传送指令MOV指令格式使ENO = 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指令格式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字节立即读写指令格式使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间)。
注意:字节立即读写指令无法存取扩展模块。
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所指定的存储单元。
如:OVB IN,OUTLB 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 ,OUT LB 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 的移位脉冲(可用定时器指LADSTL RLB OUT ,N RRB OUT ,NRLW OUT ,N RRW OUT ,NRLD 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 。
数据类型:字IN :VD, ID, QD, MD, SD, SMD, LD, AC, HC, 常量。
OUT :VD, ID, QD, MD, SD, SMD, LD, AC 。
数据类型:双字N :VB, IB, QB, MB, SB, SMB, LB, AC, 常量;数据类型:字节。
功能 ROL :字节、字、双字循环左移N 位;ROR :字节、字、双字循环右移N 位。
图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为正值表示左移位,输入数据(DATA)移入移位寄存器的最低位(S_BIT),并移出移位寄存器的最高位。
移出的数据被放置在溢出存位(SM1.1)中。
N为负值表示右移位,输入数据移入移位寄存器的最高位中,并移出最低位(S_BIT)。
移出的数据被放置在溢出存位(SM1.1)中。
(2)DATA和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)溢出位第一次移位第一次移位后第二次移位后第一次移位前时序图MB10MB10MB10I0.0I0.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,并且移位寄存器的每一位对应一个输出。