PLC-2 第一章第3节 指令系统第4节AD和DA习题.ppt

返回 相似 举报
PLC-2 第一章第3节 指令系统第4节AD和DA习题.ppt_第1页
第1页 / 共95页
PLC-2 第一章第3节 指令系统第4节AD和DA习题.ppt_第2页
第2页 / 共95页
PLC-2 第一章第3节 指令系统第4节AD和DA习题.ppt_第3页
第3页 / 共95页
PLC-2 第一章第3节 指令系统第4节AD和DA习题.ppt_第4页
第4页 / 共95页
PLC-2 第一章第3节 指令系统第4节AD和DA习题.ppt_第5页
第5页 / 共95页
点击查看更多>>
资源描述:
基本指令包括基本顺序指令、基本功能指令、程序流程控制指令及步进指令。1、基本顺序指令1)存取指令(输入/输出指令),①ST,STX0,说明以常开点开始一个程序行。常开点可以是各种节点。,第3节FP1可编程控制器指令系统分为基本指令和高级指令两大类。一、基本指令及其应用,②ST/,③OT,ST/X0,OTY0,说明以常闭点开始一个程序行。常闭点可以是各种节点。,说明将运算结果输出。输出点可以是Y、R类型节点。,2)逻辑运算指令,①AN,STX0ANX1,说明常开点逻辑“与”运算。常开点可以是各种节点。,②AN/,STX0AN/X1,说明常闭点逻辑“与”运算。常闭点可以是各种节点。,OR,STX0ORX1,说明常开点逻辑“或”运算。常开点可以是各种节点。,OR/,STX0OR/X1,说明常闭点逻辑“或”运算。常闭点可以是各种节点。,ANS,ORS,STX0ORX1STX2ORX3ANS,STX0ANX2STX1ANX3ORS,说明程序行逻辑“与”运算。,说明程序行逻辑“或”运算。,3)堆栈操作指令共有三条指令,PSHS、RDS及POPS。,STX0PSHSANX1OTY0RDSANX2OTY1POPSAN/X3OTY2,说明PSHS为压栈指令;RDS为读栈指令;POPS为出栈指令。,4)微分指令上升沿微分DF,下降沿微分DF/。,STX0DFOTY0,说明DF在触发信号上升沿输出一个宽度为一个扫描周期的脉冲;DF/在触发信号下降沿输出一个宽度一个扫描周期的脉冲;,STX1DF/OTY1,X0,Y0,X1,Y1,5)置位、复位与保持指令①置位与复位指令SET、RST,STX0SETY0STX1RSTR0,说明SET指令用于将某位置1,RST指令用于将某位置0。可以用SET和RST指令操作的元件应是输出元件,即Y和R。,②保持指令KP,STX0STX1KPR0,等效梯形图,说明该指令为RS触发器。可以用KP指令操作的元件同SET及RST。,6)空操作、结束指令空操作指令NOP,结束指令END。,STX0NOPANX1OTY0ED,说明NOP只占内存,不执行任何操作。ED为主程序结束指令,其后面可以编写子程序。,2、基本功能指令1)定时器指令TMR(时基为0.01STMX(时基为0.1STMY(时基为1S,STX0TMX0K10,动作过程控制点闭合后,定时器开始定时,定时时间到,则定时器的触点状态翻转。无论何时,只要控制点断开,则定时器复位。,定时器的使用,2)计数器指令CT,STX0STX1CT100K10,动作过程输入端每输入一个脉冲,计数器计数值减1(脉冲上升沿),当计数值减为0时,计数器的触点状态翻转。无论何时,只要复位端闭合,则计数器复位。,CP端为计数输入端,R端为复位端。,计数器的使用,3、基本顺序及功能指令应用1)瞬时接通,延时断开,STX0ORY0AN/T0OTY0STY0AN/X0TMX0K30ED,2)延时接通,延时断开,3)振荡器,,4)脉宽可调单脉冲,,,5)定时器,X0为启动控制,X1为复位。,6)一般闪光报警系统,X0为报警信号X1为确认按钮X2为试灯按钮,4、程序流程控制指令1)跳转指令JP、跳转标记指令LBL,2)循环指令LOOP、循环标记指令LBL,LBLnSTX0LOOPnDT0,说明条件成立时,循环次数DT寄存器减1,若结果不为0,则跳转至LOOPn所指编号相同的LBL处,重复执行,直至结果为0。其中,n0~63。,3)子程序指令CALL、SUB、RET,STX0CALLnEDSUBnRET,说明SUBn在ED后,SUBn以RET结尾。n0~15,最多嵌套5层。,4)中断指令ICTL、INT、IRETFP1-C24的中断分为外部中断和定时中断。外部中断共8个中断源,X0~X7,对应的中断号为INT0~INT7。INT0的优先级最高,INT7的优先级最低。要求中断信号的持续时间大于0.2ms。中断是否使用由系统寄存器No.403的低8位指定,Bit0~Bit7对应INT0~INT7。对应位置1时,启用该中断。,定时中断定时中断的入口地址为INT24ICTL用于设置中断控制指令为[ICTL,S1,S2]S1规定要设置的中断类型S2为相应的操作数如S1H00时,为设置外部中断,则S2的低8位用于设置X0--X7中断源是否有效。(1有效)如S1H100时,为设置外部中断保持/清除,则S2的低8位用于设置X0--X7中断源是保持还是清除(1保持,0清除),如S1H02时,为设置定时中断,则S2为定时中断时间常数(时基为10ms)。当定时中断时间常数为0时,则为停止定时中断。INT和IRET为中断子程序入口和返回入口为INT0--INT7,和INT24返回均为IRETINT与IRET应成对使用。中断子程序可调用子程序,但不能使用定时器。,5、步进控制指令步进控制指令共有5条SSTP进入步进程序程序起点NSTP脉冲方式执行步进过程NSTL扫描方式执行步进过程CSTP复位指定步进过程STPE步进结束,1)顺序控制,,,2)选择分支过程控制,过程序列为过程10过程11或12过程20,梯形图程序,3)并行分支合并过程控制,,,,,过程0,,过程10,过程20,,A段,C段,E段,X6,X1,X5,Y0ON,Y1ON,Y2ON,,,,,,过程30,X2,Y5ON,过程11,过程21,,B段,D段,X3,Y3ON,Y4ON,,,,X0,3S后Y5ON,,,过程序列过程0过程10、11、20、21过程30,梯形图程序,,,,,,,[R0],,这里并行程序执行序列为过程10201121,(CSTP11),,,,,,(NSTP30),,,,,X3,,,,R0,,,,,TXK300,,,,R9010,,,[Y5],,,,,,R1,,,,R2,,,,,,R1,6、比较指令,,,,,S1,S2,,,,,比较数据2寄存器或常数,比较数据1寄存器或常数,比较运算符、、、D、D、D、D,助记符ST、AN、OR),例,梯形图,程序的功能为根据DT2中的数据范围,或DT1,DT0中的内容,来决定R0的输出状态。设DT2中数据用x表示,DT1,DT0中数据用y表示,则当16≤x≤32,或者y≥64时,R0导通,输出为ON;否则,R0断开,输出为OFF。从该例可以看出,比较指令实际上相当于一个条件触点,根据条件是否满足,决定触点的通断。,1、高级指令概述1)高级指令分类数据传送指令16位、32位数据,以及位数据的传送、拷贝、交换等功能。算术运算指令二进制数和BCD码的加、减、乘、除等算术运算。数据比较指令16位或32位数据的比较。逻辑运算指令16位数据的与、或、异或和同或运算。,二、高级指令,数据转换指令16位或32位数据按指定的格式进行转换。数据移位指令16位数据进行左移、右移、循环移位和数据块移位等。位操作指令16位数据以位为单位,进行置位、复位、求反、测试以及位状态统计等操作。特殊功能指令包括时间单位的变换、I/O刷新、进位标志的置位和复位、串口通信及高速计数器指令等等。,2)高级指令的构成高级指令由大写字母“F”、指令功能号、助记符和操作数组成,指令的格式如下。,操作数可以是一个、二个或者三个,取决于所用的指令,可以是单字、双字数据,若为位操作指令,还可以是位数据。,2、数据传送指令1)F0(MV)、F1(DMV)F2(MV/)、F3(DMV/)[F0MVS,D]将一个16位的常数或寄存器中的数据传送到另一个寄存器中去,S→D。[F1DMVS,D]将一个32位的常数或寄存器区中的数据传送到另一个寄存器区中去,,S1,S→D1,D。,[F2MV/S,D]将一个16位的常数或寄存器中的数据取反后传送到另一个寄存器中去。[F3DMV/S,D]将一个32位的常数或寄存器区中的数据取反后传送到另一个寄存器区中去。,例,该程序的功能是当控制触点X0闭合时,每个扫描周期都要重复将十进制数100传送到内部字寄存器DT0中。F0MV指令对源操作数没有要求,而目的操作数不能是输入继电器WX和常数K、H。,2)F10(BKMV)区块传输指令格式[F10BKMVS1,S2,D]说明即将指定的以S1为起始地址、S2为终止地址的数据块拷贝到以D为起始地址的目的区中。要求S1和S2应为同一类型的寄存器,且S2≥S1。3)F11(COPY)块拷贝指令格式[F11COPYS,D1,D2]说明即将由S指定的16-bit常数或寄存器中的值重复拷贝到以D1为起始地址、D2为终止地址的目的区中。要求D1和D2应为同一类型的寄存器,且D2≥D1。,3、算术运算指令1)二进制BIN运算指令①加法运算F20格式[F20,S,D]说明DS→DF21D格式[F21D,S,D]说明D1,DS1,S→D1,D,F22格式[F22,S1,S2,D]说明S1S2→DF23D格式[F23D,S1,S2,D]说明S11,S1S21,S2→D1,D②减法运算F25-格式[F25-,S,D]说明D-S→D,F26D-格式[F26D-,S,D]说明D1,D-S1,S→D1,DF27-格式[F27-,S1,S2,D]说明S1-S2→DF28D-格式[F28D-,S1,S2,D]说明S11,S1-S21,S2→D1,D,③乘法运算F30*格式[F30*,S1,S2,D]说明S1*S2→D1,DF31D*格式[F31D*,S1,S2,D]说明S11,S1*S21,S2→D3,D2,D1,D,④除法运算F32格式[F32,S1,S2,D]说明S1/S2→D..DT9015整数部分存D中,余数部分存DT9015中F33D格式[F33D,S1,S2,D]说明S11,S1/S21,S2→D1,D..DT9016,DT9015余数部分存DT9016,DT9015中,举例用算术运算指令完成下面运算[5600–1230654*2002]/256要求X1闭合时运算,X0闭合时各单元清零。,,,,,,,,,X0,F22,K1230,K654,DT0,,,,,,,,,,F30*,DT0,K2002,DT2,,,F28D-,K5600,DT2,DT4,,,F11COPY,K0,DT0,DT7,,,F33D,DT4,K256,DT6,,,,,,,,X1,,DF,,ED,,,1,1,,,,,,,,,X0,,2)BCD运算指令各指令与BIN指令对应,用法相同。因是BCD运算,故运算符前加B。①加法F40(B)、F41(DB)、F42(B)、F43(DB)用法分别与F20、F21、F22、F23类似。②减法F45(B-)、F46(DB-)、F47(B-)、F48(DB-)用法分别与F25、F26、F27、F28类似。,③乘法F50(B*)、F51(DB*)、用法分别与F30、F31类似。④除法F52(B)、F53(DB)用法分别与F32、F32类似。,4、数据比较指令数据比较指令包括16位或32位数据比较指令、一个16位或32位数据与数据区间进行比较、数据块比较等5条指令。比较的结果用特殊内部继电器R9009进位标志、R900A(标志、R900B(标志和R900C(标志的状态来表示。即满足相应条件时,其对应标志位置位。,1)16位和32位数据比较指令F60(CMP)、F61(DCMP)[F60CMP,S1,S2]16位数据比较指令。[F61DCMP,S1,S2]32位数据比较指令。该类指令的功能为当控制触点闭合时,将S1指定数据与S2指定数据进行比较,比较的结果反映到标志位中。,16位数据比较指令F60CMP对标志位影响,2)16位和32位数据区间比较指令F62WIN、F63DWIN[F62WIN,S1,S2,S3]16位数据区段比较指令。[F63DWIN,S1,S2,S3]32位数据区段比较指令。该类指令的功能为当控制触点闭合时,将S1指定数据与S2指定下限、S3指定上限的数据区间中的数据比较,比较的结果反映到标志位中。,16位数据区间比较指令F62WIN对标志位影响,OFF,OFF,ON,S1>S3,OFF,ON,OFF,S2≤S1≤S3,ON,OFF,OFF,S1<S2,<标志,=标志,>标志,R900C,R900B,R900A,标志位结果,,,,,,,,,,,,,,3)数据块比较指令F64BCMP[F64BCMP,S1,S2,S3]数据块比较指令。该指令功能为当控制触点闭合时,根据S1指定的比较参数,包括数据块的起点和长度,比较由S2指定首地址的数据块和由S3指定首地址的数据块中的内容,当两个数据块完全相同时,特殊内部继电器R900B接通。,S1指定的比较参数的定义见下图。,5、逻辑运算指令1)F65WAN格式[F65WANS1,S2,D]功能16位数据“与”运算。2)F66WOR格式[F66WORS1,S2,D]功能16位数据“或”运算。3)F67XOR格式[F67XORS1,S2,D]功能16位数据“异或”运算。4)F68XNR格式[F68XNRS1,S2,D]功能16位数据“异或非”运算。,6、数据转换指令数据转换指令包含各种数制、码制之间的相互转换,有二进制、十六进制及BCD码数据同ASCII码之间的相互转换,二进制数据与BCD码间的相互转换,指令较多。此外还有二进制数据的求反、求补、取绝对值;符号位的扩展等操作以及解码、编码、译码、数据分离、数据组合、数据查表等操作。通过这些指令,在程序中可以较好地解决PLC输入、输出的数据类型与内部运算数据类型不一致的问题。,1)码制变换指令F71F83①F71F78是8条三操作数的码制变换指令,分别实现16进制数据、BCD码、16位二进制数据、32位二进制数据与ASCII码间的互换。以F71(HEXA)16进制数转换为ASCII码指令为例说明其格式[F71HEXAS1,S2,D]S1要转换数据区域的首地址;S2转换的字节数;D转换后数据存储区域的首地址。,②F80F83是4条双操作数的码制变换指令,分别实现16位和32位二进制数据与BCD码数据间的互换。F80(BCD)、F82(DBCD)(二进制至BCD转换)[F80BCD,S,D][F82DBCD,S,D]F81(BIN)、F83(DBIN)(BCD至二进制转换)[F81BIN,S,D][F83DBIN,S,D],2)16位数据-七段显示码指令F91[F91SEGT,S,D]将S中的16位二进制数分为4个4位的二进制数,并译为七段显示码,结果存入从D开始的寄存器单元中。3)字符-ASCII码转换指令F95[F95ASC,S,D]将S中指定的字符常数转换为ASCII码,结果存入从D开始的寄存器单元中。,7、数据移位指令FP1高级指令系统中包含了位、字以及字段的左/右移位指令,共有16位数据的左/右移位、4位BCD码的左/右移位,字数据的左/右移位、16位数据的左/右循环移位等12条指令。其中位移位指令有进位标志位参与运算,并分为非循环移位指令普通移位和循环移位指令两种。各种通用寄存器都可以参与多种移位操作,其操作结果影响内部特殊继电器R9009进位标志或特殊数据寄存器DT9014。,1)16位数据的左/右移位指令普通(非循环)移位F100(SHR)、F101(SHL)格式[F100SHR,D,n][F101SHL,D,n]说明,控制条件成立后,每个扫描周期D中数据移动n位。,循环移位F120(ROR)、F121(ROL)格式[F120ROR,D,n][F121ROL,D,n]说明,带进位循环移位F122RCR、F123RCL格式[F122RCR,D,n][F123RCL,D,n]说明,2)十六进制数的左/右移位指令格式[F105BSR,D][F106BSL,D]说明,控制条件成立后,每个扫描周期D中数据移动4位。,3)数据区按字左/右移位指令格式[F110WSHR,D1,D2]说明由D1为首地址,D2为末地址定义的16位寄存器数据区,整体右移一个字,相当于二进制的16-bit。执行后,首地址寄存器的原数据丢失,末地址寄存器为0。,格式[F111WSHL,D1,D2]说明由D1为首地址,D2为末地址定义的16位寄存器数据区,整体左移一个字,相当于二进制的16-bit。执行后,首地址寄存器为0,末地址寄存器的原数据丢失,8、位操作指令位操作就是指被操作的对象不是字,而是字中的某一位或几位。FP1系列PLC具有较强的位操作能力,可以进行16位数据的位置位置1、位复位清0、位求反以及位测试,还可计算16位或32位数据中,位值为“1”的位数。位操作指令共有6条,可分为位处理指令和位计算指令两类。,1)位处理指令[F130BTS,D,n]位置1指令。[F131BTR,D,n]位清0指令。[F132BTI,D,n]位求反指令。[F133BTT,D,n]位测试指令。前3条指令的功能是对位进行运算处理,分别对D寄存器中、位地址为n的数据位进行置位置1、复位清0、求反。其中,由于n用来表示16位数据的位地址,因此取值范围为K0~K15。,第4条指令用于测试16位数据D中任意位n的状态为“0”还是为“1”。测试的结果存储在内部继电器R900B中,如果测试结果为0,则R900B1;测试结果为1,R900B0。,2)位计算指令位计算指令就是计算寄存器的数据或常数中有多少位是“1”。[F135BCU,S,D]16位位计算指令。[F136DBCU,S,D]32位位计算指令。F135BCU和F136DBCU的功能是分别统计S指定的16位和32位数据中位值为“1”的位的个数,并把统计的结果存储于D指定的存储区中。,9、特殊指令1)时间变换指令格式[F138HMSSS,D][F139SHMSS,D]功能F138将以时/分/秒格式表示的时间数据,变换成以秒为单位的时间数据。即将S1,S中存放的时/分/秒数据转换为秒数据,结果存放于寄存器D1,D中。在这里,S和D中的数据均用BCD码表示。表示形式如下图所示。F139将以秒为单位的时间数据,变换成以时/分/秒格式表示的时间数据。,F138数据表示形式,源操作数,S1,S,时数据,H0000H9999,分数据,H0H59,秒数据,H0H59,H,数据范围,BCD,D1,D,秒数据,H00000000H99999999,H,目的操作数,2)进位位CY的置位和复位指令F140STC、F141CLC格式[F140STC]、[F141CLC]功能F140STC和F141CLC指令是FP1高级指令中仅有的两条无操作数的指令,其功能是将特殊内部继电器R9009进位标志位置位和复位,即将R9009置为1或者清0。,3)刷新部分I/O指令F143IORF格式[F143IORFD1,D2]功能刷新指定的部分I/O点。D1为首地址,D2为末地址。F143指令只要触发信号接通,即使在执行程序阶段,也能立即将寄存器D1至D2所指定的输入WX或输出WY的内容刷新,避免由扫描时间造成的延时。该指令要求D1和D2为同一类型的操作数WX或WY,且D2≥D1。,第4节A/D、D/A模块一、A/D转换模块,1.占用通道及编程方法A/D转换单元4个模拟输入通道占用输入端子分别为CH0WX9X90~X9FCH1WX10X100~X10FCH2WX11X110~X11FCH3WX12X120~X12FPLC每个扫描周期对各通道采样一次,并进行模数转换,转换的结果分别存放在输入通道WX9~WX12中。,输入范围为0~5VDC,0~10VDC,0~20mADC可选则,转换结果为K0~K1000。A/D转换的编程可用指令F0实现,如[F0MV,WX9,DT0]执行这一指令后,CH0输入的模拟信号经A/D转换变成数字信号后送入WX9,并由F0指令读出保存到DT0中。其它通道也可仿照此格式进行编程。注意FP1对A/D模块读取数据,每个扫描周期只进行一次。,2.A/D转换单元的面板布置及接线方法,,,,,,扩展槽右侧,,,,电源端子,通道3,电压范围选择端子,通道0,通道1,通道2,扩展槽左侧,,,,电源指示灯,电压范围选择端短接时,输入范围为0~10V。,3.应用举例对某信号进行监测,并要求超限报警。这时可将该信号输入到A/D,并用段比较指令将输入信号与上、下限进行比较。程序如图所示。,1.占用通道及编程方法FP1可扩展两个D/A模块,可用开关设定其单元号,即No.0和No.1;每个D/A模块有两个输出通道,即CH0和CH1。当开关置于左边时,该模块设为No.0,其I/O通道分配如下CH0WY9Y90~Y9FCH1WY10Y100~Y10F当开关置于右边时,该模块设为No.1,其I/O通道分配如下CH0WY11Y110~Y11FCH1WY12Y120~Y12F,二、D/A转换模块,内部数据为K0~K1000,对应的输出信号范围为0~5VDC,0~10VDC,0~20mADC可选则。D/A转换的编程也可用指令F0实现。如[F0MV,DT0,WY9]执行这一指令后,将DT0的内容经WY9送往D/A转换器,并将转换好的模拟信号经No.0的CH0通道输出。其它通道也可仿照此格式进行编程。注意FP1对D/A模块写入数据,每个扫描周期只进行一次。转换数据范围为k0k1000。,2.D/A转换单元的面板布置及接线方法,,,,扩展槽右侧,,,,电源端子,通道0,通道1,扩展槽左侧,,,,电源指示灯,,单元号选择开关,电压范围选择端RANGE与V-短接时,输出范围为0~10V,3.应用举例三个模拟量信号分别从A/D模块的CH0~CH2输入,求平均值,再由D/A模块No.1的CH1通道输出。,,,,,X0,F22,WX9,WX10,DT0,,,,,,,,,,F20,WX11,DT0,,,F32,DT0,K3,WY12,,,,DF,,ED,,,1,1,,,,,,,习题部分1、房间灯控制,有1、2、3号三个灯(使用输出Y1、Y2、Y3控制),使用者用单个按钮控制(使用X0输入)。控制要求按一下按钮,三个灯全亮;再按一下,1、3号灯亮,2号灯灭;再按一下,2号灯亮,1、3号灯灭;再按一下,灯全灭。,2、易拉罐自动生产线计数,易拉罐自动生产线上需要统计每小时生产的易拉罐数量。计数装置通过光电开关检测易拉罐,每当一听经过时,就会产生一个脉冲。该脉冲信号经PLC计数,以实现数量统计。X0启动计数(带锁按钮)X1停止计数(带锁按纽)X2计数脉冲(光电传感器开关)DT0DT23用于存放一天24小时每小时生产的罐数。SV作为普通寄存器使用,IX为索引寄存器。,梯形图程序,3、商店自动门控制,8-18点,检测到有人要进、或出门时,开门。2秒钟检测不到有人进出时,关门。18-19点,检测到有人要出门时,开门。2秒钟检测不到有人出门时,关门。X0-门外检测;X1-门内检测;X2-关门限位;X3-开门限位;Y0-开门控制;Y1-关门控制。DT9053特殊寄存器内存放着系统时钟的小时和分钟部分。,商店自动门控制梯形图程序,续1,续2,续3,
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420