单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1380|回复: 0
收起左侧

S7-200的表指令使用例程

[复制链接]
xiongxiao 发表于 2015-5-27 23:26 | 显示全部楼层 |阅读模式
对于使用西门子工控产品的客户来说,每当遇到难题或是没有思路时,常想到的就是拨打400-810-4288号码。而这些年来,热线支持也确实给力,对于大家来说算亦师亦友了。

某日,客户打进电话来:“麻烦工程师,给一个编程的思路。我用的S7-200PLC,我想实时采集数据,如何才能实现永远记录最新的几条数据。”
答曰:“运用表指令,就能够实现。”
那么表指令怎么实现,下面我们来细说一下。
首先,需要将实时采集的数据,建立一个指定长度的表格(ATT填表指令)。实时记录最新数据,那么就要求这个表格具有先进先出的功能(FIFO)。
1.ATT填表指令:向表格(TBL)中加入字值(DATA)。表格中的第一个数值是表格的最大长度(TL)。第二个数值是表格的实际条目数。每次向表格中增加新数据后,条目计数加1。新数据被增加至表格中的最后一个条目之后,即无法再向表格中添加数据,报溢出。表格最多可包含100个条目,不包括指定最大条目数和实际条目数的参数。
2. FIFO先进先出指令:从表(TBL)中移走第一个数据,并将此数输出到DATA。剩余数据依次上移一个位置。每执行一条本指令,表中的数据数减1。


3.将这两个指令结合起来,先通过数据建表,当表格满了之后,再移出老的数据,填入最新数据。如下图所示:

注意:所有的表格读取和表格写入指令必须用边缘触发器指令激活。

好啦,如果您需要实现实时记录最新数据,请参考吧。






回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机教程网

快速回复 返回顶部 返回列表