西門子S7-300模塊6ES7313-6CG04-0AB0
S7-300PLC中的FB和FC的分別?FB帶有自己的背景DB而FC沒有自己的背景DB,用FC和FB有什么分別呢,他們都能實(shí)現(xiàn)控制功能,到底該用FB還是該用FC,什么時(shí)候用FB什么時(shí)候用FC?
FB與FC沒有太大的差別,F(xiàn)B帶有背景數(shù)據(jù)塊,而FC沒有。所以FB帶上不同的數(shù)據(jù)塊,就可以帶上不同的參數(shù)值。這樣就可以用同一FB和不同的背景數(shù)據(jù)塊,被多個(gè)對(duì)象調(diào)用。
FC和FB像C中的函數(shù),只不過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è)例子來說,有50臺(tái)電機(jī)需要控制,這些電機(jī)除了參數(shù)不一樣,控制流程上是一樣的,每個(gè)
電機(jī)需要不同的參數(shù)去運(yùn)行,運(yùn)行中的過程參數(shù)要參與到下一次的控制過程中。
這個(gè)要求,用FC做的話,你需要針對(duì)不同的電機(jī)分配好DB塊,來逐一的確認(rèn)參數(shù)地址,不能混
淆,保存和調(diào)用不能出錯(cuò),可以想象會(huì)有多麻煩。如果用FB來做呢?寫好控制過程和定義的參
數(shù)的調(diào)用就可以了。針對(duì)電機(jī)重復(fù)調(diào)用同一個(gè)FB,每次調(diào)用一個(gè)獨(dú)立的DB作為背景數(shù)據(jù)塊
,完全不必理會(huì)背景DB中的數(shù)據(jù)是怎么存儲(chǔ)的。如果功能需要修改,只要修改該FB就行了。
還有其他的例子,比如PID、比如流量累計(jì)等等。
fc就相當(dāng)于流水線,加工完就過去了!沒有任何紀(jì)錄。fb+db不但可以加工,還能記錄數(shù)據(jù)的。
一般有多個(gè)設(shè)備的時(shí)候,我們編寫一個(gè)fb然后多次調(diào)用,自動(dòng)生成相應(yīng)的db,這樣簡化了我們
的工作。
FB的變量聲明表中有靜態(tài)變量,并可以進(jìn)行多級(jí)的參數(shù)傳遞,因此在調(diào)用FB時(shí)需生成背景數(shù)據(jù)塊,
而FC則沒有這些.FB可以替代FC,反之則不行.
多級(jí)的參數(shù)傳遞即所謂的MULTIINSTANCE,你可以把FB,DB做為另外一個(gè)FB中的函數(shù)來調(diào)用,
如在FB2中可以使用FB1中的參數(shù),而終只生成一個(gè)背景數(shù)據(jù)塊。
Zane:
FB其實(shí)不會(huì)占用過多的資源,因?yàn)橐粋€(gè)程序總是有這些變量的,無論是全局的還是局部變量。
我現(xiàn)在,大量使用的是FB,F(xiàn)C只用來編一些邏輯,及簡單的子程序,或僅僅幾個(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í)變量卻沒有這樣的特性。
所以在FC中如果在對(duì)臨時(shí)數(shù)據(jù)變量處寫入確定的數(shù)據(jù)前,就去讀時(shí)就可能產(chǎn)生不可預(yù)見的結(jié)果
,而對(duì)于靜態(tài)變量卻不會(huì),因?yàn)樗鼤?huì)保留你上次寫入的結(jié)果。
萬泉河:
咱們編制的控制程序,F(xiàn)B極少用到。所說的用FB來替代FC實(shí)用的情況,更是少見,有誰曾經(jīng)把
FC全部用光啦?恐怕系統(tǒng)都不能負(fù)擔(dān)了。
提供的標(biāo)準(zhǔn)庫中,F(xiàn)B倒是不少的。
如果你要編制的函數(shù)沒有用到靜態(tài)變量,恐怕沒有必要使用FB吧?我看高級(jí)語言中,雖然靜態(tài)
變量使用很容易,但實(shí)際用也很少啊。
俠客:我和zane的觀點(diǎn)一樣,我工作中也是把相同功能的工作編制成FB,然后在FC里調(diào)用,程
序修改起來方便,舉個(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、如果你用粘貼
和復(fù)制的話,有可能有的I/O點(diǎn)忘記修改或其他一些錯(cuò)誤,3、程序的結(jié)構(gòu)性不強(qiáng),維護(hù)起來浪費(fèi)
時(shí)間。
所以,F(xiàn)B和FC結(jié)合起來用是的。
建議大家試試FB,當(dāng)你理解了FB后,你會(huì)感到的
Zane:關(guān)于FB,F(xiàn)C的使用,我也是在具體的應(yīng)用中一步一步地體會(huì)過來的,不過這僅是我個(gè)人
的看法與體會(huì),并沒有說一定要這樣用,各位可以做不同的嘗試。但有一點(diǎn)是肯定的,就是在
動(dòng)手寫程序之前,事先對(duì)整個(gè)項(xiàng)目要有一個(gè)很好的規(guī)劃。
看老外的程序通常都是在FC里直接編程,而國內(nèi)的多是在FB里編程然后再在FC里調(diào)用。這兩種
方法各有什么優(yōu)缺點(diǎn)呢?
用FC能實(shí)現(xiàn)的任務(wù),就沒必要用FB。
FCFB本質(zhì)上一樣
調(diào)用FB相當(dāng)于在FC里opndi,并使用ar2來索引變量
FB的優(yōu)點(diǎn)是數(shù)據(jù)塊里的變量可按名字使用,僅僅是顯示而已,執(zhí)行效率和fc一樣
補(bǔ)充:
實(shí)際上FC更加靈活,在fc里可以多次調(diào)用opndi訪問多個(gè)背景塊,ar2也可以做多種用途
而fb里的ar2原則上是不能使用了,調(diào)用fb還要數(shù)據(jù)塊,麻煩
補(bǔ)充2:
FB實(shí)際上是編程環(huán)境玩的一個(gè)魔法而已
PLC的程序指令上實(shí)際是沒有FB和FC的區(qū)別的
調(diào)用FB或者FC終都是轉(zhuǎn)化為UC或CC的調(diào)用指令
要觀察編程環(huán)境的這個(gè)魔法,只需寫一個(gè)帶參子程序(FB或FC),并在另一個(gè)塊里調(diào)用,全部
下載后,再更改子程序的參數(shù)接口,下載該子程序
(此時(shí)調(diào)用塊的調(diào)用指令已無效),然后上載調(diào)用塊
1,一般用FB編寫一些常用的控制程序,例如閥泵的控制等等,在接口得stat變量里面可以定義一些閥門得開度預(yù)設(shè)值(不通過輸入,直接在HMI上面可以控制的),并且可以把現(xiàn)場(chǎng)的故障信號(hào)寫入stat變量中,直接送到HMI上面。
2,而FC一般就是調(diào)用這些FB,給一些輸入輸出即可。
3,F(xiàn)C的所有輸入輸出必須賦值,而FB只要給出背景數(shù)據(jù)塊即可。
4,當(dāng)然如果說我不需要什么過程的數(shù)值,那就FC好了,簡單。
如果大家對(duì)計(jì)算機(jī)編程有點(diǎn)了解的話,我覺得可以這樣理解:
1、FC象程序里的“函數(shù)”,直接調(diào)用,針對(duì)過程編程;
2、FB則象是“類”,具有接口、屬性以及方法,用于對(duì)“控制對(duì)象”編程,而FB的DB就象是一個(gè)具體的“控制對(duì)象”的實(shí)例。
西門子S7-200PLC具有脈沖輸出功能,在運(yùn)動(dòng)控制系統(tǒng)中,伺服電機(jī)和步進(jìn)電機(jī)是很重要的精確定位裝置,而控制伺服電機(jī)和步進(jìn)電機(jī)需要使用脈沖輸出。S7-200系列PLC可以輸出20--100KHz的脈沖。使用PTO和PWM指令可以輸出普沖和脈寬調(diào)制輸出。通過smb66-75,smb166-175來控制Q0.0的輸出,通過smb76-85,smb176-185來控制Q0.1的脈沖輸出。
控制伺服電機(jī)
伺服電機(jī)是運(yùn)動(dòng)控制中一個(gè)很重要的器件,通過它可以進(jìn)行精確的位置控制。它一般帶有編碼器,通過高速計(jì)數(shù)功能,中斷功能和脈沖輸出功能,構(gòu)成一個(gè)閉環(huán)系統(tǒng),來進(jìn)行精確的位置控制。
PLC的脈沖輸出
由于PLC在進(jìn)行高速輸出時(shí)需要使用晶體管輸出。當(dāng)將高速輸出點(diǎn)作為普通輸出而帶電感性負(fù)載時(shí),例如電磁閥,繼電器線圈等,一定要注意,在負(fù)載端加保護(hù),例如并聯(lián)二極管等。以保護(hù)輸出點(diǎn)。
PLC的程序分為主程序、子程序和中斷程序,本文詳細(xì)的介紹了西門子S7-200系列PLC中斷程序的編程方法。具體的講解不同種類的中斷程序的實(shí)現(xiàn)方法。熟練的使用中斷程序是PLC編程的一項(xiàng)必要技能。相信本文會(huì)對(duì)廣大PLC編程人員有所幫助。S7-200的中斷包括定時(shí)中斷,IO中斷和通訊中斷。其中IO中斷可以通過外部的IO點(diǎn)來觸發(fā)中斷子程序??梢栽O(shè)置成幾種模式,例如上升沿觸發(fā),下降沿觸發(fā)等。定時(shí)中斷是固定時(shí)間間隔便觸發(fā)一次中斷程序。通訊中斷可以在數(shù)據(jù)接收或發(fā)送完成時(shí)或報(bào)文接收完成時(shí)觸發(fā)中斷程序。
定時(shí)中斷功能
定時(shí)中斷是測(cè)量周期的一個(gè)很重要的工具。在使用編碼器測(cè)速度時(shí)也要用到定時(shí)中斷,即用周期和脈沖數(shù)的比例關(guān)系來計(jì)算速度。定時(shí)中斷的中斷號(hào)為10(定時(shí)中斷0),11(定時(shí)中斷1),21(定時(shí)器T32中斷),22(定時(shí)器T96中斷)。
通訊中斷的實(shí)現(xiàn)
S7-200的自由口通訊需要設(shè)置相應(yīng)的中斷來判斷通訊是否正常。通訊分為三種即字符發(fā)送和接受完成,報(bào)文接受完成。其中斷號(hào)為口1為8,9,23,口2為25,26,24
S7-300主要支持的硬件有:
(1)電源(PS)
電源模塊提供了機(jī)架和CPU內(nèi)部的供電電源,置于1號(hào)機(jī)架的位置。
(2)*處理器(CPU)
CPU存儲(chǔ)并處理用戶程序,為模塊分配參數(shù),通過嵌入的MPI總線處理編程設(shè)備和PC、模塊、其它站點(diǎn)之間的通訊,并可以為進(jìn)行DP主站或從站操作裝配一個(gè)集成的DP接口。置于2號(hào)機(jī)架。
(3)接口模塊(IM)
接口模塊將各個(gè)機(jī)架連接在一起。不同型號(hào)的接口模塊可支持機(jī)架擴(kuò)展或PROFIBUS DP連接。置于3號(hào)機(jī)架,沒有接口模塊時(shí),機(jī)架位置為空。
(4)信號(hào)模塊(SM)
通常稱為I/O(輸入/輸出)模塊。測(cè)量輸入信號(hào)并控制輸出設(shè)備。信號(hào)模塊可用于數(shù)字信號(hào)和模擬信號(hào),還可用于進(jìn)行連接,如傳感器和啟動(dòng)器的連接。
(5)功能模塊(FM)
用于進(jìn)行復(fù)雜的、重要的但獨(dú)立于CPU的過程,如:計(jì)算、位置控制和閉環(huán)控制。
(6)通訊處理器(CP)
模塊化的通訊處理器通過連接各個(gè)SIMATIC站點(diǎn),如:工業(yè)以太網(wǎng),PROFIBUS或串行的點(diǎn)對(duì)點(diǎn)連接等。
后三個(gè)模塊在機(jī)架上可以任意放置,系統(tǒng)可以自動(dòng)分配模塊的地址。
需要說明的是,每個(gè)機(jī)架zui多只能安裝8個(gè)信號(hào)模塊、功能模塊或通訊模塊。如果系統(tǒng)任務(wù)超過了8個(gè),則可以擴(kuò)展機(jī)架(每個(gè)帶CPU的*機(jī)架可以擴(kuò)展3個(gè)機(jī)架)。
各個(gè)模塊的性能具體如下:
(1)電源模塊(PS)
電源模塊用于將SIMATIC S7-300 連接到120/230V AC電源。
(2)CPU模塊
各種CPU 有各種不同的性能,例如,有的CPU 上集成有輸入/輸出點(diǎn),有的CPU上集成有PROFI- BUS-DP通訊接口等。
以上只是列出了部分指標(biāo),設(shè)計(jì)時(shí)還要參看相應(yīng)的手冊(cè)。
(3)接口模塊
接口模塊用于多機(jī)架配置時(shí)連接主機(jī)架(CR)和擴(kuò)展機(jī)架 (ER)。S7-300通過分布式的主機(jī)架(CR)和3個(gè)擴(kuò)展機(jī)架(ER),可以操作多達(dá)32個(gè)模塊。運(yùn)行時(shí)無需風(fēng)扇。
(4)信號(hào)模塊
信號(hào)模塊用于數(shù)字量和模擬量輸入/輸出,又分DI/DO(數(shù)字量輸入/輸出)和AI/AO(模擬量輸入/輸出)模塊。
①數(shù)字量輸入模塊:
②數(shù)字量輸出模塊:
③數(shù)字輸入/輸出模塊:
④繼電器輸出模塊:
⑤模擬量輸入模塊
⑥模擬量輸出模塊:
⑦模擬量輸入/輸出模塊:
(5)功能模塊
西門子S7-300功能模塊模塊適用于各種場(chǎng)合,功能塊的所有參數(shù)都在STEP7中分配,操作方便,而且不必編程。包括:計(jì)數(shù)器模塊(FM350),定位模塊(FM351),凸輪控制模塊(FM352),閉環(huán)控制模塊(FM355)等許多用于特定場(chǎng)合的模塊。
(6)通訊模塊(CP)
S7-300通訊模塊是用于連接網(wǎng)絡(luò)和點(diǎn)對(duì)點(diǎn)通訊用的模塊,比如:用于S7-300和SIMATIC C7通過PROFIBUS通訊的模塊CP343-5,用于S7-300和工業(yè)以網(wǎng)通訊的模塊CP343-1及CP343-1 IT等
因此,該CPU特別適用于通過軟件實(shí)現(xiàn)的技術(shù)功能任務(wù),例如:
通過使用 SIMATIC S7-PDIAG 加強(qiáng)過程診斷能力。
通過CPU內(nèi)置的通訊設(shè)備,無需其它組件即可實(shí)現(xiàn)網(wǎng)絡(luò)自動(dòng)化解決方案
CPU 319-3 PN/DP 裝配有:
電源模板
6ES7 307-1BA00-0AA0 電源模塊(2A)
6ES7 307-1EA01-0AA0 電源模塊(5A)
6ES7 307-1KA02-0AA0 電源模塊(10A)
SIMATICS7-300, CPU *升級(jí)訂貨號(hào)*
6ES7312-1AE14-0AB0 / CPU312, 32KB
6ES7312-5BF04-0AB0 / CPU312C, 32KB
6ES7313-5BG04-0AB0 / CPU313C,128KB
6ES7313-6BG04-0AB0 / CPU313C-2PtP
6ES7313-6CG04-0AB0 / CPU313C-2DP, 128KB
6ES7314-1AG14-0AB0 / CPU314, 128KB
6ES7314-6CH04-0AB0 / CPU314C-2DP,192KB
6ES7314-6BH04-0AB0 / CPU314C-2PTP 192KB
6ES7314-6EH04-0AB0 / CPU314C-2PN/DP,192KB
6ES7315-2AH14-0AB0 / CPU315-2DP, 256KB
6ES7315-2EH14-0AB0 / CPU315-2PN/DP, 384KB
6ES7317-2AK14-0AB0 / CPU317-2DP, 1MB
6ES7317-2EK14-0AB0 / CPU317-2PN/DP, 1MB
6ES7318-3EL01-0AB0 / CPU319-3PN/DP, 2MB
產(chǎn)品訂貨號(hào):
一、S7-300 PLC的種類
種類 |
圖片 |
CPU系列號(hào) |
功能簡介 |
S7-300 通用型 |
|
CPU 312 CPU 314 CPU 315-2 DP CPU 315-2 PN/DP CPU 317-2 DP CPU 317-2 PN/DP CPU 318-2 DP |
|
S7-300C 緊湊型 |
|
CPU 312C
CPU 313C |
|
S7-300F 故障安全型 |
|
CPU 315F-2 DP CPU 315F-2 PN/DP CPU 317F-2 DP CPU 317F-2 PN/DP |
|
S7-300T 技術(shù)型 |
|
CPU 315T-2 DP CPU 317T-2 DP |
|
SIPLUS S7-300 寬溫度型 |
|
SIPLUS CPU 312C SIPLUS CPU 313C SIPLUS CPU 314 SIPLUS CPU 315-2 DP SIPLUS CPU 315-2 PN/DP SIPLUS CPU 317-2 PN/DP SIPLUS CPU 315F-2 DP SIPLUS CPU 317F-2 DP |
|
一、S7-300 PLC系統(tǒng)組成
系統(tǒng)組成:
電源模塊 (PS)
(選件) |
|
為S7-300/ET 200M 提供電源
將120/230V交流電壓轉(zhuǎn)變到所需要的24伏直流工作電壓 輸出電流2A、5A、10A |
*處理單元 (CPU) |
|
多種CPU,有各種不同的性能,例如,有的CPU 上集成有輸入/輸出點(diǎn),有的CPU上集成有PROFIBUS-DP通訊接口等。 |
接口模塊 (IM) |
|
用于連接多機(jī)架配置的 SIMATIC S7-300 的機(jī)架。 zui多配置4個(gè)機(jī)架。每個(gè)機(jī)架zui多可以插入8個(gè)模塊。在4個(gè)機(jī)架上zui多可安裝32個(gè)模塊。
IM 365
IM 365/IM 361 |
信號(hào)模塊 (SM) |
|
用于數(shù)字量和模擬量輸入/輸出 |
通訊處理器 (CP) |
|
用于連接網(wǎng)絡(luò)和點(diǎn)對(duì)點(diǎn)連接 |
功能模塊 (FM) |
|
用于高速計(jì)數(shù),定位操作 (開環(huán)或閉環(huán)控制) 和閉環(huán)控制。 |
存儲(chǔ)器 |
|
MMC |
DIN標(biāo)準(zhǔn)導(dǎo)軌 |
|
用于模塊安裝 |
前連接器 |
|
用于簡單而方便地連接傳感器和執(zhí)行器
更換模塊時(shí)允許保持接線
采用編碼元件以避免更 分為20針、40針兩種 |