本帖最后由 采集赛道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> 存储、取出数据 数据交换 改变地址、结束循环 完整程序: 3、调用、下载测试: 下载测试1 下载测试2 <o:page></o:page> 下载测试3 下载测试4 4、操作演示: 注:程序仅供参考!!! <o:p> </o:p> <br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |