s7-200 smart表格指令按照使用流程可分为
建表(存储器填充fill)--->填表(增加至表格att)--->查询(表格查找tbl)--->先入先出(fifo) 或后入先出(lifo)
下图所示为表格指令图示:
lad
stl
指令名称
注释
fill,in,out,n
存储器填充
存储器填充指令使用地址in中存储的字值填充从地址out开始的n个连续字。
n的取值范围是1到255。
att data,tbl
填表
向表格(tbl)中加入字值(data)。
表格中个数值为大条目数tl,第二个数值为实际条目数ec。
fnd=tbl,ptn,indx
fnd<>tbl,ptn,indx
fnd>tbl,ptn,indx
fnd<tbl,ptn,indx
查表
在表格(tbl)中搜索与某些标准相符的数据。
lifo tbl,data
fifo tbl,data
后入先出
先入先出
将表格中的新(或后)一个条目移至输出内存地址。
注意:
一个表格多有100个数据条目(不包含大条目数和实际条目数)
所有的表格读取和写入指令都必须用上升沿或下降沿指令触发激活。
表格指令的应用
1.创建表格,表格包含20个条目,从存储器位置4开始。(在次扫描时,定义表格的大长度)
下图是创建的一个表格,其中vw0为表格大长度,vw2为当前条目数,vw4~vw42为存储在条目内的数据
2. 通过输入i0.0复位表格。在i0.0的上升沿,使用“+0”填充从vw2开始的存储单元。
使用该指令后,将表格当前条目数清零,同时将vw2~vw42原有条目数据清零。
3.通过输入i0.1将值写入表格。在i0.1的上升沿,将存储单元vw100的值复制到表格。
通过添加表格指令,将vw100中的数据添加到表格中,此时当前条目数变为1,同时个条目vw4中数据赋值为1。
通过填表指令,依次填满表格中的20个条目。
4.在i0.2的上升沿,将表中的后一个值移入vw102。
通过执行先入后出指令,将表内后一个数据条目vw42移入到vw102。移出后,当前条目数由20变为19。
5.在i0.3的上升沿,将表中的个值移入vw104。
在执行fifo先入先出指令之前vw2=19,将表内个数据条目vw4移入到vw104,此时条目前移,同时当前条目数vw2由19变为18,操作执行完以后,结果如下图所示:
6.在表中搜索值为10的个位置。在i0.4的上升沿,复原索引指针。查找等于10的表格条目。
通过查找指令,查找表格内数据为10的条目,执行该指令后,指向条目内第8个条目数据符合查找条件(数据条目搜索编号从0开始)。
例程所需条件:
1、软件版本:step 7-micro/win smart v2.3
2、smart cpu固件版本:v1.0及以上
3、通讯硬件:tp电缆(以太网电缆)
所实现的功能:
以下是上文提到的各表格指令的使用,具体说明参考程序注释
注意:本例程仅供参考,程序中的cpu版本、类型可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,