更新时间: 2023-02-04
多字节FIFO功能的实现
1、从前面FC84ATT和FC85FIFO的说明中可以看出,虽然Siemens提供了针对S7
系列PLC的FIFO功能模块,但是其只能每次写入或读出一个字节的数据,而实际上在很多情况下,每次均是一组数据需要运用FIFO功能来暂时存储起来,那么在这种情形下就不能采用Siemens提供的标准功能FC84和FC85了,需要自己开发一可以实现多字节读出写入功能的FIFO指令。
2、SiemensSimaticSTEP7介绍
SiemensSimaticS7300/400系列PLC是Siemens公司主推的中、大型产品,也是当今世界上的主流产品。针对这两个系列PLC开发软件工件为SimaticSTEP7,此软件有多个版本,目前已经发展到V5.4,采用次软件可以实现开发、监控等功能。
3、多字节FIFO的实现
打开SimaticSTEP7软件,新建一FB块,如FB200DB200,然后进入FB100
进行编程,本文中以20字节为例,介绍如何开发实现FIFO功能具体见如下画面:
源代码如下:
FUNCTION_BLOCKFB100
TITLE=
//此功能块用了完成20字节的FIFO功能
AUTHOR:Hylotus
VERSION:0.1
KNOW_HOW_PROTECT
VAR_INPUT
SOURCE_DB:BLOCK_DB;
INPUT:BOOL;
OUTPUT:BOOL;
SIZE:INT;
END_VAR
VAR_OUTPUT
DONE_IN:BOOL;
DONE_OUT:BOOL;
ERROR:BOOL;
FULL:BOOL;
EMPTY:BOOL;
END_VAR
VAR_IN_OUT
LOCATION:INT;
END_VAR
VAR
………………
4、在程序中的调用
上面已经完成了FB100FIFO功能块的编程开发,下面就是直接调用,设置相关参数就可以使用此功能了。
5、以上FIFO程序调用功能块和程序,均是可以通过Siemens公司提供的模拟运行软件SiamticSimulation进行模拟PLC确认,可以正常运行没有问题。