西門子PLC模塊CPU221中央處理器 西門子PLC模塊CPU221中央處理器
潯之漫智控技術(shù)有限公司 上海詩慕自動化設(shè)備有限公司
本公司銷售西門子自動化產(chǎn)品,*,,質(zhì)量保證,,價格優(yōu)勢
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),,西門子軟啟動,,西門子以太網(wǎng)
西門子電機,西門子變頻器,,西門子直流調(diào)速器,,西門子電線電纜
我公司大量現(xiàn)貨供應(yīng),價格優(yōu)勢,,*,,德國*
在狀態(tài)圖的“新值(New Value)”欄,可以輸入所需要的信號值進(jìn)行狀態(tài)的強制更新,。為了運行的安全,,建議信號強制在PLC處于STOP狀態(tài)時進(jìn)行,為此,,需要在主菜單“調(diào)試(Debug)”下選擇“在STOP狀態(tài)下強制輸出(Write-Force Outputs in STOP)”選項,。
在輸入了新的強制值后,通過單擊工具條中的狀態(tài)強制(Force)按鈕,,可以對的信號進(jìn)行強制操作,;單擊工具條中的狀態(tài)強制解除( Unforced)按鈕,可以解除的信號的強制操作,;單擊工具條中的所有信號強制解除( All unforced)按鈕,,可以解除所有信號的強制操作。
強制和取消強制工具條按鈕選項僅在用于帶有V,、M,、AI和AQ內(nèi)存類型的字節(jié)、字和雙字長度時才能使用,。
可以選擇主菜單命令“調(diào)試( Debug)”下的各種選項實現(xiàn)以下調(diào)試功能:
“單次讀取( Single Read)”:獲得“瞬態(tài)圖”,,即只對全部狀態(tài)進(jìn)行一次更新,而不從PLC連續(xù)獲取狀態(tài)更新信息,。
“全部寫入( Writ All)”:可以在“新值”全部改動完成后,,使用“全部寫入”,一次性將所改動的值全部傳送至PLC,。因此,,可以通過本操作,,通過向程序?qū)懭胍唤M信號,從而模擬一組控制條件或?qū)崿F(xiàn)一組控制動作,。
“強制( Force)”:同工具條中的狀態(tài)強制(Force)按鈕,,可將信號強制為某一數(shù)值。
“讀取全部強制( Read All Force)”:將全部信號強制為設(shè)定數(shù)值,。
“全部取消強制( Unforced All)”:同工具條中的所有信號強制解除(All unforced)按鈕,,可以解除所有信號的強制操作。
FB--功能塊,,帶背景數(shù)據(jù)塊
FC--功能,,相當(dāng)于函數(shù)
他們之間的主要區(qū)別是:FC使用的是共享數(shù)據(jù)塊,F(xiàn)B使用的是背景數(shù)據(jù)塊
舉個例子,,如果您要對3個參數(shù)相同的電機進(jìn)行控制,,那么只需要使用FB編程外加3個背景數(shù)據(jù)塊就可以了,但是,,如果您使用FC,,那么您需要不斷的修改共享數(shù)據(jù)塊,否則會導(dǎo)致數(shù)據(jù)丟失,。FB確保了3個電機的參數(shù)互不干擾,。
FB,FC本質(zhì)都是一樣的,都相當(dāng)于子程序,,可以被其他程序調(diào)用(也可以調(diào)用其他子程序),。他們的區(qū)別是,F(xiàn)B與DB配合使用,,DB中保存著FB使用的數(shù)據(jù),,即使FB退出后也會一直保留。FC就沒有一個的數(shù)據(jù)塊來存放數(shù)據(jù),,只在運行期間會被分配一個臨時的數(shù)據(jù)區(qū),。在實際編程中,是使用FB還是FC,,要看實際的需要決定,。FB的好處樓上以講得很好了。
FB與FC沒有太大的差別,,F(xiàn)B帶有背景數(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沒有太大的差別,,F(xiàn)B帶有背景數(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塊,來逐一的確認(rèn)參數(shù)地址,,不能混
淆,,保存和調(diào)用不能出錯,可以想象會有多麻煩。如果用FB來做呢,?寫好控制過程和定義的參
數(shù)的調(diào)用就可以了,。針對電機重復(fù)調(diào)用同一個FB,每次調(diào)用一個獨立的DB作為背景數(shù)據(jù)塊
,,*不必理會背景DB中的數(shù)據(jù)是怎么存儲的,。如果功能需要修改,只要修改該FB就行了,。
還有其他的例子,,比如PID、比如流量累計等等,。
fc就相當(dāng)于流水線,,加工完就過去了!沒有任何紀(jì)錄,。fb+db不但可以加工,,還能記錄數(shù)據(jù)的。
一般有多個設(shè)備的時候,,我們編寫一個fb然后多次調(diào)用,,自動生成相應(yīng)的db,這樣簡化了我們
的工作,。
FB的變量聲明表中有靜態(tài)變量,并可以進(jìn)行多級的參數(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,,F(xiàn)C只用來編一些邏輯,及簡單的子程序,,或僅僅幾個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é)果,。
萬泉河:
咱們編制的控制程序,,F(xiàn)B極少用到,。所說的用FB來替代FC實用的情況,更是少見,,有誰曾經(jīng)把
FC全部用光啦,?恐怕系統(tǒng)都不能負(fù)擔(dān)了。
提供的標(biāo)準(zhǔn)庫中,,F(xiàn)B倒是不少的,。
如果你要編制的函數(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)性不強,,維護(hù)起來浪費