[西门子] S7-200 SMART 填表与先进后出(LIFO)

[复制链接]
查看214 | 回复0 | 2024-4-24 08:58:30 | 显示全部楼层 |阅读模式
S7-200 SMART填表与先进后出(LIFO)
本文使用软件:STEP7 Micro/WIN SMART V2.7
硬件:CPU-SR20            
注:程序仅供参考!!!         
一、整数填表与先进后出:
1、指令介绍(AD_T_TBL填表指令和LIFO先进后出指令):
●AD_T_TBL填表指令:

EN(BOOL):必须使用沿指令触发将数据写入表格;
DATA(INT):数据源,EN端触发后将DATA中的数据存储到表格中;
TBL(WORD):连续的N个字;第一个字定义表格长度;第二个字数据存储计数(每存一个数加1,使用FIFO指令取出数据时,每次减1),第三个字开始数据存储地址,连续的N个字。
一个表格最多可存100个数据,如果表格溢出,SM1.4 将设置为 1。
说明:要创建表格,首先定义表格长度。必须使用沿触发指令激活所有表格读取指令和表格写入指令。
举例:将VW100中的数据存入表格,VW200表格的长度,VW202累计存储计数,VW204第一个数据地址。。。   

●LIFO指令(后进先出):

EN(BOOL):使能端;TBL(WORD):表格地址;DATA(INT):数据地址;
说明:后进先出指令将表中的最新或最后一个数据移动到输出存储器地址。
具体操作是移走指定表格 (TBL) 中最新或最后一个数据并将该值移动到 DATA 指定的地址。表格中的所有其它数据不移动位置。每次执行 LIFO 指令时,表中的存储计数值减 1。
举例:将VW208中的数据移动至VW300中   

2、调用、下载测试:(AD_T_TBL填表指令和LIFO先进先出指令配合使用)


调用指令1


调用指令2   


下载测试1

下载测试2
二、实数实现填表与先进后出:(新建子程序、定义变量、编写程序、下载测试)
1、新建子程序,定义变量表   

定义变量表
2、编写程序:   
地址转换

存入数据累计、启用循环   

存储、取出数据

改变地址、结束循环   

取出数据、数据存满
完整程序:

3、调用、下载测试:
调用程序1

调用程序2

下载测试1


下载测试2




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则