西門子1200系列,PLC模塊代理商
西門子1200系列,PLC模塊代理商西門子1200系列,PLC模塊代理商
S7-300PLC中的FB和FC的分別?FB帶有自己的背景DB而FC沒有自己的背景DB,用FC和FB有什么分別呢,他們都能實現控制功能,到底該用FB還是該用FC,什么時候用FB什么時候用FC?
FB與FC沒有太大的差別,FB帶有背景數據塊,而FC沒有。所以FB帶上不同的數據塊,就可以帶上不同的參數值。這樣就可以用同一FB和不同的背景數據塊,被多個對象調用。
FC和FB像C中的函數,只不過FB可以生成靜態變量,在下次函數調用時數據可以保留,而FC的變量只在調用期內有效,下次調用又重新更換。每次調用FC的I/O區域必須要自己每次手動輸入,而FB就不要,省去不少麻煩,如果在上位機控制直接輸入DB控制地址就可以。
舉個例子來說,有50臺電機需要控制,這些電機除了參數不一樣,控制流程上是一樣的,每個
電機需要不同的參數去運行,運行中的過程參數要參與到下一次的控制過程中。
這個要求,用FC做的話,你需要針對不同的電機分配好DB塊,來逐一的確認參數地址,不能混
淆,保存和調用不能出錯,可以想象會有多麻煩。如果用FB來做呢?寫好控制過程和定義的參
數的調用就可以了。針對電機重復調用同一個FB,每次調用一個獨立的DB作為背景數據塊
,*不必理會背景DB中的數據是怎么存儲的。如果功能需要修改,只要修改該FB就行了。
還有其他的例子,比如PID、比如流量累計等等。
fc就相當于流水線,加工完就過去了!沒有任何紀錄。fb+db不但可以加工,還能記錄數據的。
一般有多個設備的時候,我們編寫一個fb然后多次調用,自動生成相應的db,這樣簡化了我們
的工作。
FB的變量聲明表中有靜態變量,并可以進行多級的參數傳遞,因此在調用FB時需生成背景數據塊,
而FC則沒有這些.FB可以替代FC,反之則不行.
多級的參數傳遞即所謂的MULTIINSTANCE,你可以把FB,DB做為另外一個FB中的函數來調用,
如在FB2中可以使用FB1中的參數,而終只生成一個背景數據塊。
Zane:
FB其實不會占用過多的資源,因為一個程序總是有這些變量的,無論是全局的還是局部變量。
我現在,大量使用的是FB,FC只用來編一些邏輯,及簡單的子程序,或僅僅幾個CALL指令調用
FB。使用FB及局部變量,更有利于程序的模塊化,增加程序的可移植性,就象西門子公司提供的FB
塊.
其實FB和FC根本的區別是:FB支持靜態變量,而FC只支持臨時變量。
靜態變量:是調用FB返回時,仍然要為FB保留此變量區,因此不會改變這一區域的數據值。臨
時變量卻沒有這樣的特性。
所以在FC中如果在對臨時數據變量處寫入確定的數據前,就去讀時就可能產生不可預見的結果
,而對于靜態變量卻不會,因為它會保留你上次寫入的結果。
萬泉河:
咱們編制的控制程序,FB極少用到。所說的用FB來替代FC實用的情況,更是少見,有誰曾經把
FC全部用光啦?恐怕系統都不能負擔了。
提供的標準庫中,FB倒是不少的。
如果你要編制的函數沒有用到靜態變量,恐怕沒有必要使用FB吧?我看高級語言中,雖然靜態
變量使用很容易,但實際用也很少啊。
俠客:我和zane的觀點一樣,我工作中也是把相同功能的工作編制成FB,然后在FC里調用,程
序修改起來方便,舉個例子:如果你有10臺電機,一般我們都要給他編制啟動,停止邏輯,報
警,復位邏輯。如果我編一個FB把這些邏輯都做好了,為每一個電機分配一個背景數據塊的話
,我在FC調用這些電機時,我只要把這些電機對應的I/O點添到FB的管腳上就可以了,*不再
用考慮他里面的邏輯了,如果你全是用FC編這些邏輯的話,1、你要寫10遍,2、如果你用粘貼
和復制的話,有可能有的I/O點忘記修改或其他一些錯誤,3、程序的結構性不強,維護起來浪費
時間。
所以,FB和FC結合起來用是的。
建議大家試試FB,當你理解了FB后,你會感到驚喜的
Zane:關于FB,FC的使用,我也是在具體的應用中一步一步地體會過來的,不過這僅是我個人
的看法與體會,并沒有說一定要這樣用,各位可以做不同的嘗試。但有一點是肯定的,就是在
動手寫程序之前,事先對整個項目要有一個很好的規劃。
看老外的程序通常都是在FC里直接編程,而國內的多是在FB里編程然后再在FC里調用。這兩種
方法各有什么優缺點呢?
用FC能實現的任務,就沒必要用FB。
FCFB本質上一樣
調用FB相當于在FC里opndi,并使用ar2來索引變量
FB的優點是數據塊里的變量可按名字使用,僅僅是顯示而已,執行效率和fc一樣
補充:
實際上FC更加靈活,在fc里可以多次調用opndi訪問多個背景塊,ar2也可以做多種用途
而fb里的ar2原則上是不能使用了,調用fb還要數據塊,麻煩
補充2:
FB實際上是編程環境玩的一個魔法而已
PLC的程序指令上實際是沒有FB和FC的區別的
調用FB或者FC終都是轉化為UC或CC的調用指令
要觀察編程環境的這個魔法,只需寫一個帶參子程序(FB或FC),并在另一個塊里調用,全部
1:作為西門子的分銷商,們的客戶涉及鋼鐵、石油、化工、水處理、電力、建筑和食品等行業。公司一貫保持良好的信譽,對客戶總是熱忱的提供服務,并且定期對客戶進行回訪,及時了解需求信息,以便及時調整銷售策略。
2:由于在客戶之中有很多系統成套商和工程商,所以經常有系統投標或整體成套的項目,客戶會對們提出更高的要求,如系統配置、現場服務等,這就要求們有更好的服務意識和技術水平,深入參與到實際的項目中,用們的特長取得更好的業績。
3:作為一家工程商和成套商,在自動化領域里們不僅占領相當部分的市場,并且在許多領域里作出了杰出的業績。具有獨立承包項目,完成交鑰匙工程的經驗和能力。并且獨立開發了鐵路運輸微機聯鎖控制系統和脫軌系統,在全各地有一百多條線路*的投入使用。
西門子PLC 移位指令及應用:可使用移位指令向左或向右逐位移動輸入 IN 的內容(另請參閱 CPU 寄存器)。向左移動 n 位相當于將輸入端 IN 的內容乘以 2 的 n 次冪(2 n);向右移動 n 位則相當于將輸入端 IN 的內容除以 2 的 n 次冪(2n)。例如,如果將等價于十進制值 3 的二進制數左移 3 位,將得到等價于十進制值 24 的二進制數。
西門子6ES7307-1BA00-0AA0接線方法及使用說明如果將等價于十進制值 16 的二進制數右移 2 位,則會得到等價于十進制值 4 的二進制數。可提供給輸入參數 N 的數值決定了移動相應值的位數。移位指令產生的空位將用零或符號位的信號狀態(0 表示正,1 表示負)來填補。*移動的位的信號狀態將裝入狀態字的 CC1 位中。狀態字的 CC0 和 OV 位將復位為 0。您可以使用跳轉指令判斷 CC1 位。
西門子PLC 移位指令根據不同參數調整以及數據類型,可用于SHR_I(整數右移)、SHR_DI(長整數右移)、SHL_W(字左移)、SHR_W(字右移)、SHL_DW(雙字左移)以及SHR_DW(雙字右移)。
初始值對于數據塊或新聲明的變量數據塊來說,組態的有效次數僅為1次,如果變量已經存在,實際值將不會隨著初始值的變化而發生改變,對于CPU來說,操作的數值為實際值,初始值雖然也可以下載到CPU中并可在線監控,但不會被CPU采用。
S7-300C緊湊型CPU選型表
CPU系列號 產品圖片
描述
選型型號
CPU 312C 緊湊型CPU,16kB RAM,24VDC電源,內置10DI/6DO,帶集能,MPI;包括插槽號標簽和2把鑰匙;CPU運行需要MMC 6ES7 312-5BD01-0AB0
CPU 313C 緊湊型CPU,32kB RAM,24VDC電源,內置24DI/16DO以及4AI/2AO,MPI;CPU運行需要MMC 6ES7 313-5BE01-0AB0
CPU 313C-2 PtP 緊湊型CPU,32kB RAM,24VDC電源,內置16DI/16DO,帶集能,MPI,RS422/485接口;CPU運行需要MMC 6ES7 313-6BE01-0AB0
CPU 313C-2 DP 緊湊型CPU,32kB RAM,24VDC電源,內置16DI/16DO,帶集能,MPI,PROFIBUS DP主/從接口;CPU運行需要MMC 6ES7 313-6CE01-0AB0
CPU 314C-2 PtP 緊湊型CPU,48kB RAM,24VDC電源,內置24DI/16DO/4AI/2AO,帶集能,MPI,RS422/485接口;CPU運行需要MMC 6ES7 314-6BF01-0AB0
CPU 314C-2 DP 緊湊型CPU,48kB RAM,24VDC電源,內置24DI/16DO/4AI/2AO,帶集能,MPI,PROFIBUS DP主/從接口;CPU運行需要MMC 6ES7 314-6CF01-0AB0
S7-300通用型CPU選型型號表
CPU系列號 產品圖片
描述
選型型號
CPU 312 16 kB RAM,24VDC電源,MPI;
CPU運行需要MMC
6ES7 312-1AD10-0AB0
CPU 314 48 kB RAM,24VDC電源,MPI;
CPU運行需要MMC
6ES7 314-1AF10-0AB0
CPU 315-2DP 128 kB RAM,24VDC電源,MPI,
PROFIBUS-DP主/從接口;CPU運行需要MMC
6ES7 315-2AG10-0AB0
CPU 315-2PN/DP 128 kB RAM,24VDC電源,MPI/PROFIBUS DP主/從組合接口;以太網/PROFINET接口; CPU運行需要MMC
6ES7315-2EG10-0AB0
CPU 317-2DP 512 kB RAM,24VDC電源,MPI,PROFIBUS-DP主/從接口;
CPU運行需要MMC
6ES7 317-2AJ10-0AB0
CPU 317-2PN/DP 512 kB RAM,24VDC電源,MPI/PROFIBUS-DP主/從組合接口;以太網/PROFINET接口; CPU運行需要MMC
6ES7 317-2EJ10-0AB0
CPU 318-2DP 512 kB RAM,24VDC電源,
PROFIBUS-DP主/從接口,MPI,存儲卡插槽,后備電池保護外殼;包括插槽號標簽和2 把鑰匙
6ES7 318-2AJ00-0AB0
S7-300F CPU選型型號表
CPU系列號 產品圖片
描述
選型型號
CPU 315F-2 DP SIMATIC S7-300F CPU;128kB
RAM,24VDC電源,MPI,PROFIBUS
DP 主/從接口;包括插槽號標簽和2把鑰匙6ES7 315-6FF01-0AB0
CPU 317F-2 DP
512 kB RAM,24VDC電源,MPI,
PROFIBUS-DP主/從接口;需要MMC6ES7 317-6FF00-0AB0
S7-300T CPU選型型號表
CPU系列號 產品圖片
描述
選型型號
CPU 315T-2DP 6ES7315-6TG CPU 317T-2DP 512 kB RAM,24 VDC電源,MPI,PROFIBUS-DP主/從接口,PROFIBUS DP(DRIVE) 接口;帶技術/運動控制功能;需要MMC 6ES7 317-6TJ10-0AB0 S7-300 SIPLUS CPU選型表
CPU系列號 產品圖片
描述
選型型號
SIPLUS CPU 312C 緊湊型CPU,16 kB RAM,24 V DC
電源, 內置10 DI/6 DO,帶集能,MPI ; 包括插槽號標簽和2 把鑰匙;需要MMC( 擴展溫度范圍和特殊介質負載)6AG1 312-5BD01-2AB0
SIPLUS CPU 313C 緊湊型CPU,32kB RAM,24VDC
電源,內置24DI/16DO/4AI/2AO,帶集能,MPI;需要MMC( 擴展溫度范圍和特殊介質負載)6AG1 313-5BE01-2AB0
SIPLUS CPU 314 48 kB RAM,24VDC電源,MPI;
需要MMC( 擴展溫度范圍和特殊介質負載)6AG1 314-1AF10-2AB0
SIPLUS CPU 315-2 DP 128 kB RAM,24VDC電源,MPI,
PROFIBUS DP主/從接口;需要
MMC( 擴展溫度范圍和特殊介質負載)6AG1 315-2AG10-2AB0
CPU有關附件選型表
系列號 產品圖片
描述
選型型號
微存儲卡 64 kB微存儲卡 6ES7 953-8LF11-0AA0 128 kB微存儲卡 6ES7 953-8LG11-0AA0 512 kB微存儲卡 6ES7 953-8LJ11-0AA0 2 MB微存儲卡 6ES7 953-8LL11-0AA0 4 MB微存儲卡 6ES7 953-8LM11-0AA0 8 MB微存儲卡 6ES7 953-8LP11-0AA0 MPI 電纜 用于通過MPI 連接SIMATIC S7 和
PG ;長度5m6ES7 901-0BF00-0AA0 前連接器,用于緊湊型 CPU 40 針,螺釘型前連接器 6ES7 392-1AM00-0AA0 40 針,彈簧型前連接器 6ES7 392-1BM01-0AA0