绪论EXIT1绪论EXIT2第四章S7-200的基本指令系统及编程4.1基本指令4.2运算指令4.3传送指令4.4程序控制类指令4.5PLC的编程与应用绪论EXIT34.1基本指令4.1.1输入输出指令指令格式:梯形图LAD及语句表STL格式如图所示LAD指令格式:LDbitLDNbit=bitSTL指令格式:(a)取指令(b)取反指令(c)输出指令图3-1输入输出指令取指令LD:用于与母线连接的常开触点。取反指令LDN:用于与母线连接的常闭触点。输出指令=:也叫线圈驱动指令。绪论EXIT4例1输入输出指令的应用举例。KM2KM1KM1KA(Q0.1)(Q0.2)(M0.0)SB(I0.0)(Q0.1)图3-2电气原理图图3-3输入输出指令编程使用举例LDI0.0=Q0.1LDNQ0.1=Q0.2=M0.0(a)梯形图(b)语句表原理图绪论EXIT5输入输出指令使用说明:LD、LDN、=指令的操作数为:I、Q、M、SM、T、C、V、S、L(位)。LD、LDN不止是用于网络块逻辑计算开始时与母线相连的常开和常闭触点,在分支电路块的开始也要使用LD、LDN指令。=指令不能用于输入继电器.并联的=指令可连续使用任意次。在同一程序中不能使用双线圈输出,即同一个元器件在同一程序中只使用一次=指令。绪论EXIT64.1.2触点串联指令例2触点串联指令的应用举例。KM2KM1KM1KA1(Q0.0)(Q0.1)(M0.0)SB(I0.0)(M0.1)图3-4电气原理图图3-5触点串联指令编程使用举例LDM0.0AI0.0=Q0.0LDQ0.0ANM0.1=Q0.1ANQ0.1=M0.0(a)梯形图(b)语句表KA1KM2(M0.0)(Q0.0)(Q0.1)KA2与指令:用于单个常开触点的串联连接。指令格式:Abit与反指令:用于单个常闭触点的串联连接。指令格式:ANbit绪论EXIT7触点串联指令使用说明:A、AN、指令的操作数为:I、Q、M、SM、T、C、V、S、L(位)。A、AN是单个触点串联连接指令,可连续使用。绪论EXIT84.1.3触点并联指令例3触点并联指令的应用举例。KM1KA2(Q0.1)SB(I0.0)(M0.2)图3-7电气原理图图3-8触点并联指令编程使用举例LDM0.1ONM0.2AI0.0OM0.3=Q0.1(a)梯形图(b)语句表KA1(M0.1)KA3(M0.3)或指令:用于单个常开触点的并联连接指令格式:Obit或反指令:用于单个常闭触点的并联连接指令格式:ONbit绪论EXIT9触点并联指令使用说明:O、ON指令的操作数为:I、Q、M、SM、T、C、V、S和L。单个触点的O、ON指令可连续使用,紧接在LD,LDN之后使用。绪论EXIT104.1.4电路块的连接指令或块指令:用于串联电路块的并联连接指令格式:OLD两个以上触点串联形成的支路叫串联电路块与块指令:用于并联电路块的串联连接指令格式:ALD两条以上支路并联形成的电路块叫并联电路块绪论EXIT11例4LDI0.0AI0.1LDNI0.2AI0.3OLDLDI0.2ANI0.3OLD=Q0.1图3-9或块指令的应用(a)梯形图(b)语句表LDI0.0OI0.1LDM0.1ANM0.2LDNM0.3AM0.4OLDALDOI0.2=Q0.0图3-10与块指令的应用(a)梯形图(b)语句表触点块串并联使用说明:OLD、ALD指令无操作数。在块电路开始时要使用LD或LDN指令。在每完成一次块电路的并联时要写上OLD指令、每完成一次块电路的串联时要写上ALD指令。绪论EXIT12功能:又称取非指令。用于对某一位的逻辑值取反,无操作数。4.1.5取反指令例5NOT指令的应用I0.0I0.1Q0.0Q0.1LDI0.0AI0.1=Q0.0NOT=Q0.1(a)梯形图(b)语句表(c)时序图图3-12NOT指令应用绪论EXIT134.1.6置位与复位指令指令格式:LAD及STL格式如图所示Sbit,NRbit,N(a)置位指令(b)复位指令图3-13置位与复位指令置位指令(Set):从bit开始的N位置1并保持。复位指令(Reset):从bit开始的N位清零并保持。绪论EXIT14LDI0.1SQ0.1,2LDI0.2RQ0.1,2I0.1I0.2Q0.1,Q0.2(a)LAD(b)STL(c)时序图图3-14S/R指令使用举例例6图为S/R指令的应用。绪论EXIT15S/R指令使用说明:S/R指令的操作数为:I、Q、M、SM、T、C、V、S和L。N的常数范围为1~255,N也可为:VB、IB、QB、MB、SMB、SB、LB、AC、常数、*VD、*AC和*LD。一般情况下使用常数。对位元件来说一旦被置位,就保持在通电状态,除非对它复位;而一旦被复位就保持在断电状态,除非再对它置位。S/R指令可以互换次序使用,但由于PLC采用扫描工作方式,所以写在后面的指令具有优先权。如果对计数器和定时器复位,则计数器和定时器的当前值被清零。绪论EXIT164.1.7边沿脉冲指令EUED(a)上升沿脉冲(b)下降沿脉冲图3-15边沿脉冲指令指令格式:LAD及STL格式如图所示上升沿脉冲指令:指某一位操作数的状态由0变为1的边沿过程,可产生一个扫描周期宽度的脉冲。这个脉冲可以用来启动一个控制程序、启动一个运算过程、结束一个控制等等。下降沿脉冲指令:指某一位操作数的状态由1变为0的边沿过程,可产生一个扫描周期宽度的脉冲。这个脉冲可以像上升沿脉冲一样,用来启动一个控制程序、启动一个运算过程、结束一个控制等等。注意:边沿脉冲只存在一个扫描周期,接受这一脉冲控制的元件应写在这一脉冲出现的语句之后。边沿脉冲用于检测状态的变化(信号的出现和消失)绪论EXIT17例7图为边沿脉冲指令的应用LDI0.0EU=M0.0LDM0.0SQ0.0,1LDI0.1ED=M0.1LDM0.1RQ0.0,1I0.0M0.0I0.1M0.1Q0.0(a)梯形图(b)语句表(c)时序图图3-16边沿脉冲指令的应用举例绪论EXIT184.1.8立即指令(a)立即置位(b)立即复位图3-18立即置位/复位指令SIbit,NRIbit,N指令格式:LAD及STL格式如图所示立即置位/复位指令使用说明:1.N的范围为:1~1252.N的操作数同S/R指令3.程序执行立即读输入指令时,只是立即读取物理输入点的值,而不改变输入映像寄存器的值。4.程序执行立即输出指令(=I),是将栈顶值立即输出到物理点,同时刷新输出映像寄存器的内容。绪论EXIT19例8图为立即指令的应用LDI0.0=Q0.0=IQ0.1SIQ0.2,1LDII0.0=Q0.3(a)梯形图(b)语句表图3-19立即指令使用举例(c)时序图必须指出:立即I/O指令是直接访问物理输入输出点的,比一般指令访问输入输出映像寄存器占用CPU的时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期的时间,反而对系统造成不利的影响。绪论EXIT204.1.9逻辑堆栈操作指令堆栈是一组能够存储和取出数据的暂存单元,其特点是“后进先出,后进先出”;进栈时,新值放入栈顶,堆栈中原有的数据被串行下移一位,栈底值丢失;出栈时,栈顶值弹出,所有数据向上串行一位,栈底值补进随机数。S7-200PLC使用了一个9层堆栈来处理所有逻辑操作,逻辑堆栈指令主要用来完成对触点进行的复杂连接,配合ALD、OLD指令使用。逻辑堆栈的栈顶,在位运算中兼做累加器。每执行一次LD(或LDN)指令,自动进行1次进栈操作绪论EXIT211.指令1)逻辑入栈指令指令格式:LPS功能:用于生成一条新的母线,存储该指令处的运算结果。说明:逻辑入栈指令LPS与逻辑出栈指令LPP成对使用,用于处理梯形图中分支结构程序,LPS用于分支开始,LPP用于分支结束。执行LPS指令是将栈顶值复制后压入堆栈,栈底值压出后丢失。绪论EXIT222)逻辑出栈指令指令格式:LPP功能:复位新母线,读出并清除由LPS指令存储的运算结果。说明:逻辑出栈指令LPP是将栈顶值弹出1级,原第2级的值变为新的栈顶值。绪论EXIT233)逻辑读栈指令指令格式:LRD功能:开始右侧的第一个从逻辑块编程,读出由LPS指令存储的运算结果。说明:逻辑读栈指令是将S1级复制到栈顶,其他堆栈的值不变。绪论EXIT244)装载堆栈指令指令格式:LDSnn的范围:0~8的整数功能:复制堆栈中的第n个值到栈顶。说明:原堆栈的值下移一位。绪论EXIT25LDI0.0LPSLDI0.1OQ0.0ALD=Q0.0LRDLDM0.0AM0.1LDM0.2AM0.3OLDALD=Q0.1LPPAM0.4=Q0.2LDM0.5OM0.6ALD=Q0.3(a)梯形图(b)语句表图3-21一层堆栈电路2.逻辑堆栈指令应用LPSLRDLPP绪论EXIT26LDI0.0LPSANI0.1LPSAM0.0=Q0.0LPPAM0.1=Q0.2LPPANI0.2LPSAM0.2=Q0.3LPPAM0.3=Q0.4(a)梯形图(b)语句表图3-22二层堆栈电路例10图为二层堆栈电路绪论EXIT27例11图为四层堆栈电路LDI0.0LPSAI0.1LPSAI0.2LPSAI0.3LPSAI0.4=Q0.0LPP=Q0.1LPP=Q0.2LPP=Q0.3LPP=Q0.4(a)梯形图(b)语句表图3-23四层堆栈电路堆栈指令使用说明:LPS和LPP指令必须成对使用。堆栈层数应少于9层,也就是说LPS、LPP指令连续使用时应少于9次。LPS、LRD、LPP指令无操作数。绪论EXIT284.1.10定时器1.定时器的分类1)按功能分类(a)接通延时定时器(b)有记忆接通延时定时器(c)断开延时定时器TONT***,PT图3-24定时器指令TONRT***,PTTORT***,PTIN:表示输入的是一个位值逻辑信号,起着一个使能输入端的作用。Txxx:表示定时器的编号。PT:定时器的初值。Txxx绪论EXIT29⑵操作数的取值范围Txxx:WORD常数(0~255);IN:BOOL0,1;PT:INTVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD及常数。绪论EXIT30⑶功能接通延时定时器(TON)输入端(IN)接通时,定时器(TON)开始计时当定时器的当前值等于或大于设定值(PT)时,该定时器位被置位为“1”。当达到设定时间后,TON继续计时,一直计到最大值32767。输入端(1N)断开时,定时器TON复位,即当前值为“0”,定时器位为“0”(Off)。例如:TON指令使用T37(为100ms分辨率的定时器),设定值为5,则实际定时时间为T=5×100ms=500ms(当前值)I1.0T37T37PT=5(位)LDI1.0TONT37,5I1.0PTIN5T37TON绪论EXIT31有记忆接通延时定时器(TONR)输入端(IN)接通时,定时器(TONR)接通并开始计时,当定时器当前值等于或大于设定值(PT)时,该定时器位被置位为“1”。定时器累计值达到设定值后,继续计时,一直计到最大值32767。输入端(IN)断开时,定时器的当前值保持不变,定时器位不变。输入端(IN)再次接通,定时器当前值从原保持值开始向往上继续计时。因此可用定时器累计多次输入信号的接通时间。上电周期或首次扫描时,定时器(TONR)的定时器位为“0”,当前值保持,可利用复位指令(R)清除定时器(TONR)的当前值。LDI1.1TONRT5,6PTIN6T5I1.1最大值=32767PT=6(位)(当前值)I1.1T5T5TONR绪论EXIT32断开延时定时器(TOF)输入端(IN)接通时,定时器位立即被置位为“1”并把当前值设为“0”。输入端(IN)断开时,定时器(TOF)开始计时,当断开延时定时器(TOF)的计时当前值等于设定时间时,定时器位断开为“0”,并且停止计时。TOF指令