欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

技術(shù)頻道

基于Siemens S7-300/400 PLC的FIFO功能實(shí)現(xiàn)

  一、前言

  FIFO功能即FirstInputFirstOutput先進(jìn)先出,在很多情況下要用到此功能。以前此技術(shù)主要在計(jì)算機(jī)高級(jí)語(yǔ)言開(kāi)發(fā)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)中應(yīng)用,但隨著PLC技術(shù)的日益突飛猛進(jìn),需要通過(guò)PLC進(jìn)行數(shù)據(jù)傳送、緩存存儲(chǔ)的事件越來(lái)越多,尤其是在數(shù)據(jù)緩存過(guò)程中,對(duì)FIFO功能使用場(chǎng)合越來(lái)越多。西門(mén)子S7-300/400PLC是德國(guó)西門(mén)子公司的中型、大型PLC,也是當(dāng)今世界上工控行業(yè)的主流產(chǎn)品。在SiemensS7系列PLC開(kāi)發(fā)軟件SimaticSTEP7工具中,Siemens公司提供了兩個(gè)專(zhuān)用功能FC84ATT和FC85FIFO,通過(guò)這兩個(gè)FC功能完成對(duì)FIFO功能數(shù)據(jù)的寫(xiě)入和導(dǎo)出,但是每次只能允許一字,也就兩字節(jié)長(zhǎng)的數(shù)據(jù)。為了實(shí)現(xiàn)每次多字節(jié)的FIFO功能,需要用戶(hù)自己開(kāi)發(fā)相應(yīng)的功能塊FB來(lái)實(shí)現(xiàn),在本文中就介紹了實(shí)現(xiàn)每次20字節(jié)FIFO功能FB200功能塊的代碼,以及實(shí)際應(yīng)用舉例。

  二、SiemensFC84ATT和FC85FIFO功能的介紹

  1、FC84ATT

  1.1、FC84ATT功能和構(gòu)成介紹

  FC84ATT是實(shí)現(xiàn)增加數(shù)據(jù)到FIFO功能的數(shù)據(jù)存儲(chǔ)區(qū)中,通過(guò)每次執(zhí)行此指令實(shí)現(xiàn)把一字的數(shù)據(jù)增加到FIFO功能數(shù)據(jù)存儲(chǔ)區(qū)中,F(xiàn)IFO功能存儲(chǔ)區(qū)中以字為單位,具體組成如下:

  l存儲(chǔ)區(qū)表中第一字為FIFO存儲(chǔ)區(qū)允許的最大數(shù)據(jù)存儲(chǔ)個(gè)數(shù),即最多可以存儲(chǔ)多少個(gè)字的數(shù)據(jù)。

  l存儲(chǔ)區(qū)表中第二字為FIFO存儲(chǔ)區(qū)當(dāng)前已經(jīng)存儲(chǔ)數(shù)據(jù)的個(gè)數(shù),即已經(jīng)存儲(chǔ)了多少個(gè)字的數(shù)據(jù)。

  l存儲(chǔ)區(qū)表中從第三字開(kāi)始為FIFO存儲(chǔ)區(qū)實(shí)際存儲(chǔ)的數(shù)據(jù)。

  1.2、FC84ATT功能參數(shù)說(shuō)明

  通過(guò)SimaticSTEP7進(jìn)行程序開(kāi)發(fā)時(shí),調(diào)用FC84ATT功能,出現(xiàn)如下圖:

  從圖2-1中可以看到,F(xiàn)C84ATT共有四個(gè)參數(shù),分別為EN、DATA、TABLE和ENO,在四門(mén)子資料中對(duì)其描述如下表2-1:

參數(shù)

聲明

數(shù)據(jù)類(lèi)型

內(nèi)存區(qū)域

功能描述

EN

輸入

布爾

I、Q、M、D、L

使能激活信號(hào)

ENO

輸出

布爾

I、Q、M、D、L

使能輸出

DATA

輸入

Word

I、Q、M、D、L、P靜態(tài)存儲(chǔ)區(qū)域

要增加到FIFO的數(shù)據(jù)

TABLE

輸入

指針

I、Q、M、D、

FIFO區(qū)域指針

  1.3、舉例說(shuō)明

  如果信號(hào)M100.0的狀態(tài)為1(即被激活),F(xiàn)C84ATT功能被執(zhí)行。在下面的例子中,增加的數(shù)據(jù)寫(xiě)到FIFO表中的第五行,F(xiàn)IFO的容量也就是FIFO表中第二行由4變?yōu)?。如果FC84ATT被執(zhí)行而且沒(méi)有錯(cuò)誤發(fā)生,那么使能輸出ENO置為1,具體如下:

  2、FC85FIFO

  2.1、FC85FIFO功能和構(gòu)成介紹

  FC85FIFO是完成把FIFO表中的數(shù)據(jù)按照先進(jìn)先出原則,依次讀出,以供使用,與FC84ATT配合使用,完成FIFO的寫(xiě)進(jìn)與讀出功能。通過(guò)每次執(zhí)行此指令實(shí)現(xiàn)把一個(gè)字的數(shù)據(jù)從FIFO功能數(shù)據(jù)存儲(chǔ)區(qū)中讀出,F(xiàn)IFO功能存儲(chǔ)區(qū)中以字為單位,具體組成如下:

  l存儲(chǔ)區(qū)表中第一字為FIFO存儲(chǔ)區(qū)允許的最大數(shù)據(jù)存儲(chǔ)個(gè)數(shù),即最多可以存儲(chǔ)多少個(gè)字的數(shù)據(jù)。

  l存儲(chǔ)區(qū)表中第二字為FIFO存儲(chǔ)區(qū)當(dāng)前已經(jīng)存儲(chǔ)數(shù)據(jù)的個(gè)數(shù),即已經(jīng)存儲(chǔ)了多少個(gè)字的數(shù)據(jù)。

  l存儲(chǔ)區(qū)表中從第三字開(kāi)始為FIFO存儲(chǔ)區(qū)實(shí)際存儲(chǔ)的數(shù)據(jù),也是FIFO指針?biāo)赶虻臄?shù)據(jù)。

  2.2、FC85FIFO功能參數(shù)說(shuō)明

  通過(guò)SimaticSTEP7進(jìn)行程序開(kāi)發(fā)時(shí),調(diào)用FC85FIFO功能,出現(xiàn)如下圖:

  圖2-2

  從圖2-1中可以看到,F(xiàn)C85FIFO共有四個(gè)參數(shù),分別為EN、ENO、TABLE和RET_VAL,在西門(mén)子資料中對(duì)其描述如下表2-2:

參數(shù)

聲明

數(shù)據(jù)類(lèi)型

內(nèi)存區(qū)域

功能描述

EN

輸入

布爾

I、Q、M、D、L

使能激活信號(hào)

ENO

輸出

布爾

I、Q、M、D、L

使能輸出

TABLE

輸入

指針

I、Q、M、D、

FIFO區(qū)域指針

RET_VAL

輸出

I、Q、M、D、L、P

讀出的數(shù)據(jù)

  2.3、舉例說(shuō)明

  如果信號(hào)M100.0的狀態(tài)為1(即被激活),F(xiàn)C85FIFO功能被執(zhí)行。在下面的例子中,從FIFO存儲(chǔ)區(qū)域中讀出的數(shù)據(jù)寫(xiě)到RET_VAL指定的地址中,F(xiàn)IFO的容量也就是FIFO表中第二行由5變?yōu)?。同時(shí)整個(gè)FIFO中存儲(chǔ)的數(shù)據(jù)依次向上移動(dòng)一行。如果FC85FIFO被執(zhí)行而且沒(méi)有錯(cuò)誤發(fā)生,那么使能輸出ENO被置為1。

  三、多字節(jié)FIFO功能的實(shí)現(xiàn)

  1、從前面FC84ATT和FC85FIFO的說(shuō)明中可以看出,雖然Siemens提供了針對(duì)S7

  系列PLC的FIFO功能模塊,但是其只能每次寫(xiě)入或讀出一個(gè)字節(jié)的數(shù)據(jù),而實(shí)際上在很多情況下,每次均是一組數(shù)據(jù)需要運(yùn)用FIFO功能來(lái)暫時(shí)存儲(chǔ)起來(lái),那么在這種情形下就不能采用Siemens提供的標(biāo)準(zhǔn)功能FC84和FC85了,需要自己開(kāi)發(fā)一可以實(shí)現(xiàn)多字節(jié)讀出寫(xiě)入功能的FIFO指令。

  2、SiemensSimaticSTEP7介紹

  SiemensSimaticS7300/400系列PLC是Siemens公司主推的中、大型產(chǎn)品,也是當(dāng)今世界上的主流產(chǎn)品。針對(duì)這兩個(gè)系列PLC開(kāi)發(fā)軟件工件為SimaticSTEP7,此軟件有多個(gè)版本,目前已經(jīng)發(fā)展到V5.4,采用次軟件可以實(shí)現(xiàn)開(kāi)發(fā)、監(jiān)控等功能。

  3、多字節(jié)FIFO的實(shí)現(xiàn)

  打開(kāi)SimaticSTEP7軟件,新建一FB塊,如FB200DB200,然后進(jìn)入FB100

  進(jìn)行編程,本文中以20字節(jié)為例,介紹如何開(kāi)發(fā)實(shí)現(xiàn)FIFO功能具體見(jiàn)如下畫(huà)面:

  圖3-1

  源代碼如下:

  FUNCTION_BLOCKFB100

  TITLE=

  //此功能塊用了完成20字節(jié)的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

  IN_START:BOOL;

  IN_ACTIVE:BOOL;

  OUT_START:BOOL;

  OUT_ACTIVE:BOOL;

  COUNT:INT;

  RET_VAL1:INT;

  END_VAR

  BEGIN

  NETWORK

  TITLE=

  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;

  JCEND1;

  NETWORK

  TITLE=OUTPUTFIFO

  //20字節(jié)的數(shù)據(jù)從FIFO存儲(chǔ)區(qū)域中讀出

  AN#OUTPUT;

  O#DONE_OUT;

  JCIN_1;

  AN#OUT_START;

  JCOP_1;

  OPN#SOURCE_DB;

  LDW#16#0;

  TDBD40;

  TDBD44;

  TDBD48;

  TDBD52;

  TDBD56;

  TDBD60;

  TDBD64;

  TDBD68;

  TDBD72;

  TDBD76;

  L#LOCATION;

  L0;

  <=I;

  S#EMPTY;

  JCEROR;

  OPN#SOURCE_DB;

  CALL"BLKMOV"(

  SRCBLK:=P#DBX80.0BYTE40,

  RET_VAL:=#RET_VAL1,

  DSTBLK:=P#DBX40.0BYTE40);

  L#RET_VAL1;

  L0;

  <>I;

  JCEROR;

  L0;

  T#COUNT;

  OP_1:L#LOCATION;

  L0;

  <=I;

  JCEROR;

  L#LOCATION;

  L#COUNT;

  <=I;

  JCOP_3;

  L#COUNT;

  L2;

  +I;

  ITD;

  LP#40.0;

  *D;

  LAR1;

  OPN#SOURCE_DB;

  LDBD[AR1,P#40.0];

  TDBD[AR1,P#0.0];

  LDBD[AR1,P#44.0];

  TDBD[AR1,P#4.0];

  LDBD[AR1,P#48.0];

  TDBD[AR1,P#8.0];

  LDBD[AR1,P#52.0];

  TDBD[AR1,P#12.0];

  LDBD[AR1,P#56.0];

  TDBD[AR1,P#16.0];

  LDBD[AR1,P#60.0];

  TDBD[AR1,P#20.0];

  LDBD[AR1,P#64.0];

  TDBD[AR1,P#24.0];

  LDBD[AR1,P#68.0];

  TDBD[AR1,P#28.0];

  LDBD[AR1,P#72.0];

  TDBD[AR1,P#32.0];

  LDBD[AR1,P#76.0];

  TDBD[AR1,P#36.0];

  L#COUNT;

  L1;

  +I;

  T#COUNT;

  L#SIZE;

  L-1;

  +I;

  L#COUNT;

  <=I;

  JCOP_2;

  JUEND2;

  OP_2:LW#16#0;

  TDBD[AR1,P#40.0];

  TDBD[AR1,P#44.0];

  TDBD[AR1,P#48.0];

  TDBD[AR1,P#52.0];

  TDBD[AR1,P#56.0];

  TDBD[AR1,P#60.0];

  TDBD[AR1,P#64.0];

  TDBD[AR1,P#68.0];

  TDBD[AR1,P#72.0];

  TDBD[AR1,P#76.0];

  OP_3:SET;

  S#DONE_OUT;

  L#LOCATION;

  L-1;

  +I;

  T#LOCATION;

  JUEND2;

  NETWORK

  TITLE=INPUTFIFO

  //20字節(jié)的數(shù)據(jù)寫(xiě)入FIFO存儲(chǔ)區(qū)表中

  IN_1:AN#IN_START;

  JCEND2;

  L#LOCATION;

  L#SIZE;

  >=I;

  S#FULL;

  JCEROR;

  L#LOCATION;

  L2;

  +I;

  ITD;

  LP#40.0;

  *D;

  LAR1;

  OPN#SOURCE_DB;

  LDBD0;

  TDBD[AR1,P#0.0];

  LDBD4;

  TDBD[AR1,P#4.0];

  LDBD8;

  TDBD[AR1,P#8.0];

  LDBD12;

  TDBD[AR1,P#12.0];

  LDBD16;

  TDBD[AR1,P#16.0];

  LDBD20;

  TDBD[AR1,P#20.0];

  LDBD24;

  TDBD[AR1,P#24.0];

  LDBD28;

  TDBD[AR1,P#28.0];

  LDBD32;

  TDBD[AR1,P#32.0];

  LDBD36;

  TDBD[AR1,P#36.0];

  L#LOCATION;

  L1;

  +I;

  T#LOCATION;

  SET;

  S#DONE_IN;

  JUEND2;

  NETWORK

  TITLE=

  EROR:SET;

  =#ERROR;

  JUEND2;

  END1:CLR;

  =#DONE_IN;

  =#DONE_OUT;

  =#ERROR;

  =#EMPTY;

  =#FULL;

  END2:NOP0;

  END_FUNCTION_BLOCK

  4、在程序中的調(diào)用

  上面已經(jīng)完成了FB100FIFO功能塊的編程開(kāi)發(fā),下面就是直接調(diào)用,設(shè)置

  相關(guān)參數(shù)就可以使用此功能了,舉例如下:

  新建FIFO數(shù)據(jù)源數(shù)據(jù)庫(kù)DB200,結(jié)構(gòu)為

      9000px;">

          91麻豆精东视频| 亚洲v精品v日韩v欧美v专区| 亚洲女厕所小便bbb| 成人高清在线视频| 亚洲欧美韩国综合色| 亚洲电影欧美电影有声小说| 色婷婷国产精品| 亚洲女同女同女同女同女同69| 成人av网址在线| 亚洲猫色日本管| 日韩欧美视频一区| 久久久精品黄色| 99久久国产综合色|国产精品| 亚洲五月六月丁香激情| 69堂精品视频| 国产一区二区三区在线看麻豆| wwwwxxxxx欧美| 波多野结衣91| 亚洲免费av网站| 91精品视频网| 91亚洲精华国产精华精华液| 婷婷综合久久一区二区三区| 久久久欧美精品sm网站| av在线播放不卡| 五月综合激情日本mⅴ| 欧美精品一区二区三区四区| 色噜噜久久综合| av一区二区三区| 亚洲乱码日产精品bd| 欧美一级片免费看| 午夜视频在线观看一区二区三区 | 91精品国产色综合久久| 国产成人亚洲综合a∨婷婷图片| 伊人一区二区三区| 欧美zozo另类异族| 99久精品国产| 国产老女人精品毛片久久| 国产精品视频观看| 日韩欧美一级二级| 久久福利资源站| 欧美激情一区二区三区蜜桃视频 | 91精彩视频在线观看| 91丝袜美腿高跟国产极品老师| 婷婷综合在线观看| 国产精品美女久久久久久久| 欧美日韩免费电影| 99久久久国产精品| 成人免费黄色在线| 亚洲一区二区三区在线| 国产精品污污网站在线观看| 久久无码av三级| 欧美丰满少妇xxxxx高潮对白| 91丨porny丨户外露出| 日韩成人一区二区三区在线观看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 337p粉嫩大胆色噜噜噜噜亚洲 | 蜜芽一区二区三区| 亚洲欧美日韩一区| 国产精品国产自产拍高清av| 国产精品乱人伦中文| 久久久久久免费网| 精品少妇一区二区三区视频免付费| 亚洲蜜臀av乱码久久精品 | 欧美日韩国产一级片| 972aa.com艺术欧美| 丁香天五香天堂综合| 成人小视频免费在线观看| 国产美女在线精品| 久草中文综合在线| 亚洲精品成人精品456| 亚洲www啪成人一区二区麻豆| 一区二区三区在线视频免费观看| 国产精品久久久久久妇女6080 | 欧美电视剧在线看免费| 精品日本一线二线三线不卡| 欧美一区二区三区免费视频 | 亚洲欧洲精品一区二区三区| 国产精品二三区| 国产欧美日韩在线视频| 337p亚洲精品色噜噜| 奇米一区二区三区| 中文字幕日韩欧美一区二区三区| 欧美激情一区二区三区在线| 国产欧美精品一区二区三区四区 | 捆绑调教美女网站视频一区| 国内精品视频一区二区三区八戒| 久久精品国产77777蜜臀| 国产综合成人久久大片91| 日韩av中文在线观看| 亚洲免费av网站| 五月天国产精品| 日本大胆欧美人术艺术动态| 国产成人免费视频精品含羞草妖精 | 欧美乱妇15p| www国产成人| 国产欧美一区二区精品久导航| 国产婷婷精品av在线| 亚洲视频在线一区| 亚洲一区二区三区中文字幕 | 午夜精品福利一区二区蜜股av | 亚洲国产另类av| 韩国欧美国产1区| 粉嫩嫩av羞羞动漫久久久 | 激情五月婷婷综合| 成人av电影免费观看| 色哟哟一区二区| 日韩一级欧美一级| 中文字幕欧美日本乱码一线二线| 亚洲欧洲国产专区| 肉丝袜脚交视频一区二区| 国产91精品一区二区麻豆网站| 91麻豆免费看片| 91精品国产综合久久久久久 | 精品国免费一区二区三区| 亚洲国产岛国毛片在线| 国产日韩精品一区二区三区| 亚洲黄色小说网站| 极品少妇一区二区| 91理论电影在线观看| 久久亚洲一级片| 亚洲精选视频在线| 久久66热偷产精品| 欧美日韩亚洲不卡| 国产日韩欧美制服另类| 一区二区三区欧美日韩| 天堂成人免费av电影一区| 91在线高清观看| 日韩女优制服丝袜电影| 日韩你懂的在线观看| 一区二区三区日韩| 亚洲精品视频一区| 紧缚捆绑精品一区二区| 欧美日韩午夜影院| 欧美国产1区2区| 欧美无乱码久久久免费午夜一区| 日韩一区二区在线观看| 国产亚洲一区二区在线观看| 国内久久婷婷综合| 亚洲免费观看高清完整版在线观看| 色久综合一二码| 日韩avvvv在线播放| 欧美r级电影在线观看| 国产在线一区二区综合免费视频| 欧美成人a在线| 国产一区中文字幕| 亚洲天堂av一区| 欧美日韩大陆在线| 成人午夜私人影院| 亚洲一区二区三区四区在线免费观看| 久久精品国产精品亚洲精品| 国产精品系列在线| 欧洲一区二区av| 国产一本一道久久香蕉| 亚洲视频在线观看三级| 欧美日韩国产一二三| 亚洲国产精品欧美一二99| 久久久久国产精品麻豆| voyeur盗摄精品| 日本三级亚洲精品| 亚洲欧美偷拍三级| 国产精品女主播av| 欧美人与z0zoxxxx视频| av成人免费在线观看| 久久机这里只有精品| 亚洲国产aⅴ天堂久久| 国产精品你懂的在线欣赏| 91精品国产一区二区三区蜜臀| 91成人免费网站| 成人免费av资源| 久久国产精品99久久人人澡| 国产欧美日韩在线| 日韩三级高清在线| 欧美日韩不卡一区二区| 狠狠色丁香婷婷综合| 日本免费新一区视频| 亚洲欧美一区二区在线观看| 91精品国产综合久久精品| 56国语精品自产拍在线观看| 色婷婷精品久久二区二区蜜臂av| 91免费观看视频在线| 91麻豆精品国产综合久久久久久| 久久久99久久| 欧美韩日一区二区三区四区| 91免费视频大全| 久久久久久久网| 亚洲视频免费观看| 国产精品二三区| 久久草av在线| 99久久99久久精品免费看蜜桃| 日韩欧美黄色影院| 午夜精品视频在线观看| 2022国产精品视频| 国产日韩av一区| 日韩专区欧美专区| 极品少妇一区二区| 成人激情小说乱人伦| 国产精品一区免费视频| 欧洲生活片亚洲生活在线观看| 欧美日韩一区久久| 日韩视频一区二区三区在线播放|

            Address

            Name

            Type

            Initial value

            Comment

            0.0

            STRUCT

            +0.0

            IN_Buffer

            STRUCT

            +0.0

            Status_Word

            INT

            0

            +2.0

            Data1

            INT

            0

            +4.0

            Data2

            INT

            0

            +6.0

            Data3

            INT

            0

            +8.0

            Data4

            INT

            0

            +10.0

            Data5

            INT

            0

            +12.0

            Data6

            INT

            0

            +14.0

            Data7

            INT

            0

            +16.0

            Data8

            INT

            0

            +18.0

            Data9

            INT

            0

            =20.0

            END_STRUCT

            0

            +0.0

            Status_Word

            INT

            +2.0

            Data1

            INT

            +4.0

            Data2

            INT

            +6.0

            Data3

            INT

            +8.0

            Data4

            INT

            +10.0

            Data5

            INT

            +12.0

            Data6

            INT

            +14.0

            Data7

            INT

            +16.0

            Data8

            INT

            +18.0

            Data9

            INT

            =20.0

            END_STRUCT

            +40

            Data

            Array[0..20]

            *0.0

            STRUCT

            +0.0

            Status_Word

            INT

            0

            +2.0

            Data1

            INT

            0

            +4.0

            Data2

            INT

            0

            +6.0

            Data3

            INT

            0

            文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。

            欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲

            <samp id="eqecf"></samp>
          • <samp id="eqecf"><tr id="eqecf"></tr></samp>
          • <tt id="eqecf"><dd id="eqecf"></dd></tt>