7第七章 数据处理,运算指令及应用3

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章数据处理、运算指令及应用7.1数据处理指令7.1.1数据传送指令1.字节、字、双字、实数单个数据传送指令MOV2.字节、字、双字、实数数据块传送指令BLKMOV7.1.2字节交换、字节立即读写指令1.字节交换指令2.字节立即读写指令7.1.3移位指令及应用举例移位指令分为左、右移位和循环左、右移位及寄存器移位指令三大类。前两类移位指令按移位数据的长度又分字节型、字型、双字型3种。1.左、右移位指令2.循环左、右移位指令3.移位寄存器指令(SHRB)7.1.4转换指令转换指令是对操作数的类型进行转换,并输出到指定目标地址中去。转换指令包括数据的类型转换、数据的编码和译码指令以及字符串类型转换指令。不同功能的指令对操作数要求不同。类型转换指令可将固定的一个数据用到不同类型要求的指令中,包括字节与字整数之间的转换,整数与双整数的转换,双字整数与实数之间的转换,BCD码与整数之间的转换等。转换指令1.字节与字整数之间的转换2.字整数与双字整数之间的转换3.双整数与实数之间的转换4.BCD码与整数的转换7.译码和编码指令6.七段显示译码指令7.ASCII码与十六进制数之间的转换指令7.1.5天塔之光的模拟控制实训1.实训目的2.控制要求3.I/O分配4.程序设计7.输入、调试程序并运行程序6.思考题如果控制要求改为L12→L11→L10→L8→L1→L2、L3、L4、L5→L6、L7、L8、L9,循环如何修改程序。输入程序,调试观察现象。7.2算术运算、逻辑运算指令7.2.1算术运算指令1.整数与双整数加减法指令2.整数乘除法指令3.实数加减乘除指令4.数学函数变换指令7.2.2逻辑运算指令逻辑运算是对无符号数按位进行与、或、异或和取反等操作。操作数的长度有B、W、DW。指令格式如表5-18所示1.逻辑与(WAND)指令:将输入IN1,IN2按位相与,得到的逻辑运算结果,放入OUT指定的存储单元。2.逻辑或(WOR)指令:将输入IN1,IN2按位相或,得到的逻辑运算结果,放入OUT指定的存储单元。3.逻辑异或(WXOR)指令:将输入IN1,IN2按位相异或,得到的逻辑运算结果,放入OUT指定的存储单元。4.取反(INV)指令:将输入IN按位取反,将结果放入OUT指定的存储单元。7.2.3递增、递减指令递增、递减指令用于对输入无符号数字节、符号数字、符号数双字进行加1或减1的操作。指令格式如表5-19所示。1.递增字节(INC-B)/递减字节(DEC-B)指令递增字节和递减字节指令在输入字节(IN)上加1或减1,并将结果置入OUT指定的变量中。递增和递减字节运算不带符号。2.递增字(INC-W)/递减字(DEC-W)指令递增字和递减字指令在输入字(IN)上加1或减1,并将结果置入OUT。递增和递减字运算带符号(16#7FFF16#8000)。3.递增双字(INC-DW)/递减双字(DEC-DW)指令递增双字和递减双字指令在输入双字(IN)上加1或减1,并将结果置入OUT。递增和递减双字运算带符号(16#7FFFFFFF16#80000000)。7.2.4运算单位转换实训1.实训目的2.实训内容将英寸转换成厘米,已知C10的当前值为英寸的计数值,1英寸=2.54厘米。3.写入程序、编译并下载到PLC4.建立状态表,通过强制,调试运行程序。7.3表功能指令数据表是用来存放字型数据的表格,如图5-23所示。表格的第一个字地址即首地址,为表地址,首地址中的数值是表格的最大长度(TL),即最大填表数。表格的第二个字地址中的数值是表的实际长度(EC),指定表格中的实际填表数。每次向表格中增加新数据后,EC加1。从第三个字地址开始,存放数据(字)。表格最多可存放100个数据(字),不包括指定最大填表数(TL)和实际填表数(EC)的参数。7.3.1填表指令表填表(ATT)指令:向表格(TBL)中增加一个字(DATA)。如图5-25所示链接文件夹第五章\029.doc。(1)DATA为数据输入端,其操作数为:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,常量,*VD,*LD,*AC;(2)TBL为表格的首地址,其操作数为:VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,,*LD*AC;数据类型为:字。ATTDATA,TBL(3)指令执行后,新填入的数据放在表格中最后一个数据的后面,EC的值自动加1。(4)使ENO=0的错误条件:0006(间接地址),0091(操作数超出范围),SM1.4(表溢出),SM4.3(运行时间)。(5)填表指令影响特殊标志位:SM1.4(填入表的数据超出表的最大长度,SM1.4=1)。7.3.2表取数指令从数据表中取数有先进先出(FIFO)和后进先出(LIFO)两种。执行表取数指令后,实际填表数EC值自动减1。先进先出指令(FIFO):移出表格(TBL)中的第一个数(数据0),并将该数值移至DATA指定存储单元,表格中的其他数据依次向上移动一个位置。后进先出指令(LIFO):将表格(TBL)中的最后一个数据移至输出端DATA指定的存储单元,表格中的其他数据位置不变。表取数指令格式如表5-20所示。7.3.3表查找指令表格查找(TBL-FIND)指令在表格(TBL)中搜索符合条件的数据在表中的位置(用数据编号表示,编号范围为0~99)。其指令格式如图5-28所示。(1)梯形图中各输入端的介绍TBL:为表格的实际填表数对应的地址(第二个字地址),即高于对应的“增加至表格”、“后入先出”或“先入先出”指令TBL操作数的一个字地址(两个字节)。TBL操作数:VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*LD,*AC。数据类型:字。PTN:是用来描述查表条件时进行比较的数据。PTN操作数:VW,IW,QW,MW,SW,SMW,AIW,LW,T,C,AC,常量,*VD,*LD,*AC。数据类型:整数。INDX:搜索指针,即从INDX所指的数据编号开始查找,并将搜索到的符合条件的数据的编号放入INDX所指定的存储器。INDX操作数:VW,IW,QW,MW,SW,SMW,LW,T,C,AC,*VD,*LD,*AC。数据类型:字。CMD:比较运算符,其操作数为常量1~4,分别代表=、、,。数据类型:字节。(2)功能说明表格查找”指令搜索表格时,从INDX指定的数据编号开始,寻找与数据PTN的关系满足CMD比较条件的数据。参数如果找到符合条件的数据,则INDX的值为该数据的编号。要查找下一个符合条件的数据,再次使用“表格查找”指令之前须将INDX加1。如果没有找到符合条件的数据,INDX的数值等于实际填表数EC。一个表格最多可有100数据,数据编号范围:0~99。将INDX的值设为0,则从表格的顶端开始搜索。(3)使ENO=0的错误条件SM4.3(运行时间),0006(间接地址),0091(操作数超出范围)。7.3.4字填充指令字填充(FILL)指令用输入IN存储器中的字值写入输出OUT开始N个连续的字存储单元中。N的数据范围:1~255。其指令格式如图5-30所示。指令格式说明(1)IN为字型数据输入端,操作数为:VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,常量,*VD,*LD,*AC;数据类型为:整数。N的操作数为:VB,IB,QB,MB,SB,SMB,LB,AC,常量,*VD,*LD,*AC;数据类型:字节。OUT的操作数为:VW,IW,QW,MW,SW,SMW,LW,T,C,AQW,*VD,*LD,*AC;数据类型:整数。(2)使ENO=0的错误条件:SM4.3(运行时间),0006(间接地址),0091(操作数超出范围)

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功