




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 重点与难点重点与难点 可编程序控制器的位逻辑指令、数据可编程序控制器的位逻辑指令、数据传送与转换指令、运算指令、移位指令、传送与转换指令、运算指令、移位指令、累加器操作和地址寄存器操作指令、控制累加器操作和地址寄存器操作指令、控制指令。指令。基本要求基本要求 1熟练使用可编程序控制器的基本指熟练使用可编程序控制器的基本指令进行编程;令进行编程; 2熟悉熟悉S7-300的系统功能模块。的系统功能模块。本章内容本章内容 1S7-300位逻辑指令;位逻辑指令; 2S7-300数据传送与转换指令;数据传送与转换指令; 3S7-300运算指令;运算指令; 4S7-300移位指令;移位指令; 5累加器操
2、作和地址寄存器操作指令;累加器操作和地址寄存器操作指令; 6控制指令;控制指令; 7S7-300的系统功能模块简介。的系统功能模块简介。 数据传送与转换指令数据传送与转换指令3.2 运算指令运算指令 3.3 位逻辑指令位逻辑指令3.1 移位指令移位指令 3.4 累加器操作和地址寄存器操作指令累加器操作和地址寄存器操作指令3.5 控制指令控制指令 3.6 本章小结本章小结3.8 S7-300S7-300的系统功能模块简介的系统功能模块简介 3.7 位逻辑指令主要包括位逻辑运算指令、位逻辑指令主要包括位逻辑运算指令、位操作指令和位测试指令,位逻辑指令的位操作指令和位测试指令,位逻辑指令的运算结果用
3、两个二进制数字运算结果用两个二进制数字1和和0来表示。来表示。可以对布尔操作数(可以对布尔操作数(BOOL)的信号状态)的信号状态扫描并完成逻辑操作。扫描并完成逻辑操作。 逻辑操作结果(逻辑操作结果(Result of Logic Operation,RLO),用以赋值、置位、复),用以赋值、置位、复位布尔操作数,也控制定时器和计数器的位布尔操作数,也控制定时器和计数器的运行。运行。 3.1.1 3.1.1 基本逻辑指令基本逻辑指令 “与与”、“或或”逻辑指令在逻辑指令在STEP 7中中的三种语言表示如图的三种语言表示如图3-1所示。所示。(1)语句表)语句表STL表示的基本位逻辑表示的基本位
4、逻辑指令指令 (2)梯形图)梯形图LAD表示的基本位逻辑表示的基本位逻辑指令指令 1 1逻辑逻辑“与与”操作操作 功能图(功能图(FBD)语言如下:)语言如下: 梯形图(梯形图(LAD)语言如下:)语言如下:语句表(语句表(STL)语言如下:)语言如下: A I 0.0 A I 0.1 = Q 4.0 逻辑关系如下:逻辑关系如下:ANDI 0.0I 0.1Q 4.0 0 0 0 0 1 0 1 0 0 1 1 1 2 2逻辑逻辑“或或”操作操作 只要有一个输入信号为只要有一个输入信号为“1”,则输出,则输出为为“1”;所有输入信号都为;所有输入信号都为“0”,输出才,输出才为为“0”。功能图(
5、功能图(FBD)语言如下:)语言如下: 当输入信号当输入信号I 0.0和和I 0.1有一个以上为有一个以上为“1”时,输出信号时,输出信号Q 4.0为为“1”。当输入信。当输入信号号I 0.0和和I 0.1都为都为“0”时,输出信号时,输出信号Q 4.0才为才为“0”。 梯形图(梯形图(LAD)语言如下:)语言如下: 语句表(语句表(STL)语言如下:)语言如下: O I 0.0 O I 0.1 = Q 4.0 逻辑关系如下:逻辑关系如下:OR I 0.2I 0.3 Q 4.2 0 0 0 0 1 1 1 0 1 1 1 1 3 3逻辑异或操作逻辑异或操作 当两个输入信号其中一个为当两个输入信
6、号其中一个为“1”而另而另一个为一个为“0”时,输出信号为时,输出信号为“1”;当两个;当两个输入信号都为输入信号都为“0”或者都为或者都为“1”时,输出时,输出信号为信号为“0”。 逻辑指令异或的逻辑指令异或的STEP 7中三种语言表中三种语言表示如图示如图3-1所示。所示。图图3-1 3-1 逻辑指令异或的逻辑指令异或的STEP 7STEP 7中三种语言表示中三种语言表示 逻辑关系如下:逻辑关系如下:XOR I 0.4 I 0.5 Q 4.0 0 0 0 0 1 1 1 0 1 1 1 0 功能图(功能图(FBD)语言如下:)语言如下: 梯形图(梯形图(LAD)语言如下:)语言如下: 语句
7、表(语句表(STL)语言如下:)语言如下: X I 0.0 X I 0.2 = Q 3.1 4 4逻辑取反操作逻辑取反操作 逻辑取反操作对逻辑运算结果逻辑取反操作对逻辑运算结果RLO取取反。反。 功能图(功能图(FBD)符号:)符号: 梯形图(梯形图(LAD)符号:)符号: -|NOT|- 语句表(语句表(STL)符号:)符号: NOT 5 5中间输出符号中间输出符号 中间输出指令用于存储中间输出指令用于存储RLO的中间值,的中间值,该值是中间输出指令前的位逻辑操作结果。该值是中间输出指令前的位逻辑操作结果。 中间输出指令不能用于结束一个逻辑中间输出指令不能用于结束一个逻辑串,因此,中间输出指
8、令不能放在逻辑串串,因此,中间输出指令不能放在逻辑串的结尾或分支的结尾处。的结尾或分支的结尾处。 6 6位逻辑操作规则位逻辑操作规则 位逻辑指令的运算规则:先与后或。位逻辑指令的运算规则:先与后或。当输入信号当输入信号I 1.0 和和I 1.1都为都为“1”,或输入,或输入信号信号I 1.2和和I 1.3都为都为“1”时,输出信号时,输出信号Q 3.1为为“1”。否则输出信号。否则输出信号Q 3.1 为为“0”。 功能图(功能图(FBD)语言如下:)语言如下: 梯形图(梯形图(LAD)语言如下:)语言如下: 语句表(语句表(STL)语言如下:)语言如下: A I 1.0 A I 1.1 O A
9、 I 1.2 A I 1.3 = Q 3.1 3.1.2 3.1.2 置位置位/ /复位指令复位指令 置位置位/复位指令根据复位指令根据RLO的值,来决定的值,来决定被寻址位的信号状态是否需要改变。被寻址位的信号状态是否需要改变。 若若RLO的值为的值为1,被寻址位的信号状,被寻址位的信号状态被置态被置1或清或清0;若;若RLO是是0,则被寻址位,则被寻址位的信号保持原状态不变。的信号保持原状态不变。 对于置位操作,一旦对于置位操作,一旦RLO为为1,则被,则被寻址信号(输出信号)状态置寻址信号(输出信号)状态置1,即使,即使RLO又变为又变为0,输出仍保持为,输出仍保持为1;对于复位;对于复
10、位操作,一旦操作,一旦RLO为为1,则被寻址信号(输,则被寻址信号(输出信号)状态置出信号)状态置0,即使,即使RLO又变为又变为0,输,输出仍保持为出仍保持为0。(1)语句表)语句表STL表示的置位表示的置位/复位指复位指令令(2)梯形图)梯形图LAD表示的置位表示的置位/复位指复位指令令 1 1置位置位/ /复位线圈指令复位线圈指令 2 2置位置位/ /复位双稳态触发器指令复位双稳态触发器指令 如果置位输入端为如果置位输入端为“1”,复位输入端,复位输入端为为“0”,则触发器被置位。此后,即使置,则触发器被置位。此后,即使置位输入端为位输入端为0,触发器也保持置位不变。,触发器也保持置位不
11、变。 如果复位输入端为如果复位输入端为1,置位输入端为,置位输入端为“0”,则触发器被复位。,则触发器被复位。 置位优先型置位优先型RS触发器的触发器的R端在端在S端之上,端之上,当两个输入端都为当两个输入端都为1时,下面的置位输入端时,下面的置位输入端最终有效。既置位输入优先,触发器被置最终有效。既置位输入优先,触发器被置位。位。 复位优先型复位优先型SR触发器的触发器的S端在端在R端之上,端之上,当两个输入端都为当两个输入端都为1时,下面的复位输入端时,下面的复位输入端最终有效。即复位输入优先,触发器被复最终有效。即复位输入优先,触发器被复位。位。 3.1.3 3.1.3 边沿信号识别指令
12、边沿信号识别指令 1 1RLORLO边沿信号识别指令边沿信号识别指令 当信号状态变化时就产生跳变沿,当当信号状态变化时就产生跳变沿,当从从0变到变到1时,产生一个上升沿(或称正跳时,产生一个上升沿(或称正跳沿);若从沿);若从1变到变到0,则产生一个下降沿,则产生一个下降沿(或称负跳沿),如图(或称负跳沿),如图3-2所示。所示。图图3-2 3-2 时序图时序图 跳变沿检测的原理是:在每个扫描周跳变沿检测的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的期中把信号状态和它在前一个扫描周期的状态进行比较,若不同则表明有一个跳变状态进行比较,若不同则表明有一个跳变沿。因此,前一个周期里的信
13、号状态必须沿。因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较。被存储,以便能和新的信号状态相比较。(1)下降沿信号识别指令)下降沿信号识别指令(2)上升沿信号识别指令)上升沿信号识别指令 2 2触点边沿信号识别指令触点边沿信号识别指令 在在OB1的扫描周期中,的扫描周期中,CPU对对的状态与其上一个扫描周期的的状态与其上一个扫描周期的状态进行比较(上一个扫描周期的状态保状态进行比较(上一个扫描周期的状态保存在存在中。中。 若该若该状态是状态是0且存放在且存放在中的上次状态是中的上次状态是1,这说明,这说明NEG指令检测到指令检测到的负跳沿,那么的负跳沿,那么NEG指令把指令
14、把RLO位置位置1。 如果如果在相邻的两个扫描周在相邻的两个扫描周期中状态相同(全为期中状态相同(全为1或或0),那么),那么NEG指指令把令把RLO位清位清0。 3.1.4 3.1.4 定时器指令定时器指令 S7中定时时间由时基和定时值两部分中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。组成,定时时间等于时基与定时值的乘积。 当定时器运行时,定时值不断减当定时器运行时,定时值不断减1,直,直至减到至减到0,减到,减到0表示定时时间到。定时时表示定时时间到。定时时间到后会引起定时器触点的动作。间到后会引起定时器触点的动作。 定时器的第定时器的第0到第到第11位存放位存放B
15、CD码格式码格式的定时值,三位的定时值,三位BCD码表示的范围是码表示的范围是0999。第。第12,13位存放二进制格式的时基,位存放二进制格式的时基,如图如图3-7所示。所示。图图3-73-7定时器的结构定时器的结构时基时基二进制时基二进制时基分辨率分辨率定定 时时 范范 围围10 s10 s00000.01 s0.01 s10ms10ms9s_990ms9s_990ms100ms100ms0l0l0.1 s0.1 s100ms100ms1m_39s_900ms1m_39s_900ms1 s1 s10101s1s1s1s16m_39s16m_39s10 s10 s111110 s10 s10
16、s10s2h_46m_30s2h_46m_30s表表3-63-6 二进制格式的时基和分辨率二进制格式的时基和分辨率 当定时器启动时,累加器当定时器启动时,累加器1低字的内容低字的内容被当作定时时间装入定时字中。这一过程被当作定时时间装入定时字中。这一过程是由操作系统控制自动完成的,用户只需是由操作系统控制自动完成的,用户只需给累加器给累加器l装入不同的数值,即可设置需要装入不同的数值,即可设置需要的定时时间。的定时时间。图图3-8 3-8 定时器的工作状态时序定时器的工作状态时序 1 1脉冲定时器脉冲定时器 脉冲定时器时序如图脉冲定时器时序如图3-9所示。所示。图图3-9 3-9 脉冲定时器时
17、序脉冲定时器时序STL语句表如下:语句表如下: A I 0.0 L S5T#10s 装入定时时间到装入定时时间到ACCU1 SP T5 启动脉冲定时器启动脉冲定时器T5 A I 0.1 R T 5 定时器定时器T5复位复位 A T 5 = Q 4.0 FBD功能图如下:功能图如下: 时序图如图时序图如图3-10所示。所示。图图3-103-10时序图时序图 2 2定时器再启动指令定时器再启动指令FRFR 格式:格式: FR 定时器再启动指令定时器再启动指令FR用于重新装载定用于重新装载定时时间,定时器以新装入的时间值运行。时时间,定时器以新装入的时间值运行。下面结合一个具体的例子来说明。下面结合
18、一个具体的例子来说明。STL语句表如下:语句表如下: A I 2.0 FR T1 再启动定时器再启动定时器T1 A I 2.1 L S5T#10s 装入定时时间到装入定时时间到ACCU1 SP T1 启动脉冲定时器启动脉冲定时器T1 A I 2.2 R T1 定时器定时器T1复位复位 A T1 = Q4.0 时序如图时序如图3-11所示。所示。图图3-11 3-11 时序图时序图(1)在定时器运行期间,使能输入)在定时器运行期间,使能输入端端I 2.0有一个从有一个从“0”到到“1”的变化,的变化,此时,定时器此时,定时器T1被再启动,定时时间被再启动,定时时间恢复到预置初值重新开始计时。恢复
19、到预置初值重新开始计时。I 2.0有一个从有一个从“1”到到“0”的变化没有作用。的变化没有作用。(2)虽然定时器没有运行,当使能)虽然定时器没有运行,当使能输入端输入端I 2.0有一个从有一个从“0”到到“1”的变的变化,同时定时器启动输入端化,同时定时器启动输入端I 2.1 处于处于高电平状态时,定时器高电平状态时,定时器T1也被启动。也被启动。(3)当定时器启动输入端)当定时器启动输入端I 2.1 处于处于低电平状态时,即使使能输入端低电平状态时,即使使能输入端I 2.0有一个从有一个从“0”到到“1”的变化,定时器的变化,定时器T1也不能启动。也不能启动。 3 3扩展脉冲定时器扩展脉冲
20、定时器 扩展脉冲定时器的时序图如图扩展脉冲定时器的时序图如图3-12所所示。示。图图3-12 3-12 时序图时序图STL语句表如下:语句表如下: A I 0.0 L S5T#2s 装入定时时间到装入定时时间到ACCU1 SE T5 启动扩展脉冲定时器启动扩展脉冲定时器T5 A I 0.1 R T 5 定时器定时器T5复位复位 A T 5 = Q 4.0 FBD 功能图如下:功能图如下: 时序图如图时序图如图3-13所示。所示。图图3-13 3-13 时序图时序图 4 4接通延时定时器接通延时定时器 接通延时定时器的时序如图接通延时定时器的时序如图3-14所示。所示。 图图3-14 3-14
21、时序图时序图STL语句表如下:语句表如下: A I 0.0 L S5T#2s 装入定时时间到装入定时时间到ACCU1 SD T5 启动延时接通定时器启动延时接通定时器T5 A I 0.1 R T 5 定时器定时器T5复位复位 A T 5 = Q 4.0 FBD功能图如下:功能图如下: 时序图如图时序图如图3-15所示。所示。图图3-15 3-15 时序图时序图 5 5保持型接通延时定时器保持型接通延时定时器 保持型接通延时定时器的时序如图保持型接通延时定时器的时序如图3-16所示。所示。图图3-16 3-16 时序图时序图STL语句表如下:语句表如下: A I 0.0 L S5T#2s 装入定
22、时时间到装入定时时间到ACCU1 SS T5 启动保持型延时接通定时器启动保持型延时接通定时器T5 A I 0.1 R T 5 定时器定时器T5复位复位 A T 5 = Q 4.0 FBD功能图如下:功能图如下: 时序图如图时序图如图3-17所示。所示。图图3-17 3-17 时序图时序图 6 6关断延时定时器关断延时定时器 关断延时定时器时序如图关断延时定时器时序如图3-18所示。所示。图图3-18 3-18 时序图时序图STL语句表如下:语句表如下: A I 0.0 L S5T#2s 装入定时时间到装入定时时间到ACCU1 SF T5 启动关断延时接通定时器启动关断延时接通定时器T5 A
23、I 0.1 R T 5 定时器定时器T5复位复位 A T 5 = Q 4.0 FBD功能图如下:功能图如下: 时序图如图时序图如图3-19所示。所示。图图3-19 3-19 时序图时序图 3.1.5 3.1.5 计数器指令计数器指令 1 1计数器的结构计数器的结构 计数器是一种由位和字组成的复合单计数器是一种由位和字组成的复合单元,计数器的输出由位表示,其计数值存元,计数器的输出由位表示,其计数值存储在字存储器中。储在字存储器中。 在在CPU的存储器中留出了计数器区域,的存储器中留出了计数器区域,该区域用于存储计数器的计数值。每个计该区域用于存储计数器的计数值。每个计数器为数器为2个字节(个字
24、节(byte),称为计数字。),称为计数字。 在在S7-300中,计数器区为中,计数器区为512个字节个字节(byte),因此最多允许使用),因此最多允许使用256个计数器。个计数器。计数器的第计数器的第011位存放位存放BCD码格式的计数码格式的计数值,三位值,三位BCD码表示的范围是码表示的范围是0999。第。第1215位保留,如图位保留,如图3-20所示。所示。图图3-20 3-20 计数器图示计数器图示 S7中的计数器用于对中的计数器用于对RLO正跳沿计数。正跳沿计数。S7中有三种计数器,它们分别是加计数器、中有三种计数器,它们分别是加计数器、减计数器和可逆计数器。只要计数器的计减计数
25、器和可逆计数器。只要计数器的计数值不是数值不是“0”,计数器的输出就为,计数器的输出就为“1”。 当计数器启动时,累加器当计数器启动时,累加器1低字的内容低字的内容被当作计数初值装入计数字中。这一过程被当作计数初值装入计数字中。这一过程是由操作系统控制自动完成的,用户只需是由操作系统控制自动完成的,用户只需给累加器给累加器l装入不同的数值,即可设置需要装入不同的数值,即可设置需要的计数初值。但要确保累加器的计数初值。但要确保累加器1低字符符合低字符符合图图3-20所示规定的格式。所示规定的格式。LC#xyz其中:其中:xyz=记数初值,取值范围:记数初值,取值范围:1999。 FBD符号:符号
26、:端子说明:端子说明: CU 加计数输入加计数输入 CD 减计数输入减计数输入 S 预置输入预置输入 PV 设置计数初值设置计数初值 R 复位输入复位输入 Q 计数器状态输出计数器状态输出 CV 当前计数值输出(十六进制格式)当前计数值输出(十六进制格式)BCD 当前计数值输出(当前计数值输出(BCD码格式)码格式) 2 2计数器再启动指令计数器再启动指令 格式:格式: FR 类似于定时器再启动指令类似于定时器再启动指令FR,计数器再启动指令用于重新装载计数初值,计数器再启动指令用于重新装载计数初值,计数器以新装入的计数值运行。计数器以新装入的计数值运行。 3.2.1 3.2.1 传送指令传送
27、指令 FBD符号:符号:端子说明:端子说明:EN 允许输入端允许输入端 IN 源数据输入端源数据输入端 OUT 目的操作数输出目的操作数输出 ENO 允许输出端允许输出端 1 1字节传送指令字节传送指令 使能输入有效时,把一个单字节无符使能输入有效时,把一个单字节无符号数据由号数据由IN传送到传送到OUT所指的字节存储单所指的字节存储单元。元。 IN的寻址范围:的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD、常数。常数。 OUT的寻址范围:的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。 指令格式:指令格式:MOVBI
28、N1, OUT 2 2BIRBIR,传送字节立即读指令,传送字节立即读指令 使能输入有效时,立即读取单字节物使能输入有效时,立即读取单字节物理输入区数据理输入区数据IN,并传送到,并传送到OUT所指的字所指的字节存储单元。节存储单元。 IN的寻址范围:的寻址范围:IB OUT的寻址范围:的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。 指令格式:指令格式:BIR IN1, OUT 3 3块传送指令块传送指令 指令可用来进行一次多个(最多指令可用来进行一次多个(最多255个)个)数据的传送,数据块类型可以是字节块、数据的传送,数据块类型可以是字节块、字块、双
29、字块。字块、双字块。 三条指令中三条指令中N的寻址范围都是:的寻址范围都是:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常数。和常数。 使使ENO断开的出错条件:断开的出错条件:SM4.3(运(运行时间);行时间);0006(间接寻址);(间接寻址);0091(数(数超界)。超界)。 4 4梯形图符号及语句表格式梯形图符号及语句表格式MOV传送指令标识符传送指令标识符B/W/DW/R数据类型(字节数据类型(字节/字字/双字双字/实数)实数)EN传送启动信号传送启动信号IN源操作数源操作数OUT目标操作数目标操作数ENO传送状态位传送状态位 5 5功能功能 启动信号
30、启动信号EN=1时,执行传送功能。其时,执行传送功能。其功能是把原操作数功能是把原操作数IN传送到目标操作数传送到目标操作数OUT中。此时,中。此时,ENO为为1状态。状态。 6 6说明说明(1)应用传送指令应该注意数据类)应用传送指令应该注意数据类型。字节用符号型。字节用符号B、字用符号、字用符号W、双、双字用符号字用符号D或或DW、实数用符号、实数用符号R表示。表示。(2)操作数范围如表)操作数范围如表3-7所示。所示。表表3-73-7操作数范围操作数范围 7 7例题例题 3.2.2 3.2.2 转换指令转换指令 转换指令将累加器转换指令将累加器1中的数据进行类型中的数据进行类型转换,转换
31、的结果仍在累加器转换,转换的结果仍在累加器l中。中。 能够实现的转换操作有:能够实现的转换操作有:BCD码和整码和整数及长整数间的转换;实数和长整数间的数及长整数间的转换;实数和长整数间的转换;数的取反、取负;字节扩展等。转换;数的取反、取负;字节扩展等。 在在STEP 7中,整数和长整数是以补码中,整数和长整数是以补码形式表示的。形式表示的。BCD码数值有两种:一种是码数值有两种:一种是字(字(16位)格式的位)格式的BCD码数,其数值范围码数,其数值范围为为999+999;另一种是双字(;另一种是双字(32位)格位)格式的式的BCD码数,范围为码数,范围为9999999+9999999。
32、1 1BCDBCD和整数间的转换和整数间的转换 BCD和整数间的转换指令如表和整数间的转换指令如表3-8所示。所示。表表3-83-8BCDBCD和整数间的转换和整数间的转换(1)BTI指令指令 SLT格式:格式: BTI(2)BTD指令指令 SLT格式:格式: BTD 说明:将累加器说明:将累加器1中的中的7位位BCD码数转码数转换为换为32位整数,装入累加器位整数,装入累加器1中,(中,(027位);最高位(位);最高位(31位)为符号位。位)为符号位。(3)ITB指令指令 SLT格式:格式: ITB(4)ITD指令指令 SLT格式:格式: ITD(5)DTB指令指令 SLT格式:格式: D
33、TB(6)DTR指令指令 SLT格式:格式: DTR 2 2实数和长整数间的转换实数和长整数间的转换 实数和长整数间的转换指令如表实数和长整数间的转换指令如表3-9所所示。示。表表3-93-9实数和长整数间的转换实数和长整数间的转换 因为实数的数值范围远大于因为实数的数值范围远大于32位整数,位整数,所以有的实数不能成功地转换为所以有的实数不能成功地转换为32位整数。位整数。 如果被转换的实数格式非法或超出了如果被转换的实数格式非法或超出了32位整数的表示范围,则在累加器位整数的表示范围,则在累加器1中得不中得不到有效结果,而且状态字中的到有效结果,而且状态字中的OV和和OS被被置置1。 上面
34、的指令都是将累加器上面的指令都是将累加器1中的实数化中的实数化整为整为32位整数,因化整的规则不同,所以位整数,因化整的规则不同,所以在累加器在累加器1中得到的结果也不一致,如表中得到的结果也不一致,如表3-10所示。所示。表表3-103-10累加器累加器1 1中的执行结果中的执行结果 3 3数的取反取负数的取反取负 数的取反取负指令如表数的取反取负指令如表3-11所示。所示。(1)INVI 指令指令表表3-123-12INVIINVI指令指令(2)INVD指令指令(3)NEGI指令指令表表3-143-14NEGINEGI指令指令(4)NEGD指令指令(5)NEGR 指令指令 4 4字节交换指
35、令字节交换指令(1)CAW 累加器累加器1低字字节交换指低字字节交换指令令 格式:格式:CAW 说明:将累加器说明:将累加器1低字的高位字节和低低字的高位字节和低位字节交换,高字不变,如表位字节交换,高字不变,如表3-17所示。所示。 3.3.1 3.3.1 整数算术运算指令整数算术运算指令 在在STEP 7中可以对整数、长整数和实中可以对整数、长整数和实数进行加、减、乘、除算术运算。数进行加、减、乘、除算术运算。 算术运算指令在累加器算术运算指令在累加器1和和2中进行,中进行,在累加器在累加器2中的值作为被减数或被除数。算中的值作为被减数或被除数。算术运算的结果保存在累加器术运算的结果保存在
36、累加器1中,累加器中,累加器1原有的值被运算结果覆盖,累加器原有的值被运算结果覆盖,累加器2中的值中的值保持不变。保持不变。 CPU在进行算术运算时,不必考虑在进行算术运算时,不必考虑RLO,对,对RLO也不产生影响。学习算术运也不产生影响。学习算术运算指令必须注意算术运算的结果将对状态算指令必须注意算术运算的结果将对状态字的某些位产生影响,这些位是:字的某些位产生影响,这些位是:CC1和和CC0,OV,OS。 在位操作指令和条件跳转指令中,经在位操作指令和条件跳转指令中,经常要对这些标志位进行判断来决定进行什常要对这些标志位进行判断来决定进行什么操作。么操作。 算术运算指令的三种语言表示如表
37、算术运算指令的三种语言表示如表3-19所示。所示。表表3-193-19 算术运算指令三种语言表示算术运算指令三种语言表示 可见,算术运算指令主要包括加法、可见,算术运算指令主要包括加法、减法、乘法和除法四类。减法、乘法和除法四类。(1)加法:)加法: ADD_I 整数加法整数加法ADD_DI 双整数加法双整数加法ADD_R 实数加法实数加法(2)减法:)减法: SUB_I整数减法整数减法SUB_DI 双整数减法双整数减法SUB_R实数减法实数减法(3)乘法:)乘法: MUL_I整数乘法整数乘法MUL_DI 双整数乘法双整数乘法MUL_R 实数乘法实数乘法(4)除法:)除法: DIV_I整数减法
38、整数减法DIV_DI 双整数减法双整数减法DIV_R实数减法实数减法 另外:另外: +I 16位整数相加指令位整数相加指令 I 16位整数相减指令位整数相减指令 *I 16位整数相乘指令位整数相乘指令 / I 16位整数除法指令位整数除法指令 +D 32位整数相加指令位整数相加指令 D 32位整数相减指令位整数相减指令 * D 32位整数相乘指令位整数相乘指令 / D 32位整数除法指令位整数除法指令 MOD 32位整数除法取余数指令位整数除法取余数指令表表3-203-20运算指令运算指令 3.3.2 3.3.2 扩展的浮点数算术运扩展的浮点数算术运算指令算指令 扩展的浮点数算术运算指令如表扩
39、展的浮点数算术运算指令如表3-21所示。所示。表表3-21 3-21 扩展的浮点数算术运算指令扩展的浮点数算术运算指令 3.3.3 3.3.3 加、减、乘、除运算加、减、乘、除运算 1 1加法运算加法运算(1)梯形图符号及语句表格式)梯形图符号及语句表格式 其中:其中:ADD加法运算符;加法运算符; I(INT)/DI(DINT)/R(REAL)数据数据类型符(整类型符(整/双整双整/实数);实数); EN(Enable In)运算允许信号(使运算允许信号(使能输入)。能输入)。 IN1被加数;被加数; IN2加数;加数; OUT和;和; ENO运算状态位(使能输出)。运算状态位(使能输出)。
40、(2)功能)功能 梯形图:使能输入梯形图:使能输入EN=1时,被加数时,被加数IN1与加数与加数IN2相加,其结果传送到相加,其结果传送到OUT中,中,即:即:IN1+IN2=OUT。 指令表:要先将一个加数送到指令表:要先将一个加数送到OUT中,中,然后把然后把OUT中的数据和中的数据和IN2中的数据进行中的数据进行相加,并将其结果传送到相加,并将其结果传送到OUT中,即:中,即: MOVW IN1,OUT +I IN2,OUT 实现实现OUT+IN2=OUT(3)说明)说明 应用加法指令应该注意的数据类型。应用加法指令应该注意的数据类型。ADD_I(整数加法):将两个单字长(整数加法):将
41、两个单字长(16位)符号整数(位)符号整数(IN1和和IN2)相加,结果为)相加,结果为16位整数。位整数。 ADD_DI(双整数加法):将两个双(双整数加法):将两个双字长(字长(32位)符号整数(位)符号整数(IN1和和IN2)相加,)相加,结果为结果为32位整数。位整数。 ADD_R(实数加法):将两个双字长(实数加法):将两个双字长(32位)符号实数(位)符号实数(IN1和和IN2)相加,结)相加,结果为果为32位实数。位实数。 在语句表中,在语句表中,IN1、IN2与与OUT操操作数的地址不同时,语句表指令将梯形图作数的地址不同时,语句表指令将梯形图的加法运算分别用两条指令描述;的加
42、法运算分别用两条指令描述;IN1或或IN2=OUT时,加法指令节省一条数据传送时,加法指令节省一条数据传送指令。本规律适用于所有四则运算指令。指令。本规律适用于所有四则运算指令。 操作数范围操作数范围加法运算的操作数范围如表加法运算的操作数范围如表3-22所示。所示。表表3-223-22加法指令操作数范围加法指令操作数范围(4)例题)例题 2 2减法运算减法运算(1)梯形图符号及语句表格式)梯形图符号及语句表格式 其中:其中:SUB减法运算符;减法运算符; I/DI/R数据类型符(整数数据类型符(整数/双整数双整数/实数);实数); EN使能输入;使能输入; IN1被减数。被减数。 IN2减数
43、;减数; OUT差;差; ENO使能输出。使能输出。(2)功能)功能 梯形图:使能输入梯形图:使能输入EN=1时,被减数时,被减数IN1减去减数减去减数IN2,其结果传送到,其结果传送到OUT中,中,即:即:IN1IN2=OUT 指令表:要先将一个减数送到指令表:要先将一个减数送到OUT中,中,然后用然后用OUT中的数据减去中的数据减去IN2中的数据,中的数据,并将其结果传送到并将其结果传送到OUT中,即:中,即: MOVW IN1,OUT I IN2,OUT 实现实现OUTIN2=OUT(3)说明)说明 应用减法指令应该注意的数据类型。应用减法指令应该注意的数据类型。 操作数范围操作数范围表
44、表3-233-23减法指令操作数范围减法指令操作数范围(4)例题)例题 3 3乘法运算乘法运算(1)梯形图符号及语句表格式)梯形图符号及语句表格式 MUL乘法运算符乘法运算符 I/DI/R数据类型符(整数数据类型符(整数/双整数双整数/实数)实数) EN使能输入使能输入 IN1被乘数被乘数 IN2乘数乘数 OUT积积 ENO使能输出使能输出(2)功能)功能 梯形图:使能输入梯形图:使能输入EN=1时,被乘数时,被乘数IN1与乘数与乘数IN2相乘,其结果传送到相乘,其结果传送到OUT中。中。即:即: IN1IN2=OUT 语句表:要先将被乘数送到语句表:要先将被乘数送到OUT中,中,然后把然后把
45、OUT中的数据和中的数据和IN2中的数据相乘,中的数据相乘,并将其结果传送到并将其结果传送到OUT中,即:中,即: MOVW IN1,OUT *I IN2,OUT 实现实现IN2OUT =OUT(3)说明)说明 应用乘法指令应该注意的数据类型。应用乘法指令应该注意的数据类型。 MUL_I(整数乘法):将两个单字长(整数乘法):将两个单字长(16位)符号整数(位)符号整数(IN1和和IN2)相乘,结)相乘,结果为果为16位整数。位整数。 MUL_DI(双整数乘法):将两个双(双整数乘法):将两个双字长(字长(32位)符号整数(位)符号整数(IN1和和IN2)相乘,)相乘,结果为结果为32位整数。
46、位整数。 MUL(整数乘双整数输出):将两个(整数乘双整数输出):将两个单字长(单字长(16位)符号整数(位)符号整数(IN1和和IN2)相)相乘,结果为乘,结果为32位整数。位整数。 MUL_R(实数乘法):将两个双字长(实数乘法):将两个双字长(32位)符号实数(位)符号实数(IN1和和IN2)相乘,结)相乘,结果为果为32位实数。位实数。 操作数范围操作数范围 乘法运算的操作数范围如表乘法运算的操作数范围如表3-24所示。所示。表表3-243-24乘法指令操作数范围乘法指令操作数范围(4)例题)例题 4 4除法运算除法运算(1)梯形图符号及语句表格式)梯形图符号及语句表格式 其中:其中:
47、DIV除法运算符;除法运算符; I/DI/R数据类型符(整数数据类型符(整数/双整数双整数/实数);实数); EN使能输入。使能输入。 IN1被除数;被除数; IN2除数;除数; OUT商;商; ENO使能输出。使能输出。(2)功能)功能 梯形图:使能输入梯形图:使能输入EN=1时,被除数时,被除数IN1与除数与除数IN2相除,其结果传送到相除,其结果传送到OUT中。中。即:即: IN1/IN2=OUT 语句表:要先将被除数送到语句表:要先将被除数送到OUT中,中,然后把然后把OUT中的数据和中的数据和IN2中的数据相除,中的数据相除,并将其结果传送到并将其结果传送到OUT中,即:中,即: M
48、OVW IN1,OUT /I IN2,OUT 实现实现OUT/ IN2 =OUT(3)说明)说明 应用除法指令应该注意的数据类型。应用除法指令应该注意的数据类型。 DIV_I(整数除法):将两个单字长(整数除法):将两个单字长(16位)符号整数(位)符号整数(IN1和和IN2)相除,结)相除,结果为果为16位整数。位整数。 DIV_DI(双整数除法):将两个双字(双整数除法):将两个双字长(长(32位)符号整数(位)符号整数(IN1和和IN2)相除,)相除,结果为结果为32位整数。位整数。 DIV(整数除双整数输出):将两个(整数除双整数输出):将两个单字长(单字长(16位)符号整数(位)符号
49、整数(IN1和和IN2)相)相除,结果为除,结果为32位整数。其中低位整数。其中低16位是商,位是商,高高16位是余数。位是余数。 DIV_R(实数除法):将两个双字长(实数除法):将两个双字长(32位)符号实数(位)符号实数(IN1和和IN2)相除,结)相除,结果为果为32位实数。位实数。 操作数范围操作数范围 除法运算的操作数范围如表除法运算的操作数范围如表3-25所示。所示。表表3-253-25除法指令操作数范围除法指令操作数范围(4)例题)例题 3.3.4 3.3.4 算术运算指令实例算术运算指令实例 【例【例3-31】 分别用分别用BIN算术运算指令算术运算指令和和BCD算术运算指令
50、完成下式的计算:算术运算指令完成下式的计算:(12344321) 12345651234 【例【例3-32】 在温度检测系统中,用在温度检测系统中,用Pt100热电阻作为测温元件,测温范围为热电阻作为测温元件,测温范围为0200。现选择。现选择EM 235将温度变送器的将温度变送器的4mA20mA电流转换成电流转换成12位二进制数,该位二进制数,该数据存于数据存于AIW0的第的第314位。位。 试编制把检测值转换成实际的温度值试编制把检测值转换成实际的温度值并存于并存于VD0中的程序。中的程序。 【例【例3-33】 设计启动保持和停止电路。设计启动保持和停止电路。 【例【例3-34】 设计简易
51、三组抢答器。设计简易三组抢答器。 【例【例3-35】 设计小车自动往返运动的设计小车自动往返运动的梯形图。梯形图。 通常,移位指令分为左、右移位和循通常,移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。环左、右移位及寄存器移位指令三大类。左、右移位和循环左、右移位指令按移位左、右移位和循环左、右移位指令按移位数据的长度又分为字节型、字型、双字型数据的长度又分为字节型、字型、双字型三种。三种。 3.4.1 3.4.1 移位指令移位指令 移位指令将累加器移位指令将累加器1低字中或整个累加低字中或整个累加器器1的内容左移或右移。移动的次数在累加的内容左移或右移。移动的次数在累加器器2中
52、或直接在指令中以常数给出。中或直接在指令中以常数给出。 累加器累加器1移位后空出的位,填以移位后空出的位,填以0或符或符号位(号位(0代表正,代表正,1代表负),被移动的最代表负),被移动的最后一位保存在状态字中的后一位保存在状态字中的CC1里,里,CC0和和OV被复位为被复位为0。 各移位指令如下:各移位指令如下:SSI 16位整数右移指令位整数右移指令SSD 32位整数右移指令位整数右移指令SLW 逻辑字左移指令逻辑字左移指令SRW 逻辑字右移指令逻辑字右移指令SLD 逻辑双字左移指令逻辑双字左移指令SRD 逻辑双字右移指令逻辑双字右移指令 1 1无符号数移位指令无符号数移位指令 移位指令
53、可以将累加器移位指令可以将累加器1 的低字或整的低字或整个累加器的内容进行左移或右移一定的位个累加器的内容进行左移或右移一定的位数。二进制数左移一位相当于将原数值乘数。二进制数左移一位相当于将原数值乘以以2。右移一位相当于将原数值除以。右移一位相当于将原数值除以2。图图3-22 3-22 移位指令(字移位指令(字/ /双字)双字) 2 2有符号数移位指令有符号数移位指令 FBD符号:符号: STL指令格式:指令格式:SSI 1 1当使能输入端当使能输入端EN = 1EN = 1时,执行时,执行整数右移指令。将来自输入端整数右移指令。将来自输入端ININ的的16 16位整数右移位整数右移N N位
54、后,由位后,由OUTOUT端输出。端输出。 2 2N N端输入要移位的次数,如果端输入要移位的次数,如果N N16 16则其作用与则其作用与N N = 16 = 16相同。相同。 3 3移出的空位由符号位的状态填移出的空位由符号位的状态填充,如果是正数,以充,如果是正数,以0 0填充,如果是填充,如果是负数,以负数,以1 1填充。填充。 4 4如果如果N N不等于不等于0 0,则执行该指令,则执行该指令后,后,CC0CC0和和OVOV位总是等于位总是等于0 0。 5 5ENO = ENENO = EN。 3 3寄存器移位指令寄存器移位指令 移位寄存器指令(移位寄存器指令(SHRB)把输入的)把
55、输入的DATA数值移入移位寄存器,而该移位寄数值移入移位寄存器,而该移位寄存器是由存器是由 S_BIT和和N决定的,其中决定的,其中S_BIT指指定移位寄存器的最低位,定移位寄存器的最低位,N指定移位寄存指定移位寄存器的长度(正向移位器的长度(正向移位= N反向移位反向移位=N)。)。图图3-243-24寄存器移位指令寄存器移位指令 3.4.2 3.4.2 循环移位指令循环移位指令 循环移位指令与一般移位指令的差别:循环移位指令与一般移位指令的差别:循环移位指令的空位填入从累加器中移出循环移位指令的空位填入从累加器中移出的位。的位。各循环移位指令如下:各循环移位指令如下:RLD 32位左循环指
56、令位左循环指令RRD 32位右循环指令位右循环指令RLDA 32位带位带CC1位左循环指令位左循环指令RRDA 32位带位带CC1位右循环指令位右循环指令 循环左、右移位指令(循环左、右移位指令(ROL、ROR)的功能:使能输入有效时,字节、字或双的功能:使能输入有效时,字节、字或双字(字(IN)数据循环左移)数据循环左移N位后,将结果输位后,将结果输出到出到OUT所指定的存储单元中,并将最后所指定的存储单元中,并将最后一次移出位送一次移出位送SM1.1。 FBD符号:符号: STL指令格式:指令格式: RLD 说明:说明:(1)当使能输入端)当使能输入端EN = 1时,执行时,执行双字左循环
57、指令。将来自输入端双字左循环指令。将来自输入端IN的的32位双字左循环位双字左循环N位后,由位后,由OUT端输端输出。出。(2)N端输入要移位的次数。端输入要移位的次数。(3)如果)如果N不等于不等于0,则执行该指令,则执行该指令后,后,CC0和和OV位总是等于位总是等于0。(4)ENO = EN。 具体的操作示意图如图具体的操作示意图如图3-25所示。所示。图图3-253-25循环移位循环移位图图3-26 3-26 双字循环移位双字循环移位 累加器操作指令如表累加器操作指令如表3-26所示,图所示,图3-30给出了给出了CAW、CAD指令执行时累加器指令执行时累加器1的变化情况。的变化情况。
58、表表3-263-26累加器操作指令累加器操作指令 3116 150原累加器1指令执行后CAW3116 150CAD图图3-30 CAW3-30 CAW、CADCAD指令执行时累加器指令执行时累加器1 1的变化的变化 3.5.1 3.5.1 基本的装入和传送指基本的装入和传送指令令 装入(装入(L)和传送()和传送(T)指令可以在存)指令可以在存储区之间或存储区与过程输入、输出之间储区之间或存储区与过程输入、输出之间交换数据。交换数据。 L指令将源操作数装入累加器指令将源操作数装入累加器1中,而中,而累加器原有的数据移入累加器累加器原有的数据移入累加器2中,累加器中,累加器2中原有的内容被覆盖。
59、中原有的内容被覆盖。 T指令将累加器指令将累加器1中的内容写入目的存中的内容写入目的存储区中,累加器的内容保持不变。储区中,累加器的内容保持不变。 L和和T指令可对字节(指令可对字节(8位)、字(位)、字(16位)、双字(位)、双字(32位)数据进行操作,当数位)数据进行操作,当数据长度小于据长度小于32位时,数据在累加器右对齐位时,数据在累加器右对齐(低位对齐),其余各位填(低位对齐),其余各位填0。 基本的装入和传送指令如下:基本的装入和传送指令如下: L :通用装入指令:通用装入指令 L STW :将状态字寄存器的内容:将状态字寄存器的内容装入到累加器装入到累加器1 LAR1 AR2:将
60、地址寄存器:将地址寄存器2的内容装的内容装入到地址寄存器入到地址寄存器1 LAR1 :将:将32位的长整数装入到位的长整数装入到地址寄存器地址寄存器1 LAR1 :将累加器:将累加器1的内容装入到的内容装入到地址寄存器地址寄存器1 LAR2 :将:将32位的长整数装入到位的长整数装入到地址寄存器地址寄存器2 LAR2 :将累加器:将累加器1的内容装入到的内容装入到地址寄存器地址寄存器2 T :通用传输指令:通用传输指令 T STW :将累加器:将累加器1的内容传输到的内容传输到状态字寄存器状态字寄存器 TAR1 AR2:将地址寄存器:将地址寄存器1的内容传的内容传输到地址寄存器输到地址寄存器2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五留职停薪合同
- 文艺演出服务合同文艺汇演合同
- 厨师视频培训课件
- 互联网医疗行业分析
- 胸腔闭式引流患者的护理
- 广西铁路大修施工方案
- 箱型涵洞的施工方案
- 种植二期手术护理配合
- 江苏公务员真题2024
- 湖北2024公务员真题
- 古代汉语-形考任务1-3-国开-参考资料
- 工业废水处理技术作业指导书
- 2025年中国航天日知识竞赛考试题库300题(含答案)
- 体检中心质量控制指南
- 2024年四年级英语下册 Unit 6 What's Anne doing第2课时教学实录 湘少版
- 严守八项规定发言稿
- 2025-2030中国三相UPS系统行业市场发展趋势与前景展望战略分析研究报告
- 2025年湖南省低空经济发展集团有限公司招聘11人笔试参考题库附带答案详解
- 医疗商务谈判艺术
- 2025年广东中考试题数学及答案
- 四川2024年12月四川省内江市事业单位公开选调2名工作人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
评论
0/150
提交评论