资源预览内容
第1页 / 共95页
第2页 / 共95页
第3页 / 共95页
第4页 / 共95页
第5页 / 共95页
第6页 / 共95页
第7页 / 共95页
第8页 / 共95页
第9页 / 共95页
第10页 / 共95页
亲,该文档总共95页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2.指令集n顺序输入指令n顺序输出指令n顺序控制指令n定时器和计数器指令n比较指令n数据传送指令n数据移位指令n递增/ 递减指令n四则运算指令n转换指令n逻辑指令n特殊算术指令n特殊算术指令n子程序指令n中断控制指令n步指令n任务控制指令n浮点数运算指令n双精度浮点数指令n表格数据处理指令n数据控制指令n基本l/O 单元指令n串行通信指令n网络指令n文件存储指令n显示指令n时钟指令n调试指令n故障诊断指令n文本字符串处理指令n块指令2.指令集2.1 指令格式、数据区域及其标志 指令格式: 助记符(功能代码) 操作数1 操作数2 操作数3 操作数4助记符:表示指令的功能,表明执行该指令能够实现的操作。 助记 符通常是一些简洁易记的字母或符号。功能代码(指令码): 功能代码是指令的代码,用2位十进制数表示。操作数:操作数指定或提供指令执行的数据。有些指令不带操作数,有 的指令带1个操作数,有的则带2个、3个或4个操作数。2.指令集数据区域及其标志 一般情况下,指令的操作数就是指令的数据区域,因此,IR区域、SR区 域、HR区域、AR区域、LR区域、TC区域及DM区域中的字可以是操作数的 字,字的位可以是操作数的位,简称操作数位。但是在指定的数据区域 内,并非所有的地址都允许用于操作数。 通常用继电器区域的缩写及字、位的地址作为指令的操作数,但I/O继 电器没有缩写符。为避免与常数混淆,当用常数作为指令的操作数时, 应在常数前面加上“#”号。有些指令执行后会影响标志位,有些指令执行后不影响标志位。 SR区域包括标志位和控制位,用来监视PLC操作,存取时钟脉冲及显示 错误信息。受指令执行影响的标志位如下表2.指令集缩 写名 称位 ER指令执行出错标志25503 CY进位标志25504 GR大于标志25505 EQ等于标志25506 LE小于标志25507 N负标志25402 OF上溢标志25404 UF下溢标志25405受指令执行影响的标志位(SR区标志位)2.指令集n2.2 梯形图指令n2.2.1 LD、LD NOT、AND、AND NOT、OR、OR NOT 指令梯形图符号助 记 符名 称指 令 功 能操作数区域LD装载常开触点与左侧母线相连接 的指令IR,SR,AR,HR, TC,LR,TRLD NOT装载非常闭触点与左侧母线相连接 的指令IR,SR,AR,HR, TC,LRAND与常开触点与其他编程元件串 连的指令IR,SR,AR,HR, TC,LRAND NOT与非常闭触点与其他编程元件串 连的指令IR,SR,AR,HR, TC,LROR或常开触点与其他编程元件并 连的指令IR,SR,AR,HR, TC,LROR NOT或非常闭触点与其他编程元件并 连的指令IR,SR,AR,HR, TC,LR2.指令集2.指令集2.2.2 逻辑块与(AND LD)和逻辑块或(OR LD) 指令对于复杂的控制系统,使用大量的编程元件,这些编程元件所在的行相并 联构成逻辑块,逻辑块之间还存在串联关系。 在这种情况下,不能简单地使用OR或者AND来处理,而需要使用AND LD和OR LD 指令才能将梯形图转化为助记符程序。其原因是OR和AND指令用于执行条件与一 位状态逻辑间接,而OR LD和AND LD指令能够逻辑地连接两个执行条件,即当前 执行条件与上一个还未使用的执行条件。2.指令集2.3 位(bit)控制指令 2.3.1 输出(OUT)指令和输出非(OUT NOT)指令梯形图符号助 记 符名 称指 令 功 能操作数区域OUT输出当执行条件为ON时,OUT 指令使指定位输出为ONIR,SR,AR,HR, TC,LR,TROUT NOT输出非当执行条件为OFF时,OUT 指令使指定位输出为ONIR,SR,AR,HR, TC,LR2.指令集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.指令集指 令处 理 OUT和OUT NOT指定位变为OFF SET和RESET位状态保持 TIM和TIMH复位 TTIMPV保持 CNT,CNTRPC保持 KEEP位状态保持 DIFU和DIFD不执行 其他指令不执行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.指令集n在增量时, PV 从SV 增加返回到0 时,完成标志变ON,一旦 完成标志变为ON, PV 从0 增加到1 时,完成标志又变回OFF。n在减量时,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,算术右移指令 ASR Wd 的内容左移一位。Wd 的内容向右移1 位。2.指令集2.9.4 循环左移指令 ROL, 循环右移指令 RORn循环左移指令:所有Wd 的位包括进位标志(CY) 向左移1 位。n循环右移指令:所有Wd 的位,包括进位标志(CY),向右移动1 位。2.指令集2.9.5 数(4bits)左移SLD,数(4bits)右移SRDnSLD(074) 把S 和E 之间的数据向左移一个数字(4 位)为单位移动。“0”被 放置到最右边的数字(S 的位3 位0),最左位数字(E 的位15 位12)内容 丢失。nSRD(075) 把St 和E 之间的数据向右移动一个数字(4 位),“0”被放到最 左的数字(E 的位15 12),并且最右的数字(St 的位3 0)内容丢失。2.指令集2.9.6字移位:WSFT(016)nWSFT(016) 指令以字为单位按St 到E 方向移动数据,源字S 的数据放在St中 , E 中的内容将丢失。2.指令集2.9.7异步移位寄存器指令:ASFT(017)2.指令集2.指令集2.10 数据传送指令 2.10.1 传送指令:MOV(021)n传送数据的一个字到指定字中。在下面例子中,当CIO 000000为ON时,CIO 0100 的内容被拷贝到D00100中。2.指令集2.10.2 取反传送指令:MVN(022)nMVN(022) 指令对S 中的位进行取反,并把结果传送到D 中。S 中的内容保持 不变。2.指令集2.10.3块设置:BSET(071)n把同一个字拷贝到一个连续字的范围中。2.指令集2.10.4块传送:XFER(070)n传送指定数目的连续字。XFER(070) 指令把从S 开始的N 个字(S S (N 1) 拷贝给从D 开始的N个字(D D (N1)。2.指令集2.10.5 数据交换:XCHG(073)交换两个指定字的内容。2.指令集2.10.6单字节数据分配指令:DIST(080)n把源字传送到由基地址加偏移量计算得出的目标字中。2.指令集2.10.7数据调用指令:COLL(081)n把源字(由基址加偏移量计算得出)传送到目标字中。2.指令集2.10.8位传送指令:MOVB(082)n传送指定位。2.指令集2.10.9传送数字指令:MOVD(083)n传送一个或多个指定的数字。(每个数字由4 位组成)。2.指令集2.指令集2.10.10 多位传送指令:XFRB(062)n传送指定数目的连续位。2.指令集2.指令集2.11 数据比较指令 2.11.1 多字比较指令:MCMP (019)n16 个连续字与另外16 个连续字相比较,并使结果字中相应于两字内容不相等 的位变ON。R 的每一位包含了在16 字设置中两个字比较的结果,R 中的位n(n 00 15)包含了字S1 n 和S2 n 的比较结果。2.指令集2.指令集2.11.2 比较:CMP(020)n比较两个无符号二进制值(常数和/ 或指定字的内容),并输出结果到辅助区 的算术标志中。2.指令集n当执行CMP(020) 指令,其结果反映在算术标志中。用与控制CMP(020) 指令 相同的输入条件分支来控制所希望的输出或右侧指令,如下图所示。在这种情 况下,当S1 S2,等于标志和输出A 将变ON。 不要在CMP(020) 指令和算术标志控制指令之间编写其它指令,因为其它指令 可能会改变算术标志的状态。在这种情况下,指令B 的结果可能会改变指令 CMP(020) 的结果。2.指令集2.11.3 双字比较指令:CMPL(060)n比较两个双字无符号二进制值(常数和/ 或指定字的内容),并输出结果到辅 助区的算术标志中。n2.11.4 块比较指令:BCMP (068)n比较源数据和16 个范围(由16 个下限和16 个上限定义),当源数据在范围 内时,结果字中的相应位变ON。2.指令集2.指令集2.12 数据转换指令 2.12.1 BCD 到二进制数:BIN(023)nBIN(023) 把S 中的BCD 码转换成二进制数,并把结果字写进R。nBCD 码到二进制数转换的例子2.指令集2.12.2双字BCD 码到双字二进制:BINL(058)n8 个数字的BCD 数到8 个数字的十六进制(32 位二进制)数的转换。n8 个数字的BCD 码转换到二进制数的例子。2.指令集2.12.3二进制数到BCD 码:BCD(024)n把S 中的二进制数转换成BCD 数,并把结果写进R。nBCD 码到二进制数转换的例子。2.指令集2.12.4 双字二进制数到双字BCD 码:BCDL(059)n把S 和S+1 中的8 个数字的十六进制(32 进制)数转换为8 个数字的BCD 码 ,并把结果写到R 和R+1。n在下例中当CIO 000000 为ON 时, CIO 0011 和CIO 0010 中的十六进制数 转换 成BCD 码,并存储在D00100 和D00101 中。2.指令集2.13 BCD码运算指令 2.13.1 不带进位的BCD 加:+B(404)n4 个数字(单字)有符号十六进制数和/ 或常数相除。n在下面例子中,当CIO 000000 置ON 时,D00100 和D00110 将作为4 个BCD 数字相加,并且结果送到D00120。2.指令集2.13.2不带进位的双字BCD 加:+BL(405)n8 个数字(单字) BCD 数据和/ 或常数相加。2.13.3带进位的BCD 加:+BC(406)n4 个数字(单字) BCD 码数据和/ 或常数及进位标志相加。2.指令集2.13.4带
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号