第三章FP1的指令系统基本指令:基本顺序指令:主要执行以位(bit)为单位的逻辑操作,是继电器控制电路的基础。基本功能指令:定时器、计数器和移位寄存器控制指令:可根据条件判断,来决定程序执行顺序和流程的指令。比较指令:主要进行数据比较。3.1基本顺序指令基本顺序指令主要是对继电器和继电器触点进行逻辑操作。指令表的格式:地址操作码操作数(参看书上表3-1)操作码规定了CPU所执行的功能。操作数包含了操作数的地址、性质和内容。操作数可以没有,也可以是一个、两个、三个甚至四个,随不同的指令而不同指令助记符继电器定时/计数器触点XYRTCST、ST/OT×××AN、AN/OR、OR/SET、RST×××KP×××表3-1基本顺序指令的操作数表中对应项目为“×”表示该项不可用,为空则表示可用。例如:OT指令对应继电器X项为“×”,说明OT指令的操作数不能为X继电器。1.输入输出指令:ST、ST/、OTST--加载--用A类触点(常开触点)开始逻辑运算的指令。ST/--加载非--用B类触点(常闭触点)开始逻辑运算的指令。OT--输出--输出运算结果到指定的输出端,是继电器线圈的驱动指令。/-----非-----将该指令处的运算结果取反。其中,ST和ST/用于开始一个新的逻辑行。梯形图04X0X0Y0Y1Y2地址指令数据0STX01OTY02/3OTY14ST/X05OTY2指令表时序图X0Y0Y1Y2例3-1解释:当X0接通时,Y0接通;当X0断开时,Y1接通、Y2接通。常闭触点的功能可以用两种方式实现/指令为逻辑取反指令,可单独使用,但是一般都是与其它指令组合形成新指令使用,如ST/OT不能直接从左母线开始,但是必须以右母线结束OT指令可以连续使用,构成并联输出通常,对于某个输出继电器只能用一次OT指令说明:2、逻辑操作指令:AN、AN/、OR、OR/AN与串联一个A类(常开)触点。AN/与非串联一个B类(常闭)触点。OR或并联一个A类(常开)触点。OR/或非并联一个B类(常闭)触点。例3-2梯形图06X0R0R0Y0X1X2X4X3地址指令数据0STX01OR/X12ORX23AN/X34ANX45OTR06STR07OTY0指令表时序图X0X3X4R0Y03、块逻辑操作指令:ANS、ORSANS---组与---执行多指令块的与操作,即实现多个逻辑块相串联。ORS---组或---执行多指令块的或操作,即实现多个逻辑块相并联。例3-3梯形图0X0X1X4X2X3X5Y0地址指令数据0STX01ANX12STX23ANX34ORS5STX46ORX57ANS8OTY0指令表时序图X0X1X4X5Y0X2X31234例题说明:当X0、X1接通且X4接通时,Y0接通,对应图中第1段接通情况。当X0、X1接通且X5接通时,Y0接通,对应图中第2段接通情况。当X2、X3接通且X4接通时,Y0接通,对应图中第3段接通情况。当X2、X3接通且X5接通时,Y0接通,对应图中第4段接通情况。Y0有四个接通段,分别代表了该例子的四种有效组合。注意事项:掌握ANS、ORS的关键主要有两点:一是要理解好串、并联关系,二是要形成块的观念。地址指令数据0STX01ANX12STX23ANX34ORS5STX46ORX57ANS8OTY0块1块2块3块4块5Y0=(X0·X1+X2·X3)·(X4+X5)块1块2块4块3块5梯形图0X0X1X4X2X3X5Y04、堆栈指令:PSHS、RDS、POPSPSHS---推入堆栈---存储该指令处的操作结果。RDS---读取堆栈--读出PSHS指令存储的操作结果。POPS---弹出堆栈---读出并清除由PSHS指令存储的操作结果。堆栈指令主要用于构成具有分支结构的梯形图,使用时必须遵循规定的PSHS、RDS、POPS的先后顺序。例3-40X0X1X3X5X6Y0X2X4Y4Y1Y2Y314梯形图地址指令数据0STX01PSHS2ANX13AN/X24OTY05RDS6ANX37OTY18RDS9AN/X4指令表10OTY211POPS12ANX513OTY314STX615OTY4例题说明:存储PSHS指令处的运算结果(这里指X0的状态),这时X0接通,则当X1也接通且X2断开时,Y0输出。由RDS指令读出存储的结果,即X0接通,则当X3接通时,Y1输出。由RDS指令读出存储的结果,即X0接通,则当X4断开时,Y2输出。由POPS指令读出存储的结果,即X0接通,则当X5接通时,Y3输出;然后将PSHS指令存储的结果清除,即解除与X0的关联,后续指令的执行将不再受X0影响。当X6接通时,Y4输出。此时与X0的状态不再相关。当X0接通时,程序依次完成下述操作:注意事项:RDS用于PSHS之后。POPS用在PSHS和RDS的后面,作为分支结构的最后一个分支回路。一组堆栈指令中,有且只有一个PSHS和一个POPS,但是可以没有或有多个RDS。注意区分分支结构和并联输出结构梯形图。二者的本质区别在于:分支结构中,分支点与输出点之间串联有触点,而不单纯是输出线圈。5、微分指令:DF、DF/DF---上升沿微分---检测到触发信号上升沿,使触点接通一个扫描周期。DF/---下降沿微分---检测到触发信号下降沿,使触点接通一个扫描周期。例3-5梯形图(DF)0X0X2X2Y0X1Y15X0(DF/)地址指令数据0STX01AN/X12DF3ANX24OTY05STX06DF/7ANX28OTY1指令表时序图X0X1X2Y0Y1t1例题说明:当检测到触发信号的上升沿时,即X1断开、X2接通且X0由OFF→ON时,Y0接通一个扫描周期。另一种情况是X0接通、X2接通且X1由ON→OFF时,Y0也接通一个扫描周期。当检测到触发信号的下降沿时,即X2接通且X0由ON→OFF时,Y1接通一个扫描周期。注意事项:DF和DF/指令的作用都是在控制条件满足的瞬间,触发后面的被控对象(触点或操作指令),使其接通一个扫描周期。可用于控制那些只需触发执行一次的动作。在程序中,对微分指令的使用次数无限制。这里所谓的“触发信号”,指的是DF或DF/前面指令的运算结果,而不是单纯的某个触点的状态。6、置位、复位指令:SET、RSTSET置位保持触点接通,为ON。RST复位保持触点断开,为OFF。例3-6梯形图0X04X1Y0SETY0RST地址指令数据0STX01SETY04STX15RSTY0指令表时序图X0X1Y0例题说明:当X0接通时,使Y0接通,并一直保持;当X1接通时,将Y0断开,并一直保持。7、保持指令:KPKP保持使输出为ON,并保持。该指令有两个控制条件:是置位条件(S)、复位条件(R)。当满足置位条件,输出继电器(Y或R)保持接通,直至复位条件满足时断开。S端与R端相比,R端的优先权高。例3-7例题说明:梯形图0X0X1KPY0SR地址指令数据0STX01STX12KPY0指令表时序图X0X1Y0X0接通,Y0接通;X1接通,Y0断开(不论X0状态如何)注意事项:该指令与SET、RST有些类似,另外,SET、RST允许输出重复使用,而KP指令则不允许。8、空操作指令:NOPPLC执行NOP指令时,无任何操作,但是要消耗一定的时间。当没有输入程序或进行清理内存操作时,程序存储器各单元均自动为空操作指令。可用NOP作为查找时的特殊标记,人为插入若干个NOP指令,对程序进行分段,便于检查和修改。如程序中某一点插入的NOP指令的数量超出1个,编程系统会自动对其进行编号,因此,该指令常在调试程序时使用,此时,程序的大小有所增加,但是对运算结果没有影响。作业:1.简要写出扫描周期T的计算公式2.PLC中系统程序一般包括哪几部分?3.根据梯形图写指令表4.根据指令表分别画梯形图3.2基本功能指令1、定时器指令:TM、F137(STMR)TMR以0.01s为最小时间单位,设置延时接通的定时器。TMX以0.1s为最小时间单位,设置延时接通的定时器。TMY以1.0s为最小时间单位,设置延时接通的定时器。定时器的工作原理:定时器为减1计数。当程序进入运行状态后,输入触点接通瞬间定时器开始工作,直至EV中内容减为0时对应触点动作而当输入触点断开时,定时器复位,对应触点恢复原来状态,且EV清零,但SV不变未达到设定时间时断开其输入触点,则定时器停止计时,其过程值寄存器被清零,对应触点不动作,直至输入触点再接通,重新开始定时。TM定时器设定值,K1~K32767定时器序号,默认值0~99定时器类型,R、X、Y三种简单的说,当定时器的执行条件成立时,定时器以R、X、Y所规定的时间单位对预置值作减计数,预置值减为0时,定时器导通。其对应的常开触点闭合,常闭触点断开。例3-8梯形图0X0T1TMX1,K100Y04地址指令数据0STX01TMX1K1004STT15OTY0指令表时序图X0T1Y010s10s例题说明:当X0接通时,定时器开始定时,10秒后,定时时间到,定时器对应的常开触点T1接通,使输出继电器Y0导通为ON;当X0断开时,定时器复位,对应的常开触点T1断开,输出继电器Y0断开为OFF。注意事项:定时器的设定值和过程值会自动存入相同编号的专用寄存器SV和EV中。TM指令是减法计数型预置定时器定时时间=时间单位×预置值定时器线圈用来设置,触点则用于引用。因此,在同一个程序中,相同编号的定时器只能使用一次,即设置一次,而其触点可以被多次引用。在实际的PLC程序中,定时器使用非常灵活。在FP1-C24中,初始定义有100个定时器,编号为T0~T99,通过系统寄存器No.5可重新设置其个数。由于定时器在定时过程中需持续接通,所以在程序中定时器的控制信号后面不能串联微分指令。例3-9例题说明:指令表地址指令数据0STX01F137(STMR)K1000DT56STR900D7OTY0梯形图X0F137STMR,K1000,DT50Y06R900D该例与上例中使用TMX实现的定时结果类似,但是当用R900D作为定时器的触点编程时,务必将R900D编写在紧随F137(STMR)指令之后。此外,这里的DT5起到与经过值寄存器EV类似的作用。F137(STMR)以0.01s为最小时间单位设置延时接通的定时器。设置方式上有所区别。2、计数器指令:CT、F118(UDC)CT指令是一个减计数型的预置计数器工作原理为:程序一进入“运行”方式,计数器就自动进入初始状态,即SV的值被自动装入EV当计数器的计数输入端CP检测到一个脉冲上升沿时,预置值被减1,当预置值被减为0时,计数器接通,其相应的触点动作。计数器CT指令的梯形图符号如下图所示。CT计数器设定值,K0~K32767计数器序号,默认值100~143CPR当R端接收到脉冲下降沿时,将预置值数据再次从SV传送到EV中,计数器开始工作计数器的另一输入端为复位输入端R,当R端接收到一个脉冲上升沿时计数器复位,计数器不接通,相应触点复位。例3-10例题说明:地址指令数据0STX01STX12CT101K5005STC1016OTY0梯形图指令表0X0X15CT101CPRK500C101Y0程序开始运行时,计数器自动进入计数状态。当检测到X0的上升沿500次时,计数器对应的常开触点C101接通,使输出继电器Y0导通为ON;当X1接通时,计数器复位清零,对应的常开触点C101断开,输出继电器Y0断开为OFF。注意事项:FP1-C24中,共有44个计数器,编号为C100~C143。此编号可用系统寄存器No.5重新设置。设置时注意TM和CT的编号要前后错开。计数器与定时器有密切的关系,编号也是连续的。定时器本质上就是计数器。与定时器一样,每个计数器都有对应相同编号的16位专用寄存器SV和EV,存储预置值和过程值。同一程序中相同编号的计数器只能使用一次,而对应的常开和常闭触点可使用无数次。计数器有两个输入端,即计数