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

技術頻道

基于Siemens S7-300/400 PLC的FIFO功能實現

  一、前言

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

  二、SiemensFC84ATT和FC85FIFO功能的介紹

  1、FC84ATT

  1.1、FC84ATT功能和構成介紹

  FC84ATT是實現增加數據到FIFO功能的數據存儲區中,通過每次執行此指令實現把一字的數據增加到FIFO功能數據存儲區中,FIFO功能存儲區中以字為單位,具體組成如下:

  l存儲區表中第一字為FIFO存儲區允許的最大數據存儲個數,即最多可以存儲多少個字的數據。

  l存儲區表中第二字為FIFO存儲區當前已經存儲數據的個數,即已經存儲了多少個字的數據。

  l存儲區表中從第三字開始為FIFO存儲區實際存儲的數據。

  1.2、FC84ATT功能參數說明

  通過SimaticSTEP7進行程序開發時,調用FC84ATT功能,出現如下圖:

  從圖2-1中可以看到,FC84ATT共有四個參數,分別為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區域指針

  1.3、舉例說明

  如果信號M100.0的狀態為1(即被激活),FC84ATT功能被執行。在下面的例子中,增加的數據寫到FIFO表中的第五行,FIFO的容量也就是FIFO表中第二行由4變為5。如果FC84ATT被執行而且沒有錯誤發生,那么使能輸出ENO置為1,具體如下:

  2、FC85FIFO

  2.1、FC85FIFO功能和構成介紹

  FC85FIFO是完成把FIFO表中的數據按照先進先出原則,依次讀出,以供使用,與FC84ATT配合使用,完成FIFO的寫進與讀出功能。通過每次執行此指令實現把一個字的數據從FIFO功能數據存儲區中讀出,FIFO功能存儲區中以字為單位,具體組成如下:

  l存儲區表中第一字為FIFO存儲區允許的最大數據存儲個數,即最多可以存儲多少個字的數據。

  l存儲區表中第二字為FIFO存儲區當前已經存儲數據的個數,即已經存儲了多少個字的數據。

  l存儲區表中從第三字開始為FIFO存儲區實際存儲的數據,也是FIFO指針所指向的數據。

  2.2、FC85FIFO功能參數說明

  通過SimaticSTEP7進行程序開發時,調用FC85FIFO功能,出現如下圖:

  圖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.3、舉例說明

  如果信號M100.0的狀態為1(即被激活),FC85FIFO功能被執行。在下面的例子中,從FIFO存儲區域中讀出的數據寫到RET_VAL指定的地址中,FIFO的容量也就是FIFO表中第二行由5變為4。同時整個FIFO中存儲的數據依次向上移動一行。如果FC85FIFO被執行而且沒有錯誤發生,那么使能輸出ENO被置為1。

  三、多字節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功能具體見如下畫面:

  圖3-1

  源代碼如下:

  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

  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字節的數據從FIFO存儲區域中讀出

  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字節的數據寫入FIFO存儲區表中

  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、在程序中的調用

  上面已經完成了FB100FIFO功能塊的編程開發,下面就是直接調用,設置

  相關參數就可以使用此功能了,舉例如下:

  新建FIFO數據源數據庫DB200,結構為

      9000px;">

          91久久精品一区二区| 蜜桃视频一区二区三区| 亚洲色图19p| 韩国v欧美v日本v亚洲v| 欧美在线短视频| 亚洲综合成人在线| 国产成人免费在线视频| 日韩精品中文字幕在线一区| 亚洲成人免费在线观看| 欧美色倩网站大全免费| 日韩理论电影院| 91免费版在线| 丝袜脚交一区二区| 91精品啪在线观看国产60岁| 亚洲18影院在线观看| 欧美男生操女生| 国产乱妇无码大片在线观看| 精品国内二区三区| 激情综合亚洲精品| 国产精品乱码一区二区三区软件| 国内精品免费在线观看| 26uuu国产一区二区三区 | 日本道免费精品一区二区三区| 亚洲欧洲av在线| 欧美日韩国产色站一区二区三区| 日本不卡一区二区三区高清视频| 精品国产乱码久久久久久牛牛 | 成人av网址在线| 一区二区欧美在线观看| 欧美精品一区二区三区在线播放| 大胆欧美人体老妇| 日韩福利电影在线| 国产视频一区不卡| 69堂国产成人免费视频| 91丝袜国产在线播放| 高清日韩电视剧大全免费| 午夜av一区二区三区| 亚洲在线免费播放| 亚洲精品欧美激情| 国产精品久久久久久福利一牛影视 | 国产欧美日韩卡一| 日韩美女天天操| 色菇凉天天综合网| 丰满白嫩尤物一区二区| 国产综合色精品一区二区三区| 亚洲永久免费av| 亚洲同性gay激情无套| 国产精品久久久久精k8| 欧美激情在线一区二区三区| 欧美日韩电影在线播放| 欧美日韩国产bt| 日韩一区二区在线观看视频| 欧美一级在线免费| 在线成人高清不卡| 国产欧美综合在线观看第十页| 久久亚洲一区二区三区四区| 久久精品亚洲一区二区三区浴池 | 性做久久久久久久免费看| 亚洲国产一区视频| 久久精品国产一区二区三区免费看| 视频在线观看国产精品| 国产欧美日韩麻豆91| 亚洲男人的天堂在线aⅴ视频| 亚洲国产精品尤物yw在线观看| 视频一区视频二区中文字幕| 国内精品在线播放| 欧洲国产伦久久久久久久| 91精品国产欧美一区二区成人| 久久久国产综合精品女国产盗摄| 亚洲欧洲另类国产综合| 天堂va蜜桃一区二区三区漫画版| 中文字幕字幕中文在线中不卡视频| 婷婷综合另类小说色区| 91论坛在线播放| 国产日韩v精品一区二区| 蜜臀久久99精品久久久久久9| 91丝袜国产在线播放| 国产精品系列在线| 国产一区二区视频在线播放| 91麻豆精品国产无毒不卡在线观看 | 久久久久久久久97黄色工厂| 亚洲国产精品麻豆| 色香蕉久久蜜桃| 国产日本亚洲高清| 国产成人精品免费网站| 精品国产一区二区国模嫣然| 首页亚洲欧美制服丝腿| 91久久精品一区二区三区| 国产精品人妖ts系列视频| 韩国欧美国产1区| 国产日韩欧美综合一区| 国产成人精品综合在线观看| 久久男人中文字幕资源站| 国内外成人在线| 中文字幕国产一区| 日本韩国欧美国产| 亚洲一级片在线观看| 欧美三级中文字幕| 日本伊人精品一区二区三区观看方式 | 欧美一区二区三区视频在线观看| 一区二区三区四区不卡在线| 色综合久久中文综合久久牛| 亚洲人成在线观看一区二区| 国产福利一区二区三区| 欧美日本视频在线| 国内精品免费在线观看| 国产精品蜜臀av| 91福利国产成人精品照片| 亚洲国产wwwccc36天堂| 欧美成人免费网站| 波多野结衣亚洲| 日韩一区精品视频| 国产精品国产自产拍高清av| 91麻豆精品国产91久久久久久| 国产精品18久久久久久久网站| 亚洲欧美精品午睡沙发| 日韩免费高清视频| 91丝袜美腿高跟国产极品老师| 性做久久久久久久久| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美麻豆精品久久久久久| 国产综合久久久久久鬼色| 亚洲欧美成aⅴ人在线观看| 26uuu亚洲综合色| 欧美成人在线直播| 日韩欧美一区二区在线视频| 91福利在线观看| 一本色道久久综合亚洲91| 国产999精品久久久久久绿帽| 成人视屏免费看| 欧美伊人久久久久久久久影院| 欧美午夜片在线看| 久久一二三国产| 国产精品乱码久久久久久| 午夜视频在线观看一区| 国产精品亚洲第一| 中文av字幕一区| 18成人在线观看| 日韩毛片一二三区| 免费观看在线色综合| 国产麻豆午夜三级精品| 国产高清精品网站| 91在线观看一区二区| 99热这里都是精品| xvideos.蜜桃一区二区| 欧美日韩aaaaaa| 久久99精品国产麻豆婷婷| 日韩伦理电影网| 图片区小说区国产精品视频| 精品视频1区2区| 国产一区二三区好的| 91精品国产综合久久久久久久| 国产精品麻豆欧美日韩ww| 精品一区二区三区视频| 国产精品福利影院| 国产日韩亚洲欧美综合| 91精品国产品国语在线不卡| 色老综合老女人久久久| 精品女同一区二区| 久久免费视频一区| 国产精品乱码久久久久久| 国产精品视频一二三区| 国产女主播视频一区二区| 日本一区二区动态图| 欧美日韩精品一区二区在线播放 | 久久女同性恋中文字幕| 一色桃子久久精品亚洲| 亚洲高清免费观看高清完整版在线观看| 久久精品国产精品亚洲精品| 大陆成人av片| 成人性色生活片免费看爆迷你毛片| 精品在线免费视频| 99精品国产99久久久久久白柏| 欧美日韩视频在线第一区| 精品久久一区二区三区| 欧美日韩一区不卡| 精品中文字幕一区二区小辣椒| 色综合久久综合中文综合网| 亚洲va国产天堂va久久en| 欧美性欧美巨大黑白大战| 中文字幕一区二区三区视频| 国产精品一区二区三区四区| 青青青爽久久午夜综合久久午夜 | 视频一区国产视频| 亚洲欧洲另类国产综合| 韩国欧美国产一区| 欧美精选午夜久久久乱码6080| 久久精品人人做| 麻豆成人久久精品二区三区小说| 91在线观看视频| 国产精品视频一二三| 丰满少妇久久久久久久| 国产精品国产精品国产专区不蜜| 国产91富婆露脸刺激对白| 亚洲女人的天堂| 亚洲国产成人午夜在线一区| 97精品国产97久久久久久久久久久久| 丝袜美腿一区二区三区| 久久精品国内一区二区三区| 日韩欧美一区二区免费|
          1. <s id="rvwun"><optgroup id="rvwun"></optgroup></s>
          2. <td id="rvwun"></td>

          3. <small id="rvwun"></small>
          4. <big id="rvwun"><optgroup id="rvwun"></optgroup></big>

          5. 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

            文章版權歸西部工控xbgk所有,未經許可不得轉載。

            欧美成人aaaaa免费视频_亚洲欧美激情小说另类_欧美激情一区二区三区视频_一级在线|欧洲
            <ul id="rvwun"></ul>