『7x24小时有问必答』
本帖最后由 采集赛道5 于 2025-9-19 19:36 编辑

S7-200 SMART填表与先进先出
本文使用软件:STEP7 Micro/WIN SMART V2.7
硬件:CPU-SR20           <o:p> </o:p>
注:程序仅供参考!!!        <o:p> </o:p>
一、整数填表与先进先出:
1、指令介绍(AD_T_TBL填表指令和FIFO先进先出指令):
AD_T_TBL填表指令:
EN(BOOL):必须使用沿指令触发将数据写入表格;
DATA(INT):数据源,EN端触发后将DATA中的数据存储到表格中;
TBL(WORD):连续的N个字;第一个字定义表格长度;第二个字数据存储计数(每存一个数加1,使用FIFO指令取出数据时,每次减1),第三个字开始数据存储地址,连续的N个字。
一个表格最多可存100个数据,如果表格溢出,SM1.4 将设置为 1。
说明:要创建表格,首先定义表格长度。必须使用沿触发指令激活所有表格读取指令和表格写入指令。
举例:将VW100中的数据存入表格,VW200表格的长度,VW202累计存储计数,VW204第一个数据地址。。。    <o:page></o:page>
FIFO指令(先进先出):
EN(BOOL):使能端;TBL(WORD):表格地址;DATA(INT):数据地址;
说明:先进先出指令将表中第一个数据移动到输出存储器地址。
具体操作是移走指定表格 (TBL) 中的第一个数据并将该值移动到 DATA 指定的地址。表格中的所有其它数据向上移动一个位置。每次执行 FIFO 指令时,表中的存储计数值减 1。
举例:将VW204中的数据移动至VW400中    <o:page></o:page>
2、调用、下载测试:(AD_T_TBL填表和FIFO先进先出指令配合使用
下载测试1
下载测试2    <o:page></o:page>
下载测试3
下载测试4
3、操作演示:
   
      
二、实数实现填表与先进先出:
新建子程序、定义变量、编写程序、下载测试
1、新建子程序,定义变量表:    <o:page></o:page>
定义变量表
2、编写程序:<o:page></o:page>
地址转换
存入、取出数据累计
启用循环    <o:page></o:page>
存储、取出数据
数据交换
   <o:page></o:page>
改变地址、结束循环
完整程序:
3、调用、下载测试:
下载测试1
下载测试2    <o:page></o:page>
下载测试3
下载测试4
4、操作演示:
   
      
注:程序仅供参考!!!     <o:p> </o:p>
(参考文章:S7-200 SMART 间接寻址
(参考文章:S7-200 SMART读取和设置系统时钟            <o:p> </o:p>    
<br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

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

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码