好文档 - 专业文书写作范文服务资料分享网站

基于Siemens S7 FIFO功能的得实现

天下 分享 时间: 加入收藏 我要投稿 点赞

基于Siemens S7-300/400 PLC的FIFO功能实现

摘要:本文详细介绍了基于西门子S7-300/400 PLC中的FIFO功能,并利用西门子S7系列PLC编程软件Simatic STEP7开发实现多字节的FIFO功能。 Abstract:This paper introduces FIFO function based Siemens S7-300/400 PLC,and achieves several byte FIFO function by making use of Siemens PLC Programming software Simatic STEP7 development.

关键词 西门子 S7-300/400 PLC ;FIFO ;Simatic STEP7 Keywords:Siemens S7-300/400 PLC ;FIFO ;Simatic STEP7

主要内容:

1、前言,提出为什么要介绍Siemens PLC中的FIFO功能

2、首先介绍Siemens 公司提供的专用功能块,FC84与FC85,并分别举例

3、说明在设备间数据通讯,多余1个字节的数据需要同时进行FIFO Buffer,然后在下一工序中弹出来。介绍多字节FIFO功能的实现 4、Siemens PLC编程开发软件Simatic STEP7的介绍,编程开发同时20字节FIFO的程序,相关数据块结构的说明,在程序中的调用FIFO功能块。此外可以通过Simatic Simulation 进行模拟确认。 5、总结。 一、前言 FIFO功能即First Input First Output先进先出,在很多情况下要用到此功能。以前此技术主要在计算机高级语言开发和数据结构设计中应用,但随着PLC技术的日益突飞猛进,需要通过PLC进行数据传送、缓存存储的事件越来越多,尤其是在数据缓存过程中,对FIFO功能使用场合越来越多。西门子S7-300/400 PLC是德国西门子公司的中型、大型PLC,也是当今世界上工控行业的主流产品。在Siemens S7系列PLC开发软件Simatic STEP7工具中,Siemens公司提供了两个专用功能FC84 ATT和FC85 FIFO,通过这两个FC功能完成对FIFO功能数据的写入和导出,但是每次只能允许一字,也就两字节长的数据。为了实现每次多字节的FIFO功能,需要用户自己开发相应的功能块FB来实现,在本文中就介绍了实现每次20字节FIFO功能FB200功能块的代码,以及实际应用举例。

二、Siemens FC84 ATT和FC85 FIFO功能的介绍

1、FC84 ATT

1.1、 FC 84 ATT功能和构成介绍

FC 84 ATT是实现增加数据到FIFO功能的数据存储区中,通过每次执行此指令实现把一字的数据增加到FIFO功能数据存储区中,FIFO功能存储区中以字为单位,具体组成如下:

? 存储区表中第一字为FIFO存储区允许的最大数据存储个数,即最多可以存储多

少个字的数据。

? 存储区表中第二字为FIFO存储区当前已经存储数据的个数,即已经存储了多少

个字的数据。

? 存储区表中从第三字开始为FIFO存储区实际存储的数据。 1.2、 FC 84 ATT功能参数说明

1

通过Simatic STEP7进行程序开发时,调用FC84 ATT功能,出现如下图:

从图2-1中可以看到,FC84 ATT共有四个参数,分别为EN、DATA、TABLE和ENO,在四门子资料中对其描述如下表2-1: 参数 声明 数据类型 内存区域 功能描述 EN 输入 布尔 I、Q、M、D、L 使能激活信号 ENO 输出 布尔 I、Q、M、D、L 使能输出 DATA 输入 Word I、Q、M、D、L、P要增加到FIFO静态存储区域 的数据 TABLE 输入 指针 I、Q、M、D、 FIFO区域指针 表2-1 1.3、举例说明 如果信号M100.0的状态为1(即被激活),FC84 ATT功能被执行。在下面的例子中,增加的数据写到FIFO表中的第五行,FIFO的容量也就是FIFO表中第二行由4变为5。如果FC84 ATT被执行而且没有错误发生,那么使能输出ENO置为1,具体如下:

2

2、FC85 FIFO

2.1 、FC 85 FIFO功能和构成介绍

FC85 FIFO是完成把FIFO表中的数据按照先进先出原则,依次读出,以供使用,与FC84 ATT配合使用,完成FIFO的写进与读出功能。通过每次执行此指令实现把一个字的数据从FIFO功能数据存储区中读出,FIFO功能存储区中以字为单位,具体组成如下:

? 存储区表中第一字为FIFO存储区允许的最大数据存储个数,即最多可以存储多

少个字的数据。

? 存储区表中第二字为FIFO存储区当前已经存储数据的个数,即已经存储了多少

个字的数据。

? 存储区表中从第三字开始为FIFO存储区实际存储的数据,也是FIFO指针所指

向的数据。

2.2、FC 85 FIFO功能参数说明

通过Simatic STEP7进行程序开发时,调用FC85 FIFO功能,出现如下图:

图2-2

从图2-1中可以看到,FC85FIFO共有四个参数,分别为EN、ENO、TABLE和RET_VAL,在西门子资料中对其描述如下表2-2: 参数 声明 数据类型 内存区域 功能描述 EN 输入 布尔 I、Q、M、D、L 使能激活信号 ENO 输出 布尔 I、Q、M、D、L 使能输出 TABLE 输入 指针 I、Q、M、D、 FIFO区域指针 RET_VAL 输出 字 I、Q、M、D、L、P 读出的数据 表2-2 2.3、举例说明

如果信号M100.0的状态为1(即被激活),FC85 FIFO功能被执行。在下面的例子中,从FIFO存储区域中读出的数据写到RET_VAL指定的地址中,FIFO的容量也就是FIFO表中第二行由5变为4。同时整个FIFO中存储的数据依次向上移动一行。如果FC85 FIFO被执行而且没有错误发生,那么使能输出ENO被置为1。

3

基于Siemens S7 FIFO功能的得实现

基于SiemensS7-300/400PLC的FIFO功能实现摘要:本文详细介绍了基于西门子S7-300/400PLC中的FIFO功能,并利用西门子S7系列PLC编程软件SimaticSTEP7开发实现多字节的FIFO功能。Abstract:ThispaperintroducesFIFOfunctionbase
推荐度:
点击下载文档文档为doc格式
0694b815v33pebe0io3703gjy5zd2f00lu6
领取福利

微信扫码领取福利

微信扫码分享