




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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 STEP7Keywords: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 ATT1.1、 FC 84 ATT功能和构成介绍FC 84 ATT是实现增加数据到FIFO功能的数据存储区中,通过每次执行此指令实现把一字的数据增加到FIFO功能数据存储区中,FIFO功能存储区中以字为单位,具体组成如下:l 存储区表中第一字为FIFO存储区允许的最大数据存储个数,即最多可以存储多少个字的数据。l 存储区表中第二字为FIFO存储区当前已经存储数据的个数,即已经存储了多少个字的数据。l 存储区表中从第三字开始为FIFO存储区实际存储的数据。1.2、 FC 84 ATT功能参数说明通过Simatic STEP7进行程序开发时,调用FC84 ATT功能,出现如下图: 从图21中可以看到,FC84 ATT共有四个参数,分别为EN、DATA、TABLE和ENO,在四门子资料中对其描述如下表2-1:参数声明数据类型内存区域功能描述EN输入布尔I、Q、M、D、L使能激活信号ENO输出布尔I、Q、M、D、L使能输出DATA输入WordI、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、FC85 FIFO2.1 、FC 85 FIFO功能和构成介绍FC85 FIFO是完成把FIFO表中的数据按照先进先出原则,依次读出,以供使用,与FC84 ATT配合使用,完成FIFO的写进与读出功能。通过每次执行此指令实现把一个字的数据从FIFO功能数据存储区中读出,FIFO功能存储区中以字为单位,具体组成如下:l 存储区表中第一字为FIFO存储区允许的最大数据存储个数,即最多可以存储多少个字的数据。l 存储区表中第二字为FIFO存储区当前已经存储数据的个数,即已经存储了多少个字的数据。l 存储区表中从第三字开始为FIFO存储区实际存储的数据,也是FIFO指针所指向的数据。2.2、FC 85 FIFO功能参数说明通过Simatic STEP7进行程序开发时,调用FC85 FIFO功能,出现如下图: 图2-2从图21中可以看到,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-22.3、举例说明如果信号M100.0的状态为1(即被激活),FC85 FIFO功能被执行。在下面的例子中,从FIFO存储区域中读出的数据写到RET_VAL指定的地址中,FIFO的容量也就是FIFO表中第二行由5变为4。同时整个FIFO中存储的数据依次向上移动一行。如果FC85 FIFO被执行而且没有错误发生,那么使能输出ENO被置为1。三、多字节FIFO功能的实现1、 从前面FC84 ATT和FC85 FIFO的说明中可以看出,虽然Siemens提供了针对S7系列PLC的FIFO功能模块,但是其只能每次写入或读出一个字节的数据,而实际上在很多情况下,每次均是一组数据需要运用FIFO功能来暂时存储起来,那么在这种情形下就不能采用Siemens提供的标准功能FC84和FC85了,需要自己开发一可以实现多字节读出写入功能的FIFO指令。2、 Siemens Simatic STEP7介绍Siemens Simatic S7 300/400系列PLC是Siemens公司主推的中、大型产品,也是当今世界上的主流产品。针对这两个系列PLC开发软件工件为Simatic STEP7,此软件有多个版本,目前已经发展到V5.4,采用次软件可以实现开发、监控等功能。3、 多字节FIFO的实现打开Simatic STEP7软件,新建一FB块,如FB200 DB200,然后进入FB100进行编程,本文中以20字节为例,介绍如何开发实现FIFO功能具体见如下画面: 图3-1源代码如下:FUNCTION_BLOCK FB 100TITLE =/此功能块用了完成20字节的FIFO功能AUTHOR : HylotusVERSION : 0.1KNOW_HOW_PROTECTVAR_INPUT SOURCE_DB : BLOCK_DB ; INPUT : BOOL ; OUTPUT : BOOL ; SIZE : INT ;END_VARVAR_OUTPUT DONE_IN : BOOL ; DONE_OUT : BOOL ; ERROR : BOOL ; FULL : BOOL ; EMPTY : BOOL ;END_VARVAR_IN_OUT LOCATION : INT ;END_VARVAR IN_START : BOOL ; IN_ACTIVE : BOOL ; OUT_START : BOOL ; OUT_ACTIVE : BOOL ; COUNT : INT ; RET_VAL1 : INT ;END_VARBEGINNETWORKTITLE = A #INPUT; AN #IN_ACTIVE; = #IN_START; A #INPUT; = #IN_ACTIVE; A #OUTPUT; AN #OUT_ACTIVE; = #OUT_START; A #OUTPUT; = #OUT_ACTIVE; AN #INPUT; AN #OUTPUT; JC END1; NETWORKTITLE =OUTPUT FIFO/20字节的数据从FIFO存储区域中读出 AN #OUTPUT; O #DONE_OUT; JC IN_1; AN #OUT_START; JC OP_1; OPN #SOURCE_DB; L DW#16#0; T DBD 40; T DBD 44; T DBD 48; T DBD 52; T DBD 56; T DBD 60; T DBD 64; T DBD 68; T DBD 72; T DBD 76; L #LOCATION; L 0; =I ; S #EMPTY; JC EROR; OPN #SOURCE_DB; CALL BLKMOV ( SRCBLK := P#DBX 80.0 BYTE 40, RET_VAL := #RET_VAL1, DSTBLK := P#DBX 40.0 BYTE 40); L #RET_VAL1; L 0; I ; JC EROR; L 0; T #COUNT; OP_1: L #LOCATION; L 0; =I ; JC EROR; L #LOCATION; L #COUNT; =I ; JC OP_3; L #COUNT; L 2; +I ; ITD ; L P#40.0; *D ; LAR1 ; OPN #SOURCE_DB; L DBD AR1,P#40.0; T DBD AR1,P#0.0; L DBD AR1,P#44.0; T DBD AR1,P#4.0; L DBD AR1,P#48.0; T DBD AR1,P#8.0; L DBD AR1,P#52.0; T DBD AR1,P#12.0; L DBD AR1,P#56.0; T DBD AR1,P#16.0; L DBD AR1,P#60.0; T DBD AR1,P#20.0; L DBD AR1,P#64.0; T DBD AR1,P#24.0; L DBD AR1,P#68.0; T DBD AR1,P#28.0; L DBD AR1,P#72.0; T DBD AR1,P#32.0; L DBD AR1,P#76.0; T DBD AR1,P#36.0; L #COUNT; L 1; +I ; T #COUNT; L #SIZE; L -1; +I ; L #COUNT; =I ; S #FULL; JC EROR; L #LOCATION; L 2; +I ; ITD ; L P#40.0; *D ; LAR1 ; OPN #SOURCE_DB; L DBD 0; T DBD AR1,P#0.0; L DBD 4; T DBD AR1,P#4.0; L DBD 8; T DBD AR1,P#8.0; L DBD 12; T DBD AR1,P#12.0; L DBD 16; T DBD AR1,P#16.0; L DBD 20; T DBD AR1,P#20.0; L DBD 24; T DBD AR1,P#24.0; L DBD 28; T DBD AR1,P#28.0; L DBD 32; T DBD AR1,P#32.0; L DBD 36; T DBD AR1,P#36.0; L #LOCATION; L 1; +I ; T #LOCATION; SET ; S #DONE_IN; JU END2; NETWORKTITLE =EROR: SET ; = #ERROR; JU END2; END1: CLR ; = #DONE_IN; = #DONE_OUT; = #ERROR; = #EMPTY; = #FULL; END2: NOP 0; END_FUNCTION_BLOCK4、 在程序中的调用上面已经完成了FB100 FIFO功能块的编程开发,下面就是直接调用,设置相关参数就可以使用此功能了,举例如下:新建FIFO数据源数据库DB200,结构为AddressNameTypeInitial valueComment0.0STRUCT+0.0IN_BufferSTRUCT+0.0Status_WordINT0+2.0Data1INT0+4.0Data2INT0+6.0Data3INT0+8.0Data4INT0+10.0Data5INT0+12.0Data6INT0+14.0Data7INT0+16.0Data8INT0+18.0Data9INT0=20.0END_STRUCT0+0.0Status_WordINT+2.0Data1INT+4.0Data2INT+6.0Data3INT+8.0Data4INT+10.0Data5INT+12.0Data6INT+14.0Data7INT+16.0Data8INT+18.0Data9INT=20.0END_STRUCT+40DataArray0.20*0.0STRUCT+0.0Status_WordI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精准施肥决策支持创新创业项目商业计划书
- 电子比价工具创新创业项目商业计划书
- 2025年高密市消防员考试笔试试题(含答案)
- 直播脱口秀节目创新创业项目商业计划书
- 现场急救知识专题培训课件
- 2025年老年健康管理长期照护服务模式创新与护理服务质量提升路径
- 2025年生态旅游可持续发展规划与管理生态旅游可持续发展评估报告
- 2025年物流行业物流信息化建设与运营报告
- 现场创新思维课件
- 现代财政学原理课件
- 配电带电作业工考试试卷与答案
- 2025年河南省机关事业单位工勤技能岗位等级考试(兽医防治员·高级技师/一级)(综合评审技能)历年参考题库含答案详解(5卷)
- 2025年职业技能鉴定考试(地勘钻探工)历年参考题库含答案详解(5套)
- 医院感控知识培训
- 2025年治安管理处罚法知识竞赛试卷及答案
- 2025年广东高考地理试题(解析版)
- MSA-KAPPA表-带公式模板
- 1.1 网络层次化拓扑结构设计
- 专项:阅读理解18篇【真题】 七年级英语下册(人教版2024)查漏补缺(含答案+解析)
- GB/T 9869.2-2025橡胶用硫化仪测定硫化特性第2部分:圆盘振荡硫化仪
- 集团公司井控管理规定及井控知识相关考试试卷
评论
0/150
提交评论