第4章S7200功能指令及编程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
值输入, 将该位的值移入移位寄存器;S_BIT为移 位寄存器的最低位端;N指定移位寄存器的长度。 每次使能输入有效时,整个移位寄存器移动1位。
移位特点: • 移位寄存器长度在指令中指定,没有字节型、字型、
双字型之分。可指定的最大长度为64位,可正也 可负。“正”从最低位到高位(正向移位、左移), “负”从高位到最低位(反向移位、右移)。
2021/2/22
14
主程序OBJ: LD I0.0 CALL 运行时间,I1.0,VB10,VB11,VD12
子程序(运行时间) NETWORK1: LD #清零
FILL +0, LW1, 3 //各计数器清零
NETWORK2: LDN T40
TON T40, +10
NETWORK3: LD T40 INCB #秒
VB0, VB2
2021/2/22
3
4.1.2 梯形图中网络与指令 1.网络:梯形图程序中相对独立的段,由触点、线圈、
功能块组成; 2.语句表程序只有正确地划分为网络,才能转换为梯
形图程序; 3.条件输入指令:不能直接接在左母线上(SM0.0)
无条件指令:其执行与能流无关, 直接接在左母线上。
2021/2/22
SUB_DI -D N1,OUT
双整数减法
MUL
MUL IN1,OUT 整数乘法产生双整数
MUL_DI /D N1,OUT
双整数除法
DIV
DIV IN1,OUT 带余数的整数除法
ADD_I +I N1,OUT
整数加法
SUB_I
-I N1,OUT
整数减法
MUL_I /I N1,OUT ADD_DI +D N1,OUT
整数除法 双整数加法
梯形图
语句表
DIV_DI /D N1,OUT
ADD_R +R N1,OUT
SUB_R -R N1,OUT MUL_R *R N1,OUT
功能 双整数除法 实数加法 实数减法 实数乘法
第4章S7200功能指令及编程
1
2021/2/22
第四章 S7-200功能指令及编程
本章学习目的
l功能指令的含义、表现形式及梯形图网络 l程序控制类指令:控制程序结构与程序执行。 l数据处理、数学运算指令 l中断处理、高速计数与高速脉冲
目的:优化程序、提高程序安全性与可靠性
2021/2/22
2
返回本章首页
18
五、举例2:用接通延时定时器和比较指令组成占空比可调的 脉冲发生器。
LDN TON LD = LDW>= =
M0.0 T33, 100 T33 M0.0 T33, 30 Q0.1
2021/2/22
19
4.4.3 移位与循环移位指令
对无符号数进行的处理,执行时只考虑需要移位的 存储单元的每一位数字状态,不考虑数据值的大小。
1. 左移和右移 2. 循环左移、循环右移 3. 寄存器移位
2021/2/22
20
1. 左移和右移
(1)字节左移和字节右移
• SLB和SRB,字节左移和字节右移。使能输入有效 时,把字节型输入数据IN左移或右移N位后,再 将结果输出到OUT所指的字节存储单元。最大实 际可移位次数为8。
SRB OUT, N
2021/2/22
SLB OUT, N
21
SLB MB0, 2 表4.16 指令SLB执行结果
2021/2/22
22
• SLW 和 SRW , 字 左 移 和 字 右 移 。 指 令 盒 名 称:SHL_W和SHR_W。使能输入有效时,把字型输 入数据IN左移或右移N位后,再将结果输出到OUT 所指的字存储单元。最大实际可移位次数为16。
看门狗复位
跳到定义的标号 定义一个跳转的标号
调用子程序 从子程序返回
FOR NEXT
FOR INDX,INIT,FINAL NEXT
循环 循环结束
DIAG_LED
DLED
诊断LED
2021/2/22
5
返回本章首页
一.、看门狗复位指令(WDR)
• 监控定时器:定时事件为500ms,每次扫描它被自 动复位一次,当正常工作扫描周期小于500ms,不 起作用。
五、在局部变量表中增加新的变量
2021/2/22
12
4.3.2 子程序的创建 一、子程序的作用
相对对立、一定功能、有条件调用、便于移植、程序结构清晰
二、子程序的创建 • 编辑-插入-子程序(命名) • 调用参数的子程序需要设置调用的参数,参数在子
程序的局部变量表中定义,最多可传递16个参数, 参数变量名最多可32个字符 三、子程序调用 • 在主程序、其他子程序或中断程序中调用 • 一个项目中最多64个子程序,子程序最大嵌套深度 为8,在中断程序中调用的子程序不能再调用别的子 程序,慎用递归调用 • CALL 子程序名,参数1,参数2…….;
• 指令格式: SLW OUT, N (字左移)
SRW OUT, N (字右移)
• 例: SLW MW0, 2
SRW LW0, 3
2021/2/22
23
(3)双字左移和双字右移
• SLD 和 SRD , 双 字 左 移 和 双 字 右 移 。 指 令 盒 名 称:SHL_DW和SHR_DW。使能输入有效时,把双 字型输入数据IN左移或右移N位后,再将结果输出 到OUT所指的双字存储单元。最大实际可移位次数 为32。
4
Fra Baidu bibliotek
4.2 程序控制类指令
程序控制类指令用于程序运行状态的控制,主要包 括系统控制、跳转、循环、子程序调用,顺序控制等
梯形图名称 END MEND STOP WDR
JMP LBL
RET
语句表 END MEND STOP WDR
JMP n LBL n
CALL n(N1,N2…) CRET
描述 程序的有条件结束 程序的无条件结束 暂停指令,由RUN模式切换到STOP模式
4. 举例:当检测到错误时,诊断LED闪烁。只要检 测到5个错误条件中的一个,诊断LED就闪烁。
5. 语句表程序和梯形图程序如图4-6所示:
2021/2/22
10
4.3 子程序
4.3.1 局部变量表 一、局部变量与全局变量
1.定义:根据变量的作用范围而定;
2.局部变量的作用: • 用在子程序中便于子程序的移植; • 同一片物理存储器可以在不同的程序中重复使用
2021/2/22
25
循环移位的类型 (1)字节循环左移和字节循环右移 (2)字循环左移和字循环右移 (3)双字循环左移和双字循环右移
Eg: RRW LW0, 3 表4.18 指令RRW执行结果
2021/2/22
26
3. 寄存器移位 • SHRB,寄存器移位指令。 • 该指令在梯形图中有3个数据输入端:DATA为数
2021/2/22
17
五、举例1:某轧钢厂的成品可存放钢卷1000个,因为不断有 钢卷进库、出库,需要对库存的钢卷数进行统计。当库存数 低于下限100时,指示灯HL1亮;当库存数大于900时,指 示灯HL2亮;当达到库存上限1000时,报警器HA响,停止 进库。
2021/2/22
LD I0.1 LD I0.2 LD I0.3 CTUD C1, 1000 LDW<= C1, 100 = Q0.1 LDW>= C1, 900 = Q0.2 LD C1 = Q0.3
• 在下列情况下扫描周期大于500ms,监控定时器起 作用停止用户程序,避免出现死循环: 用户程序很长 出现中断事件时,执行中断程序时间较长 循环指令使扫描时间延长
• 为了防止正常情况下监控定时器动作,将WDR指 令插入程序适当位置,使监控定时器复位。
2021/2/22
6
二、 跳转与标号指令
• 栈顶的值为1时,JMP线圈通电,条件满足,JMP 指令使程序跳转到对应的标号LBL(0-255)处, 标号指令用来指示跳转指令的目的位置。JMP与 LBL必须在同一程序中使用。
• 指令格式:SLD
OUT, N (双字左移)
SRD OUT, N (双字右移)
• 例: SLD MD0, 2
SRD LD0, 3
2021/2/22
24
2. 循环左移、循环右移
循环左移和循环右移: 分为字节型、字型、双字型。 循环移位特点: 移位数据存储单元的移出端与另一端相连,同时又与 SM1.1(溢出)相连。 例如: 在循环右移时,移位数据的最右端位移入最左 端,同时又进入SM1.1。SM1.1始终存放最后一次 被移出的位。
FINAL:循环终值
2021/2/22
8
4.举例:在I0.1=1的上升沿,将10,15,20,…, 35这6个数分别送到VW10,VW12,…,VW20
网络1: LD I0.0 EU MOVW +10, AC0 MOVD &VW10,AC1 FOR VW0,1,6
网络2: LD SM0.0 MOVW AC0,*AC1 +D +2,AC1 //修改地址指针 +I +5, AC0 //修改要装入的数
• 例1、 LD I2.1 JMP 4 ……… LBL 4 ………..
例2、见书本4-2、4-3
2021/2/22
7
三、 循环指令 1. 作用:用于重复执行若干次同样任务的情况 2.循环开始:FOR INDX,INT1,FINAL
循环结束:NEXT 3.循环嵌套:最大深度8
INDX:当前循环计数
INIT:循环初值
网络3: NEXT
2021/2/22
9
四、 诊断指令LED 1. 作用:S7-200检测到CPU系统故障时,
SF/DIAG(故障/诊断)LED发出红光。
2. LED配置
3. DIAG_LED指令:如果输入参数IN的值为零,就 将诊断LED置为OFF。如果输入参数IN的值大于 零,就将诊断LED置为ON(黄色)。
4.1 S7-200指令的基本规则
4.1.1 功能指令的表现形式 一、功能指令的含义:每条指令反映了PLC的某一
功能,是许多功能不同的子程序。 二、功能指令的表现形式:
方框图(指令盒、功能块)、指令助记符
LD MOVW AENO /I AENO MOVB
I0.1 VW10, VW14
VW12, VW14
(存储临时局部变量); • 在子程序和调用程序之间进行参数的传递。
二、局部变量的类型 TEMP(临时变量) 、 IN(输入变量) OUT(输出变量) 、 IN-OUT(输入-输出变量)
2021/2/22
11
三、局部变量的数据类型: 能流、布尔型、字节、字、双字、整数、双整数和 实数类型
四、局部变量的赋值 在局部变量表中赋值,只需指定局部变量的类型和 数据类型,不用指定存储器地址,程序编辑器自动 在L存储区中为所有局部变量指定存储器位置。起 始地址为L0
2021/2/22
13
四、子程序返回 • CRET:条件返回 • RET:无条件返回 • 编程软件自动为主程序和子程序添加无条件返回指令
五、举例:设计记录设备运行时间的子程序。设备运行 时I0.0为ON,用I0.0的常开触点调用子程序。在子程 序的局部变量表中,输入变量“清零”用来将累计的 时间清零,还设置了输出字节“秒”和“分”以及输 出双字“小时”。
(3)BIW,传送字节立即写指令 (OUT)
(4)MOVW,字传送指令
(5)MOVD,双字传送指令
(6)MOVR,实数传送指令
二、块传送
(1)BMB,字节块传送指令 注意:操作数的
(2)BMW,字块传送指令 (3)BMD,双字块传送指令
类型及寻址范围
2021/2/22
16
4.4.2 比较指令
一、作用: 用于两个相同数据类型的有符号数或无符号数IN1 和IN2的比较判断操作。
NETWORK4: LDB>= #秒, 60 INCB #分 MOVB 0, #秒 //秒计数器清零
NETWORK5: LDB>= #分,60 INCD #小时 MOVB 0,#分
2021/2/22
15
4.4 数据处理指令
4.4.1 数据传送指令
一、单一传送
(1)MOVB,字节传送指令
(2)BIR,传送字节立即读指令 (IN)
• 最高位的计算:(N的绝对值-1+ S_BIT的位号)) /8的余数是位号,商+ S_BIT的字节号是字节号。
2021/2/22
27
例:SHRB SHRB
DATA,S-BIT,N I0.5, V20.0, 5
2021/2/22
28
返回本节
4.5 运算指令
4.5.1 四则运算指令
梯形图
语句表
功能
二、比较运算符有:等于(=)、大于等于(>=)、 小于等于(<=)、大于(>)、小于(<)、不等 于(<>)。
三、形式: 1.梯形图:常开触点+比较条件(比较参数+比较运
算符组成),当比较结果为真,该常开触点接通。 2.语句表:LD、A和O的+比较运算符,当比较结果
为真,堆栈栈顶置1。
四、类型:字节、整数、双字整数、实数比较
移位特点: • 移位寄存器长度在指令中指定,没有字节型、字型、
双字型之分。可指定的最大长度为64位,可正也 可负。“正”从最低位到高位(正向移位、左移), “负”从高位到最低位(反向移位、右移)。
2021/2/22
14
主程序OBJ: LD I0.0 CALL 运行时间,I1.0,VB10,VB11,VD12
子程序(运行时间) NETWORK1: LD #清零
FILL +0, LW1, 3 //各计数器清零
NETWORK2: LDN T40
TON T40, +10
NETWORK3: LD T40 INCB #秒
VB0, VB2
2021/2/22
3
4.1.2 梯形图中网络与指令 1.网络:梯形图程序中相对独立的段,由触点、线圈、
功能块组成; 2.语句表程序只有正确地划分为网络,才能转换为梯
形图程序; 3.条件输入指令:不能直接接在左母线上(SM0.0)
无条件指令:其执行与能流无关, 直接接在左母线上。
2021/2/22
SUB_DI -D N1,OUT
双整数减法
MUL
MUL IN1,OUT 整数乘法产生双整数
MUL_DI /D N1,OUT
双整数除法
DIV
DIV IN1,OUT 带余数的整数除法
ADD_I +I N1,OUT
整数加法
SUB_I
-I N1,OUT
整数减法
MUL_I /I N1,OUT ADD_DI +D N1,OUT
整数除法 双整数加法
梯形图
语句表
DIV_DI /D N1,OUT
ADD_R +R N1,OUT
SUB_R -R N1,OUT MUL_R *R N1,OUT
功能 双整数除法 实数加法 实数减法 实数乘法
第4章S7200功能指令及编程
1
2021/2/22
第四章 S7-200功能指令及编程
本章学习目的
l功能指令的含义、表现形式及梯形图网络 l程序控制类指令:控制程序结构与程序执行。 l数据处理、数学运算指令 l中断处理、高速计数与高速脉冲
目的:优化程序、提高程序安全性与可靠性
2021/2/22
2
返回本章首页
18
五、举例2:用接通延时定时器和比较指令组成占空比可调的 脉冲发生器。
LDN TON LD = LDW>= =
M0.0 T33, 100 T33 M0.0 T33, 30 Q0.1
2021/2/22
19
4.4.3 移位与循环移位指令
对无符号数进行的处理,执行时只考虑需要移位的 存储单元的每一位数字状态,不考虑数据值的大小。
1. 左移和右移 2. 循环左移、循环右移 3. 寄存器移位
2021/2/22
20
1. 左移和右移
(1)字节左移和字节右移
• SLB和SRB,字节左移和字节右移。使能输入有效 时,把字节型输入数据IN左移或右移N位后,再 将结果输出到OUT所指的字节存储单元。最大实 际可移位次数为8。
SRB OUT, N
2021/2/22
SLB OUT, N
21
SLB MB0, 2 表4.16 指令SLB执行结果
2021/2/22
22
• SLW 和 SRW , 字 左 移 和 字 右 移 。 指 令 盒 名 称:SHL_W和SHR_W。使能输入有效时,把字型输 入数据IN左移或右移N位后,再将结果输出到OUT 所指的字存储单元。最大实际可移位次数为16。
看门狗复位
跳到定义的标号 定义一个跳转的标号
调用子程序 从子程序返回
FOR NEXT
FOR INDX,INIT,FINAL NEXT
循环 循环结束
DIAG_LED
DLED
诊断LED
2021/2/22
5
返回本章首页
一.、看门狗复位指令(WDR)
• 监控定时器:定时事件为500ms,每次扫描它被自 动复位一次,当正常工作扫描周期小于500ms,不 起作用。
五、在局部变量表中增加新的变量
2021/2/22
12
4.3.2 子程序的创建 一、子程序的作用
相对对立、一定功能、有条件调用、便于移植、程序结构清晰
二、子程序的创建 • 编辑-插入-子程序(命名) • 调用参数的子程序需要设置调用的参数,参数在子
程序的局部变量表中定义,最多可传递16个参数, 参数变量名最多可32个字符 三、子程序调用 • 在主程序、其他子程序或中断程序中调用 • 一个项目中最多64个子程序,子程序最大嵌套深度 为8,在中断程序中调用的子程序不能再调用别的子 程序,慎用递归调用 • CALL 子程序名,参数1,参数2…….;
• 指令格式: SLW OUT, N (字左移)
SRW OUT, N (字右移)
• 例: SLW MW0, 2
SRW LW0, 3
2021/2/22
23
(3)双字左移和双字右移
• SLD 和 SRD , 双 字 左 移 和 双 字 右 移 。 指 令 盒 名 称:SHL_DW和SHR_DW。使能输入有效时,把双 字型输入数据IN左移或右移N位后,再将结果输出 到OUT所指的双字存储单元。最大实际可移位次数 为32。
4
Fra Baidu bibliotek
4.2 程序控制类指令
程序控制类指令用于程序运行状态的控制,主要包 括系统控制、跳转、循环、子程序调用,顺序控制等
梯形图名称 END MEND STOP WDR
JMP LBL
RET
语句表 END MEND STOP WDR
JMP n LBL n
CALL n(N1,N2…) CRET
描述 程序的有条件结束 程序的无条件结束 暂停指令,由RUN模式切换到STOP模式
4. 举例:当检测到错误时,诊断LED闪烁。只要检 测到5个错误条件中的一个,诊断LED就闪烁。
5. 语句表程序和梯形图程序如图4-6所示:
2021/2/22
10
4.3 子程序
4.3.1 局部变量表 一、局部变量与全局变量
1.定义:根据变量的作用范围而定;
2.局部变量的作用: • 用在子程序中便于子程序的移植; • 同一片物理存储器可以在不同的程序中重复使用
2021/2/22
25
循环移位的类型 (1)字节循环左移和字节循环右移 (2)字循环左移和字循环右移 (3)双字循环左移和双字循环右移
Eg: RRW LW0, 3 表4.18 指令RRW执行结果
2021/2/22
26
3. 寄存器移位 • SHRB,寄存器移位指令。 • 该指令在梯形图中有3个数据输入端:DATA为数
2021/2/22
17
五、举例1:某轧钢厂的成品可存放钢卷1000个,因为不断有 钢卷进库、出库,需要对库存的钢卷数进行统计。当库存数 低于下限100时,指示灯HL1亮;当库存数大于900时,指 示灯HL2亮;当达到库存上限1000时,报警器HA响,停止 进库。
2021/2/22
LD I0.1 LD I0.2 LD I0.3 CTUD C1, 1000 LDW<= C1, 100 = Q0.1 LDW>= C1, 900 = Q0.2 LD C1 = Q0.3
• 在下列情况下扫描周期大于500ms,监控定时器起 作用停止用户程序,避免出现死循环: 用户程序很长 出现中断事件时,执行中断程序时间较长 循环指令使扫描时间延长
• 为了防止正常情况下监控定时器动作,将WDR指 令插入程序适当位置,使监控定时器复位。
2021/2/22
6
二、 跳转与标号指令
• 栈顶的值为1时,JMP线圈通电,条件满足,JMP 指令使程序跳转到对应的标号LBL(0-255)处, 标号指令用来指示跳转指令的目的位置。JMP与 LBL必须在同一程序中使用。
• 指令格式:SLD
OUT, N (双字左移)
SRD OUT, N (双字右移)
• 例: SLD MD0, 2
SRD LD0, 3
2021/2/22
24
2. 循环左移、循环右移
循环左移和循环右移: 分为字节型、字型、双字型。 循环移位特点: 移位数据存储单元的移出端与另一端相连,同时又与 SM1.1(溢出)相连。 例如: 在循环右移时,移位数据的最右端位移入最左 端,同时又进入SM1.1。SM1.1始终存放最后一次 被移出的位。
FINAL:循环终值
2021/2/22
8
4.举例:在I0.1=1的上升沿,将10,15,20,…, 35这6个数分别送到VW10,VW12,…,VW20
网络1: LD I0.0 EU MOVW +10, AC0 MOVD &VW10,AC1 FOR VW0,1,6
网络2: LD SM0.0 MOVW AC0,*AC1 +D +2,AC1 //修改地址指针 +I +5, AC0 //修改要装入的数
• 例1、 LD I2.1 JMP 4 ……… LBL 4 ………..
例2、见书本4-2、4-3
2021/2/22
7
三、 循环指令 1. 作用:用于重复执行若干次同样任务的情况 2.循环开始:FOR INDX,INT1,FINAL
循环结束:NEXT 3.循环嵌套:最大深度8
INDX:当前循环计数
INIT:循环初值
网络3: NEXT
2021/2/22
9
四、 诊断指令LED 1. 作用:S7-200检测到CPU系统故障时,
SF/DIAG(故障/诊断)LED发出红光。
2. LED配置
3. DIAG_LED指令:如果输入参数IN的值为零,就 将诊断LED置为OFF。如果输入参数IN的值大于 零,就将诊断LED置为ON(黄色)。
4.1 S7-200指令的基本规则
4.1.1 功能指令的表现形式 一、功能指令的含义:每条指令反映了PLC的某一
功能,是许多功能不同的子程序。 二、功能指令的表现形式:
方框图(指令盒、功能块)、指令助记符
LD MOVW AENO /I AENO MOVB
I0.1 VW10, VW14
VW12, VW14
(存储临时局部变量); • 在子程序和调用程序之间进行参数的传递。
二、局部变量的类型 TEMP(临时变量) 、 IN(输入变量) OUT(输出变量) 、 IN-OUT(输入-输出变量)
2021/2/22
11
三、局部变量的数据类型: 能流、布尔型、字节、字、双字、整数、双整数和 实数类型
四、局部变量的赋值 在局部变量表中赋值,只需指定局部变量的类型和 数据类型,不用指定存储器地址,程序编辑器自动 在L存储区中为所有局部变量指定存储器位置。起 始地址为L0
2021/2/22
13
四、子程序返回 • CRET:条件返回 • RET:无条件返回 • 编程软件自动为主程序和子程序添加无条件返回指令
五、举例:设计记录设备运行时间的子程序。设备运行 时I0.0为ON,用I0.0的常开触点调用子程序。在子程 序的局部变量表中,输入变量“清零”用来将累计的 时间清零,还设置了输出字节“秒”和“分”以及输 出双字“小时”。
(3)BIW,传送字节立即写指令 (OUT)
(4)MOVW,字传送指令
(5)MOVD,双字传送指令
(6)MOVR,实数传送指令
二、块传送
(1)BMB,字节块传送指令 注意:操作数的
(2)BMW,字块传送指令 (3)BMD,双字块传送指令
类型及寻址范围
2021/2/22
16
4.4.2 比较指令
一、作用: 用于两个相同数据类型的有符号数或无符号数IN1 和IN2的比较判断操作。
NETWORK4: LDB>= #秒, 60 INCB #分 MOVB 0, #秒 //秒计数器清零
NETWORK5: LDB>= #分,60 INCD #小时 MOVB 0,#分
2021/2/22
15
4.4 数据处理指令
4.4.1 数据传送指令
一、单一传送
(1)MOVB,字节传送指令
(2)BIR,传送字节立即读指令 (IN)
• 最高位的计算:(N的绝对值-1+ S_BIT的位号)) /8的余数是位号,商+ S_BIT的字节号是字节号。
2021/2/22
27
例:SHRB SHRB
DATA,S-BIT,N I0.5, V20.0, 5
2021/2/22
28
返回本节
4.5 运算指令
4.5.1 四则运算指令
梯形图
语句表
功能
二、比较运算符有:等于(=)、大于等于(>=)、 小于等于(<=)、大于(>)、小于(<)、不等 于(<>)。
三、形式: 1.梯形图:常开触点+比较条件(比较参数+比较运
算符组成),当比较结果为真,该常开触点接通。 2.语句表:LD、A和O的+比较运算符,当比较结果
为真,堆栈栈顶置1。
四、类型:字节、整数、双字整数、实数比较