文档详情

S7-200系列PLC功能指令及应用

飞***
实名认证
店铺
PDF
482.66KB
约51页
文档ID:47797698
S7-200系列PLC功能指令及应用_第1页
1/51

96 第 5 章 S7-200 系列 PLC功能指令及应用PLC 作为一个计算机控制系统,不仅可以用来实现继电器接触系统的位控功能,而且也能够应用于多位数据的处理、过程控制等领域几乎所有的PLC 生产厂家都开发增设了用于特殊控制要求的指令,这些指令称之为功能指令本章所介绍的功能指令主要包括:数据处理指令、算术逻辑指令、表功能指令、转换指令、中断指令、高速计数器、高速脉冲输出及PID 运算指令等S7-200 中绝大多数功能指令的操作数类型及寻址范围如下:字节型: VB 、IB、QB、MB 、SB、SMB 、LB、AC 、*VD 、*LD 、*AC 和常数字型: VW 、IW、QW、MW 、SW、SMW 、LW、AC、T、C、*VD 、*LD 、*AC 和常数双字型: VD 、ID 、QD、MD 、SD、 SMD、LD 、AC、 *VD 、*LD 、*AC 和常数本章对于以上数据类型和寻址方式不再重复,对于个别稍有变化的指令,仅作补充和说明,读者也可参阅S7-200 编程手册5.1 数据传送指令数据传送指令主要用于各个编程元件之间进行数据传送主要包括单个数据传送、数据块 传送、交换、循环填充指令。

5.1.1 单个数据传送指令单个数据传送指令每次传送一个数据,传送数据的类型分为:字节(B)传送、字( W) 传送、双字( D)传送和实数( R)传送,对于不同的数据类型采用不同的传送指令1. 字节传送指令字节传送指令以字节作为数据传送单元,包括:字节传送指令MOVB和立即读 /写字节 传送指令1)字节传送指令MOVB 字节传送指令指令格式:MOV_B :字节传送梯形图指令盒标识符(也称功能符号,B 表示字节数据类型,下同) ;MOVB :语句表指令操作码助记符;EN:使能控制输入端(I、Q、M、T、C、SM、V、S、L 中的位);OUT MOVB IN, OUT STL指令ENO MOV_B IN EN LAD 指令97 IN:传送数据输入端;OUT:数据输出端;ENO:指令和能流输出端(即传送状态位)后续指令的EN、IN 、OUT、ENO 功能同上,只是IN 和 OUT 的数据类型不同)指令功能:在使能输入端EN 有效时,将由IN 指定的一个8 位字节数据传送到由OUT指定的字节单元中2)立即读字节传送指令BIR 立即读字节传送指令格式:MOV_BIR :立即读字节传送梯形图指令盒标识符;BIR:语句表指令操作码助记符。

指令功能:当使能输入端EN 有效时, BIR 指令立即(不考虑扫描周期)读取当前输入 继电器中由IN 指定的字节( IB) ,并送入 OUT 字节单元(并未立即输出到负载)注意: IN 只能为 IB3)立即写字节传送指令BIW 立即写字节传送指令格式:MOV_BIW :立即写字节传送梯形图指令盒标识符;BIW :语句表指令操作码助记符指令功能:当使能输入端EN 有效时, BIW 指令立即(不考虑扫描周期)将由IN 指定的字节数据写入到输出继电器中由OUT 指定的 QB,即立即输出到负载注意: OUT 只能是 QB2. 字/双字传送指令字/双字传送指令以字/双字作为数据传送单元字/双字指令格式类同字节传送指令,只是指令中的功能符号(标识符或助计符,下同)中的数据类型符号不同而已:MOV_W/MOV_DW:字 /双字梯形图指令盒标识符;MOVW/MOVD:字 /双字语句表指令操作码助记符OUT BIW IN, OUT STL指令ENO IN EN LAD 指令MOV_BIW OUT BIR IN, OUT STL指令ENO IN EN LAD 指令MOV_BIR 98 【例 5-1】在 I0.1 控制开关导通时,将VW100 中的字数据传送到VW200 中,程序如图5-1 所示。

图5-1 字数据传送指令应用示例【例 5-2】在 I0.1 控制开关导通时,将 VD100 中的双字数据传送到VD200 中,程序如图5-2 所示图5-2 双字数据传送指令应用示例3. 实数传送指令MOVR 实数传送指令以32 位实数双字作为数据传送单元实数传送指令功能符号为:MOV_R :实数传送梯形图指令盒标识符;MOVR :实数传送语句表指令操作码助记符例 5-3】在 I0.1 控制开关导通时, 将常数 3.14 传送到双字单元VD200 中,程序如图 5-3所示图5-3 实数数据传送指令应用示例5.1.2 块传送指令块传送指令可用来一次传送多个同一类型的数据,最多可将 255 个数据组成一个数据块,数据块的类型可以是字节块、字块和双字块下面仅介绍字节块传送指令BMB :OUT 3.14 STL指令ENO IN EN LAD 指令MOV_R I0.1 LD I0.1 MOVR 3.14, VD100 VD200 OUT VD100 STL指令ENO IN EN LAD 指令MOV_DW I0.1 LD I0.1 MOVD VD100, VD200 VD200 OUT VW100 STL指令ENO IN EN LAD 指令MOV_W I0.1 LD I0.1 MOVW VW100, VW200 VW200 99 字节块传送指令格式:BLKMOV_B :字节块传送梯形图指令标识符;BMB :语句表指令操作码助记符;N:块的长度,字节型数据(下同)。

指令功能: 当使能输入端EN 有效时, 以 IN 为字节起始地址的N 个字节型数据传送到以OUT 为起始地址的N 个字节存储单元与字节块传送指令比较,字块传送指令为BMW (梯形图标识符为BLKMOV_W ) ,双字块传送指令为BMD (梯形图标识符为BLKMOV_D ) 例 5-4】在 I0.1 控制开关导通时, 将 VB10 开始的 10 个字节单元数据传送到VB100 开始的数据块中,程序如图5-4 所示图5-4 字节块数据传送指令应用示例5.1.3 字节交换与填充指令1. 字节交换指令SWAP SWAP 指令专用于对1 个字长的字型数据进行处理指令格式:SWAP:字节交换梯形图指令标识符、语句表助计符指令功能: EN 有效时,将IN 中的字型数据的高位字节和低位字节进行交换2. 填充指令 FILL 填充指令 FILL 用于处理字型数据指令格式:VB10 STL指令LAD 指令I0.1 LD I0.1 BMB VB10, VB100, 20 ENO BLKMOV_B 10VB100 SWAP IN STL指令ENO IN EN LAD 指令SWAP OUT BMB IN, OUT ,N STL指令IN EN LAD 指令N ENO BLKMOV_B 100 FILL :填充梯形图指令标识符、语句表指令操作码助记符;N:填充字单元个数,N 为字节型数据。

指令功能: EN 有效时,将字型输入数据IN 填充到从 OUT 开始的 N 个字存储单元例 5-5】在 I0.0 控制开关导通时, 将 VW100 开始的 256 个字节全部清0程序如图 5-5所示ENINOUTENOFILLFILL+0, VW100, 128 N网络 1+0VW100LDI0.0I0.0128图5-5 填充指令应用示例注意:在使用本指令时,OUT 必须为字单元寻址5.2 算术和逻辑运算指令算术运算指令包括加法、减法、乘法、除法及一些常用的数学函数指令;逻辑运算指令包括逻辑与、或、非、异或以及数据比较等指令5.2.1 算术运算指令1. 加法指令加法操作是对两个有符号数进行相加操作,包括整数加法指令、双整数加法指令和实数加法指令1)整数加法指令+I 整数加法指令格式:ADD_I :整数加法梯形图指令标识符;+I:整数加法语句表指令操作码助记符;OUT +I IN1 , OUT STL指令 IN2 同 OUTIN1 EN LAD 指令IN2 ENO ADD_I MOVW IN1 , OUT +I IN2, OUT STL指令 IN2 不同 OUTOUT FILL IN, OUT ,N STL指令IN EN LAD 指令N ENO FILL 101 IN1:输入操作数1(下同);IN2:输入操作数2(下同);OUT:输出运算结果(下同) ;操作数和运算结果均为单字长。

指令功能:当EN 有效时,将两个16 位的有符号整数IN1 与 IN2(或 OUT)相加,产生一个 16 位的整数,结果送到单字存储单元OUT 中在使用整数加法指令时特别要注意:对于梯形图指令实现功能为OUT←IN1+IN2 ,若 IN2 和 OUT 为同一存储单元,在转为STL 指令时实现的功能为OUT ←OUT+IN1 ;若 IN2 和 OUT 不为同一存储单元,在转为STL指令时实现的功能为先把IN1 传送给 OUT,然后顺序OUT← IN2+OUT 2)双字长整数加法指令+D 双字长整数加法指令的操作数和运算结果均为双字(32 位)长指令格式类同整数加法指令双字长整数加法梯形图指令盒标识符为:ADD_DI 双字长整数加法语句表指令助计符为:+D 【例 5-6】在 I0.1 控制开关导通时,将VD100 的双字数据与VD110 的双字数据相加,结果送入 VD110 中程序如图5-6 所示图5-6 双字长加法指令应用示例(3)实数加法指令+R 实数加法指令实现两个双字长的实数相加,产生一个 32 位的实数 指令格式类同整数加法指令实数加法梯形图指令盒标识符为:ADD_R :实数加法语句表指令操作码助记符为:+R。

上述加法指令运算结果置位特殊继电器SM1.0(结果为零)、 SM1.1(结果溢出)、SM1.2(结果为负) 2. 减法指令减法指令是对两个有符号数进行减操作,与加法指令一样,可分为: 整数减法指令 (-I) 、 双字长整数减法指令(-D)和实数减法指令(-R) 其指令格式类同加法指令执行过程为:对于梯形图指令实现功能为OUT ←IN1-IN2 ;对于STL 指令为: OUT ←OUT-IN1 【例 5-7】在 I0.1 控制开关导通时,将VW100 (IN1)整数( 16 位)与 VW110 (IN2)整数( 16 位)相减,其差送入VW110(OUT )中程序如图5-7 所示OUT LD I0.1 +D VD100, VD110 STL 指令 LAD 中 IN2 同 OUT IN1 EN LAD 指令IN2 ENO ADD_DI VD100VD110VD110I0.1102 图5-7 整数减法指令应用示例【例 5-8】在 I0.1 控制开关导通时,将VD100(IN1)整数( 32 位)与 VD110(IN2)整数( 32 位)相减,其差送入VD200 (OUT )中程序如图5-8 所示。

图5-8 双字长整数减法指令应用示例●梯形图指令中若IN2 和 OUT 为同一存储单元,在转为STL 指令时为:INVW OUT //求反INCW OUT //加 1,转换为补码+I IN1, OUT //为补码加法●梯形图指令中若IN2 和 OUT 不为同一存储单元,在转为STL 指令时为:MOVW IN1, OUT //先把 IN1 传送给 OUT,-I IN2, OUT //然后顺序 OUT←OUT- IN2减法指令对特殊继电器位的影响同加法指令3. 乘法指令乘法指令是对两个有符号数进行乘法操作乘法指令可分为整数乘法指令(*I ) 、完全整数乘法指令( MUL ) 、双整数乘法指令(*D )和实数乘法指令(*R) 其指令格式类同加减法指令对于梯形图指令为OUT← IN1*IN2 ;对于 STL 指令为 OUT← IN1*OUT 在梯形图指令中,IN2 和 OUT 可以为同一存储单元1)整数乘法指令*I: 整数乘法指令格式:OUT IN1 EN LAD 指令IN2 ENO SUB_DI VD100VD110VD200I0.1 LD I0.1 MOVD VD100, VD200 -D VD110, VD20。

下载提示
相似文档
正为您匹配相似的精品文档