您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第3章-S7-300的指令系统及编程
第3章S7-300的指令系统及编程重点与难点可编程序控制器的位逻辑指令、数据传送与转换指令、运算指令、移位指令、累加器操作和地址寄存器操作指令、控制指令。基本要求1.熟练使用可编程序控制器的基本指令进行编程;2.熟悉S7-300的系统功能模块。本章内容1.S7-300位逻辑指令;2.S7-300数据传送与转换指令;3.S7-300运算指令;4.S7-300移位指令;5.累加器操作和地址寄存器操作指令;6.控制指令;7.S7-300的系统功能模块简介。数据传送与转换指令3.2运算指令3.3位逻辑指令3.1移位指令3.4累加器操作和地址寄存器操作指令3.5控制指令3.6本章小结3.8S7-300的系统功能模块简介3.73.1位逻辑指令位逻辑指令主要包括位逻辑运算指令、位操作指令和位测试指令,位逻辑指令的运算结果用两个二进制数字1和0来表示。可以对布尔操作数(BOOL)的信号状态扫描并完成逻辑操作。逻辑操作结果(ResultofLogicOperation,RLO),用以赋值、置位、复位布尔操作数,也控制定时器和计数器的运行。3.1.1基本逻辑指令“与”、“或”逻辑指令在STEP7中的三种语言表示如图3-1所示。表3-1“与”、“或”逻辑指令的三种语言表示(1)语句表STL表示的基本位逻辑指令(2)梯形图LAD表示的基本位逻辑指令1.逻辑“与”操作功能图(FBD)语言如下:梯形图(LAD)语言如下:语句表(STL)语言如下:AI0.0AI0.1=Q4.0逻辑关系如下:ANDI0.0I0.1Q4.00000101001112.逻辑“或”操作只要有一个输入信号为“1”,则输出为“1”;所有输入信号都为“0”,输出才为“0”。功能图(FBD)语言如下:当输入信号I0.0和I0.1有一个以上为“1”时,输出信号Q4.0为“1”。当输入信号I0.0和I0.1都为“0”时,输出信号Q4.0才为“0”。梯形图(LAD)语言如下:语句表(STL)语言如下:OI0.0OI0.1=Q4.0逻辑关系如下:ORI0.2I0.3Q4.20000111011113.逻辑异或操作当两个输入信号其中一个为“1”而另一个为“0”时,输出信号为“1”;当两个输入信号都为“0”或者都为“1”时,输出信号为“0”。逻辑指令异或的STEP7中三种语言表示如图3-1所示。图3-1逻辑指令异或的STEP7中三种语言表示逻辑关系如下:XORI0.4I0.5Q4.0000011101110功能图(FBD)语言如下:梯形图(LAD)语言如下:语句表(STL)语言如下:XI0.0XI0.2=Q3.14.逻辑取反操作逻辑取反操作对逻辑运算结果RLO取反。功能图(FBD)符号:梯形图(LAD)符号:---|NOT|---语句表(STL)符号:NOT5.中间输出符号中间输出指令用于存储RLO的中间值,该值是中间输出指令前的位逻辑操作结果。中间输出指令不能用于结束一个逻辑串,因此,中间输出指令不能放在逻辑串的结尾或分支的结尾处。6.位逻辑操作规则位逻辑指令的运算规则:先与后或。当输入信号I1.0和I1.1都为“1”,或输入信号I1.2和I1.3都为“1”时,输出信号Q3.1为“1”。否则输出信号Q3.1为“0”。功能图(FBD)语言如下:梯形图(LAD)语言如下:语句表(STL)语言如下:AI1.0AI1.1OAI1.2AI1.3=Q3.13.1.2置位/复位指令置位/复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻址位的信号状态被置1或清0;若RLO是0,则被寻址位的信号保持原状态不变。对于置位操作,一旦RLO为1,则被寻址信号(输出信号)状态置1,即使RLO又变为0,输出仍保持为1;对于复位操作,一旦RLO为1,则被寻址信号(输出信号)状态置0,即使RLO又变为0,输出仍保持为0。(1)语句表STL表示的置位/复位指令(2)梯形图LAD表示的置位/复位指令1.置位/复位线圈指令2.置位/复位双稳态触发器指令如果置位输入端为“1”,复位输入端为“0”,则触发器被置位。此后,即使置位输入端为0,触发器也保持置位不变。如果复位输入端为1,置位输入端为“0”,则触发器被复位。置位优先型RS触发器的R端在S端之上,当两个输入端都为1时,下面的置位输入端最终有效。既置位输入优先,触发器被置位。复位优先型SR触发器的S端在R端之上,当两个输入端都为1时,下面的复位输入端最终有效。即复位输入优先,触发器被复位。3.1.3边沿信号识别指令1.RLO边沿信号识别指令当信号状态变化时就产生跳变沿,当从0变到1时,产生一个上升沿(或称正跳沿);若从1变到0,则产生一个下降沿(或称负跳沿),如图3-2所示。图3-2时序图跳变沿检测的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的状态进行比较,若不同则表明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较。(1)下降沿信号识别指令(2)上升沿信号识别指令2.触点边沿信号识别指令在OB1的扫描周期中,CPU对address1的状态与其上一个扫描周期的状态进行比较(上一个扫描周期的状态保存在address2中。若该address1状态是0且存放在address2中的上次状态是1,这说明NEG指令检测到address1的负跳沿,那么NEG指令把RLO位置1。如果address1在相邻的两个扫描周期中状态相同(全为1或0),那么NEG指令把RLO位清0。3.1.4定时器指令S7中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。当定时器运行时,定时值不断减1,直至减到0,减到0表示定时时间到。定时时间到后会引起定时器触点的动作。定时器的第0到第11位存放BCD码格式的定时值,三位BCD码表示的范围是0~999。第12,13位存放二进制格式的时基,如图3-7所示。图3-7定时器的结构时基二进制时基分辨率定时范围10s000.01s10ms~9s_990ms100ms0l0.1s100ms~1m_39s_900ms1s101s1s~16m_39s10s1110s10s~2h_46m_30s表3-6二进制格式的时基和分辨率当定时器启动时,累加器1低字的内容被当作定时时间装入定时字中。这一过程是由操作系统控制自动完成的,用户只需给累加器l装入不同的数值,即可设置需要的定时时间。图3-8定时器的工作状态时序1.脉冲定时器脉冲定时器时序如图3-9所示。图3-9脉冲定时器时序STL语句表如下:AI0.0LS5T#10s\\装入定时时间到ACCU1SPT5\\启动脉冲定时器T5AI0.1RT5\\定时器T5复位AT5=Q4.0FBD功能图如下:时序图如图3-10所示。图3-10时序图2.定时器再启动指令FR格式:FRtimer定时器再启动指令FR用于重新装载定时时间,定时器以新装入的时间值运行。下面结合一个具体的例子来说明。STL语句表如下:AI2.0FRT1\\再启动定时器T1AI2.1LS5T#10s\\装入定时时间到ACCU1SPT1\\启动脉冲定时器T1AI2.2RT1\\定时器T1复位AT1=Q4.0时序如图3-11所示。图3-11时序图(1)在定时器运行期间,使能输入端I2.0有一个从“0”到“1”的变化,此时,定时器T1被再启动,定时时间恢复到预置初值重新开始计时。I2.0有一个从“1”到“0”的变化没有作用。(2)虽然定时器没有运行,当使能输入端I2.0有一个从“0”到“1”的变化,同时定时器启动输入端I2.1处于高电平状态时,定时器T1也被启动。(3)当定时器启动输入端I2.1处于低电平状态时,即使使能输入端I2.0有一个从“0”到“1”的变化,定时器T1也不能启动。3.扩展脉冲定时器扩展脉冲定时器的时序图如图3-12所示。图3-12时序图STL语句表如下:AI0.0LS5T#2s\\装入定时时间到ACCU1SET5\\启动扩展脉冲定时器T5AI0.1RT5\\定时器T5复位AT5=Q4.0FBD功能图如下:时序图如图3-13所示。图3-13时序图4.接通延时定时器接通延时定时器的时序如图3-14所示。图3-14时序图STL语句表如下:AI0.0LS5T#2s\\装入定时时间到ACCU1SDT5\\启动延时接通定时器T5AI0.1RT5\\定时器T5复位AT5=Q4.0FBD功能图如下:时序图如图3-15所示。图3-15时序图5.保持型接通延时定时器保持型接通延时定时器的时序如图3-16所示。图3-16时序图STL语句表如下:AI0.0LS5T#2s\\装入定时时间到ACCU1SST5\\启动保持型延时接通定时器T5AI0.1RT5\\定时器T5复位AT5=Q4.0FBD功能图如下:时序图如图3-17所示。图3-17时序图6.关断延时定时器关断延时定时器时序如图3-18所示。图3-18时序图STL语句表如下:AI0.0LS5T#2s\\装入定时时间到ACCU1SFT5\\启动关断延时接通定时器T5AI0.1RT5\\定时器T5复位AT5=Q4.0FBD功能图如下:时序图如图3-19所示。图3-19时序图3.1.5计数器指令1.计数器的结构计数器是一种由位和字组成的复合单元,计数器的输出由位表示,其计数值存储在字存储器中。在CPU的存储器中留出了计数器区域,该区域用于存储计数器的计数值。每个计数器为2个字节(byte),称为计数字。在S7-300中,计数器区为512个字节(byte),因此最多允许使用256个计数器。计数器的第0~11位存放BCD码格式的计数值,三位BCD码表示的范围是0~999。第12~15位保留,如图3-20所示。图3-20计数器图示S7中的计数器用于对RLO正跳沿计数。S7中有三种计数器,它们分别是加计数器、减计数器和可逆计数器。只要计数器的计数值不是“0”,计数器的输出就为“1”。当计数器启动时,累加器1低字的内容被当作计数初值装入计数字中。这一过程是由操作系统控制自动完成的,用户只需给累加器l装入不同的数值,即可设置需要的计数初值。但要确保累加器1低字符符合图3-20所示规定的格式。LC#xyz其中:xyz=记数初值,取值范围:1~999。FBD符号:端子说明:CU—加计数输入CD—减计数输入S—预置输入PV—设置计数初值R—复位输入Q—计数器状态输出CV—当前计数值输出(十六进制格式)BCD—当前计数值输出(BCD码格式)2.计数器再启动指令格式:FRcounter类似于定时器再启动指令FRtimer,计数器再启动指令用于重新装载计数初值,计数器以新装入的计数值运行。3.2数据传送与转换指令3.2.1传送指令FBD符号:端子说明:EN——允许输入端IN——源数据输入端OUT——目的操作数输出ENO——允许输出端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。指令格式:MOVBIN1,OUT2.BIR,传送字节立即读指令使能输入有效时,立即读取单字节物理输入区数据IN,并传送到OUT所指的字节存储单元。IN的寻址范围:IBOUT的寻址范围:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD。指令格式:BIRIN1,OUT3.块传送指令指令可用来进行一次多个(最多255个)数据的传送,数据块类型可以是字节块、字块、双字块。三条指令中N的寻址范围都是:VB、IB、QB、MB、SB、SMB、LB、AC、*VD、*AC、*LD和常数。使ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址);0091(数超界)。4.梯形图符号及语句表格式MOV——传送指令标识符B/W/DW/R——数据类型(字节/字/双字/实数)EN——传送启动信号IN——源操作数OUT—
本文标题:第3章-S7-300的指令系统及编程
链接地址:https://www.777doc.com/doc-4504382 .html