【跟着我一起来学习s7-200】33表指令.docVIP

  • 4
  • 0
  • 约1.02千字
  • 约 3页
  • 2017-06-08 发布于重庆
  • 举报
【跟着我一起来学习s7-200】33表指令

【跟着我一起来学习s7-200】33表指令 2015-05-13?技成培训   除了通信指令外,前面我们已经基本把所有指令讲完了,就只剩下表指令了,那么今天我们就学习最后一部分指令,表指令。我们的表指令有后进先出LIFO指令、先进先出FIFO指令、填表指令AD_T_TBL、存储区填充指令FILL_N和查表指令TBL_FIND。 那么什么是表呢,表它其实就是一段存储区域。一个表最多只能有100条数据,每个数据都是16位的。如果表溢出了,SM1.4会被置为1。我们要注意的是一个表中,首地址表示的是这个表的最大数据条数,第二个地址表示的是当前数据条数,从第三个地址往下,才是实际数据。 我们要注意的是要建立表格,首先要为表的最大条目数建立一个条目。如果没有这样做,那么是无法在表格中建立任何条目的。 下面我们先看一下后进先出LIFO指令的使用。 所以,LIFO指令是将表格中的最后一个条目移至输出内存地址,每次执行指令时,表格中的条目数减1。 下面我们再看一下先进先出FIFO指令的使用。 所以,FIFO指令是将表格中的第一个条目移至输出内存地址,表格中的所有其他条目均向上移动一个位置。每次执行指令时,表格中的条目数减1。 下面我们再看一下填表指令AD_T_TBL的使用。 所以,填表指令AD_T_TBL指令是向表格(TBL)中加入字值(DATA),新数据被增加至表格中的最后一个条目,每次向表格中增加新数据后,条目计数加1。我们要注意的是表格最多只可以有100个条目,不包括指定最大条目数和实际条目数这两个条目。如果过度填充表格的话,SM1.4会被置为1。 下面我们再看一下存储区填充指令FILL_N的使用。FILL指令是把包含在地址IN中的数据写入到从地址OUT开始N个连续字地址中。要注意的是数据类型是为字的,且N的范围是1至255。 那么以上的程序其实就是把VW0、VW2、VW4……VW20清零。 下面我们再看一下查表指令TBL_FIND的使用。TBL_FIND指令是在表格(TBL)中搜索符合一定规则的数据。从INDX开始搜索表,寻找符合PTN和CMD的数据。CMD被指定一个1至4的数值,分别代表 、 、 、 。如果找到符合条件的数据,那么INDX指向表格中该数的位置。 以上程序就是当I0.0接通时,在表格中搜索等于3130的十六进制数。 那么今天主要就学习了这个表指令。对于表指令也是比较少会用到,我们有个了解就可以了。

文档评论(0)

1亿VIP精品文档

相关文档