第六章S7-300和S7-400PLC编程基础第二节S7-300和S7-400的指令系统基本概念位逻辑指令定时器指令计数器指令数据处理指令数学运算指令逻辑控控制指令程序控制指令一、定时器指令(一)、.基本概念(二)、定时器指令1.脉冲定时器(SP)2.扩展脉冲定时器(SE)3.接通延时定时器(SD)4.保持型接通延时定时器(SS)5.断开延时定时器返回目录(一).基本概念1.定时器的存储区每一个定时器有一个16位的字和一个二进制位,分别用来存储定时器的定时时间值和定时器触点的状态。位操作指令通过定时器地址(T和定时器号,例如T6)存取定时器位,字操作指令通过定时器地址(T和定时器号,例如T6)存取定时器的时间值。2.定时器字的表示方法用户使用的定时器字由3位BCD码时间值(0~999)和时基组成(如下图),时基代码为二进制数00、01、10、11,分别对应的时基值为10ms、100ms、1s和10s。图3-24定时器字xx1000018150010011107127以BCD码表示的时间值(0~999)时基1秒未用可以按以下两种方式将时间预置值装入累加器的低位字:①十六进制数W#16#wxyz,其中的w是时间基准,xyz是BCD码形式的时间值。②S5T#aH_bM_cS_Dms,例如S5T#18S。其中H表示小时、M表示分钟、S表示秒、ms表示毫秒。时基是CPU自动选择的,选择的原则是在满足定时范围要求的条件下选择最小的时基。返回目录(二)、定时器指令1.脉冲定时器(SP)脉冲定时器(SP)指令有来两种形式:功能框的形式和用线圈表示的形式,指令格式及示例如下表。脉冲定时器的功能框形式S_PULSE定时器中,Tn0:为定时器的编号。其范围与CPU的型号的关(64~512)S:为起动信号,当S端出现上升沿时,起动指定的定时器。TV:为预置值输入端,最大设定时间为9990s,或2H-46M-30S,输入格式按S5系统时间格式。如:S5T#100SR:为复位输入端;当R端出现上升沿时,定时器复位,当前值清“0”Q:为定时器位输出端,定时器起动后,剩余时间非0时,Q输出为“1”,定时器停止或剩余时间为0时,Q输出为“0”。该端可以连接位存储器,如Q0.0,也可以悬空。BI端:输出不带时基的十六进制格式当前时间值,BCD端:输出BCD格式的当前时间值和时基。定时器中的S,R,Q为BOOL(位)变量,BI和BCD为WORD(字)变量,TV为S5TIME量。各变量均可以使用I,Q,M,L,D存储区,TV可以使用定时时间常数S5T#。STL等效程序L(装入指令):把预置值装入累加器1SP(为脉冲定时器指令):启动定时器R:复位Tn0LTn0:把Tn0的十六进制时间当前值装入累加器1T时间字单元1:把累加器1的内容传送到时间字单元1LCTn0:把Tn0的BCD时间当前值装入累加器1T时间字单元2:把累加器1的内容传送到时间字单元2ATn0:检查Tn0的信号状态=输出地址:Tn0的定时器位为1时,输出地址有输出。T(传送指令):把累加器1的内容复制到被寻址的操作数。脉冲定时器的线圈形式脉冲定时器示例程序对应的时序波形如下图所示。从设定的时间值开始倒计时(定时器位为高电平)1.当R信号为“0”且S信号出现上升沿时,定时器工作,常开触点闭合,定时时间到,常开触点断开(定时器位为0)2.在定时器工作期间,若S无效,定时器停止工作,当前值为0,常开触点断开3.当R有效时(出现上升沿),立即复位返回目录2.扩展脉冲定时器(SE)扩展脉冲定时器(SE)指令有两种形式:功能框的形式和用线圈表示的形式指令格式及示例下表所示,符号内各端子的含义同脉冲S5定时器。扩据脉冲S5定时器的功能框的形式扩据脉冲S5定时器线圈指令与扩展定时器示例程序对应的时序波形如下图所示。从设定的时间值开始倒计时1.当S信号出现上升沿时,定时器工作,常开触点闭合,定时时间到,常开触点断开(定时器位为0)3.在定时器工作期间,若S无效,定时器继续工作,在定时结束之前,如果I0.1又由0变为1状态,定时器被重新启动。4.当R有效时,立即复位2.在定时器工作期间,若S无效,定时器继续工作,定时时间到,常开触点断开。返回目录3.接通延时定时器(SD)接通延时定时器(SD)指令有两种形式:功能框的形式和用线圈表示的形式,指令格式、示例及时序波形图见下图所示。各输入端及输出端的意义与S5脉冲定时器相同。接通延时定时器的功能框形式接通延时定时器的线圈形式1.在S输入信号的上升沿,定时器开始定时。如果在定时时间之内,S的状态一直为1,定时时间到,当前时间值变为0,Q输出端变为1状态,此后如果S输入由1变为0,Q输出端的状态也变为0。2.在定时期间,如果S输入由1变为0,则停止定时,并复位(当前时间值复位为0)。S又变1时,又从预置值开始定时。3.当R有效时,定时器被复位。返回目录4.保持型接通延时定时器(SS)保持型接通延时定时器(SS)指令有两种形式:功能框的形式和用线圈表示的形式,指令格式、示例及时序波形图见下图所示。保持型接通延时定时器的功能框形式保持型接通延时定时器的线圈形式形式1.当输入S信号出现上升沿时,定时器开始工作,在定时时间内,如果S变为无效,定时器继续工作,定时时间到,常开触点闭合2.如果在定时器结束之前,S信号出现上升沿,则定时器以设定的时间值重新启动。3.当R有效时,立即复位。返回目录5.断开延时定时器(SF)断开延时定时器(SF)指令有两种形式:功能框的形式和用线圈表示的形式,指令格式、示例及时序波形图见下图所示。断开延时定时器的功能框形式断开延时定时器的线圈形式在S信号为高电平或定时器运行期间,定时器的常开触点闭合。1.当输入S由1→0时,定时器开始工作,定时时间到,常开触点断开2.在定时器工作期间,如果S信号出现上升沿,定时器的时间值变为0,并停止计时,如果I0.0重新断开,则定时器从预置值开始重新启动。3.当R信号有效时,立即复位。返回目录二、计数器指令1.基本概念2.S-CUD(加/减计数器)3.S-CU(加计数器)4.S-CD(减计数器)5.计数器线圈指令1.基本概念(1)计数器的存储区S7-300计数器有一个16位的字和一个二进制位,计数器的字用来存放当前计数值,计数器触点的状态由它的位的状态来决定。用计数器地址(例如C24)来存取当前计数值和计数器位,带位操作数的指令存取计数器位,带字操作数的指令存取计数器的计数值。(2)计数值计数值的范围为0~999,如下图所示,计数器值有两种存储格式:一种是BCD码格式,则该字的0~11位是计数值的BCD码,用格式C#127表示BCD码127;另一种是二进制格式,只占用计数器字的0~9位,。图3-43计数器字00018150010011107127BCD码格式的计数值(0~999)未用0091501111111010二进制数计数值未用2.S_CUD(加/减计数器)块图指令Cno:为计数器的编号,C0~C511CU:为加计数脉冲输入端,在CU端出现一个上升沿,计数器自动加“1”,当计数器的当前值为999时,计数值保持为999。加“1”操作无效。CD:为减计数脉冲输入端,在CD端出现一个上升沿,计数器自动减“1”,当计数器的当前值为0时,计数值保持为0。减“1”操作无效。S:为计数器的设置输入端,在S端出现上升沿时,用PV指定的预置值设置加减计数器的计数值(把PV指定的值作为当前值)。PV:为预置值(计数初值)输入端,初值的范围为0~999,可以通过字存储器(如MW0、IW1等)为计数器提供初值,也可以直接输入BCD码形式的立即数,格式为:C#XXX,如:C#6,C#999。R:为复位输入端,只要该端出现上升沿,计数器立即复位,复位后,计数器的当前值变为0,输出状态也为0.CV:以十六进制格式输出当前计数值,如:16#0023,该端可以接各种字存储器,如MW4、QW0、IW2,也可以悬空。CV-BCD:以BCD码格式输出当前计数值,如C#369,该端可以接各种字存储器,如MW4、QW0、IW2,也可以悬空。Q:为计数器位输出端,只要计数器的当前值不为0,计数器位就为“1”,当前值为0,计数器位也为“0”。该端可以连接位存储器,如Q4.1、M0.1,也可以悬空。注意:(1)如果在设置计数器时,CU或CD输入为1,即使信号没有变化,下一扫描周期也会计数(2)如果两个计数输入均为上升沿,两条指令均被执行,计数值保持不变。STL等效程序A加计数输入//在加计数输入的上升沿CUCn0//加/减计数器Cn0的当前值加1A减计数输入//在减计数输入的上升沿CDCn0//加/减计数器Cn0的当前值减1A预置信号//在预置信号的上升沿L计数初值//计数器的预置值被装入累加器的低字SCn0//把预置值装入计数器A复位信号//在复位信号的上升沿RCn0//复位Cn0LCn0//把Cn0二进制计数当前值装入累加器1T计数字单元1//把累加器1的内容传送到计数字单元1LCCn0//把Cn0的BCD计数当前值装入累加器1T计数字单元2//把累加器1的内容传送到计数字单元2ACn0//如果Cn0的当前值非0=输出地址//输出地址为1状态3.S_CU(加计数器)块图指令4.S_CD(减计数器)块图指令5.计数器的线圈指令除了前面介绍的块图形式的计数器指令以外,S7-300系统还为用户准备了LAD环境下的线圈形式的计数器。这些指令有计数器初值预置指令SC、加计数器指令CU和减计数器指令CD。初值预置SC指令若与CU指令配合可实现S_CU指令的功能。①.加计数器线圈指令应用示例在I0.0的上升沿,将预置值送入计数器字,在I0.1信号的上升沿,如果计数值小于999,计数值加1,复位输入有效时,计数器被复位,计数值被清0,②.减计数器线圈指令应用示例SC指令若与CD指令配合可实现S_CD指令的功能。③.加/减计数器线圈指令应用示例SC指令若与CU和CD配合可实现S_CUD的功能。例1:扩展脉冲定时器应用(电动机延时自动关闭控制)控制要求:按动起动按钮S1(I0.0),电动机M(Q4.0)立即起动,延时5min以后自动关闭,起动后按动停止按钮S2(I0.1),电动机立即停机例2:用接通延时定时器构成脉冲发生器,当满足一定的条件时,能够输出一定频率和一定占空比的脉冲信号。要求,当按钮按下时,输出指示灯(Q4.0)以灭2s,亮1s规律工作脉冲时序如下图所示控制程序(使用接通延时定时器)例3:电动机顺序起停控制控制要求:按下起动按钮时,电动机M1起动,延时5s,电动机M2起动;按下停止按钮,M2立即停止,延时10s后,M1停机。起动按钮:I0.1;停止按钮:I0.2电动机M1:Q0.0;电动机M2:Q0.1例4:定时器扩展,在S7-300中,单个定时器的最大计时范围是9990s或2H-46M-30s,如果超过这个范围,可以采用两个(或多个)定时器级联的方法来扩展计时范围,现在考虑一个要求延时时间为5个小时的控制任务。假定T1的时间设定值为2H-20M,T2的时间设定值为2H-40M,则T1+T2=5H。