首页 欧姆龙PLC指令集讲义

欧姆龙PLC指令集讲义

举报
开通vip

欧姆龙PLC指令集讲义2.指令集顺序输入指令顺序输出指令顺序控制指令定时器和计数器指令比较指令数据传送指令数据移位指令递增/递减指令四则运算指令转换指令逻辑指令特殊算术指令特殊算术指令子程序指令中断控制指令步指令任务控制指令浮点数运算指令双精度浮点数指令表格数据处理指令数据控制指令基本l/O单元指令串行通信指令网络指令文件存储指令显示指令时钟指令调试指令故障诊断指令文本字符串处理指令块指令2.指令集2.1指令格式、数据区域及其标志指令格式:助记符(功能代码)操作数1操作数2操作数3操作数4助记符:表示指令的功能,表明执行该指令能够实现的...

欧姆龙PLC指令集讲义
2.指令集顺序输入指令顺序输出指令顺序控制指令定时器和计数器指令比较指令数据传送指令数据移位指令递增/递减指令四则运算指令转换指令逻辑指令特殊算术指令特殊算术指令子程序指令中断控制指令步指令任务控制指令浮点数运算指令双精度浮点数指令 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 格数据处理指令数据控制指令基本l/O单元指令串行通信指令网络指令文件存储指令显示指令时钟指令调试指令故障诊断指令文本字符串处理指令块指令2.指令集2.1指令 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 、数据区域及其标志指令格式:助记符(功能代码)操作数1操作数2操作数3操作数4助记符:表示指令的功能,表明执行该指令能够实现的操作。助记符通常是一些简洁易记的字母或符号。功能代码(指令码):功能代码是指令的代码,用2位十进制数表示。操作数:操作数指定或提供指令执行的数据。有些指令不带操作数,有的指令带1个操作数,有的则带2个、3个或4个操作数。2.指令集数据区域及其标志一般情况下,指令的操作数就是指令的数据区域,因此,IR区域、SR区域、HR区域、AR区域、LR区域、TC区域及DM区域中的字可以是操作数的字,字的位可以是操作数的位,简称操作数位。但是在指定的数据区域内,并非所有的地址都允许用于操作数。通常用继电器区域的缩写及字、位的地址作为指令的操作数,但I/O继电器没有缩写符。为避免与常数混淆,当用常数作为指令的操作数时,应在常数前面加上“#”号。有些指令执行后会影响标志位,有些指令执行后不影响标志位。SR区域包括标志位和控制位,用来监视PLC操作,存取时钟脉冲及显示错误信息。受指令执行影响的标志位如下表2.指令集25405下溢标志UF25404上溢标志OF25402负标志N25507小于标志LE25506等于标志EQ25505大于标志GR25504进位标志CY25503指令执行出错标志ER位名称缩写受指令执行影响的标志位(SR区标志位)2.指令集2.2梯形图指令2.2.1LD、LDNOT、AND、ANDNOT、OR、ORNOT指令IR,SR,AR,HR,TC,LR常闭触点与其他编程元件并连的指令或非ORNOTIR,SR,AR,HR,TC,LR常开触点与其他编程元件并连的指令或ORIR,SR,AR,HR,TC,LR常闭触点与其他编程元件串连的指令与非ANDNOTIR,SR,AR,HR,TC,LR常开触点与其他编程元件串连的指令与ANDIR,SR,AR,HR,TC,LR常闭触点与左侧母线相连接的指令装载非LDNOTIR,SR,AR,HR,TC,LR,TR常开触点与左侧母线相连接的指令装载LD操作数区域指令功能名称助记符梯形图符号2.指令集2.指令集2.2.2逻辑块与(ANDLD)和逻辑块或(ORLD)指令对于复杂的控制系统,使用大量的编程元件,这些编程元件所在的行相并联构成逻辑块,逻辑块之间还存在串联关系。在这种情况下,不能简单地使用OR或者AND来处理,而需要使用ANDLD和ORLD指令才能将梯形图转化为助记符程序。其原因是OR和AND指令用于执行条件与一位状态逻辑间接,而ORLD和ANDLD指令能够逻辑地连接两个执行条件,即当前执行条件与上一个还未使用的执行条件。2.指令集2.3位(bit)控制指令2.3.1输出(OUT)指令和输出非(OUTNOT)指令IR,SR,AR,HR,TC,LR当执行条件为OFF时,OUT指令使指定位输出为ON输出非OUTNOTIR,SR,AR,HR,TC,LR,TR当执行条件为ON时,OUT指令使指定位输出为ON输出OUT操作数区域指令功能名称助记符梯形图符号2.指令集2.3.2上升沿微分指令和下降沿微分指令DIFU和DIFD2.指令集2.指令集2.3.3置位和复位指令SET和RESET2.指令集2.3.3置位和复位指令SET和RESET2.指令集2.3.4保持指令KEEP2.指令集2.指令集应用KEEP指令的梯形图2.指令集2.4联锁和联锁解除指令IL和ILC2.指令集2.指令集不执行DIFU和DIFD位状态保持KEEPPC保持CNT,CNTRPV保持TTIM不执行其他指令复位TIM和TIMH位状态保持SET和RESET指定位变为OFFOUT和OUTNOT处理指令IL和ILC之间的程序处理表2.指令集2.5跳转和跳转终了指令JMP和JME2.指令集2.6结束指令END2.7空操作指令NOP此指令无任何功能。(NOP(000)不做任何操作)2.指令集2.8定时器和计数器指令2.8.1定时器指令TIM,以0.1s为单位2.指令集2.指令集2.8.2高速定时器指令TIMH计量单位为0.01s,使用方法和TIM指令相同。如果扫描周期大于10ms,必须使用TC000-TC015编号才能保持计时准确。2.指令集2.8.3累加定时器指令TTIM2.指令集2.8.4计数器指令CNT复位输入有优先权,如果复位输入和计数输入同时ON,计数器会复位。(PV会复位到SV,完成标志也会变OFF)。2.指令集即使电源中断,计数器PV仍然保持,如果希望从SV开始计数,而不是从保持的PV恢复计数,增加第一次循环标志(A20011)作为计数器的复位输入。2.指令集2.8.5可逆计数器指令CNTR2.指令集在增量时,PV从SV增加返回到0时,完成标志变ON,一旦完成标志变为ON,PV从0增加到1时,完成标志又变回OFF。在减量时,PV从0减小到SV时,完成标志变ON,PV从SV减小到SV-1时,完成标志又变回OFF。2.指令集2.指令集2.9数据移位指令2.9.1移位寄存器指令SFT当移位输入的执行条件由OFF变为ON时,St~E的所有数据左移一位(从最右边到最左边),并且把数据输入的ON/OFF状态放在最右边位。2.指令集2.9.2可逆移位寄存器指令SFTR产生一个可向右也可向左移动数据的移位寄存器。2.指令集2.9.3算术左移指令ASL,算术右移指令ASRWd的内容左移一位。Wd的内容向右移1位。2.指令集2.9.4循环左移指令ROL,循环右移指令ROR循环左移指令:所有Wd的位包括进位标志(CY)向左移1位。循环右移指令:所有Wd的位,包括进位标志(CY),向右移动1位。2.指令集2.9.5数(4bits)左移SLD,数(4bits)右移SRDSLD(074)把S和E之间的数据向左移一个数字(4位)为单位移动。“0”被放置到最右边的数字(S的位3~位0),最左位数字(E的位15~位12)内容丢失。SRD(075)把St和E之间的数据向右移动一个数字(4位),“0”被放到最左的数字(E的位15~12),并且最右的数字(St的位3~0)内容丢失。2.指令集2.9.6字移位:WSFT(016)WSFT(016)指令以字为单位按St到E方向移动数据,源字S的数据放在St中,E中的内容将丢失。2.指令集2.9.7异步移位寄存器指令:ASFT(017)2.指令集2.指令集2.10数据传送指令2.10.1传送指令:MOV(021)传送数据的一个字到指定字中。在下面例子中,当CIO000000为ON时,CIO0100的内容被拷贝到D00100中。2.指令集2.10.2取反传送指令:MVN(022)MVN(022)指令对S中的位进行取反,并把结果传送到D中。S中的内容保持不变。2.指令集2.10.3块设置:BSET(071)把同一个字拷贝到一个连续字的范围中。2.指令集2.10.4块传送:XFER(070)传送指定数目的连续字。XFER(070)指令把从S开始的N个字(S~S+(N–1))拷贝给从D开始的N个字(D~D+(N–1))。2.指令集2.10.5数据交换:XCHG(073)交换两个指定字的内容。2.指令集2.10.6单字节数据分配指令:DIST(080)把源字传送到由基地址加偏移量计算得出的目标字中。2.指令集2.10.7数据调用指令:COLL(081)把源字(由基址加偏移量计算得出)传送到目标字中。2.指令集2.10.8位传送指令:MOVB(082)传送指定位。2.指令集2.10.9传送数字指令:MOVD(083)传送一个或多个指定的数字。(每个数字由4位组成)。2.指令集2.指令集2.10.10多位传送指令:XFRB(062)传送指定数目的连续位。2.指令集2.指令集2.11数据比较指令2.11.1多字比较指令:MCMP(019)16个连续字与另外16个连续字相比较,并使结果字中相应于两字内容不相等的位变ON。R的每一位包含了在16字设置中两个字比较的结果,R中的位n(n=00~15)包含了字S1+n和S2+n的比较结果。2.指令集2.指令集2.11.2比较:CMP(020)比较两个无符号二进制值(常数和/或指定字的内容),并输出结果到辅助区的算术标志中。2.指令集当执行CMP(020)指令,其结果反映在算术标志中。用与控制CMP(020)指令相同的输入条件分支来控制所希望的输出或右侧指令,如下图所示。在这种情况下,当S1=S2,等于标志和输出A将变ON。不要在CMP(020)指令和算术标志控制指令之间编写其它指令,因为其它指令可能会改变算术标志的状态。在这种情况下,指令B的结果可能会改变指令CMP(020)的结果。2.指令集2.11.3双字比较指令:CMPL(060)比较两个双字无符号二进制值(常数和/或指定字的内容),并输出结果到辅助区的算术标志中。2.11.4块比较指令:BCMP(068)比较源数据和16个范围(由16个下限和16个上限定义),当源数据在范围内时,结果字中的相应位变ON。2.指令集2.指令集2.12数据转换指令2.12.1BCD到二进制数:BIN(023)BIN(023)把S中的BCD码转换成二进制数,并把结果字写进R。BCD码到二进制数转换的例子2.指令集2.12.2双字BCD码到双字二进制:BINL(058)8个数字的BCD数到8个数字的十六进制(32位二进制)数的转换。8个数字的BCD码转换到二进制数的例子。2.指令集2.12.3二进制数到BCD码:BCD(024)把S中的二进制数转换成BCD数,并把结果写进R。BCD码到二进制数转换的例子。2.指令集2.12.4双字二进制数到双字BCD码:BCDL(059)把S和S+1中的8个数字的十六进制(32进制)数转换为8个数字的BCD码,并把结果写到R和R+1。在下例中当CIO000000为ON时,CIO0011和CIO0010中的十六进制数转换成BCD码,并存储在D00100和D00101中。2.指令集2.13BCD码运算指令2.13.1不带进位的BCD加:+B(404)4个数字(单字)有符号十六进制数和/或常数相除。在下面例子中,当CIO000000置ON时,D00100和D00110将作为4个BCD数字相加,并且结果送到D00120。2.指令集2.13.2不带进位的双字BCD加:+BL(405)8个数字(单字)BCD数据和/或常数相加。2.13.3带进位的BCD加:+BC(406)4个数字(单字)BCD码数据和/或常数及进位标志相加。2.指令集2.13.4带进位的双字BCD加:+BCL(407)8个数字(双字)BCD数据和/或常数及进位标志(CY)相加。2.13.5不带进位的BCD减:-B(414)4位(单字)BCD和/或常数相减。2.指令集2.13.6不带进位的双字BCD减:-BL(415)8位(双字)BCD数和/或常数相减。2.13.7带进位的BCD减:-BC(416)4位(单字)BCD数与/或常数及进位标志(CY)相减。2.指令集2.13.8带进位的双字BCD减:-BCL(417)8个数字(双字)BCD数据和/或常数及进位标志(CY)相减。2.13.9BCD乘法:*B(424)4个数字(单字)BCD数据和/或常数相乘。把Md和Mr中的BCD内容相乘,并把结果输出给R。2.指令集2.13.11BCD除:/B(434)4个数字(单字)BCD码和/或常数相除。将Dd的BCD内容除以Dr的内容,并输出商到R,余数到R+1。2.13.10双字BCD乘:*BL(425)8个数字(双字)BCD数据和/或常数相乘。把Md和Md+1与Mr和Mr+1中的BCD数相乘,并把结果送给R,R+1,R+2和R+3。2.指令集2.13.12双字BCD除:/BL(435)8个数字(双字)BCD码和/或常数相除。把Dd和Dd+1中的BCD码除以Dr和Dr+1中的数,并把商输出给R和R+1,余数输出给R+2和R+3。2.指令集2.14二进制运算指令2.14.1不带进位的有符号二进制加:+(400)4个数字(单字)十六进制数据和/或常数相加。2.14.2不带进位的有符号双字二进制加:+L(401)8个数字(双字)十六进制数据和/或常数相加。把Au和Au+1,Ad和Ad+1中的二进制值相加,并且把结果送给R。2.指令集2.14.3带进位的有符号二进制加:+C(402)4个数字(单字)十六进制数据和/或常数相加。把Au,Ad和CY中的二进制数相加,并且把结果送给R。2.14.4带进位的有符号双字二进制加:+CL(403)把Au和Au+1,Ad和Ad+1及CY中的二进制数相加,并且把结果送给R。2.指令集2.14.5不带进位的有符号二进制减:-(410)4个数字(单字)十六进制数据和/或常数相减。从Mi中减去Su中的二进制数,并且把结果送给R。结果为负时,将2的补码送给R。2.14.6不带进位的有符号双字二进制减:-L(411)8个数字(双字)十六进制数据和/或常数相减,把Mi和Mi+1中减去Su和Su+1中的二进制数并且把结果送给R,R+1。当结果为负数时,结果作为2的补码送给R和R+1。2.指令集2.14.7带进位的有符号二进制减:-C(412)4个数字(单字)十六进制数据和/或常数及进位标志(CY)相减。从Mi中减去Su中的二进制数和CY,并且把结果送给R。结果为负时,将2的补码送给R。2.14.8带进位的有符号双字二进制减:-CL(413)8个数字(双字)十六进制数据和/或常数相减及进位标志(CY)。把Mi和Mi+1中减去Su和Su+1中的二进制数及CY,并且把结果送给R,R+1。当结果为负数时,结果作为2的补码送给R和R+1。2.指令集2.14.9有符号二进制乘:*(420)4位有符号十六进制数和/或常数的乘法。把Md和Mr中有符号二进制数相乘,并把结果输出给R,R+1。2.14.10有符号双字二进制乘:*L(421)8个数字有符号十六进制数和/或常数的相乘。把Md和Md+1与Mr和Mr+1中的符号二进制数相乘,并把结果输出到R,R+1,R+2和R+3。2.指令集2.14.11无符号二进制乘:*U(422)4个数字无符号十六进制数和/或常数的相乘。把Md和Mr中的二进制数相乘并把结果输出到R,R+1。2.14.12无符号双字二进制乘:*UL(423)把8个数字无符号十六进制数和/或常数相乘。把Md和Md+1与Mr和Mr+1种的无符号二进制数相乘并把结果送给R,R+1,R+2和R+3。2.指令集2.14.13有符号二进制除:/(430)4个数字(单字)有符号十六进制数和/或常数相除。把Dd中的有符号二进制数(16位)除以Dr中的数,并把结果输出到R,R+1。商放在R中,余数放在R+1中。2.14.14有符号双字二进制除:/L(431)8个数字(双字)有符号十六进制数和/或常数相除。把Dd和Dd+1中的有符号二进制数除以Dr和Dr+1中的数,并把结果输出到R,R+1,R+2和R+3,商输出给R和R+1,余数输出给R+2和R+3。2.指令集2.14.15无符号二进制除:/U(432)4个数字(单字)无符号十六进制数和/或常数相除。把Dd中无符号二进制数除以Dr中的数,并把商送到R,余数送到R+1。2.14.16无符号双字二进制除:/UL(433)8个数字(双字)无符号十六进制和/或常数相除。把Dd和Dd+1中的无符号二进制数除以Dr和Dr+1中的数,并把商送到R,R+1,余数送到R+2和R+3。2.指令集2.15逻辑指令2.15.1求反指令COM(29)把Wd中所有置ON的位置为OFF,所有置OFF的位置为ON。在下例中,当CIO000000为ON,则D00100的每个位的状态将取反。2.指令集2.15.2逻辑与:ANDW(034)将一个字的数据和/或常数相应位进行逻辑与。2.15.3逻辑或:ORW(035)将一个字的数据和/或常数的相应位进行逻辑或。2.指令集2.15.4异或指令:XORW(036)将一个字的数据和/或常数相应位进行逻辑异或。当I1和I2的相应位的内容不同时,1将输出到R的相应位,当相同时,0将输出到R中的相应位。(作为比较器用)2.15.5异或非指令:XNRW(037)将一个字的数据和/或常数的相应位进行逻辑异或非。当I1和I2的相应位的内容不同时,0将输出到R的相应位,当它们同时,1将输出到R的相应位。2.指令集2.16子程序指令2.16.1子程序调用:SBS(091)调用指定编号的子程序并执行该程序。2.16.2子程序入口:SBN(092)用指定子程序编号来指示子程序的开始。与RET(093)一起使用,定义一个子程序的范围。2.16.3子程序返回:RET(093)表示一个子程序的结束。与SBN(092)一起使用定义一个子程序区2.指令集2.指令集2.16.4子程序可被嵌套到16层。嵌套是在一个子程序内有另一个子程序被调用,如下图所示,子程序被嵌套到2层。2.指令集2.16.5宏指令:MCRO(099)调用指定子程序号的子程序,并用S~S+3中的输入参数和D~D+3中的输出参数执行程序。宏指令允许单个子程序来取代数个子程序,这数个子程序需具有相同的结构,但操作数不同.当指令执行条件为ON时,该指令将S~S+3的内容复制到A600~A603(宏区输入),并执行指定子程序。当子程序执行完成时,A604~A607(宏区输出)被复制到D~D+3,且程序将继续执行MCRO(099)后的下一个指令。2.指令集2.指令集2.17中断控制指令2.指令集2.17.1中断屏蔽指令:MSKS(690)当PC进入运行(RUN)方式时,I/O中断任务和定时中断任务均被屏蔽(禁止)。MSKS(690)可用于对I/O中断屏蔽或取消屏蔽和为定时中断设定时间间隔。2.指令集2.17.2读中断屏蔽:MSKR(692)读取MSKS(690)中设定的当前中断处理设置。2.指令集2.指令集2.17.3清除中断指令:CLI(691)清除或保持I/O中断的中断输入记录,或者设定定时中断的首次定时中断的时间。2.指令集2.17.4禁止中断:DI(693)禁止除电源OFF中断以外的中断任务执行。2.指令集2.17.5允许中断:EI(694)使DI(693)禁止的所有中断任务允许执行。2.指令集2.18步指令用于在一个大型程序的程序段之间设立断点,这样这些程序段可以按单元执行,并在完成后复位。2.18.1步定义和步开始指令:STEP(008)/SNXT(009)SNXT(009)放在STEP(008)指令之前,并由置指定控制位为ON来控制步程序的执行。如果就在SNXT(009)前存在另一个步,它也能将该处理的控制位置OFF。STEP(008)置于每个过程之前并紧随SNXT(009)指令之后,它定义了每个过程的开始,并为其制定控制位。STEP(008)也可放在最后一个SNXT(009)之后的步程序区结尾,以表示步程序区结束,STEP(008)出现在步程序结尾处时,不带控制位。在定义一个步程序的开始,定义控制位如下:在定义步的结尾时不指定控制位。2.指令集2.指令集2.指令集顺序控制2.指令集分支控制2.指令集并行控制
本文档为【欧姆龙PLC指令集讲义】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
老张师傅
20余年电工实际工作经验,目前在国企担任电工工程师
格式:ppt
大小:3MB
软件:PowerPoint
页数:95
分类:
上传时间:2023-03-26
浏览量:3