- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
***********表6-22 移位指令格式与功能梯形图功能字节、字、双字循环左移位字节、字、双字循环右移位当使能输入有效时,将输入的字节、字或双字IN数据循环左移N位后,将结果输出到OUT所指定的存储器单元中,并将最后一次移出位保存在SM1.1中。(1)循环左移位(ROL)指令*(2)循环右移位(ROR)指令当使能输入有效时,将输入的字节、字或双字IN数据循环右移N位后,将结果输出到OUT所指定的存储器单元中,并将最后一次移出位保存在SM1.1中。如果移动的位数N大于允许值(字节操作为8,字操作为16,双字操作为32),执行循环移位之前先对N进行取模操作。例如对于字移位,将N除以16后取余数,从而得到一个有效的移位次数。取模操作的结果对于字节操作是0~7,对于字操作是0~15,对于双字操作是0~31。如果取模操作的结果为0,不进行循环移位操作。*当I0.0输入有效时,将VB10左移4位送到VB10,将VB0循环右移3位送到VB0,如图6-34所示。(3)移位指令的应用图6-34移位与循环移位指令的应用*移位寄存器指令格式及功能如表6-23所示。3.移位寄存器指令(1)移位寄存器指令格式移位寄存器指令是一个移位长度可指定的移位指令。表6-23 移位寄存器指令格式及功能梯形图语句表功能SHRBI1.2,M2.0,8移位寄存器*梯形图中DATA为数据输入,指令执行时将该位的值移入移位寄存器。S-BIT为移位寄存器的最低位地址,字节型变量N指定移位寄存器的长度和移位方向,正向移位时N为正,反向移位时N为负。SHRB指令移出的位被传送到溢出位(SM1.1)。N为正时,在使能输入EN的上升沿时,寄存器中的各位由低位向高位移一位,DATA输入的二进制数从最低位移入,最高位被移到溢出位。N为负时,从最高位移入,最低位移出。DATA和S-BIT为BOOL变量。移位寄存器指令的应用如图6-35所示。(2)移位寄存器指令的应用*图6-35移位寄存器指令的应用*当按下起动按钮I0.1,8只彩灯从Q0.0开始每隔1?s依次向左循环点亮,直至按下停止按钮I0.2后熄灭。根据控制要求设计的梯形图如图6-36所示,8只彩灯为Q0.0~Q0.7。4.数据移位指令的应用●8只彩灯依次向左循环点亮控制图6-368只彩灯依次向左循环点亮梯形图*译码、编码、段码指令格式见表6-24所示。6.5.4译码、编码、段码指令表6-24译码、编码、段码指令格式梯形图语句表功能DECOIN,OUTENCOIN,OUTSEGIN,OUT译码编码段译码1.译码指令当使能输入有效时,根据输入字节的低4位表示的位号,将输出字相应位置1,其他位置0。*设AC0中存有的数据为16#08,则执行译码(DECO)指令将使MW0中的第8位数据位置1,而其他数据位置0,对应的梯形图程序如图6-37所示。图6-37译码指令的应用2.编码指令编码(Encode,ENCO)指令将输入字的最低有效位(其值为1)的位数写入输出字节的最低位。设AC1中的错误信息为2#0000001000000000(第9位为1),编码指令“ENCOAC2,VB40”将错误信息转换为VB40中的错误代码9。编码指令的应用如图6-38所示。*3.段译码指令段(Segment)译码指令SEG根据输入字节的低4位确定的十六进制数(16#0~16#F)产生点亮7段显示器各段的代码,并送到输出字节。图6-38编码指令的应用*图6-39段译码指令的应用图6-39中7段显示器的D0~D6段分别对应于输出字节的最低位(第0位)~第6位,某段应亮时输出字节中对应的位为1,反之为0。若显示数字“1”时,仅D1和D2为1,其余位为0,输出值为6,或二进制数2#00000110。*6.5.5数据表功能指令存储数据,从第3个字节地址开始存放数据,一个表最多能存储100个数据。表功能指令用来建立和存取字类型的数据表。数据表由3部分组成:表地址,由表的首地址指明;表定义,由表地址和第2个字地址所对应的单元分别存放的两个表参数来定义最大填表数和实际填表数;表功能指令如表6-25所示。*表6-25 表功能指令指令描述ATT DATA,TABLE填表FIND= TBL,PATRN,INDX查表FIND
文档评论(0)