西門子PLC中FB和FC區(qū)別

發(fā)布時間:2024-02-27
fb--功能塊,帶背景數(shù)據(jù)塊
fc--功能,相當于函數(shù)
他們之間的主要區(qū)別是:fc使用的是共享數(shù)據(jù)塊,fb使用的是背景數(shù)據(jù)塊
舉個例子,如果您要對3個參數(shù)相同的電機進行控制,那么只需要使用fb編程外加3個背景數(shù)據(jù)塊就可以了,但是,如果您使用fc,那么您需要不斷的修改共享數(shù)據(jù)塊,否則會導(dǎo)致數(shù)據(jù)丟失。fb確保了3個電機的參數(shù)互不干擾。
fb,fc本質(zhì)都是一樣的,都相當于子程序,可以被其他程序調(diào)用(也可以調(diào)用其他子程序)。他們的最大區(qū)別是,fb與db配合使用,db中保存著fb使用的數(shù)據(jù),即使fb退出后也會一直保留。fc就沒有一個永久的數(shù)據(jù)塊來存放數(shù)據(jù),只在運行期間會被分配一個臨時的數(shù)據(jù)區(qū)。在實際編程中,是使用fb還是fc,要看實際的需要決定。fb的好處樓上以講得很好了。
fb與fc沒有太大的差別,fb帶有背景數(shù)據(jù)塊,而fc沒有。所以fb帶上不同的數(shù)據(jù)塊,就可以帶上不同的參數(shù)值。這樣就可以用同一fb和不同的背景數(shù)據(jù)塊,被多個對象調(diào)用。
fc和fb像c中的函數(shù),只不過fb可以生成靜態(tài)變量,在下次函數(shù)調(diào)用時數(shù)據(jù)可以保留,而fc的變量只在調(diào)用期內(nèi)有效,下次調(diào)用又重新更換。
s7-300plc中的fb和fc的分別?fb帶有自己的背景db而fc沒有自己的背景db,用fc和fb有什么分別呢,他們都能實現(xiàn)控制功能,到底該用fb還是該用fc,什么時候用fb什么時候用fc?
fb與fc沒有太大的差別,fb帶有背景數(shù)據(jù)塊,而fc沒有。所以fb帶上不同的數(shù)據(jù)塊,就可以帶上不同的參數(shù)值。這樣就可以用同一fb和不同的背景數(shù)據(jù)塊,被多個對象調(diào)用。
fc和fb像c中的函數(shù),只不過fb可以生成靜態(tài)變量,在下次函數(shù)調(diào)用時數(shù)據(jù)可以保留,而fc的變量只在調(diào)用期內(nèi)有效,下次調(diào)用又重新更換。每次調(diào)用fc的i/o區(qū)域必須要自己每次手動輸入,而fb就不要,省去不少麻煩,如果在上位機控制直接輸入db控制地址就可以。
舉個例子來說,有50臺電機需要控制,這些電機除了參數(shù)不一樣,控制流程上是一樣的,每個
電機需要不同的參數(shù)去運行,運行中的過程參數(shù)要參與到下一次的控制過程中。
這個要求,用fc做的話,你需要針對不同的電機分配好db塊,來逐一的確認參數(shù)地址,不能混
淆,保存和調(diào)用不能出錯,可以想象會有多麻煩。如果用fb來做呢?寫好控制過程和定義的參
數(shù)的調(diào)用就可以了。針對電機重復(fù)調(diào)用同一個fb,每次調(diào)用指定一個獨立的db作為背景數(shù)據(jù)塊
,完全不必理會背景db中的數(shù)據(jù)是怎么存儲的。如果功能需要修改,只要修改該fb就行了。
還有其他的例子,比如pid、比如流量累計等等。
fc就相當于流水線,加工完就過去了!沒有任何紀錄。fb+db不但可以加工,還能記錄數(shù)據(jù)的。
一般有多個設(shè)備的時候,我們編寫一個fb然后多次調(diào)用,自動生成相應(yīng)的db,這樣簡化了我們
的工作。
fb的變量聲明表中有靜態(tài)變量,并可以進行多級的參數(shù)傳遞,因此在調(diào)用fb時需生成背景數(shù)據(jù)塊,
而fc則沒有這些.fb可以替代fc,反之則不行.
多級的參數(shù)傳遞即所謂的multiinstance,你可以把fb,db做為另外一個fb中的函數(shù)來調(diào)用,
如在fb2中可以使用fb1中的參數(shù),而最終只生成一個背景數(shù)據(jù)塊。
zane:
fb其實不會占用過多的資源,因為一個程序總是有這些變量的,無論是全局的還是局部變量。
我現(xiàn)在,大量使用的是fb,fc只用來編一些邏輯,及簡單的子程序,或僅僅幾個call指令調(diào)用
fb。使用fb及局部變量,更有利于程序的模塊化,增加程序的可移植性,就象西門子公司提供的fb
塊.
其實fb和fc根本的區(qū)別是:fb支持靜態(tài)變量,而fc只支持臨時變量。
靜態(tài)變量:是調(diào)用fb返回時,仍然要為fb保留此變量區(qū),因此不會改變這一區(qū)域的數(shù)據(jù)值。臨
時變量卻沒有這樣的特性。
所以在fc中如果在對臨時數(shù)據(jù)變量處寫入確定的數(shù)據(jù)前,就去讀時就可能產(chǎn)生不可預(yù)見的結(jié)果
,而對于靜態(tài)變量卻不會,因為它會保留你上次寫入的結(jié)果。
萬泉河:
咱們編制的控制程序,fb極少用到。所說的用fb來替代fc實用的情況,更是少見,有誰曾經(jīng)把
fc全部用光啦?恐怕系統(tǒng)都不能負擔了。
提供的標準庫中,fb倒是不少的。
如果你要編制的函數(shù)沒有用到靜態(tài)變量,恐怕沒有必要使用fb吧?我看高級語言中,雖然靜態(tài)
變量使用很容易,但實際用也很少啊。
俠客:我和zane的觀點一樣,我工作中也是把相同功能的工作編制成fb,然后在fc里調(diào)用,程
序修改起來方便,舉個例子:如果你有10臺電機,一般我們都要給他編制啟動,停止邏輯,報
警,復(fù)位邏輯。如果我編一個fb把這些邏輯都做好了,為每一個電機分配一個背景數(shù)據(jù)塊的話
,我在fc調(diào)用這些電機時,我只要把這些電機對應(yīng)的i/o點添到fb的管腳上就可以了,完全不再
用考慮他里面的邏輯了,如果你全是用fc編這些邏輯的話,1、你要寫10遍,2、如果你用粘貼
和復(fù)制的話,有可能有的i/o點忘記修改或其他一些錯誤,3、程序的結(jié)構(gòu)性不強,維護起來浪費
時間。
所以,fb和fc結(jié)合起來用是最方便的。
建議大家試試fb,當你理解了fb后,你會感到驚喜的
zane:關(guān)于fb,fc的使用,我也是在具體的應(yīng)用中一步一步地體會過來的,不過這僅是我個人
的看法與體會,并沒有說一定要這樣用,各位可以做不同的嘗試。但有一點是肯定的,就是在
動手寫程序之前,事先對整個項目要有一個很好的規(guī)劃。
看老外的程序通常都是在fc里直接編程,而國內(nèi)的多是在fb里編程然后再在fc里調(diào)用。這兩種
方法各有什么優(yōu)缺點呢?
用fc能實現(xiàn)的任務(wù),就沒必要用fb。
fcfb本質(zhì)上一樣
調(diào)用fb相當于在fc里opndi,并使用ar2來索引變量
fb的優(yōu)點是數(shù)據(jù)塊里的變量可按名字使用,僅僅是顯示而已,執(zhí)行效率和fc一樣
補充:
實際上fc更加靈活,在fc里可以多次調(diào)用opndi訪問多個背景塊,ar2也可以做多種用途
而fb里的ar2原則上是不能使用了,調(diào)用fb還要指定數(shù)據(jù)塊,麻煩
補充2:
fb實際上是編程環(huán)境玩的一個魔法而已
plc的程序指令上實際是沒有fb和fc的區(qū)別的
調(diào)用fb或者fc最終都是轉(zhuǎn)化為uc或cc的調(diào)用指令
要觀察編程環(huán)境的這個魔法,只需寫一個帶參子程序(fb或fc),并在另一個塊里調(diào)用,全部
下載后,再更改子程序的參數(shù)接口,下載該子程序
(此時調(diào)用塊的調(diào)用指令已無效),然后上載調(diào)用塊
1,一般用fb編寫一些常用的控制程序,例如閥泵的控制等等,在接口得stat變量里面可以定義一些閥門得開度預(yù)設(shè)值(不通過輸入,直接在hmi上面可以控制的),并且可以把現(xiàn)場的故障信號寫入stat變量中,直接送到hmi上面。
2,而fc一般就是調(diào)用這些fb,給一些輸入輸出即可。
3,fc的所有輸入輸出必須賦值,而fb只要給出背景數(shù)據(jù)塊即可。
4,當然如果說我不需要什么過程的數(shù)值,那就fc好了,簡單。
如果大家對計算機編程有點了解的話,我覺得可以這樣理解:
1、fc象程序里的“函數(shù)”,直接調(diào)用,針對過程編程;
2、fb則象是“類”,具有接口、屬性以及方法,用于對“控制對象”編程,而fb的db就象是一個具體的“控制對象”的實例。
上一個:oppor17參數(shù)配置詳細參數(shù)(oppor17的具體參數(shù))
下一個:通過采用PLC和變頻器相結(jié)合實現(xiàn)多電機隨動控制系統(tǒng)的設(shè)計

Labthink | GC-6890氣相色譜儀(包裝檢測) 產(chǎn)品介紹
臺式電腦硬盤分區(qū)表類型選哪個,硬盤分區(qū)選擇哪個扇區(qū)如下圖
厚聲0201WMF8662TEE電阻
固態(tài)硬盤傳輸測速工具,固態(tài)硬盤怎么測速啊有什么軟件啊
變頻器故障判斷方法?
基礎(chǔ)放線放樣,看看這些大神怎么說的?
ssd和hhd區(qū)別,HHD和SSD的區(qū)別
RS-03K434JT在線查庫存,今日報價
機械加工精度與加工誤差
配置電腦的軟件,配置一臺電腦要些什么軟件
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos