版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
主讲教师:朱清友长江师范学院物理学与电子工程学院可编程控制器教程1第四章S7-200的基本指令系统及编程4.1基本指令4.2运算指令
4.3传送指令4.4程序控制类指令4.5PLC的编程与应用24.1基本指令4.1.1输入输出指令指令格式:梯形图LAD及语句表STL格式如图所示取指令LD:用于与母线连接的常开触点。取反指令LDN:用于与母线连接的常闭触点。输出指令=:也叫线圈驱动指令。3例1
输入输出指令的应用举例。
原理图4输入输出指令使用说明:
LD、LDN、=指令的操作数为:I、Q、M、SM、T、C、V、S、L(位)。
LD、LDN不止是用于网络块逻辑计算开始时与母线相连的常开和常闭触点,在分支电路块的开始也要使用LD、LDN指令。=指令不能用于输入继电器.并联的=指令可连续使用任意次。在同一程序中不能使用双线圈输出,即同一个元器件在同一程序中只使用一次=指令。54.1.2触点串联指令
例2
触点串联指令的应用举例。
与指令:用于单个常开触点的串联连接。
指令格式:Abit
与反指令:用于单个常闭触点的串联连接。
指令格式:ANbit6
触点串联指令使用说明:
A、AN、指令的操作数为:I、Q、M、SM、T、C、V、S、L(位)。
A、AN是单个触点串联连接指令,可连续使用。74.1.3触点并联指令例3
触点并联指令的应用举例。
或指令:用于单个常开触点的并联连接
指令格式:Obit
或反指令:用于单个常闭触点的并联连接
指令格式:ONbit8触点并联指令使用说明:O、ON指令的操作数为:I、Q、M、SM、T、C、V、S和L。单个触点的O、ON指令可连续使用,紧接在LD,LDN之后使用。94.1.4电路块的连接指令
或块指令:用于串联电路块的并联连接
指令格式:OLD
两个以上触点串联形成的支路叫串联电路块
与块指令:用于并联电路块的串联连接
指令格式:ALD
两条以上支路并联形成的电路块叫并联电路块10例4触点块串并联使用说明:
OLD、ALD指令无操作数。在块电路开始时要使用LD或LDN指令。在每完成一次块电路的并联时要写上OLD指令、每完成一次块电路的串联时要写上ALD指令。11功能:又称取非指令。用于对某一位的逻辑值取反,无操作数。4.1.5取反指令例5
NOT指令的应用
124.1.6置位与复位指令指令格式:LAD及STL格式如图所示
置位指令(Set):从bit开始的N位置1并保持。
复位指令(Reset):从bit开始的N位清零并保持。13例6
图为S/R指令的应用。14S/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采用扫描工作方式,所以写在后面的指令具有优先权。
如果对计数器和定时器复位,则计数器和定时器的当前值被清零。154.1.7边沿脉冲指令指令格式:LAD及STL格式如图所示上升沿脉冲指令:指某一位操作数的状态由0变为1的边沿过程,可产生一个扫描周期宽度的脉冲。这个脉冲可以用来启动一个控制程序、启动一个运算过程、结束一个控制等等。下降沿脉冲指令:指某一位操作数的状态由1变为0的边沿过程,可产生一个扫描周期宽度的脉冲。这个脉冲可以像上升沿脉冲一样,用来启动一个控制程序、启动一个运算过程、结束一个控制等等。注意:边沿脉冲只存在一个扫描周期,接受这一脉冲控制的元件应写在这一脉冲出现的语句之后。边沿脉冲用于检测状态的变化(信号的出现和消失)16例7
图为边沿脉冲指令的应用
174.1.8立即指令指令格式:LAD及STL格式如图所示立即置位/复位指令使用说明:N的范围为:1~125N的操作数同S/R指令程序执行立即读输入指令时,只是立即读取物理输入点的值,而不改变输入映像寄存器的值。程序执行立即输出指令(=I),是将栈顶值立即输出到物理点,同时刷新输出映像寄存器的内容。18例8
图为立即指令的应用必须指出:立即I/O指令是直接访问物理输入输出点的,比一般指令访问输入输出映像寄存器占用CPU的时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期的时间,反而对系统造成不利的影响。194.1.9逻辑堆栈操作指令
堆栈是一组能够存储和取出数据的暂存单元,其特点是“后进先出,后进先出”;进栈时,新值放入栈顶,堆栈中原有的数据被串行下移一位,栈底值丢失;出栈时,栈顶值弹出,所有数据向上串行一位,栈底值补进随机数。S7-200PLC使用了一个9层堆栈来处理所有逻辑操作,逻辑堆栈指令主要用来完成对触点进行的复杂连接,配合ALD、OLD指令使用。逻辑堆栈的栈顶,在位运算中兼做累加器。每执行一次LD(或LDN)指令,自动进行1次进栈操作201.指令1)逻辑入栈指令
指令格式:LPS功能:用于生成一条新的母线,存储该指令处的运算结果。说明:逻辑入栈指令LPS与逻辑出栈指令LPP成对使用,用于处理梯形图中分支结构程序,LPS用于分支开始,LPP用于分支结束。执行LPS指令是将栈顶值复制后压入堆栈,栈底值压出后丢失。212)逻辑出栈指令
指令格式:LPP功能:
复位新母线,读出并清除由LPS指令存储的运算结果
。说明:逻辑出栈指令LPP是将栈顶值弹出1级,原第2级的值变为新的栈顶值。223)逻辑读栈指令
指令格式:LRD功能:
开始右侧的第一个从逻辑块编程,读出由LPS指令存储的运算结果。说明:逻辑读栈指令是将S1级复制到栈顶,其他堆栈的值不变。234)装载堆栈指令
指令格式:LDSnn的范围:0~8的整数功能:
复制堆栈中的第n个值到栈顶。说明:原堆栈的值下移一位。242.逻辑堆栈指令应用
LPSLRDLPP25例10图为二层堆栈电路26例11图为四层堆栈电路堆栈指令使用说明:
LPS和LPP指令必须成对使用。堆栈层数应少于9层,也就是说LPS、LPP指令连续使用时应少于9次。
LPS、LRD、LPP指令无操作数。274.1.10定时器1.定时器的分类
1)按功能分类IN:表示输入的是一个位值逻辑信号,起着一个使能输入端的作用。Txxx:表示定时器的编号。PT:定时器的初值。Txxx28⑵操作数的取值范围Txxx:
WORD常数(0~255);IN:
BOOL0,1;PT:
INTVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD及常数。29⑶功能
接通延时定时器(TON)
输入端(IN)接通时,定时器(TON)开始计时当定时器的当前值等于或大于设定值(PT)时,该定时器位被置位为“1”。当达到设定时间后,TON继续计时,一直计到最大值32767。输入端(1N)断开时,定时器TON复位,即当前值为“0”,定时器位为“0”(Off)。例如:TON指令使用T37(为100ms分辨率的定时器),设定值为5,则实际定时时间为T=5×100ms=500ms30
有记忆接通延时定时器(TONR)
输入端(IN)接通时,定时器(TONR)接通并开始计时,当定时器当前值等于或大于设定值(PT)时,该定时器位被置位为“1”。定时器累计值达到设定值后,继续计时,一直计到最大值32767。输入端(IN)断开时,定时器的当前值保持不变,定时器位不变。输入端(IN)再次接通,定时器当前值从原保持值开始向往上继续计时。因此可用定时器累计多次输入信号的接通时间。上电周期或首次扫描时,定时器(TONR)的定时器位为“0”,当前值保持,可利用复位指令(R)清除定时器(TONR)的当前值。31断开延时定时器(TOF)
输入端(IN)接通时,定时器位立即被置位为“1”并把当前值设为“0”。输入端(IN)断开时,定时器(TOF)开始计时,当断开延时定时器(TOF)的计时当前值等于设定时间时,定时器位断开为“0”,并且停止计时。TOF指令必须用负跳变(由on到off)的输入信号启动计时。322)按定时器分辨率和编号分类定时器类型分辨率/ms最大当前值/s定时器编号TONR132.767T0,T6410327.67T1~T4,T65~T681003276.7T5~T31,T69~T95TON,TOF132.767T32,T9610327.67T33~T36,T97~T1001003276.7T37~T63,T101~T255编号范围为(T0~T255)
33⑴定时器当前值的刷新
①
1ms分辩率定时器每隔1ms刷新一次在一个扫描周期中要刷新多次,而不和扫描周期同步。其当前值在每个周期内可能不一致。
②
10ms定时器由系统在每个扫描周期开始时自动刷新,当前值在一个扫描周期内保持不变。
③
100ms定时器在定时器指令被执行时刷新。易造成计时失准,使用时要格外小心,一般仅用在每个扫描周期执行一次的程序中。34⑵正确使用
不会接通
ON一个扫描周期
永远不会为ON
352.定时器的应用例1:
36例2:
37例3:38100ms定时器100ms定时器只能用于每个扫描周期内同一定时器指令执行一次,且仅执行一次的场合。不宜用在子程序和中断程序中在主程序中不能重复使用同一个100ms的定时器号结论注意394.1.11计数器对外部的或由程序产生的计数脉冲进行计数计数器是累计其计数输入端的计数脉冲电平由低到高的次数1.计数器的分类
增计数器(CTU)、增减计数器(CTUD)、减计数(CTD)
401)指令格式:计数器编号脉冲输入端复位端脉冲输入端预置值装载复位输入端2)操作数的取值范围Cxxx::WORD常数。CU,CD,LD,R:BOOL能流。PV:INTVW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD及常数。41
增计数器指令CTU
当CU端有一上升沿信号时,计数器作递增计数当计数器当前值等于或大于设定值(PV)时,该计数器位被置位。当R端有效时,计数器被复位,计数器位为0。计数范围:
(0~32767)42在每一个CU输入端的上升沿递增计数在每一个CD输入端的上升沿递减计数当当前值=>预置值时,该计数器位被置位当复位输入端(R)有效时,计数器被复位计数器在达到计数最大值32767后,下一个CU输入端上升沿将使计数值变为最小值(-32768)在达到最小计数值(-32768)后,下一个CD输入端上升沿将使计数值变为最大值(32767)当用复位指令(R)复位计数器时,计数器位被复位,计数器位为0,并且当前值清零
增/减计数器(CTUD)
43当装载输入端(LD)有效时,计数器复位并把设定值(PV)装入当前值寄存器(CV)中当计数输入端(CD)有一个上升沿信号时,计数器从设定值开始作递减计数直至计数器当前值等于0时,停止计数,同时计数器位被置位计数范围:(0~32767)减计数器指令无复位端当I1.4=1:C40=0,PV→CV;当前值=0,C40=1;注意:在一个程序中,同一计数器号不要重复使用!
减计数器(CTD)指令
442.计数器的应用
例1:45例2:46例3:实例见书P104页474.1.12比较指令比较指令关系符:IN1=IN2、IN1>=IN2、IN1<=IN2、IN1>IN2、IN1<IN2、IN1<>IN2、“<>”表示不等于。两个操作数(IN1、IN2)按指定的比较关系作比较操作数的数据类型可分:字节比较(无符号)整数比较双字整数比较实数比较48类型字节比较整数比较实数比较双字整数比较LADSLTLDB=IN1,IN2AB=IN1,IN2OB=IN1,IN2LDB<IN1,IN2AB<IN1,IN2OB<IN1,IN2LDB<=IN1,IN2AB<=IN1,IN2OB<=IN1,IN2LDB>IN1,IN2AB>IN1,IN2OB>IN1,IN2LDB>=IN1,IN2AB>=IN1,IN2OB>=IN1,IN2LDB<>IN1,IN2AB<>IN1,IN2OB<>IN1,IN2LDW=IN1,IN2AW=IN1,IN2OW=IN1,IN2LDW<IN1,IN2AW<IN1,IN2OW<IN1,IN2LDW<=IN1,IN2AW<=IN1,IN2OW<=IN1,IN2LDW>IN1,IN2AW>IN1,IN2OW>IN1,IN2LDW>=IN1,IN2AW>=IN1,IN2OW>=IN1,IN2LDW<>IN1,IN2AW<>IN1,IN2OW<>IN1,IN2LDR=IN1,IN2AR=IN1,IN2OR=IN1,IN2LDr<IN1,IN2AR<IN1,IN2OR<IN1,IN2LDR<=IN1,IN2AR<=IN1,IN2OR<=IN1,IN2LDR>IN1,IN2AR>IN1,IN2OR>IN1,IN2LDR>=IN1,IN2AR>=IN1,IN2OR>=IN1,IN2LDR<>IN1,IN2AR<>IN1,IN2OR<>IN1,IN2LDD=IN1,IN2AD=IN1,IN2OD=IN1,IN2LDD<IN1,IN2AD<IN1,IN2OD<IN1,IN2LDD<=IN1,IN2AD<=IN1,IN2OD<=IN1,IN2LDD>IN1,IN2AD>IN1,IN2OD>IN1,IN2LDD>=IN1,IN2AD>=IN1,IN2OD>=IN1,IN2LDD<>IN1,IN2AD<>IN1,IN2OD<>IN1,IN2IN1和IN2寻址范围IB,QB,MB,SMB,VB,SB,LB,AC,*VD,*AC,*LD,常数IW,QW,MW,SMW,VW,SW,LW,AC*VD,*AC,*LD,常数ID,QD,MD,SMD,VD,SD,LD,AC,*VD,*AC,*LD,常数ID,QD,MD,SMD,VD,SD,LD,AC,*VD,*AC,*LD,常数注:梯形图中,只示出了“等于”的比较关系。49说明:比较指令用于两个相同数据类型的比较在梯形图中,比较指令是以动合触点的形式编程的,当比较的结果为真时,该动合触点闭合。在语句表中,比较指令与基本逻辑指令LD,A和O进行组合后编程,当比较结果为真时,PLC将栈顶置1。50例:实例见书P107页514.2运算指令4.2.1算术运算指令
1.加法指令
功能:在LAD中,IN1+IN2=OUT;执行加法操作时,将操作数IN2与OUT共用一个地址单元,因而在STL中,IN1+OUT=OUT。
数据类型:整数相加时,输入输出均为INT;双整数相加时输入输出均为DINT;实数相加时,输入输出均为REAL522.减法指令
功能:在LAD中,IN1-IN2=OUT;执行减法操作时,将操作数IN1与OUT共用一个地址单元,因而在STL中,OUT-IN2=OUT。
数据类型:整数相减时,输入输出均为INT;双整数相减时输入输出均为DINT;实数相减时,输入输出均为REAL。533.乘法指令1)一般乘法指令2)完全整数乘法指令
功能:在LAD中,IN1×IN2=OUT;执行乘法操作时,将操作数IN2与OUT共用一个地址单元,因而在STL中,IN1×OUT=OUT。
数据类型:整数相乘时,输入输出均为INT;双整数相乘时输入输出均为DINT;实数相乘时,输入输出均为REAL。
功能:将两个单字长(16位)的符号整数相乘,产生一个32位双整数结果OUT,32位结果存储单元的低16位运算前用于存放被乘数。在LAD中,IN1×IN2=OUT;在STL中,IN1×OUT=OUT。
数据类型:输入为INT,输出为DINT。54加法、减法、乘法指令影响的特殊存储器位:SM1.0(零)、SM1.1(溢出)、SM1.2(负)。553.除法指令1)一般除法指令2)完全整数除法指令功能:在LAD中,IN1/IN2=OUT;在STL中,OUT/IN2=OUT。不保留余数。
数据类型:整数相除时,输入输出均为INT;双整数相除时输入输出均为DINT;实数相除时,输入输出均为REAL。功能:将两个16位的符号整数相除,产生一个32位结果,其中低16位为商,高16位为余数。32位结果低16位运算前被兼用存放被除数。在LAD中,IN1/IN2=OUT;在STL中,OUT/IN2=OUT。
数据类型:输入为INT,输出为DINT。56除法指令影响的特殊存储器位:SM1.0(零)、SM1.1(溢出)、SM1.2(负)、SM1.3(除数为0)。注意:对于算术运算,如OUT和输入不是共用同一地址单元,在STL中,先用传送指令将IN1传送到OUT,然后再执行运算指令。57例
若VW10=2000,VW12=150,则执行完该段程序后,各存储单元的数值为:VW16=2150,VW18=1850,VD20=300000,VW24=13,VW30=50。584.2.2加1和减1指令1.加1指令功能:在LAD中,IN1+1=OUT;在STL中,OUT+1=OUT,即IN和OUT使用同一个存储单元。
数据类型:字节增1指令输入输出均为字节,字增1指令输入输出均为INT,双字增1指令输入输出均为DINT。
592.减1指令功能:在LAD中,IN1-1=OUT;在STL中,OUT-1=OUT,即IN和OUT使用同一个存储单元。
数据类型:字节减1指令输入输出均为字节,字减1指令输入输出均为INT,双字减1指令输入输出均为DINT。60例614.2.3逻辑运算指令
1.逻辑与指令
功能:把两个一个字节(字或双字)长的输入逻辑数按位相与,得到一个字节(字或双字)的逻辑数并输出到OUT。在STL中OUT和IN2使用同一具存储单元。
数据类型:输入输出均为字节、字或双字。622.逻辑或指令
功能:把两个一个字节(字或双字)长的输入逻辑数按位相或,得到一个字节(字或双字)的逻辑数并输出到OUT。在STL中OUT和IN2使用同一具存储单元。
数据类型:输入输出均为字节、字或双字。633.逻辑异或指令
功能:把两个一个字节(字或双字)长的输入逻辑数按位相异或,得到一个字节(字或双字)的逻辑数并输出到OUT。在STL中OUT和IN2使用同一具存储单元。
数据类型:输入输出均为字节、字或双字。644.取反指令
功能:把两个一个字节(字或双字)长的输入逻辑数按位取反,得到一个字节(字或双字)的逻辑数并输出到OUT。在STL中OUT和IN使用同一具存储单元。
数据类型:输入输出均为字节、字或双字。65例664.3传送指令
4.3.1单一数据传送指令
功能:把输入端(IN)指定的数据传送到输出端(OUT),传送过程中数值保持不变。
数据类型:输入和输出有字节、字、双字和实数4种类型。
674.3.2数据块传送指令功能:把从输入端(IN)指定地址的N个连续字节、字、双字的内容传送到从输出端(OUT)指定地址开始的N个连续字节、字、双字的存储单元中去
数据类型:输入和输出有字节、字和双字3种类型。684.3.3字节立即传送指令1.传送字节立即读指令功能:读物理输入IN,并将结果存入OUT中,但过程映像寄存器并不刷新。数据类型:输入为IB,输出为字节。
2.传送字节立即写指令功能:从存储器IN读取数据,写入物理输出OUT中,同时刷新相应的输出过程映像区。数据类型:输入为字节,输出为QB。69例:数据传送类指令应用
704.3.4移位与循环指令
1.移位指令
功能:左移位指令把输入端(IN)指定的数据左移N位,结果存入OUT单元中。右移位指令把输入端(IN)指定的数据右移N位,结果存入OUT单元中。
数据类型:输入和输出有字节、字和双字3种类型;N为字节型数据。字节、字、双字移位指令的实际最大可移位数分别为8、16、32
712.循环移位指令功能:循环左移位指令把输入端(IN)指定的数据循环左移N位,结果存入OUT单元中循环右移位指令把输入端(IN)指定的数据循环右移N位,结果存入OUT单元中
数据类型:输入和输出有字节、字和双字3种类型;N为字节型数据。
对于循环移位指令,如果所需移位的位数N大于或等于8、16、32,那么在执行循环移位前,先对N取以8、16、32为底的模,其结果0~7、0~15、0~31为实际移动位数。72例734.4程序控制类指令
有条件结束指令(END)暂停指令(STOP)监视定时器复位指令(WDR)跳转与标号指令循环指令(For,Next)子程序调用、子程序返回指令
自学74
功能:根据先前逻辑条件终止用户程序。4.4.1结束指令当I0.0=1时,结束主程序。
使用说明:结束指令只能用在主程序中,不能在子程序和中断程序中使用。而有条件结束指令可用在无条件结束指令前结束主程序。在调试程序时,在程序的适当位置插入无条件结束指令可实现程序的分段调试。可以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有条件结束指令,使程序结束。STEP7-Micro/WIN32软件自动在主程序结尾添加了无条件结束语句(MEND)。在编制程序时不需要用户自己再在程序未尾添加结束语句。
754.4.2暂停指令
功能:使PLC从运行模式进入停止模式,立即终止程序的执行SM0.5为I/O错误继电器,当出现I/O错误时,SM0.5=1,此时就会强迫CPU进入停止方式。
STOP指令可用在主程序、子程序和中断程序中。如果在中断程序中执行STOP,则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度钢结构工程大数据分析与决策支持合同3篇
- 展会媒体合作合同(2篇)
- 2025年度环保项目财务代理与审计合同3篇
- 二零二五版智慧校园信息化建设与运营合同3篇
- 二零二五年新能源发电场电工劳务及环保设施合同3篇
- 二零二五年度高等学府外国专家讲学合同参考文本3篇
- 二零二五年度出租屋租赁合同范本:租赁押金无息退还协议3篇
- 二零二五年度机械加工行业信息安全保护合同2篇
- 2025年度标识标牌照明系统升级改造合同3篇
- 二零二五版机票预订代理及境外旅游套餐合同5篇
- 退款协议书范本(通用版)docx
- 电厂C级检修工艺流程
- 函授本科《小学教育》毕业论文范文
- 高考高中英语单词词根词缀大全
- 江苏省泰州市姜堰区2023年七年级下学期数学期末复习试卷【含答案】
- 药用辅料聚乙二醇400特性、用法用量
- 《中小学机器人教育研究(论文)11000字》
- GB/T 22085.1-2008电子束及激光焊接接头缺欠质量分级指南第1部分:钢
- 全过程人民民主学习心得体会
- 2023年上海期货交易所招聘笔试题库及答案解析
- 附图1岑溪市行政区划图
评论
0/150
提交评论