SIEMENS潯之漫智控技術(shù)(上海)有限公司
本公司銷售西門子自動(dòng)化產(chǎn)品,保證,價(jià)格優(yōu)勢(shì)
西門子PLC,西門子屏,西門子數(shù)控,西門子軟啟動(dòng),西門子以太網(wǎng)
西門子電機(jī),西門子變頻器,西門子直流調(diào)速器,西門子電線電纜
我公司大量供應(yīng),價(jià)格優(yōu)勢(shì),品質(zhì)保證
西門子326數(shù)字量輸出模塊西門子326數(shù)字量輸出模塊
模板的診斷及
---- S7-300有多種輸入/輸出模板具有智能功能:
對(duì)進(jìn)行 (診斷)
對(duì)進(jìn)行 (中斷)
診斷
---- 通過(guò)診斷可以確定模板所獲取的(例如數(shù)字量模板) 或模擬量處理 (例如模擬量模板) 是否正確。在診斷中,可參數(shù)化的診斷信息與不可參數(shù)化的診斷信息有區(qū)別。
可參數(shù)化的診斷信息:通過(guò)相應(yīng)的參數(shù)始能診斷信息的發(fā)送
不可參數(shù)化的診斷信息:不管是否參數(shù)化均可發(fā)送診斷信息
---- 如果發(fā)送診斷信息(例如無(wú)編碼器電源),則模板執(zhí)行一個(gè)診斷中斷。此時(shí)CPU中斷執(zhí)行用戶程序,或中斷執(zhí)行低優(yōu)先級(jí)的中斷,來(lái)處理相應(yīng)的診斷中斷功能塊(OB 82)。
數(shù)字量輸入/輸出模板 | |||
診斷信息 | 可能的錯(cuò)誤原因 | 診斷信息 | 可能的錯(cuò)誤原因 |
無(wú)編碼器電源 無(wú)外部輔助電壓 無(wú)內(nèi)部輔助電壓 熔斷器熔 斷模板參數(shù)錯(cuò)誤 | 編碼器電源過(guò)載編碼器 電源與 M 短路 模板 L 無(wú)電壓 模板 L 無(wú)電壓內(nèi)部模板 熔斷器損壞 內(nèi)部模板熔斷器損壞 傳向模板的參數(shù)錯(cuò)誤 | 看門狗故障 EPROM故障 RAM故障 丟失 | 高電磁模板損壞 高電磁模板損壞 高電磁模板損壞 中斷到達(dá)時(shí)間快于CPU處理時(shí)間 |
模擬量輸入模板 | |||
診斷信息 | 可能的錯(cuò)誤原因 | 診斷信息 | 可能的錯(cuò)誤原因 |
無(wú)外部電壓 組態(tài)/參數(shù)錯(cuò)誤 共模故障 斷線 | 模板L 無(wú)電壓 傳向模板的參數(shù)錯(cuò)誤 輸入(M)與測(cè)量電路的參考 電勢(shì)差UCM太高 編碼器連接阻抗太高模板和傳感器之間斷線通道開路 | 測(cè)量范圍下溢 測(cè)量范圍上溢 | 輸入值低壓下限 測(cè)量范圍4至20mA,1 至5V: - 傳感器極性接反 - 測(cè)量范圍選擇錯(cuò)誤輸入值超過(guò)上限
|
模擬量輸入模板 | |||
診斷信息 | 可能的錯(cuò)誤原因 | 診斷信息 | 可能的錯(cuò)誤原因 |
無(wú)外部電壓 組態(tài)/參數(shù)錯(cuò)誤 | 模板L 無(wú)電壓 傳向模板的參數(shù)錯(cuò)誤 | 對(duì)地短路 斷線 | 輸出過(guò)載輸出QV與MANA短路 執(zhí)行器阻抗太高模擬與執(zhí)行器之間斷線通道開路 |
中斷 | |||
通過(guò)中斷,可以對(duì)進(jìn)行和響應(yīng)。 數(shù)字量輸入模板 根據(jù)設(shè)置的參數(shù),模板可以對(duì)每個(gè)通道組進(jìn)行中斷,可以選擇變化的上升沿、下降沿或兩個(gè)沿均可。CPU中斷執(zhí)行用戶程序,或中斷執(zhí)行低優(yōu)先級(jí)的中斷,來(lái)處理相應(yīng)的診斷中斷功能塊 (OB 40)。模板可以對(duì)每個(gè)通道的一個(gè)中斷進(jìn)行暫存。 模擬量輸入模板 通過(guò)上限值和下限值定義一個(gè)工作范圍。模板將對(duì)測(cè)量值與這些值進(jìn)行比較。如果超限,則執(zhí)行中斷。 CPU中斷執(zhí)行用戶程序,或中斷執(zhí)行低優(yōu)先級(jí)的中斷,來(lái)處理相應(yīng)的診斷中斷功能塊 (OB 40)。 |
S7-300PLC中的FB和FC的分別?FB帶有自己的背景DB而FC沒(méi)有自己的背景DB,用FC和FB有什么分別呢,他們都能實(shí)現(xiàn)控制功能,到底該用FB還是該用FC,什么時(shí)候用FB什么時(shí)候用FC?
FB與FC沒(méi)有太大的差別,F(xiàn)B帶有背景數(shù)據(jù)塊,而FC沒(méi)有。所以FB帶上不同的數(shù)據(jù)塊,就可以帶上不同的參數(shù)值。這樣就可以用同一FB和不同的背景數(shù)據(jù)塊,被多個(gè)對(duì)象調(diào)用。
FC和FB像C中的函數(shù),只不過(guò)FB可以生成靜態(tài)變量,在下次函數(shù)調(diào)用時(shí)數(shù)據(jù)可以保留,而FC的變量只在調(diào)用期內(nèi)有效,下次調(diào)用又重新更換。每次調(diào)用FC的I/O區(qū)域必須要自己每次手動(dòng)輸入,而FB就不要,省去不少麻煩,如果在機(jī)控制直接輸入DB控制地址就可以。
舉個(gè)例子來(lái)說(shuō),有50臺(tái)電機(jī)需要控制,這些電機(jī)除了參數(shù)不一樣,控制流程上是一樣的,每個(gè)
電機(jī)需要不同的參數(shù)去運(yùn)行,運(yùn)行中的參數(shù)要參與到下一次的控制中。
這個(gè)要求,用FC做的話,你需要針對(duì)不同的電機(jī)分配好DB塊,來(lái)逐一的確認(rèn)參數(shù)地址,不能混
淆,保存和調(diào)用不能出錯(cuò),可以想象會(huì)有多麻煩。如果用FB來(lái)做呢?寫好控制和定義的參
數(shù)的調(diào)用就可以了。針對(duì)電機(jī)重復(fù)調(diào)用同一個(gè)FB,每次調(diào)用一個(gè)的DB作為背景數(shù)據(jù)塊
,完全不必理會(huì)背景DB中的數(shù)據(jù)是怎么存儲(chǔ)的。如果功能需要修改,只要修改該FB就行了。
還有其他的例子,比如PID、比如流量累計(jì)等等。
fc就相當(dāng)于流水線,加工完就過(guò)去了!沒(méi)有任何紀(jì)錄。fb+db不但可以加工,還能記錄數(shù)據(jù)的。
一般有多個(gè)設(shè)備的時(shí)候,我們編寫一個(gè)fb然后多次調(diào)用,自動(dòng)生成相應(yīng)的db,這樣簡(jiǎn)化了我們
的工作。
FB的變量聲明表中有靜態(tài)變量,并可以進(jìn)行多級(jí)的參數(shù)傳遞,因此在調(diào)用FB時(shí)需生成背景數(shù)據(jù)塊,
而FC則沒(méi)有這些.FB可以替代FC,反之則不行.
多級(jí)的參數(shù)傳遞即所謂的MULTIINSTANCE,你可以把FB,DB做為另外一個(gè)FB中的函數(shù)來(lái)調(diào)用,
如在FB2中可以使用FB1中的參數(shù),而終只生成一個(gè)背景數(shù)據(jù)塊。
Zane:
FB其實(shí)不會(huì)占用過(guò)多的資源,因?yàn)橐粋€(gè)程序總是有這些變量的,無(wú)論是全局的還是局部變量。
我現(xiàn)在,大量使用的是FB,F(xiàn)C只用來(lái)編一些邏輯,及簡(jiǎn)單的子程序,或僅僅幾個(gè)CALL指令調(diào)用
FB。使用FB及局部變量,更有利于程序的模塊化,程序的可移植性,就象西門子公司提供的FB
塊.
其實(shí)FB和FC根本的區(qū)別是:FB支持靜態(tài)變量,而FC只支持臨時(shí)變量。
靜態(tài)變量:是調(diào)用FB返回時(shí),仍然要為FB保留此變量區(qū),因此不會(huì)改變這一區(qū)域的數(shù)據(jù)值。臨
時(shí)變量卻沒(méi)有這樣的特性。
所以在FC中如果在對(duì)臨時(shí)數(shù)據(jù)變量處寫入確定的數(shù)據(jù)前,就去讀時(shí)就可能產(chǎn)生不可預(yù)見(jiàn)的結(jié)果
,而對(duì)于靜態(tài)變量卻不會(huì),因?yàn)樗鼤?huì)保留你上次寫入的結(jié)果。
萬(wàn)泉河:
咱們編制的控制程序,F(xiàn)B極少用到。所說(shuō)的用FB來(lái)替代FC實(shí)用的情況,更是少見(jiàn),有誰(shuí)曾經(jīng)把
FC全部用光啦?恐怕都不能負(fù)擔(dān)了。
提供的庫(kù)中,F(xiàn)B倒是不少的。
如果你要編制的函數(shù)沒(méi)有用到靜態(tài)變量,恐怕沒(méi)有必要使用FB吧?我看語(yǔ)言中,雖然靜態(tài)
變量使用很容易,但實(shí)際用也很少啊。
俠客:我和zane的觀點(diǎn)一樣,我工作中也是把相同功能的工作編制成FB,然后在FC里調(diào)用,程
序修改起來(lái)方便,舉個(gè)例子:如果你有10臺(tái)電機(jī),一般我們都要給他編制啟動(dòng),停止邏輯,報(bào)
警,復(fù)位邏輯。如果我編一個(gè)FB把這些邏輯都做好了,為每一個(gè)電機(jī)分配一個(gè)背景數(shù)據(jù)塊的話
,我在FC調(diào)用這些電機(jī)時(shí),我只要把這些電機(jī)對(duì)應(yīng)的I/O點(diǎn)添到FB的管腳上就可以了,完全不再
用考慮他里面的邏輯了,如果你全是用FC編這些邏輯的話,1、你要寫10遍,2、如果你用粘貼
和的話,有可能有的I/O點(diǎn)忘記修改或其他一些錯(cuò)誤,3、程序的結(jié)構(gòu)性不強(qiáng),起來(lái)浪費(fèi)
時(shí)間。
所以,F(xiàn)B和FC結(jié)合起來(lái)用是的。
建議大家試試FB,當(dāng)你理解了FB后,你會(huì)感到驚喜的
Zane:關(guān)于FB,F(xiàn)C的使用,我也是在具體的應(yīng)用中一步一步地體會(huì)過(guò)來(lái)的,不過(guò)這僅是我個(gè)人
的看法與體會(huì),并沒(méi)有說(shuō)一定要這樣用,各位可以做不同的嘗試。但有一點(diǎn)是肯定的,就是在
動(dòng)手寫程序之前,事先對(duì)整個(gè)項(xiàng)目要有一個(gè)很好的規(guī)劃。
看老外的程序通常都是在FC里直接編程,而國(guó)內(nèi)的多是在FB里編程然后再在FC里調(diào)用。這兩種
各有什么優(yōu)缺點(diǎn)呢?
用FC能實(shí)現(xiàn)的任務(wù),就沒(méi)必要用FB。