S7-200的功能指令应用

合集下载

西门子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-200 PLC指令简介及实例分析

西门子S7-200 PLC指令简介及实例分析

数据处理、运算指令及应用本章要点✍ 数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训 ✍ 算术运算、逻辑运算、递增/递减指令的介绍、应用及实训✍ 表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍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 的最高位字节和最低位字节。

plc第七章7.基本指令及应用

plc第七章7.基本指令及应用

逻辑堆栈指令


S7-200可编程序控制器使用一个逻辑堆栈来 分析控制逻辑,用语句表编程时要根据这一堆 栈逻辑进行组织程序,用相关指令来实现堆栈 操作,用梯形图和功能框图时,程序员不必考 虑主机的这一逻辑,这两种编程工具自动地插 入必要的指令来处理各种堆栈逻辑操作。 S7-200可编程序控制器的主机逻辑堆栈结构如 表7-1所示。
基本逻辑指令

基本逻辑指令一般指位逻辑指令、定时器指令 及计数器指令。位逻辑指令又含触点指令、线 圈指令、逻辑堆栈指令、RS触发器指令等。这 些指令处理的对象大多为位逻辑量,主要用于 逻辑控制类程序中。
位逻辑指令



1.标准触点指令 标准触点指令有LD、LDN、A、AN、O、ON、NOT、 =指令(语句表)。这些指令对存储器位在逻辑堆栈 中进行操作。 由于堆栈存储单元数的限制,语句表中A、O、AN、 ON指令最多可以连用有限次。同样,梯形图中,最多 一次串联或并联的触点数也有一定限制,功能框图中 AND和OR指令盒中输入的个数也不能超过这个范围 标准触点指令中如果有操作数,则为BOOL型,操作 数的编址范围可以是:I、Q、M、SM、T、C、S、 VL。
//装入常开触点 //或常开触点 //被串的块开始 //被并路开始 //与常开触点 //栈装载或,并路结束 //栈装载与,串路结束 //输出触点 //装入常开触点 //逻辑推入栈,主控 //与常开触点 //输出触点 //逻辑读栈,新母线 //装入常开触点 //或常开触点 //栈装载与 //输出触点 //逻辑弹出栈,母线复 //装入常开出触点 //或常开触点 //栈装载与 //输出触点

5、LRD(逻辑读栈指令)Logic Read LRD,逻辑读栈指令。把堆栈中第二级的值复 制到栈顶。堆栈没有推入栈或弹出栈操作,但 原栈顶值被新的复制值取代。在梯形图中的分 支结构中,当左侧为主控逻辑块时,开始第二 个和后边更多的从逻辑块。应注意,LPS后第 一个和最后一个从逻辑块不用本指令。

第5章S7-200 PLC的基本指令及应用

第5章S7-200 PLC的基本指令及应用

2) 访问方式指出操作数是按位、字节、字或双字 访问的。当按位访问时,可用操作数位置形式 加以区分。访问方式按如下符号表示: X:位 B:字节 W:字 D:双字 3) 操作数的位置指明了操作数在此存储区的确切 位置,操作数的位置用数字来指明,以字节为 单位计数。
2.梯形图指令格式
梯形图是一种图形语言,不仅支持对存储区域 的按位、字节、字、双字的访问方式,同时也支 持整数、实数、字符串、表格等高级数据类型。 指令用三种图形风格进行描述。 (1)位指令和逻辑运算比较指令的格式
(2)位寻址格式
按位寻址时的格式为:Ax.y,使用时必须指定 元件名称 A、字节地址x和位号y。
可以进行位寻址的编程元件: 输入继电器(I)、输出继电器(Q)、通用辅助继电 器(M)、特殊继电器(SM)、局部变量存储器(L)、变 量存储器(V)和顺序控制继电器 (S)。
图5-6 CPU存储器中位数据表示方法举例(位寻址)
4)定时器位:与其他继电器的输出相似。当定 时器的当前值达到设定值PT时,定时器的触点 动作。 5)定时器当前值:存储定时器当前所累积的时 间,它用16位符号整数来表示,最大计数值为 32767。 6)定时器的分辨率和编号如表5-9所列。通过 该表可知定时器的编号一旦确定,其对应的分 辨率也就随之确定。
定时器定时时间T 的计算:T=PT×S。式中:T 为实际定时时间,PT为设定值,S为分辨率。例 如:TON指令使用T33(为10ms的定时器),设 定值为100 ,则实际定时时间为 T= 100×10ms=1000ms 定时器的设定值PT的数据类型为INT型。操作数 可为:VW、IW、QW、MW、SW、SMW、LW、AIW、T 、C、AC、*VD、*AC、*LD或常数,其中常数最 为常用。 3)定时器的编号。定时器的编号用定时器的名 称和数字(0~255)来表示,即T***,如T37。 定时器的编号包含定时器位和定时器当前值两 方面的信息。

电气控制与PLC S7-200 第2版 第六章 S7-200 PLC功能指令及应用

电气控制与PLC S7-200 第2版 第六章 S7-200 PLC功能指令及应用
SM1.2(负);SM1.3(除数为0)。 ➢ 使能流输出ENO断开的出错条件:0006(间接寻址);SM1.1(溢出);
SM1.3(除数为0);SM4.3(运行时间)。 (1)整数乘法指令:*I
➢使能输入有效时,将两个单字长(16 位)的符号整数IN1和IN2相乘,产生一 个16位整数结果OUT。 指令格式:*I IN1, OUT
➢ 使能输入有效时,将两个单字 长(16位)的符号整数IN1和IN2 相 加 , 产 生 一 个 16 位 整 数 结 果 OUT。
电气控制与PLC
➢ 在LAD和FBD中,以指令盒形式编程,执行结果:
IN1+IN2→OUT。

在STL中 ,通 常将 IN2 与OUT公 用一 个地 址单元 ,执 行结果 :
电气控制与PLC
(1)字节传送指令MOVB MOVB指令的功能是在使能输入端EN有效时,在不改变原值的情况
下将由IN指定的一个八位字节数据传送到OUT指定的字节单元中。如 图MOVB指令的应用示例,当I0.0闭合,将16#07传送到VB0中。
电气控制与PLC
(2)字/双字传送指令MOVW/MOVD MOVW/MOVD指令的应用示例如图所示。当I0.0闭合时,将VW100中
4. 除法运算指令
➢ 除法运算指令是对有符号数进行相除操作。包括:整数除法、完全 整数除法、双整数除法和实数除法。这四种除法指令与所对应的乘法 指令除运算法则不同之外,其他方面基本相同。 ➢ 除法指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出); SM1.2(负);SM1.3(除数为0)。
电气控制与PLC
LD I0.0 //使能输入端 *I VW0, VW2 //整数乘法
//VW0*VW2→VW2

S7-200系列PLC的顺序控制指令及应用

S7-200系列PLC的顺序控制指令及应用
液压动力滑台在实际工作时的运动过程一般是:快进——工进——快退。其运动过程由快进、工进、快退三个电磁阀控制,控制系统PLC各I/O功能及地址分配如表7.15所示。机床液压滑台控制系统如图7.50所示。
表7.15液压动力滑台控制系统PLC I/O地址分配
功能名称
动作器件
I/O地址
说明
启动按钮
SB1
I0.0
使用说明:
(1)顺控指令仅对元件S有效,顺控继电器S也具有一般继电器的功能,所以对它能够使用其他指令。
(2)SCR段程序能否执行取决于该状态器(S)是否被置位,SCRE与下一个LSCR之间的指令逻辑不影响下一个SCR段程序的执行。
(3)不能把同一个S位用于不同程序中,例如:如果在主程序中用了S0.1,则在子程序中就不能再使用它。
(1)驱动处理:即在该段状态器有效时,处理相应的工作;有时也可能不做任何工作;
(2)指定转移条件和目标:即满足什么条件后状态转移到何处;
(3)转移源自动复位功能:状态发生转移后,置位下一个状态的同时,自动复位原状态。
顺序控制指令的应用
液压动力滑台在自动机床中被广泛采用,这里以液压动力滑台控制为例来说明顺序功能图设计方法以及顺序控制指令的使用方法。
顺序状态开始
S(位)
SCRT bit
顺序状态转移
S(位)
SCRE
顺序状态结束

CSCRE
条件顺序状态结束

从上表中可以看出,顺序控制指令的操作对象为顺控继电器S,也把S称为状态器,每一个S的位都表示功能图中的一种状态。S的范围为:即S0.0~S31.7。
从LSCR指令开始到SCRE指令结束的所有指令组成一个顺序控制继电器(SCR)段。LSCR指令标记一个SCR段的开始,当该段的状态器置位时,允许该SCR段工作。SCR段必须用SCRE指令结束。当SCRT指令的输入端有效时,一方面置位下一个SCR段的状态器S,以便使下一个SCR段工作;另一方面又同时使该段的状态器复位,使该段停止工作。由此可以总结出每一个SCR程序段一般有三种功能:

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-200_PLC功能指令应用及实例

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基本指令及逻辑控制应用技术

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的基本指令应用举例

S7-200系列PLC的基本指令应用举例
7.2节重点介绍S7-200系列PLC的程序控制指令。通过这一节的学习, 要重点掌握程序的跳转、循环和子程序指令,了解程序跳转、循环指令对 元器件状态的影响。了解看门狗指令的原理和基本应用。需要说明的是, 编程软件会自动在主程序、子程序和中断服务程序结束时加上相应的结束 指令,它不需要人工处理。
7.3节重点介绍延时电路、二分频电路和报警电路的典型应用。希望 通过典型电路的编程学习,使大家掌握S7-200PLC的编程方法。
可编程控制器
S7-200系列PLC的基本指令应用举例
1.1 延时电路
1.延时脉冲产生电路
控制要求:输入信号I0.0满足(ON)后,停一段时间后产 生一个脉冲。该电路常用于获取启动或开关信号。
I0.0
M0.0
P ( ) 过程工作:
利用脉冲指令在I0.0的上升沿产生一
M0.0
Q0.0
M0.1
()
个计时启动脉冲,接下来就是自锁回路。
4.脉冲宽度可控电路
作用:输入信号宽度不规范的情况下,该指令可调节脉冲宽。 注意:如果输入信号的两个上升沿之间的距离小于该脉冲宽度, 则忽略输入信号的第二个上升沿。
应用举例
M0.0 T42 I0.0
M0.0
(
)
M0.0
T42
IN
TON
+20 PT
MO.O T42
Q0.0
(
)
LD M0.0 AN T42 O I0.0 = M0.0 LD M0.0 TON T42,+20 LD M0.0 AN T42
M0.2
Q0.0 ()
此第接之3通行前。时并t,4未时内得刻部电,辅,输助其出继对Q电0应.器0的再M常次0.开2失条触电件点,满处等足于 断得等开电,状。循态M环0。片.2因对复此应。,的输扫常出描闭正程触好序点是至断输第开入3。信行执号时行的,内

S7-200系列PLC的基本指令及应用

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-200指令应用实例

s7-200指令应用实例
4.2.3编程注意事项及编程技巧
1.梯形图语言中的语法规定 (1)程序应按自上而下,从左至右的顺序编写。 (2)同一操作数的输出线圈在一个程序中不能使用两次,不同操作数的输出线圈可以并行输出。如图所示。
(3)线圈不能直接与左母线相连。如果需要,可以通过特殊内部标志位存储器SM0.0(该位始终为1)来连接,如图所示。
3. 定时器指令工作原理
(1)通电延时定时器(TON)指令工作原理。程序及时序分析如图4-45所示。
LD I0.0 TON T37,100 LD T37 = Q0.0
(2)记忆型通电延时定时器(TONR)指令工作原理
LD I0.0 TONR T3,100 LD I0.1 R T3,1 LD T3 = Q0.0
3. 尽量减少可编程控制器的输入信号和输出信号 可编程控制器的价格与I/O点数有关,因此减少I/O点数是降低硬件费用的主要措施。如果几个输入器件触点的串并联电路总是作为一个整体出现,可以将他们作为可编程控制器的一个输入信号,只占可编程控制器的一个输入点。如果某器件的触点只用一次并且与PLC输出端的负载串联,不必将它们作为PLC的输入信号,可以将它们放在PLC外部的输出回路,与外部负载串联。
I0.0
I0.1
Q0.0
输入映像寄存器
起动
停止
I0.0
I0.1
Q0.0
输出映像寄存器
0
1
OFF
OFF
OFF
OFF
OFF
0
LD I0.0 O Q0.0 AN I0.1 = Q0.0
CPU224
I0.0
I0.1
1M
2M
L+
DC24V
1L
Q0.0

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 SMART的功能指令

S7-200  SMART的功能指令
2. S7-200 的指令规约
1.使能输入与使能输出 使能输入端EN有能流流入方框指令时,指令才能被执行。 EN输入端有能流且指令执行时无错误,则使能输出ENO将能流传递给下一 个方框指令或线圈。 语句表用AENO指令来产生与方框指令的ENO相同的效果。删除AENO指 令后,方框指令将由串联变为并联。
2.多重循环 循环最多可以嵌套8层。 在I0.6的上升沿,执行10次外 层循环,如果I0.7为ON,每执行 一次外层循环,将执行8次内层 循环。执行完后,VW10的值 增 加80。
4.4.3 其他指令
1. 条件结束指令与条件停止指令 条件结束指令END的逻辑条件满足时终 止当前的扫描周期。条件停止指令STOP使 CPU从RUN模式切换到STOP模式。 2. GET_ERROR(获取非致命错误代码) 指令很少使用。
【例4-3】压力变送器的压力计算公式为P = 10000×(N – 5530) / 22118(kPa),
N为整数。MUL指令得到的乘积为双整数。用右键菜单命令强制AIW16。
2.递增与递减指令 梯形图中IN + 1 = OUT,语句表中OUT+1=OUT
4.3.2 浮点数函数运算指令
浮点数函数运算指令的输入参数IN与输出参数OUT均为实数。 1.三角函数指令
3.计算程序中的数据转换 压力变送器的量程为0~10MPa,输出信号为0~10V,AI模块的量程为0~
10V,转换后的数字量为0~27648,设转换后的数字为N,压力值转换公式为 P =(10000 N)/ 27648 = 0.36169×N (kPa)
4.解码指令与编码指令 解码指令DECO根据输入字节IN的最低4位表示的位号,将输出字OUT对应 的位置为1,输出字的其他位均为0。16#0008=2#0000 0000 0000 1000。 编码指令ENCO将输入字IN中的最低有效位(为1的位)的位编号写入输出字 节OUT的最低4位。16#0210=2#0000 0010 0001 0000。 存储器填充指令FILL用输入参数IN指定的字值填充从地址OUT开始的N个连 续的字。

s7 200 for指令的用法

s7 200 for指令的用法

s7 200 for指令的用法S7200for指令是西门子PLC编程中常用的指令之一,用于实现循环执行一段程序的功能。

该指令提供了多种循环结构和循环控制方式,能够满足不同应用场景的需求。

本文将详细介绍S7200for指令的用法,帮助读者更好地掌握该指令的应用。

一、基本用法FOR(循环变量)=(起始值)TO(结束值)STEP(步长值)DO(循环体)其中,循环变量是用于标识循环计数器的标识符,起始值和结束值指定了循环计数器的范围,步长值指定了循环计数器的递增值。

循环体是需要重复执行的代码块。

使用S7200for指令时,需要注意以下几点:1.循环变量可以是整数或实数类型,但不能为负数。

2.循环计数器的范围可以根据实际需求进行调整,但必须满足结束值大于起始值且步长值大于等于零的条件。

3.循环体中的代码可以包括各种指令、语句和程序结构,如跳转、条件判断、数据读写等。

二、循环结构S7200for指令提供了三种循环结构:FOR循环、FOR…NEXT循环和WHILE循环。

这些循环结构可以根据实际需求选择使用。

1.FOR循环:适用于需要重复执行一段代码的场景,直到满足特定条件为止。

语法格式与FORDODO算法DO循环体的格式类似。

2.FOR…NEXT循环:该循环结构适用于需要对数据进行遍历的场景,常用于循环读取数组或列表中的元素。

语法格式为FOR变量名=起始值TO结束值DO算法LOOP和ENDLOOP。

3.WHILE循环:该循环结构适用于需要反复检查条件是否满足的场景,当条件满足时执行循环体中的代码,否则跳出循环。

语法格式为WHILE条件DO算法LOOP和ENDLOOP。

三、循环控制S7200for指令提供了多种循环控制方式,包括条件控制、时间控制和手动控制等。

1.条件控制:通过在循环体内添加条件判断语句,根据条件是否满足来决定是否跳出循环或继续执行循环体中的代码。

2.时间控制:通过设定循环执行的时间间隔或累计执行的时间,达到定时执行循环体的目的。

s7 200 for指令的用法 -回复

s7 200 for指令的用法 -回复

s7 200 for指令的用法-回复关于s7 200 for指令的用法概述:S7-200是西门子推出的一款小型可编程控制器(PLC),其for指令用于控制循环。

本文将详细介绍s7 200 for指令的用法,分步解释如何正确地使用并优化这个指令。

第一步:了解for指令的基本语法和功能for指令用于在PLC程序中实现循环控制。

其基本语法如下:for(i:=初始值;i<条件;i:=递增值){执行循环体}其中,i代表循环变量,可以是任意合法的PLC变量,如M、I、Q和DB等。

初始值是循环变量的初始值,条件是循环终止的条件,递增值是每次循环增加或减少的量。

循环体中编写需要重复执行的指令。

第二步:应用for指令实现简单的循环控制下面我们通过一个简单的示例来说明如何使用for指令。

假设我们有一个需要重复执行10次的任务,每次任务执行后需要对一个变量进行累加。

我们可以使用for指令来完成这个任务。

我们首先定义一个变量sum用于存储累加结果,然后使用for指令进行循环控制,每次循环将任务执行结果与sum进行累加。

在PLC编程软件(如SIMATIC STEP 7 MicroWin)中,我们可以按照以下步骤编写PLC程序:1. 声明变量sum为一个合适的数据类型(如整型)。

2. 使用for指令进行循环控制:for(i:=0;i<10;i:=i+1){执行任务并将结果与sum进行累加sum:=sum+任务执行结果;}3. 对sum进行后续处理或输出。

在以上示例中,我们通过for指令实现了一个简单的循环控制,成功完成了对变量sum的累加操作。

第三步:优化for指令的使用在实际应用中,为了提高程序的性能和效率,我们需要注意一些优化for指令的使用方法。

1. 内部变量:在循环体中尽量避免使用过多的内部变量,因为每次循环都要重新声明和初始化内部变量,这会增加程序的运行时间和占用内存。

2. 条件判断:循环条件判断尽量简单明了,避免使用过多的复杂逻辑判断语句,以减少循环判断的时间开销和程序的复杂度。

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

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 程序控制类指令

一、系统控制类指令 二、跳转、循环指令 三、子程序调用指令 四、顺序控制指令
2014-8-13
5.1 程序控制类指令
一、系统控制类指令 1. 结束指令

结束指令有两条:END和MEND。两 条指令在梯形图中以线圈形式编程。
END,条件结束指令。使能输入有效 时,终止用户主程序。 MEND 无条件结束指令。无条件终止 用户程序的执行,返回主程序的第一 条指令。 指令格式:END(无操作数)
PLC 应用技术 第五章 S7-200的功能指令应用
2014-8-13
本章主要内容
5.1 5.2 5.3 5.4

程序控制类指令 中断指令 高速计数器 高速脉冲输出
2014-8-13
本章学习要求
重点内容:
S7-200功能指令的作用及使用方法
了解内容:
系统控制类指令的应用
难点内容:
2014-8-13
5.3 高速计数器
三、高速计数器指令初始化

(1)用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一 个子程序,完成初始化操作。
(2) 在初始化的子程序中,根据希望的控制设置控制字(SMB37、 SMB47、SMB137、SMB147、SMB157)


(3)执行HDEF指令,设置HSC的编号(0-5),设置工作模式(0-11)。
5.3 高速计数器
高速计数器使用原理 原理: 每个高速计数器都有一个32位当前值 和一个32位预置值,当前值和预设值均为 带符号的整数值。要设置高速计数器的新 当前值和新预置值,必须设置控制字节令 其第五位和第六位为1,允许更新预置值和 当前值,新当前值和新预置值写入特殊内 部标志位存储区。然后执行HSC指令,将 新数值传输到高速计数器。
2014-8-13
5.2 中断指令
例5-2 编写由I0.1的上升沿产生的中断事
件的初始化程序。(演示)
例5-3 编程完成采样工作,要求每10ms采
样一次 。 (演示)
2014-8-13
5.3 高速计数器
一. 高速计数器介绍 二. 高速计数指令及应用
2014-8-13
5.3 高速计数器
一. 高速计数器介绍
2014-8-13


5.3 高速计数器
例5-4高速计数器的应用举例
(1)主程序
2014-8-13
(2)初始化的子程序
2014-8-13
5.3 高速计数器
(3)中断程序INT_0
2014-8-13
5.4高速脉冲输出
一、高速脉冲输出介绍
2014-8-13
5.4高速脉冲输出
二、高速脉冲串输出PTO (1)周期和脉冲数 (2)PTO的种类 (3)中断事件类型 (4)PTO的使用
2014-8-13
5.1 程序控制类指令
三、子程序调用指令
1.建立子程序 2.子程序调用 3.带参数的子程序调用
2014-8-13
5.1 程序控制类指令 1. 建立子程序
(1)从“编辑”菜单,选择插入→子程序;
(2)从“指令树”,用鼠标右键单击“程序 块”图标,并从弹出菜单选择插入→子程序; (3)从“程序编辑器”窗口,用鼠标右键单 击,并从弹出菜单选择插入→ 子程序。
31
22
2014-8-13
5.3 高速计数器
2. 高速计数器的工作模式
2014-8-13
5.3 高速计数器

高速计数器有6种编号,12种工作模式.
HSC0和HSC4有模式0、1、3、4、6、7、 8、9、10; HSC1和HSC2有模式0、1、2、3、4、5、 6、7、8、9、10、11; HSC3和HSC5只有模式0。
2014-8-13


END
//停止程序执行 //
5.1 程序控制类指令 // 3. 看门狗复位指令

WDR ,看门狗复位指令。当使 能输入有效时,执行 WDR 指令, 每执行一次,看门狗定时器就 LD M0.4 //用触点重新触发 被复位一次。用本指令可用以 WDR //看门狗定时器 延长扫描周期,从而可以有效 A I0.2 // 避免看门狗超时错误。 指令格式:WDR(无操作数)
2014-8-13
5.4高速脉冲输出
三、应用实例
(1)控制要求 步进电机转动过程中,要从A点加速到B点 后恒速运行,又从C点开始减速到D点,完成这 一过程时用指示灯显示。电机的转动受脉冲控 制,A点和D点的脉冲频率为2kHz,B点和C点 的频率为10kHz,加速过程的脉冲数为400个, 恒速转动的脉冲数为4000个,减速过程脉冲数 为200个。
(4) 用新的当前值写入32位当前值寄存器(SMD38,SMD48, SMD58 ,SMD138, SMD148, SMD158)。 (5)用新的预置值写入32位预置值寄存器(SMD42 ,SMD52, SMD62, SMD142 ,SMD152, SMD162) (6)、 (7) 、(8)中断事件(事件13、14、15)与一个中断程序相联系。 (9)执行全局中断允许指令(ENI)允许HSC中断 (10)执行HSC指令使S7-200对高速计数器进行编程。 (11)结束子程序。
2014-8-13
5.1 程序控制类指令
四、顺序控制指令
1. 功能流程图
2014-8-13
5.1 程序控制类指令
(1)顺序步开始指令 (LSCR) 2. 顺序控制指令(2)顺序步结束指令 (SCRE) (3)顺序步转移指令 (SCRT)
2014-8-13
5.1 程序控制类指令 例5-1使用顺序 控制结构,编 写出实现红、 绿灯循环显示 的程序(要求 循环间隔时间 为1s)。
2014-8-13
5.4高速脉冲输出
(3)分析
本控制系统主程序、初始化子程序SBR_1、 包络表子程序、中断程序组成。 (演示)
2014-8-13
5.4高速脉冲输出
(2)程序实现
确定脉冲发生器及工作模式 设置控制字节 写入周期值、周期增量值和脉冲数 装入包络表首地址 中断调用 执行PLS指令

Hale Waihona Puke 2014-8-135.1 程序控制类指令
LD O O STOP SM5.0 SM4.3 I0.3 //检查 I/O 错误 //运行时刻检查编程 //外部切换开关 //条件满足,由 RUN // 切换到 STOP 方式 // // LD END I0.5 //外部停止控制 //停止程序执行 // //
2014-8-13
本章学习要求
小结:通过本章的学习,重点掌握 S7-200功能指令的作用及使用方法; 了解系统控制类指令的应用。 作业:习题五
2014-8-13
2014-8-13
2014-8-13
5.1 程序控制类指令 2. 子程序调用
(1)子程序调用和返回指令 子程序调用 SBR 子程序条件返回 CRET
2014-8-13
5.1 程序控制类指令 3. 带参数的子程序调用
(1)子程序参数 (2)局部变量的类型 (3)数据类型 (4)建立带参数子程序的局部变量表 (5)带参数子程序调用指令
2014-8-13
5.1 程序控制类指令
2014-8-13
5.2 中断指令
一、中断源 二、中断指令 三、中断程序
2014-8-13
5.2 中断指令

概念:
中段就是终止当前正在运行的程序,去 执行为立即响应的信号而编制的中断服务程 序,执行完毕再返回原先终止的程序并继续 执行。

一、中断源 中断源是指发出中断请求的事件,又叫 中断事件。
高速计数器在程序中使用时的地址编号 用 HCn 来 表 示 ( 在 非 程 序 中 有 时 用 HSCn ), HC 表编程元件名称为高速计 数器,n为编号。
2014-8-13
5.3 高速计数器
1.高速计数器输入端的连接
高速计数器中断事件大致分为 3类:当前值等 于预设值中断、输入方向改变中断和外部复位 中断。所有高速计数器都支持当前值等于预设 值中断。
相关文档
最新文档