S7200基本编程指令
S7200功能指令用全解

5.1 程序控制类指令
2020/3/25
5.1 程序控制类指令 2、循环指令
由 FOR和NEXT指令构成程序的循环体。FOR指令 标记循环的开始,NEXT指令为循环体的结束指令。
2020/3/25
5.1 程序控制类指令
工作原理:
使能输入EN有效,循环体开始执行,执行 到NEXT指令时返回,每执行一次循环体, 当前值计数器INDX增1,达到终止值 FINAL时,循环结束。使能输入无效时, 循环体程序不执行。每次使能输入有效, 指令自动将各参数复位。
2020/3/25
5.1 程序控制类指令
三、子程序调用指令
1.建立子程序 2.子程序调用 3.带参数的子程序调用
2020/3/25
5.1 程序控制类指令
1. 建立子程序
(1)从“编辑”菜单,选择插入→子程序; (2)从“指令树”,用鼠标右键单击“程序
块”图标,并从弹出菜单选择插入→子程序; (3)从“程序编辑器”窗口,用鼠标右键单
2020/3/25
5.2 中断指令
二、中断指令
2020/3/25
5.2 中断指令
三、中断程序(中断服务程序 ) 中段程序是为处理中断事件而事先编好的
程序。中断程序不是由程序调用,而是在 中断事件发生时由操作系统调用。
2020/3/25
5.1 程序控制类指令
2020/3/25
5.2 中断指令
一、中断源 二、中断指令 三、中断程序
2020/3/25
5.2 中断指令
概念: 中段就是终止当前正在运行的程序,去
执行为立即响应的信号而编制的中断服务程 序,执行完毕再返回原先终止的程序并继续 执行。 一、中断源
s7200指令

第四章 S7-200的基本指令4.1位操作指令位操作类指令,主要是位操作及运算指令,同时也包含与位操作密切相关的定时器和计数器指令等。
位操作指令是PLC常用的基本指令,梯形图指令有触点和线圈两大类,触点又分常开触点和常闭触点两种形式;语句表指令有与、或及输出等逻辑关系,位操作指令能够实现基本的位逻辑运算和控制。
一、位操作指令介绍1.逻辑取(装载)及线圈驱动指令LD/LDN(1)指令功能LD(load):常开触点逻辑运算的开始。
对应梯形图则为在左侧母线或线路分支点处初始装载一个常开触点。
LDN(load not):常闭触点逻辑运算的开始(即对操作数的状态取反),对应梯形图则为在左侧母线或线路分支点处初始装载一个常闭触点。
=(OUT):输出指令,对应梯形图则为线圈驱动。
(2)指令格式如图 4-1 所示。
梯形图语句表网络 1LD I0.0 //装载常开触点= Q0.0 //输出线圈网络2LDN I0.0 //装载常闭触点= M0.0 //输出线圈图 4-1 LD/LDN、OUT 指令的使用2.触点串联指令 A(And)、AN(And not)(1)指令功能 A(And):与操作,在梯形图中表示串联连接单个常开触点。
AN(And not):与非操作,在梯形图中表示串联连接单个常闭触点。
(2)指令格式如图 4-2 所示梯形图语句表网络 1LD I0.0 //装载常开触点A M0.0 //与常开触点= Q0.0 //输出线圈网络2LD Q0.0 //装载常开触点AN I0.1 //与常闭触点= M0.0 //输出线圈A T37 //与常开触点= Q0.1 //输出线圈图 4-2 A/AN 指令的使用3.触点并联指令:O(Or)/ON(Or not)(1)指令功能 O:或操作,在梯形图中表示并联连接一个常开触点。
ON:或非操作,在梯形图中表示并联连接一个常闭触点。
(2)指令格式如图 4-3 所示梯形图语句表网络 1LD I0.0O I0.1ON M0.0= Q0.0网络 2LDN Q0.0A I0.2O M0.1AN I0.3O M0.2= M0.1图 4-3 O/ON 指令的使用4.电路块的串联指令ALD(1)指令功能 ALD:块“与”操作,用于串联连接多个并联电路组成的电路块。
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.时间控制:通过设定循环执行的时间间隔或累计执行的时间,达到定时执行循环体的目的。
s7200指令

//输出线圈
图 4-2 A/AN 指令的使用
3. 触点并联指令:O(Or)/ON(Or not)
(1)指令功能
O:或操作,在梯形图中表示并联连接一个常开触点。
ON:或非操作,在梯形图中表示并联连接一个常闭触点。
(2)指(装载)及线圈驱动指令LD/LDN
(1)指令功能
LD(load):常开触点逻辑运算的开始。对应梯形图则为在左侧母线或线路
分支点处初始装载一个常开触点。
LDN(load not):常闭触点逻辑运算的开始(即对操作数的状态取反),对
应梯形图则为在左侧母线或线路分支点处初始装载一个常闭触点。
=(OUT):输出指令,对应梯形图则为线圈驱动。
(2)指令格式如图 4-1 所示。
梯形图
语句表
网络 1 LD I0.0 = Q0.0 网络 2 LDN I0.0 = M0.0
//装载常开触点 //输出线圈
//装载常闭触点 //输出线圈
图 4-1 LD/LDN、OUT 指令的使用
2. 触点串联指令 A(And)、AN(And not) (1)指令功能 A(And):与操作,在梯形图中表示串联连接单个常开触点。
44
梯形图 ALD
语句表
LD I1.0 O I1.1 LD I1.2 O I1.3 ALD = Q0.0
图 4-4 ALD 指令使用
//装入常开触点 //或常开触点 //装入常开触点 //或常开触点 //块与操作 //输出线圈
5. 电路块的并联指令 OLD
(1)指令功能
OLD:块“或”操作,用于并联连接多个串联电路组成的电路块。
STL S S-bit,N
PLC第04章2 S7200基本编程指令

传送字节立即写(BIW)指 令,将从输入端(IN)指定字 节地址的内容写入输出端( OUT)指定字节地址的物理输 出点(QB)。
BIR
IN,OUT
BIW
IN,OUT
传送字节立即读
传送字节立即写
字节交换
SWAP EN IN ENO
STL:
SRW OUT, N SLW OUT, N
双字左移,双字右移
SHR_DW EN ENO IN N OUT
SHL_DW EN ENO IN N OUT
STL:
SRD OUT, N SLD OUT, N
字节循环左移,字节循环右移
ROR_B EN ENO IN N OUT
ROL_B EN ENO IN N OUT
双字与 双字或 双字异或
ANDD (双字与) 指令对两个输入双字按位与得到一 个双字结果(OUT) ORD (双字或) 指令对两个输入双字按位或得到一 个双字结果(OUT) XORD ( 双字异或) 指令对两个输入双字按位异或得 到一个双字结果(OUT)
WAND_DW EN ENO IN1 IN2 OUT WOR_DW EN ENO IN1 IN2 OUT WXOR_DW EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT +R IN1,OUT
+I
IN1,OUT
2.减法指令
SUB-I SUB-DI SUB-R
EN ENO IN1 IN2 OUT
EN ENO IN1 IN2 OUT -D IN2,OUT
EN ENO IN1 IN2 OUT -R IN2,OUT
S7200基本编程指令精讲

左限位开 关 I0.0 Q0.0 I0.1 Q0.1
I0.0 Q0.0 I0.1 I0.2 Q0.1 I0.3 I0.4
KM1
右限位开 关
停止按 钮 右行按 钮 左行按 钮
左行接触器
KM2
右行接触器
Design based on experience
左启 I0.4 Q0.0 I0.1 右启 I0.3
S7-200PLC指令系统
指令分类——按形式分
1.继电器
2.功能块
功能数据类型
触点
线圈 ——( )
条件
Enable
EN IN1 IN2 N 长度 OUT
输入参数
输出参数
地址
指令分类——按功能分
1。位操作功能 2。定时器 3。计数器 4。算术运算功能(整数与浮点数) 5。关系运算功能 6。数据传送功能 7。转换功能 8。控制功能
– – – – – – ALD 栈装载”与” OLD栈装载”或” LPS逻辑入栈 LRD逻辑读栈 LPP逻辑出栈 LDS装入堆栈
逻辑关系
区块与
ALD(And Stack)
梯形图
I0.0 I0.2 Q0.0 I0.1 I0.3
助记符
LD O LD O ALD = I0.0 I0.1 I0.2 I0.3 Q0.0
Example:抢答器设计
限流电阻
KM1
KM2 Q0.1 Q0.2
KM3
KM4
1L
Q0.0
Q0.3
1M
I0.0
I0.1
I0.2
I0.3
I0.4
SB1
SB2
SB3
SB4 复 位
SB5
Example:抢答器设计
s7200系列plc基本指令及实训

说明: 1) 触点代表CPU对存储器的读操作,常开触点和存储器的位状态一致,常闭触点和存储器的位状态相反。用户程序中同一触点可使用无数次。 如:存储器I0.0的状态为1,则对应的常开触点I0.0接通,表示能流可以通过;而对应的常闭触点I0.0断开,表示能流不能通过。存储器I0.0的状态为0,则对应的常开触点I0.0断开,表示能流不能通过;而对应的常闭触点I0.0接通,表示能流可以通过。 2) 线圈代表CPU对存储器的写操作,若线圈左侧的逻辑运算结果为“1”,表示能流能够达到线圈,CPU将该线圈所对应的存储器的位置位为“1”,若线圈左侧的逻辑运算结果为“0”,表示能流不能够达到线圈,CPU将该线圈所对应的存储器的位写入“0”用户程序中,同一线圈只能使用一次。 (3)LD/LDN, = 指令使用说明: LD 、LDN 指令用于与输入公共母线(输入母线)相联的接点,也可与OLD、ALD指令配合使用于分支回路的开头。 “=” 指令用于Q、M、SM、T、C、V、S。但不能用于输入映像寄存器I。输出端不带负载时,控制线圈应尽量使用M或其他,而不用Q。LD I0.0 = M0.0 = Q0.0 “=”可以并联使用任意次,但不能串联。如下图所示。
步2
步1
步3
动作
动作
动作
转移条件
转移条件
起动条件
图4-2 顺序功能流程图
4.功能块图(Function Block Diagram)程序设计语言
功能块图程序设计语言是采用逻辑门电路的编程语言,有数字电路基础的人很容易掌握。功能块图指令由输入、输出段及逻辑关系函数组成。流动。
ch3-plcs7200基本指令

S7-200
基本指令
(2)=I,立即输出指令 用立即指令访问输出点时,把栈顶值立即复制到 指令所指出的物理输出点,同时,相应的输出映 像寄存器的内容也被刷新。 用法: =I bit 例: =I Q0.2 注意:bit只能是Q类型。
S7-200
基本指令
(3)SI,立即置位指令 用立即置位指令访问输出点时,从指令所指出的位(bit) 开始的N个(最多为128个)物理输出点被立即置位,同 时,相应的输出映像寄存器的内容也被刷新。 用法: SI bit, N 例: SI Q0.0, 2 注意:bit只能是Q类型。SI和RI指令的操作数类型及范 围如表4.7所示。
S7-200
基本指令
4. 逻辑弹出栈指令
LPP,逻辑弹出栈指令(分支结束或主控复位指令)。在梯形图中的 分支结构中,用于将LPS指令生成一条新的母线进行恢复。 注意:使用LPP指令时,必须出现在LPS的后面,与LPS成对出现。 在语句表中指令LPP执行情况如下表4.11所示。
S7-200
基本指令
S7-200
基本指令
LD A =
I0.0 I0.1 Q1.0
//装入常开触点 //与常开触点 //输出触点
LD A S
I0.0 I0.1 Q0.0, 1 个触点置 1
// // //将 Q0.0 开始的//1 //将 Q0.2 开始的//3
R
Q0.2, 3 个触点置 0
图4.7
置位复位
S7-200
S7-200
基本指令
LD EU =
I0.0
//输入常开触点 //脉冲正跳变
Q0.0
//输出触点
LD ED =
I0.0
// //脉冲负跳变
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I0.1
Q0.0
助记符
LD I0.0
A
I0.1
=
Q0.0
LD I0.0
O
I0.1
=
Q0.0
LDN I0.1
=
Q0.0
注意:与、或、非运算均是对从该指令前面的 指令到该指令的前一个指令处的结果进行 运算。
例:
A Q0.0
I0.0 I0.1
I0.2
LD I0.0 A I0.1 O I0.2 = Q0.0
I0.3 I0.4
Q0.2
I0.5 I0.6
Q0.3
STL
LD I0.0 O T40 LPS LD I0.1 O I0.2 ALD = Q0.0 LRD LD I0.3 O I0.4 ALD = Q0.2 LPP LD I0.5 ON I0.6 ALD = Q0.3
LD I0.0 O T40 LPS LD I0.1 O I0.2 ALD = Q0.0 LRD LD I0.3 O I0.4 ALD = Q0.2 LPP LD I0.5 ON I0.6 ALD = Q0.3
I0.0
I0.0
输入映象寄 存器I0.0
输出映象寄 存器Q0.0 输出映象寄 存器Q0.1 输出映象寄 存器Q0.2
N
(NOP ) I0.1 Q0.0
NOT ( )
Q0.1
N ()
Q0.2
P ()
一个周期 一个周期
Example
NETWORK 1
LD I0.0
A I0.1
= Q0.0
NETWORK 2
S7-200PLC指令系 统
指令分类——按形式分
1.继电器
触点
线圈 ——( )
2.功能块
条件 Enable
输入参数
功能数据类型
EN
IN1
IN2
OUT
N 长度
地址
输出参数
指令分类——按功能分
1。位操作功能 2。定时器 3。计数器 4。算术运算功能(整数与浮点数) 5。关系运算功能 6。数据传送功能 7。转换功能 8。控制功能
I0.1=1
FR KM Q0.0 Q0.1 Q0.2 I0.0 I0.1 I0.2
SB1 SB2
例1:直接启动停车控制
梯形图:
IQ00..10 II00.0.0 IQ00..11
Q0Q.0 .1
停止 优先
L1 L2 L3
启动优先
语句表 LD I0.1 O Q0.1 A I0.0 = Q0.1
QS FU2
Left Q0.0
Q0.0
I0.1 右限位开关
右启 左启 右限位 I0.3 I0.4 I0.1
stop Left I0.2 Q0.0
I0.4 I0.3
M0.0
M0.0
T38 IN TON
LD I0.4
O M0.0
A I0.3
=
M0.0
300 PT
I0.0 Q0.1 Q0.2 M0.0 Q0.0
Q0.0 I0.1 Q0.0 Q0.2
M0.0
Q0.1
Q0.1
LD I0.0
O Q0.0
AN Q0.1
AN Q0.2
A M0.0
=
Q0.0
当置位指令和复 位指令都为“1” 时,输出为“0”
Q0.0 I0.0
S1 OUT
I0.1
SR
R
I0.0
Q0.1
S OUT RS
I0.1
R1
助记符
LD I0.0 LD I0.1 NOT A Q0.0 OLD = Q0.0
LD I0.0 LD I0.1 NOT LPS A Q0.1 = Q0.1 LPP ALD O Q0.1 = Q0.1
I0.0 I0.1
Q0.0 I0.2
I0.3 I0.4
Q0.2
I0.5 I0.6
Q0.3
将压入堆栈的中间有用 值弹出堆栈
助记符
LD I0.0 LPS LD I0.1 O I0.2 ALD = Q0.0 LRD LD I0.3 O I0.4 ALD = Q0.2 LPP LD I0.5 ON I0.6 ALD = Q0.3
FU1
KM
FR 3 SB2
M
PE
3~
继电器控制电路图
FR SB1
KM
KM
I/O分配:
I0.0:停车 I0.1:启动 Q0.1:KM
FR KM
1L Q0.0 Q0.1 Q0.2 Q0.3 1M I0.0 I0.1 I0.2 I0.3
SB1 SB2
I/O分配决定PLC的端子接线图
I/O分配:
I0.0:停车 I0.1:启动 Q0.1:KM
Logic Operation
LPS LRD LPP
LAD
Q0.0
Q0.1 Q0.2
STL
LD I0.0 O T40 LPS LD I0.1 O I0.2 A C40 ALD = Q0.0 LRD LD I0.3 A I0.4 ALD = Q0.1 LPP LD I0.5 AN I0.6 ALD = Q0.2
Q0.2
LD
O
AN
AN
A
=
LD T38
=
Q0.3
I0.2 Q0.2 Q0.0 Q0.1 M0.0 Q0.2
逻辑堆栈指令
• 逻辑堆栈指令只用于语句表(STL)编程,在使用 LAD和FBD编程时,LAD和FBD编辑器会自动插入 相关的指令来处理堆栈操作.
• 堆栈指令包括六条指令:
– ALD 栈装载”与” – OLD栈装载”或” – LPS逻辑入栈 – LRD逻辑读栈 – LPP逻辑出栈 – LDS装入堆栈
输出映输出 象映寄象寄 存器Q存1器.1Q1.1
立即I/O指令—立即输出
I2.1
Q1.1
I
I2.3
Q1.2
I
I
执行立即输出指令 时,则将结果同时 立即复制到物理输 出点和相应的输出 映象寄存器
输入端 子I2.1
输入映象寄 存器I2.1
输出映象寄 存器Q1.1 输出端子
Q1.1 输入端 子I2.3
输出映象 存器Q1.2
LDI I2.1
=
Q1.1
LDNI I2.3
= Q1.2
直接读取物理输入点的值,输 入映象寄存器内容不更新。指 令操作数仅限于输入物理点的 值。
输入端 子I2.输 子1入 I2端 .1
一个扫描周期 一个扫描周期
一个扫描周期 执行指令
一个扫描周期 执行指令
执行指令
执行指令
输入映输象入映寄象寄 存器I存2器.1I2.1
I0.2是与图中A点处的结果(即I0.0与I0.1的 结果)相或,而不是与I0.1相或。
常开触点与常闭触点的用法
I0.0
1.常开触点
读输入映象寄存器
1L
的值,在右接线图中,
I0.1
按钮未动时I0.0=1,
1M
I0.1=0
I0.0
2.常闭触点
读输入映象寄存器的
非值,在右接线图中,
I0.1
按钮未动时I0.0=0,
LD I0.0
NOT
=
Q0.1
NETWORK 3
LD I0.1
ED
= Q0.2
Example:抢答器设计
限流电阻
KM1
KM2
KM3 KM4
1L Q0.0 Q0.1 Q0.2 Q0.3
1M I0.0 I0.1 I0.2 I0.3 I0.4
SB1 SB2 SB3 SB4 SB5
复 位
Example:抢答器设计
逻辑关系
梯形图
区块与 ALD(And Stack)
I0.0
当 “I0.0 或 I0.1”与“I0.2 或I0.3”
都 “ON” 时,
I0.1
则输出 Q0.0 “ON”。
I0.2 Q0.0
I0.3
助记符
LD O LD O ALD =
I0.0 I0.1 I0.2 I0.3
Q0.0
区块或 OLD(Or Stack)
I0.0 Q0.0
I0.1 Q0.1
左限位开 关
右限位开 关
停止按 钮
右行按 钮
左行按 钮
I0.0 Q0.0
KM1
I0.1 I0.2 Q0.1 I0.3
左行接触器
KM2
右行接触器
I0.4
Design based on experience
左启 右启 左限位 I0.4 I0.3 I0.0
stop Right I0.2 Q0.1
一、位逻辑指令
逻辑关系
梯形图
与 AND
当 I0.0与 I0.1 都 “ON” 时, I0.0 I0.1 Q0.0 则输出 Q0.0 “ON”(1)。
或 当 I0.0 或 I0.0 “ON” 时,
则输出 Q0.0 “ON”(1)
OR
非 NOT
当 I0.1 “OFF” 时 则输出 Q0.0 “ON”(1)
Q0.1
Q0. 2
LD I0.3
A I0.5 O I0.1
A I0.2
= Q0.1
LD I0.1 A I0.5 O I0.3 A I0.4 = Q0.2 END
例子: 小车自动往返控制 要求:当左行或右行按钮接通时,小车在限位开关I0.1和 I0.0之间自动往返运动,当按停止按钮I0.2时立即停止。
空操作
空操作指令(NOP N)不影 响程序的执行。
操作数N是常数 0~255
取非
NOT
能流到达取非触点时,能流 就停止;能流未到达取非触 点时,能流就通过。