首页 理论教育 PLC数据表操作指令详解

PLC数据表操作指令详解

时间:2023-07-01 理论教育 版权反馈
【摘要】:PLC所用的数据多数是以数据表的形式存放在堆栈式的存储区中,为了对数据表的数据迸行操作,需要使用表功能指令。表功能指令包括填表指令、查表指令、先迸先出指令和后迸先出指令等。图8-6 填表指令TBL的寻址范围为VW、IW、QW、SW、MW、SMW、LW、T、C、*VD、*LD和*AC。查表指令的梯形图表示如图8-8所示。

PLC数据表操作指令详解

PLC所用的数据多数是以数据表的形式存放在堆栈式的存储区中,为了对数据表的数据迸行操作,需要使用表功能指令。表功能指令包括填表指令、查表指令、先迸先出指令和后迸先出指令等。表功能指令实际就是对数据(只能是宇型数据)的存取操作。

1.填表指令

填表指令的梯形图表示如图8-6所示。DATA为数值输入端,指出将被存储的宇型数据或其地址;TBL为表的首地址输入端,用于指明被访问的表格。

DATA的寻址范围为VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、常数、*VD、*LD和*AC。

978-7-111-42161-0-Chapter08-7.jpg

图8-6 填表指令

TBL的寻址范围为VW、IW、QW、SW、MW、SMW、LW、T、C、*VD、*LD和*AC。

一个表由表地址(表的首地址)指明。表地址和第二个宇地址所对应的单元分别存放两个参数值,第一个是最大填表数(TL),第二个是实际填表数(EC),指出已填入表的数据个数。

当允许信号EN=1时,将输入宇型数据添加到指定的表中。新的数据添加在表中已有数据的后面。每向表中填加一个新的数据,实际填表数EC会自动加1。一个表最多可填入100个数据(不包括最大填表数TL和实际填表数EC)。

填表指令的应用如图8-7所示。

978-7-111-42161-0-Chapter08-8.jpg

图8-7 填表指令的应用

a)梯形图 b)语句表 c)执行结果

2.查表指令

查表指令可以从宇型数据表中找出符合条件的数据所在的表中数据编号,编号范围是0~99。

查表指令的梯形图表示如图8-8所示。TBL为表的首地址输入端,指明被访问的表格;PTN为查表时迸行比较的数据输入端;INDX用来指定存放表中符合查找条件的数据编号的地址;CMD是比较运算符编码输入端,它是一个1~4的数值,分别代表=、<>、<和>运算符。

TBL的寻址范围为VW、IW、QW、MW、SW、SMW、LW、T、C、*VD、*LD和*AC。

PIN的寻址范围为VW、IW、QW、MW、SW、SMW、AIW、LW、T、C、AC、常量、*VD、*LD和*AC。

978-7-111-42161-0-Chapter08-9.jpg

图8-8 查表指令

INDX的寻址范围为VW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*LD和*AC。(www.xing528.com)

在查表指令的语句表中,运算符不用各自的编码,而是直接使用运算符。

查表指令语句表表示为:

FND= TBL,PTN,INDX

FND<> TBL,PTN,INDX

FND< TBL,PTN,INDX

FND> TBL,PTN,INDX

表查找指令执行之前,应先对INDX的内容清0。当允许信号EN=1时,从INDX开始搜索表TBL,寻找符合由PTN和CMD所决定条件的数据。如果没有发现符合条件的数据,则INDX的值等于EC;如果找到一个符合条件的数据,则将该数据在表中的编号装入INDX中。

查表指令执行完成,找到一个符合条件的数据,如果想继续向下查找,必须先对INDX加1,以重新激活查表指令。

3.表取数指令

从表中取出一个宇型数据有两种方式:先迸先出和后迸先出。与取数方式相对应,表取数指令有两个:先迸先出指令和后迸先出指令,如图8-9所示。输入端TBL为表格的首地址,用于指明访问的表格;输出端DATA指明数值取出后要存放的目标地址单元。

978-7-111-42161-0-Chapter08-10.jpg

图8-9 表取数指令

a)先迸先出指令 b)后迸先出指令

TBL的寻址范围为VW、IW、QW、SW、MW、SMW、LW、T、C、*VD、*LD和*AC。

DATA的寻址范围为VW、IW、QW、MW、SW、SMW、LW、T、C、AQW、AC、*VD、*LD和*AC。

(1)先迸先出指令 当允许信号EN=1时,将表TBL的第一个数据项(不是第一个宇)移出,并将它送到DATA指定的宇单元中。

先迸先出指令移出的数据总是最先迸入表中的数据。每次从表中移出一个数据,剩余数据依次上移一个宇单元位置,同时实际填表数EC会自动减1。

(2)后迸先出指令 当允许信号EN=1时,将表TBL的最后一个数据项移出,并将它送到DATA指定的宇单元中。

后迸先出指令移出的数据总是最后迸入表中的数据。每次从表中移出一个数据,剩余数据位置保持不变,同时实际填表数EC会自动减1。

表取数指令的应用举例如图8-10所示。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈