PLC表格指令说明

电子说

1.3w人已加入

描述

 

表格指令包括填表指令、查表指令、先进先出提令、后进先出指令和存储区填充指令。

填表指令

1.指令说明
填表指令说明如表6-45所示。
表6-45 填表指令说明

指令

2.指令使用举例
填表指令的使用如图6-26 所示,在PLC上电运行时,SM0.1触点接通一个扫描周期,MOV_W指令执行,将“6”送入VW200单元中(用来定义表的最大格数);当I0.0触点闭合时,上升沿P触点接通一个扫描周期,ATT(AD_T_TBL)指令执行,由于VW200单元中的数据为6,ATT指令则将VW200~VW214共8个单元定义为表。其中,第3~8共6个单元(VW204~VW214)定义为表的填表区,第1单元(VW200)为填表区最大格数,第2单元(VW202)为填表区实际使用格数,如果先前表的第2单元VW202中的数据为0002,指令认为填表区的两个单元V204、V206已填入数据,会将VW100中的数据填入后续单元VW208中,同时VW202单元数据自动加1,变为0003。如果I0.0触点第二次闭合时VW100中的数据仍为1234,则ATT指令第二次执行后,1234则被填入VW210单元,VW202中的数据会自动变为0004。

指令

图6-26 填表指令的使用
当表的第2单元的数值(实际使用格数)等于第1单元的数值(表最大格数)时,如果再执行ATT指令,表出现溢出,会使SM1.4=1。

 查表指令

1.指令说明
查表指令说明如表6-46所示。
表6-46 查表指令说明

指令

2.指令使用举例
查表指令的使用如图6-27所示,当I0.0触点闭合时,执行FND指令,从VW202为首地址单元的表中查找数据等于3130(由CMD和PTN设定的条件)的单元,再将查找到的满足条件的单元编号存入AC1中。

指令

图6-27 查表指令的使用
如果要从表的0单元开始查表,在执行FND指令查表前,应用有关指令将AC1置0;执行FND指令后,AC1中存放的为第1个满足条件的单元编号。如果需要查表的剩余单元,在再次执行FND指令前,须将AC1的值加1,当查到表的最后单元没有找到符合条件的单元时,AC1的值变为EC值(实际填表数)。
FND指令的TBL端指定单元存放的是实实际使用填表数,而ATT指令的TBL端指定单元存放的是最大填表数,因此,如果要用FND指令查ATT指令建立的表,FND指令的TBL端指定单元应较ATT指令高2字节。

先进先出和后进先出指令

1.指令说明

先进先出和后进先出指令说明如表6-47所示。

表6-47 先进先出和后进先出指令说明

指令

2.指令使用举例

先进先出指令的使用如图6-28所示,当I0.0触点闭合时,执行FIFO指令,将VW200为首地址的表中第一个数据移到VW400单元,如果FIFO执行前表中第一个数据为5431,则FIFO指令执行后,5431被移到VW400中;表中第二个及后续数据(8942、1234)会依次上移一个单元,同时表的实际填表数(VW202单元中的数)会减1,由0003变为0002。

指令

图6-28 先进先出指令的使用

后进先出指令的使用如图6-29所示,当I0.1触点闭合时,执行LIFO指令,将VW200为首地址的表中最后一个数据移到VW300单元,如果LIFO执行前表中最后一个数据为1234,则LIFO指令执行后,1234被移到VW300中,表的实际填表数(VW202单元中的数)会减1,由0003变为0002。

如果试图从空表中移走数据,会使SM1.5=1。

指令

图6-29 后进先出指令的使用

存储区填充指令

1.指令说明

存储区填充指令说明如表6-48所示。

表6-48 存储区填充指令说明

指令

2.指令使用举例

存储区填充指令的使用如图6-30所示,当I0.1触点闭合时,FILL指令执行,将IN端指定的数据0填充到VW200为首地址(OUT端指定)的10个(N端指定)连续字单元中,结果VW200、VW202~VW218共10个单元中的数据全部为0。

指令

图6-30 存储区填充指令的使用

  
      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分