版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第 4 章 S7-200 PLC的指令系统 4.1 位逻辑指令 4.3 时钟指令 4.2 定时器和计数器指令 4.4 比较指令 4.5 数学运算指令 4.6 传送、移位及循环移位指令 4.7 表功能指令 4.8 逻辑运算指令 4.9 转换指令 4.10 程序控制指令 4.11 逻辑堆栈指令 大连理工大学14.1 位逻辑指令一、触点指令 1. 标准触点指令 LAD FBD STL LD bit A bit O bit LDN bit AN bit ON bit bitbitANDOR 当 bit = 1 时,常开触点闭合、常闭触点断开。 当 bit = 0 时,常开触点断开、常闭触点闭合。 大
2、连理工大学2输入/输出 操 作 数 数据类型 bit(LAD、STL) I、Q、M、SM、T、C、V、S、LBOOL 输入(FBD) I、Q、M、SM、T、C、V、S、L、能流BOOL 输出(FBD)I、Q、M、SM、T、C、V、S、L、能流BOOL 标准触点指令的操作数: 大连理工大学32. 立即触点指令 LAD FBD STL LDI bit AI bit OI bit LDNI bit ANI bit ONI bit bitIbitI 当 bit = 1 时,常开触点闭合、常闭触点断开。 当 bit = 0 时,常开触点断开、常闭触点闭合。 大连理工大学4输入/输出 操 作 数 数据类型
3、 bit(LAD、STL) IBOOL 输入(FBD) IBOOL 立即触点指令的操作数: 大连理工大学5二、取非指令 LAD FBD STL NOTNOT 取非指令改变能流的状态: 能流到达取非触点时,停止; 能流未到达取非触点时,通过。 大连理工大学6三、正跳变和负跳变检测指令 LAD FBD STL EU EDPNPN正跳变检测指令在检测到每一次正跳变(从 OFF 到ON)时,让能流接通一个扫描周期。负跳变检测指令在检测到每一次负跳变(从 ON 到OFF)时,让能流接通一个扫描周期。 大连理工大学7输入/输出 操 作 数 数据类型 输入(FBD) I、Q、M、SM、T、C、V、S、L、能
4、流BOOL 输出(FBD)I、Q、M、SM、T、C、V、S、L、能流BOOL 正跳变和负跳变检测指令的操作数: 大连理工大学8四、输出指令LADFBD STL bitbit ( )=bit 1. 输出指令 当执行输出指令时,映像寄存器中的指定参数位(bit)被接通。 输出指令的操作数: 输入/输出 操 作 数 数据类型 bit(LAD、STL) I、Q、M、SM、T、C、V、S、LBOOL 输入(LAD) 能流BOOL 输入(FBD)I、Q、M、SM、T、C、V、S、L、能流BOOL 大连理工大学9LAD FBD STL I bitbit ( I )= Ibit 2. 立即输出指令 立即输出指
5、令的操作数: 输入/输出操 作 数 数据类型 bitQBOOL输入(LAD)能流BOOL输入(FBD)I、Q、M、SM、T、C、V、S、L、能流BOOL当执行立即输出指令时,该物理输出点(bit 或 OUT)被设为等于能流 。大连理工大学10五、置位和复位指令LAD FBD STLS bit, NR bit, N1. 置位和复位指令 Sbit NRbit Nbit ( S )N bit ( R )N 指令执行时,从 bit 或 OUT 指定的地址参数开始的 N 个点都被置位(置1)或复位(置0)。N = 1 255。 大连理工大学11置位和复位指令的操作数: 输入/输出 操 作 数 数据类型
6、bitI、Q、M、SM、T、C、V、S、LBOOL NIB、QB、VB、MB、SMB、SB、LB、AC、常数、*VD、*AC、*LDBYTE 大连理工大学12 LAD FBD STLSI bit, NRI bit, N2. 立即置位和复位指令 SIbit NRIbit Nbit ( SI )N bit ( RI )N 指令执行 时,从 bit 或 OUT 开始的 N 个物理输出点将被立即置位或复位。 N = 1 128 。 大连理工大学13输入/输出 操 作 数 数据类型 bitQBOOL NIB、QB、VB、MB、SMB、SB、LB、AC、常数、*VD、*AC、*LDBYTE 立即置位和复位
7、指令的操作数: 大连理工大学14六、空操作指令 LAD FBD STLNOP N(NOP) N空操作指令不影响程序的执行。操作数:N = 0 255 (常数) 大连理工大学15 【例4-1】 阅读以下程序,理解位逻辑指令。 LAD FBD STL 网络1LD I0.0AN I0.1= Q0.0网络2LD I0.0NOT= Q0.1网络3LD I0.1 EU = Q0.2 大连理工大学16若给定输入 I0.0 和 I0.1 ,则三个输出 Q0.0、Q0.1 和 Q0.2 的时序图为: I0.0I0.1Q0.0Q0.1Q0.2接通一个扫描周期大连理工大学17 【例4-2】 阅读以下程序,理解位逻辑
8、指令。 LAD FBD STL 网络1LD I0.0= Q0.3S Q0.4, 1R Q0.5, 2 大连理工大学18若给定输入 I0.2,则三个输出 Q0.3、Q0.4 和 Q0.5 的时序图为: I0.2Q0.3Q0.4Q0.5Q0.6大连理工大学19【例4-3】分析并说明该程序所实现的逻辑功能。 LAD STL 网络 1LD I0.0EU= M0.0网络 2LD M0.0A Q0.0= M0.1网络 3LD M0.0O Q0.0AN M0.1= Q0.0 I0.0M0.0M0.1Q0.0t1 t2 t3 t4 t5 t6 t7 t8若给定输入 I0.0,时序图为:网络 2网络 3大连理工
9、大学204.2 定时器和计数器指令LAD / FBDSTL TON Txxx,PTTONR Txxx,PTTOF Txxx,PT 一、定时器指令 S7-200 提供三种定时器指令: (1) 接通延时定时器指令 TON (2) 有记忆接通延时定时器指令 TONR (3) 断开延时定时器指令 TOF 大连理工大学21输入/输出 操 作 数 数据类型 TxxxT0 T255 WORD 输入(LAD)能流BOOL 输入(FBD) I、Q、M、SM、V、T、C、S、L、能流BOOL PT 常数、IW、QW、MW、SMW、VW、T、C、SW、LW、AIW、AC、*VD、*AC、*LDINT 定时器指令的操
10、作数: 大连理工大学22类型 分辩率/ms 最长延时时间/s定时器号 TONR 132.767 T0、T64 10327.67 T1T4、T65T681003276.7 T5T31、T69T95TON TOF 132.767 T32、T9610327.67 T33T36、T97T1001003276.7 T37T63、T101T255 定时器的三种分辨率与定时器号的对应关系 : 大连理工大学23能自动触发自动复位的定时器程序如下图所示(a) 错误用法 (b) 正确用法 大连理工大学24(c) 最好用法 大连理工大学25例:接通延时定时器和有记忆接通延时定时器的异同。 网络2网络3300 msI
11、0.0T33当前值T33位T5当前值T5位Q0.0Q0.1300ms 900ms 500 ms200 ms327.67s 500 ms3276.7st1 t2 t3 t4 t5 t6 t7 t8 (a) 梯形图及语句表 (b) 时序图 大连理工大学26例:断开延时定时器指令的工作过程。 I0.1T34当前值T34位Q0.2400ms400mst1 t2 t3 t4 t5 t6 t7 t8 t9 (a) 梯形图及语句表 (b) 时序图 大连理工大学27 【例4-4】下图是使用符号地址的定时器指令的应用实例。该程序控制电灯点亮 10s 后自动熄灭。图中 Lamp_ON 是控制电灯点亮的按钮开关,L
12、amp_OFF 是控制电灯熄灭的按钮开关。 网络 1LD Lamp_ONO LampAN Lamp_OFFAN T37= Lamp网络 2LD LampTON T37,100大连理工大学28LAD / FBDSTL CTU Cxxx,PVCTD Cxxx,PVCTUD Cxxx,PV 二、计数器指令 S7-200 CPU 提供了 256 个计数器, 分为三种类型: (1) 增计数器指令 CTU (2) 减计数器指令 CTD (3) 增减计数器指令 CTUD 大连理工大学29输入/输出 操 作 数 数据类型 Cxxx C0 C255WORD CU、CD、LD、R(LAD)能流BOOL CU、CD
13、、LD、R(FBD)I、Q、M、SM、V、T、C、S、L、能流BOOL PV 常数、IW、QW、MW、SMW、VW、T、C、SW、LW、AIW、AC、*VD、*AC、*LD INT 计数器指令的操作数: 大连理工大学30例:计数器指令的工作过程。 12345654567I0.0I0.1I0.2C0当前值C0位 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12(a) 梯形图及语句表: I0.0 是增计数输入, I0.1 是减计数输入, I0.2 是复位输入。 (b) 时序图 大连理工大学314.3 时钟指令LAD / FBDSTL TODR TTODW T 当 EN
14、= 1 时,读实时时钟指令 READ_RTC 读当前时间和 日期 。 当 EN = 1 时,设定实时时钟指令 SET_RTC 把时间和日期 写入系统时钟。 T 为 8 个字节的时钟缓冲器的起始地址。 大连理工大学32输入/输出 操 作 数 数据类型 TIB、QB、MB、SMB、VB、SB、LB、*VD、*AC、*LD BYTE 时钟指令的操作数 : 时钟缓冲区的格式如下:年00 99月00 12日00 31小时00 23分钟00 59秒00 590星期0 7*T T1 T2 T3 T4 T5 T6 T7 大连理工大学33时钟缓冲器格式的几点说明 :(1) S7-200 中的日期、时间时钟只用年
15、份的最低两位表示年份。 (2) 时钟缓冲器的第 8 个字节(T7)中,1 表示星期日,7 表示星期六,0 表示禁用星期。 (3) 必须用 BCD 码表示所有的日期和时间值。 (4) S7-200 CPU 不执行检查和核实日期与星期几是否相符合。 (5) 不要同时在主程序和中断程序中使用 TODRTODW 指令。 (6) 当扩展电源停电或存储器数据丢失时,系统实时时钟 恢复到初始数值 。 大连理工大学34 【例4-5】下图是时钟指令的应用实例之一。分析该程序的工作过程。 网络 1LD SM0.5EUTODR VB90网络 2LD M0.0EUTODW VB100网络 2大连理工大学354.4 比
16、较指令LAD FBDSTL LD指令:LDB= IN1,IN2LDB IN1,IN2LDB IN1,IN2LDB= IN1,IN2LDB IN1,IN2LDB IN1,IN2 一、字节比较指令 字节比较是无符号的,字节比较指令包含:等于(=)、不等于()、大于()、大于等于 (=)、小于()、小于等于(=)。 大连理工大学36输入/输出 操 作 数 数据类型 输入IN1、IN2常数、IB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LDBYTE输出(FBD) I、Q、M、SM、T、C、V、S、L、能流BOOL 字节比较指令的操作数 : 比较指令的触点与左母线相连时使用 LD
17、指令,若比较指令的触点与其它触点串联或并联时,需使用 A 或 O 指令代替 LD 指令(例如 AB=,AB,OB=,OB等)。 大连理工大学37LAD FBDSTL LD指令:LDW= IN1,IN2LDW IN1,IN2LDW IN1,IN2LDW= IN1,IN2LDW IN1,IN2LDW IN1,IN2 二、整数比较指令 整数比较是有符号数的比较。整数的范围在 168000 与167FFF 之间。大连理工大学38输入/输出 操 作 数 数据类型 输入IN1、IN2常数、IW、QW、MW、SMW、VW、T、C、SW、LW、AIW、AC、*VD、*AC、*LDINT输出(FBD) I、Q、
18、M、SM、T、C、V、S、L、能流BOOL 整数比较指令的操作数 : 比较指令的触点与左母线相连时使用 LD 指令,若比较指令的触点与其它触点串联或并联时,需使用 A 或 O 指令代替 LD 指令(例如 AW=,AW,OW=,OW等)。 大连理工大学39LAD FBDSTL LD指令:LDD= IN1,IN2LDD IN1,IN2LDD IN1,IN2LDD= IN1,IN2LDD IN1,IN2LDD IN1,IN2 三、双字整数比较指令 双字整数比较是有符号数的比较。双字整数的范围在 1680000000 与 167FFFFFFF 之间。大连理工大学40输入/输出 操 作 数 数据类型 输
19、入IN1、IN2常数、ID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LDDINT输出(FBD) I、Q、M、SM、T、C、V、S、L、能流BOOL 双字整数比较指令的操作数 : 比较指令的触点与左母线相连时使用 LD 指令,若比较指令的触点与其它触点串联或并联时,需使用 A 或 O 指令代替 LD 指令(例如 AD=,AD,OD=,OD等)。 大连理工大学41LAD FBDSTL LD指令:LDR= IN1,IN2LDR IN1,IN2LDR IN1,IN2LDR= IN1,IN2LDR IN1,IN2LDR IN1,IN2 四、实数比较指令 实数比较是有符号的比较
20、,实数比较指令包含:等于(=)、不等于()、大于()、大于等于 (=)、小于()、小于等于(=)。 大连理工大学42输入/输出 操 作 数 数据类型 输入IN1、IN2常数、ID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDREAL输出(FBD) I、Q、M、SM、T、C、V、S、L、能流BOOL 实数比较指令的操作数 : 比较指令的触点与左母线相连时使用 LD 指令,若比较指令的触点与其它触点串联或并联时,需使用 A 或 O 指令代替 LD 指令(例如 AR=,AR,OR=,OR等)。 大连理工大学434.5 数学运算指令LAD / FBDSTL I IN1,OUTI
21、IN2,OUT 一、加法指令和减法指令 1. 整数加法指令和整数减法指令 16 位整数 16 位整数 = 16 位结果 16 位整数 16 位整数 = 16 位结果大连理工大学44输入/输出 操 作 数 数据类型 IN1、IN2常数、IW、QW、MW、SMW、VW、SW、LW、AIW、T、C、AC、*VD、*AC、*LD INTOUTIW、QW、MW、SMW、VW、SW、LW、T、C、AC、*VD、*AC、*LD INT 整数加法指令和整数减法指令的操作数 : 在梯形图 LAD 和功能块图 FBD 中实现如下操作 :加法:IN1IN2OUT减法:IN1IN2OUT 在语句表 STL 中实现如下
22、操作 : 加法:IN1OUTOUT减法:OUTIN2OUT大连理工大学45LAD / FBDSTL D IN1,OUTD IN2,OUT 2. 双整数加法指令和双整数减法指令 32 位双整数 32 位双整数 = 32 位结果 32 位双整数 32 位双整数 = 32 位结果 双整数加法指令和双整数减法指令的操作数 : 输入/输出 操 作 数 数据类型 IN1、IN2常数、ID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LDDINTOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDDINT 大连理工大学46LAD / FBDSTL R IN1
23、,OUTR IN2,OUT 输入/输出 操 作 数 数据类型 IN1、IN2常数、ID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDREALOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDREAL 3. 实数的加法和减法指令 32 位实数 32 位实数 = 32 位结果 32 位实数 32 位实数 = 32 位结果实数的加法和减法指令的操作数 : 大连理工大学47LAD / FBDSTL *I IN1,OUT /I IN2,OUT 二、乘法指令和除法指令 1. 整数乘法指令和整数除法指令 16 位整数 * 16 位整数 = 16 位积。如果结
24、果大于一个字,就将溢出位置位。 16 位整数 / 16 位整数 = 16 位商,不保留余数。 大连理工大学48输入/输出 操 作 数 数据类型 输入IN1、IN2常数、IW、QW、MW、SMW、VW、SW、LW、AIW、T、C、AC、*VD、*AC、*LD INTOUTIW、QW、MW、SMW、VW、SW、LW、T、C、AC、*VD、*AC、*LD INT 整数乘法指令和整数除法指令的操作数 : 在梯形图 LAD 和功能块图 FBD 中实现如下操作 :乘法:IN1*IN2OUT除法:IN1/IN2OUT 在语句表 STL 中实现如下操作 : 乘法:IN1*OUTOUT除法:OUT/IN2OUT
25、大连理工大学49LAD / FBDSTL *D IN1,OUT /D IN2,OUT 输入/输出 操 作 数 数据类型 IN1、IN2常数、ID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LDDINTOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDDINT 2. 双整数乘法指令和双整数除法指令 32 双位整数 * 32 位双整数 = 32 位积 32 双位整数 / 32 位双整数 = 32 位商,不保留余数。 双整数加法指令和双整数减法指令的操作数 : 大连理工大学50LAD / FBDSTL MUL IN1,OUT DIV IN2,OU
26、T 输入/输出 操 作 数 数据类型 IN1、IN2常数、IW、QW、MW、SMW、VW、SW、LW、T、C、AC、AIW、*VD、*AC、*LDINTOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDDINT 3. 整数乘法产生双整数和整数除法产生双整数指令 16 位整数 * 16 位整数 = 32 位积 16 位整数 / 16 位整数 = 16 位余数(最高有效位)+ 16 位商(最低有效位) 双整数加法指令和双整数减法指令的操作数 : 大连理工大学51LAD / FBDSTL *R IN1,OUT /R IN2,OUT 输入/输出 操 作 数 数据类型 IN1
27、、IN2常数、ID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDREALOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDREAL 4. 实数的乘法和除法指令 32 位实数 * 32 位实数 = 32 位实数积 32 位实数 / 32 位实数 = 32 位实数商实数的乘法和除法指令的操作数 : 大连理工大学52LAD / FBDSTL SQRT IN,OUT EXP IN,OUT LN IN,OUT 三、实数的开方、指数和自然对数指令 实数的开方指令 SQRT 把一个 32 位的实数(IN)开平方根,得到 32 位的实数结果(OUT) 。 实数
28、的指数指令 EXP 将输入IN的值取以 e 为底的指数,结果放入输出 OUT。 实数的自然对数指令 LN 将输入 IN 的值取自然对数, 结果放入输出 OUT。 大连理工大学53输入/输出 操 作 数 数据类型 IN常数、ID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD REALOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD REAL 实数的开方、指数和自然对数指令的操作数 : 大连理工大学54LAD / FBDSTL SIN IN,OUT COS IN,OUT TAN IN,OUT 四、正弦、余弦和正切指令 正弦、余弦和正切指令的输入值
29、 IN 均为弧度值,结果放入输出 OUT 中。正弦、余弦和正切指令的操作数与实数的开方、指数和自然对数指令的操作数完全相同。 大连理工大学55LAD / FBDSTL INCB OUT DECB OUT 五、字节、字、双字的增和减指令 1. 字节增指令和字节减指令 字节 IN 1 OUT字节 IN 1 OUT字节增和字节减指令的操作数 : 输入/输出 操 作 数 数据类型 IN常数、IB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LDBYTEOUTIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD BYTE 大连理工大学56LAD / FBDSTL I
30、NCW OUT DECW OUT 输入/输出 操 作 数 数据类型 IN常数、IW、QW、MW、SMW、VW、T、C、SW、LW、AC、AIW、*VD、*AC、*LD INTOUTIW、QW、MW、SMW、VW、T、C、SW、LW、AC、*VD、*AC、*LD INT 2. 字节增指令和字节减指令 字 IN 1 OUT字 IN 1 OUT字增和字减指令的操作数 : 大连理工大学57LAD / FBDSTL INCD OUT DECD OUT 输入/输出 操 作 数 数据类型 IN常数、ID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LD DINTOUTID、QD、MD
31、、SMD、VD、SD、LD、AC、*VD、*AC、*LDDINT 3. 双字增指令和双字减指令 双字 IN 1 OUT双字 IN 1 OUT双字增和双字减指令的操作数 : 大连理工大学58例:算术运算指令的编程实例。 网络1LD I0.0MOVW VW0,VW4 I VW2,VW4 MOVD MD0,MD8 D MD4,MD8 MOVW VW6,VW102DIV VW8,VD100程序长度为 56 个字节 。( a )大连理工大学59( b )网络2LD I0.1I MW12,MW10MUL AC0,AC1/D VD4,VD0程序长度为 33 个字节 。如果使用操作数的地址的不同,则程序的长度
32、相差较大。 大连理工大学604.6 传送、移位及循环移位指令 LAD / FBDSTL MOVB IN,OUTMOVW IN,OUTMOVD IN,OUTMOVR IN,OUT 一、字节、字、双字和实数的传送指令 字节传送指令 MOVB 把输入字节 IN 传送到输出字节OUT。 字传送指令 MOVW 把输入字 IN 传送到输出字 OUT 。 双字传送指令 MOVD 把输入双字 IN 传送到输出双字OUT。 实数传送指令 MOVR 把输入双字 IN传送到输出双字OUT。 大连理工大学61传送输入/输出 操 作 数 数据类型 字节IN常数、IB、QB、MB、SMB、VB、SB、LB、AC、*VD、
33、*AC、*LDBYTEOUTIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD 字IN常数、IW、QW、MW、SMW、VW、T、C、SW、LW、AC、AIW、*VD、*AC、*LDWORDINTOUTIW、QW、MW、SMW、VW、T、C、SW、LW、AC、AQW、*VD、*AC、*LD双字IN常数、ID、QD、MD、SMD、VD、HC、SD、LD、AC、IB、QB、MB、VB、SB、T、C、*VD、*AC、*LDDWORDDINTOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD实数IN常数、ID、QD、MD、SMD、VD、SD、LD、AC、
34、*VD、*AC、*LDREALOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD传送指令的操作数 : 大连理工大学62LAD / FBDSTL BMB IN,OUT,NBMW IN,OUT,NBMD IN,OUT,N 二、字节、字和双字的块传送指令 字节块传送指令 BMB 把从输入字节 IN 开始的 N 个字节值传送到从输出字节 OUT 开始的 N 个字节。 字块传送指令 BMW 把从输入字 IN 开始的 N 个字值传送到从输出字 OUT 开始的 N 个字。双字块传送指令 BMD 把从输入地址 IN 开始的 N 个双字值传送到从输出地址 OUT 开始的 N 个双字
35、。N 可取 1255。 大连理工大学63传送输入/输出 操 作 数 数据类型 字节IN,OUTIB、QB、MB、SMB、VB、SB、LB、*VD、*AC、*LD BYTEN常数、IB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD 字INIW、QW、MW、SMW、VW、T、C、SW、LW、AIW、*VD、*AC、*LDWORDOUTIW、QW、MW、SMW、VW、T、C、SW、LW、AQW、*VD、*AC、*LD N常数、IB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD BYTE双字IN,OUTID、QD、MD、SMD、VD、SD、LD、*VD、*A
36、C、*LDDWORDN常数、IB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD BYTE块传送指令的操作数 : 大连理工大学64下图是一段字节的块传送指令的编程实例。假设某个 22矩阵的四个元素存放在从 VB10 开始的四个字节中,现要将其传送到从 VB100 开始的四个字节中去,则执行 N = 4 的字节块传送指令。 ( a ) 梯形图( b ) 语句表LD I0.0BMB VB10, VB100,4大连理工大学65LAD / FBDSTL SWAP IN 输入/输出 操 作 数 数据类型 INIW、QW、MW、SMW、VW、SW、LW、T、C、AC、*VD、*AC、*
37、LDWORD三、字节交换指令 字节交换指令 SWAP 用来交换输入字 IN 的高字节与低字节。字节交换指令的操作数 : 大连理工大学66LAD / FBDSTL BIR IN,OUTBIW IN,OUT 四、字节传送立即读和字节传送立即写指令 字节传送立即读指令 BIR 读取输入 IN 的物理值,将结果写入输出 OUT 。字节传送立即写指令 BIW 将从输入 IN 读取的值写入输出 OUT 物理映像区。 大连理工大学67指令输入/输出 操 作 数 数据类型 BIR INIB BYTEOUTIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LDBIW IN常数、IB、QB、MB
38、、SMB、VB、SB、LB、AC、*VD、*AC、*LDBYTEOUTQB 字节传送立即读和字节传送立即写指令的操作数 : 大连理工大学68LAD / FBDSTL SLB OUT,N SRB OUT,N五、字节、字、双字的左移位和右移位指令 1. 字节左移位指令和字节右移位指令 字节左移位 SLB 和右移位 SRB 指令把输入字节 IN 左移或右移 N 位后,输出到 OUT 字节。 移位指令对移出位自动补零 。大连理工大学69字节左移位和字节右移位指令的操作数 : 输入/输出 操 作 数 数据类型 INIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTEOU
39、TIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LDNIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTE 大连理工大学70LAD / FBDSTL SLW OUT,NSRW OUT,N 输入/输出 操 作 数 数据类型 INIW、QW、MW、SMW、VW、SW、LW、T、C、AC、AIW、*VD、*AC、*LD、常数WORDOUTIW、QW、MW、SMW、VW、SW、LW、T、C、AC、*VD、*AC、*LDNIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTE字左移位 SLW 和右移位 SRW 指令把
40、输入字 IN 左移或右移 N 位后,输出到字 OUT 。字左移位指令和字右移位指令的操作数 : 2. 字左移位指令和字右移位指令 大连理工大学71LAD / FBDSTL SLD OUT,N SRD OUT,N 输入/输出 操 作 数 数据类型 INID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LD、常数 DWORDOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDNIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTE双字左移位 SLD 和右移位 SRD 指令把输入双字 IN 左移或右移 N 位后,输出到
41、双字 OUT。双字左移位指令和双字右移位指令的操作数 : 3. 双字左移位指令和双字右移位指令 大连理工大学72LAD / FBDSTL RLB OUT,N RRB OUT,N六、字节、字、双字的循环左移和循环右移指令 1. 字节循环左移指令和字节循环右移指令 字节循环左移 RLB 和循环右移 RRB 指令把输入字节 IN 左移或右移 N 位后,输出到 OUT 字节。 大连理工大学73字节循环左移和字节循环右移指令的操作数 : 输入/输出 操 作 数 数据类型 INIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD BYTEOUTIB、QB、MB、SMB、VB、SB、LB
42、、AC、*VD、*AC、*LDNIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTE 大连理工大学74LAD / FBDSTL RLW OUT,NRRW OUT,N 输入/输出 操 作 数 数据类型 INIW、QW、MW、SMW、VW、SW、LW、T、C、AC、AIW、*VD、*AC、*LD、常数WORDOUTIW、QW、MW、SMW、VW、SW、LW、T、C、AC、*VD、*AC、*LDNIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTE字循环左移 RLW 和字循环右移 RRW 指令把输入字 IN 左移或右移 N 位后,输
43、出到字 OUT 。字循环左移和字循环右移位指令的操作数 : 2. 字循环左移指令和字循环右移指令 大连理工大学75LAD / FBDSTL RLD OUT,N RRD OUT,N 输入/输出 操 作 数 数据类型 INID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LD、常数 DWORDOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LDNIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTE双字循环左移 RLD 和循环右移 RRD 指令把输入双字 IN 左移或右移 N 位后,输出到双字 OUT。双字循环左移和
44、双字循环右移位指令的操作数 : 3. 双字循环左移指令和双字循环右移指令 大连理工大学76例:移位和循环指令的编程实例。 ( a ) 梯形图( b ) 语句表LD I0.0RRW AC0,2SLW VW0,3 100010010111010111000100101110100110001001011101AC0循环前第1次循环后第2次循环后 X 1 0AC0AC0SM1.1101010010111010101010010111010101010010111010100VW0循环前第1次移位后第2次移位后 X 1 0VW0VW0SM1.10100101110101000第3次移位后 1VW0(
45、c ) 右循环指令的执行过程 ( d ) 左循环指令的执行过程 大连理工大学77LAD / FBDSTL SHRB OUT,S_BIT,N 七、位移位寄存器指令 位移位寄存器指令 SHRB 把输入的 DATA 数值移入移位寄存器 。位移位寄存器指令的操作数 : 输入/输出 操 作 数 数据类型 DATAS_BIT I、Q、M、SM、V、T、C、S、L BOOLNIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTE大连理工大学78例:两种不同方向的移位。 ( a ) ( b ) V33V34V35SM1.1X7 6 5 4 3 2 1 0DATA7 6 5 4
46、3 2 1 07 6 5 4 3 2 1 0V33V34V35SM1.1X7 6 5 4 3 2 1 0DATA7 6 5 4 3 2 1 07 6 5 4 3 2 1 0 对于图 (a),N =14,为正向(左)移位; 对于图 (b),N =14,为反向(右)移位。 大连理工大学79例:位移位寄存器的编程实例 。 ( a ) 梯形图LD I0.0EUSHRB I0.1, V100.0, 4 ( b ) 语句表( c ) 时序图 ( d ) 移位过程 I0.0ENI0.1 1 0第一次移位 第二次移位V100V100V1000 1 1 0SM1.1XI0.1SM1.10SM1.111 1 0
47、1I0.1I0.11 0 1 010移位前第1次移位后第2次移位后大连理工大学804.7 表功能指令 LAD / FBDSTL ATT DATA,TBLFND= TBL,PATRN,INDXFND TBL,PATRN,INDXFND TBL,PATRN,INDXFND TBL,PATRN,INDX 一、填表指令和查表指令 填表指令 ATT 向表 TBL 中增加一个字值 DATA 。大连理工大学81填表指令和查表指令的操作数 : 指令输入/输出 操 作 数 数据类型 ATTDATA IW、QW、MW、SMW、VW、T、C、SW、LW、AC、AIW、*VD、*AC、*LD、常数INTTBLIW、Q
48、W、MW、SMW、VW、SW、LW、T、C、*VD、*AC、*LDWORDFNDTBLIW、QW、MW、SMW、VW、LW、T、C、*VD、*AC、*LD WORDPTNIW、QW、MW、SMW、VW、SW、LW、T、C、AC、AIW、*VD、*AC、*LD、常数INTINDXIW、QW、MW、SMW、VW、SW、LW、T、C、AC、*VD、*AC、*LDWORDCMD常数BYTE 大连理工大学82例:填表指令和查表指令的编程实例 。 ( a ) 梯形图( b ) 语句表网络 1LD I0.0 ATT VW100,VW200网络 2 LD I0.1 FND= VW202,16#1234,AC0
49、大连理工大学83VW200 0006 TL(最大填表数)VW202 0006 EC(实际填表数)VW204 1212 d0(数据0)VW206 1234 d1(数据1)VW208 1987 d2(数据2)VW210 6524 d3(数据3)VW212 1234 d4(数据4)VW214 4567 d5(数据5)VW200 0006 TL(最大填表数)VW202 0005 EC(实际填表数)VW204 1212 d0(数据0)VW206 1234 d1(数据1)VW208 1987 d2(数据2)VW210 6524 d3(数据3)VW212 1234 d4(数据4)VW214 ATT指令执行前
50、VW100 4567ATT指令执行后VW100 4567( c ) 填表指令的执行过程 大连理工大学84AC0 0 从表头开始查找,INDX(AC0)置 0AC0 1 查表,AC0 中为第 1 个符合条件的数据的编号AC0 2 INDX 加1,继续查表AC0 4 继续查表,AC0 为中第 2 个符合条件的数据的编号AC0 5 INDX 加1,继续查表AC0 6 INDX(AC0)= EC 时,查表完成AC0 0 再次查表时,INDX(AC0)重新置 0VW202 0006 EC(实际填表数)VW204 1212 d0(数据0)VW206 1234 d1(数据1)VW208 1987 d2(数据
51、2)VW210 6524 d3(数据3)VW212 1234 d4(数据4)VW214 4567 d5(数据5)( d ) 查表指令的执行过程 大连理工大学85LAD / FBDSTL LIFO TBL,DATAFIFO TBL,DATA 二、后进先出指令和先进先出指令 LIFO 指令将表 TBL 中最后一个数据移出到 DATA 。FIFO 指令将表 TBL 中第一个数据移出到 DATA。 后进先出指令和先进先出指令的操作数 : 输入/输出 操 作 数 数据类型 TBL IW、QW、MW、SMW、VW、T、C、SW、LW、*VD、*AC、*LDINTDATAIW、QW、MW、SMW、VW、T、
52、C、SW、LW、AC、AQW、*VD、*AC、*LD WORD大连理工大学86例:后进先出指令和先进先出指令的编程实例。 ( a ) 梯形图( b ) 语句表网络 1LD I0.2LIFO VW200, VW300网络 2LD I0.3FIFO VW200, VW400 大连理工大学87( c ) 后进先出指令的执行过程 LIFO指令执行后VW200 0006 TLVW202 0005 ECVW204 1212 d0 VW206 1234 d1VW208 1987 d2VW210 6524 d3VW212 1234 d4VW214 XXXX (最大填表数)(实际填表数)(数据0) (数据1)(
53、数据2)(数据3) (数据4)VW300 4567VW200 0006 TLVW202 0006 ECVW204 1212 d0 VW206 1234 d1VW208 1987 d2VW210 6524 d3VW212 1234 d4VW214 4567 d5LIFO指令执行前(最大填表数)(实际填表数)(数据0) (数据1)(数据2) (数据3)(数据4)(数据5)VW300 XXXX大连理工大学88VW400 XXXXFIFO指令执行后VW200 0006 TLVW202 0005 ECVW204 1234 d0 VW206 1987 d1VW208 6524 d2VW210 1234 d
54、3VW212 4567 d4VW214 XXXX (最大填表数)(实际填表数)(数据0) (数据1)(数据2)(数据3) (数据4)VW400 1212VW200 0006 TLVW202 0006 ECVW204 1212 d0 VW206 1234 d1VW208 1987 d2VW210 6524 d3VW212 1234 d4VW214 4567 d5FIFO指令执行前(最大填表数)(实际填表数)(数据0) (数据1)(数据2) (数据3)(数据4)(数据5)( d ) 先进先出指令的执行过程 大连理工大学89LAD / FBDSTL FILL IN,OUT, N 输入/输出 操 作
55、数 数据类型 IN IW、QW、MW、SMW、VW、T、C、SW、LW、AC、AIW、*VD、*AC、*LD、常数 WORDNIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTEOUTIW、QW、MW、SMW、VW、T、C、SW、LW、AQW、*VD、*AC、*LDWORD三、存储器填充指令 存储器填充指令 FILL 用输入值 IN 填充从输出 OUT 开始的 N 个字的内容 。N 可取 1255 之间的整数 。存储器填充指令的操作数 : 大连理工大学90例:存储器填充指令的编程实例 。( a ) 梯形图( b ) 语句表LD I0.2FILL 0, QW0,
56、 8 大连理工大学914.8 逻辑运算指令 LAD / FBDSTL ANDB IN1,OUT ORB IN1,OUTXORB IN1,OUT 一、字节的与、或和异或指令 字节与指令 ANDB 对两个输入字节按位与,得到一个字节结果 OUT 。字节或指令 ORB 对两个输入字节按位或,得到一个字节结果 OUT。字节异或指令 XORB 对两个输入字节按位异或,得到一个字节结果 OUT。 大连理工大学92字节的与、或和异或指令的操作数: 输入/输出 操 作 数 数据类型 IN1、IN2 IB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTEOUTIB、QB、MB、S
57、MB、VB、SB、LB、AC、*VD、*AC、*LD BYTE大连理工大学93LAD / FBDSTL ANDW IN1,OUT ORW IN1,OUTXORW IN1,OUT 输入/输出 操 作 数 数据类型 IN1、IN2 IW、QW、MW、SMW、VW、T、C、SW、LW、AC、AIW、*VD、*AC、*LD、常数WORDOUTIW、QW、MW、SMW、VW、T、C、SW、LW、AC、*VD、*AC、*LD WORD二、字的与、或和异或指令 字的与、或和异或指令的操作数 : 大连理工大学94LAD / FBDSTL ANDD IN1,OUT ORD IN1,OUTXORD IN1,OUT
58、 输入/输出 操 作 数 数据类型 IN1、IN2 ID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LD、常数DWORDOUTID、QD、MD、SMD、VD、SD、LD、AC、*VD、*AC、*LD DWORD三、双字的与、或和异或指令 双字的与、或和异或指令的操作数 : 大连理工大学95例:字的与、或和异或指令的编程实例 。梯形图字与指令的执行 AC0 1100 0101 1010 0111 与AC1 0110 1010 1000 1001 等于AC1 0100 0000 1000 0001 字或指令的执行 AC0 1100 0101 1010 0111 或AC1
59、0110 1010 1000 1001 等于AC1 1110 1111 1010 1111 字异或指令的执行 AC0 1100 0101 1010 0111 异或AC1 0110 1010 1000 1001 等于AC1 1010 1111 0010 1110 运算实例大连理工大学96LAD / FBDSTL INVB OUTINVW OUTINVD OUT 四、取反指令 字节取反指令 INVB 求出输入字节 IN 的反码,得到一个字节结果 OUT 。字取反指令 INVW 求出输入字 IN 的反码,得到一个字结果 OUT 。双字取反指令 INVD 求出输入双字 IN 的反码,得到一个双字结果
60、OUT 。 大连理工大学97取反指令的操作数 : 指令输入/输出 操 作 数 数据类型 INVBIN IB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD、常数BYTEOUTIB、QB、MB、SMB、VB、SB、LB、AC、*VD、*AC、*LD INVWINIW、QW、MW、SMW、VW、SW、LW、AC、T、C、AIW、*VD、*AC、*LD、常数WORDOUTIW、QW、MW、SMW、VW、SW、LW、AC、T、C、*VD、*AC、*LDINVDINID、QD、MD、SMD、VD、SD、LD、AC、HC、*VD、*AC、*LD、常数DWORDOUTID、QD、MD、S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《应用语言学》(1-15章节)笔记
- 抗体偶联药物分段生产试点注册申报技术要求
- 2024年三季度宏观经济分析报告
- 第三单元 表内乘法(一)(知识清单)二年级数学上册(苏教版)
- 2024年营养强化剂项目资金筹措计划书代可行性研究报告
- 强化班子建设-打造和谐工商
- 冷喷烯锌涂料中石墨烯材料的测试与判定 扫描电镜-X射线能谱分析法-编制说明
- Python程序设计实践- 习题及答案 ch12 实验8 字典与集合
- 幼儿园语言领域听课心得(3篇)
- 生物类实习报告模板汇编(3篇)
- 嵌入式操作系统FreeRTOS的原理与现
- 电商岗位职责及关键流程发布
- 高三一轮复习-工业革命
- 小学生怎样正确使用电子产品
- 土方工程施工进度计划制定
- 云南省情概况
- 快递物流行业培训资料
- 小学科学教学仪器配备标准
- 小儿抽动症的护理查房
- 分析化学章节练习题(带答案)
- 老年人跌倒风险综合评估规范
评论
0/150
提交评论