西門子PLC中如何使用FB、FC
FC,功能。因為是一個功能,如果這個功能在多處都能用到,那么這段FC就具有通用性。我們在程序的其他地方就可以調(diào)用,簡化代碼,這個是FC的模塊式的作用。當然,F(xiàn)C也可以作為我們被調(diào)用的一個子程序,用OB1去調(diào)用他,以實現(xiàn)結構化編程。
因此,得出結論,F(xiàn)C可以干兩個事:**,實現(xiàn)功能化編程。比如,我們有大車,小車,起升3個結構。我們就可以定義3個FC,跟這3個機構一一對應,然后用OB1依次調(diào)用。為什么這樣做,為什么不都放在OB1里。你也可以放OB1里,對段數(shù)比較少,很簡單的項目就把代碼都放在OB1里。如果功能,機構多了,較好還是分開來,這樣有利于程序的可讀可調(diào),符合規(guī)范。否則一個小故障都會導致你把OB1翻個遍,會很麻煩的。找準故障機構,在相應的FC里再去找會少看很多代碼。這個道理比較簡單。*二個事,就是我上面說的模塊化編程,我的描述不是很準確,因為是自己的總結。這個意思就是我們平常討論說的,把所有功能都寫到一個塊里,然后去調(diào)用整個塊。FC可以干這個事(當然,F(xiàn)B也可以干,區(qū)別后面說),新建好FC,確定好輸入,輸出接口,然后編寫邏輯,一個FC就搞定了。大家可以寫一些簡單的功能,來感受下FC。寫好FC之后,在主程序OB1或者其他FC里就可以調(diào)用該塊,程序界面右邊“FC BLOCK”里就有該塊,相信做到這里的話大家都應該知道怎么做了。我這里要說明其他問題。關于FC的編寫,這里就不得不說一些概念性的東西,F(xiàn)C是不帶背景數(shù)據(jù)塊的,就這句話。因為FC是不帶背景數(shù)據(jù)塊,所以我們在調(diào)用FC時,關于FC這些邏輯的計算完全靠的是我們輸入輸出接口上的這些地址位,給FC提供數(shù)據(jù)來源。我們在編寫FC的時候,需要注意的是,如果需要中間變量,考慮使用temp,臨時變量滿足需要。但是使用臨時變量需要注意的是,在一個周期沒有完成掃描時,A段程序調(diào)用FC1,使用了臨時變量X,改變了其值。那么B段程序再次調(diào)用FC1時,X的值已經(jīng)被改變了。在下個周期,才會釋放。這點要非常小心。這就是跟FB無法比的,沒有地址來存放數(shù)據(jù)。編程的時候,盡量多考慮使能。同樣,M寄存器也要慎用,比如,你FC里用了M2.0這個位表示中間狀態(tài)?,F(xiàn)在**次調(diào)用FC時,改變了M2.0的值,為ON?,F(xiàn)在又*二次調(diào)用FC,M2.0的值已經(jīng)為ON了,顯然這不是我們想要的。雖然你調(diào)用了兩次,分別賦了兩組輸入輸出變量,但是你FC內(nèi)的M終究是內(nèi)存里的那個M,你調(diào)用無數(shù)次都是跟這個M打交道。不知道我說清楚了沒。所以一般不要用這樣呀的中間變量,一定要用時,多考慮通過使能來改變調(diào)用時序。同樣,像定時器啊什么的,如果我們要使用,都需要定義一個in接口,為FC內(nèi)的定時器提供一個實實在在的通道。**次調(diào)用,我們用T21輸入。*二次調(diào)用,我們用T22輸入。這樣就不會出錯。否則就會像M那樣出錯。這個部分很重要。如果沒聽懂,不要緊。繼續(xù)聽FB。兩個比較下,應該就很清楚了。
FB,功能塊??梢愿傻氖?,就是FC能干的*二個事。只能干這個事,為什么要特別些呢,干嘛不讓FC一個人搞定就行了。是因為FB功能強悍些,每次調(diào)用他都需要一個DB來供他為邏輯計算存放數(shù)據(jù)。而不像我之前說的FC,需要輸入輸出接口地址來作為數(shù)據(jù)來源。每次調(diào)用FB時,需要指明一個DB,兩個相互配合。而DB中存放的數(shù)據(jù),也可以供全局享用。比如,有一個電機的加速功能塊,作用是調(diào)節(jié)電機的加速。我們需要輸入的參數(shù)是加速時間,較高速度兩個參數(shù),然后計算得出速度給定。這個時候我們較好用FB?,F(xiàn)有電機1,輸入加速時間2,較高速度20。那么2,20這個值放在哪呢,我們調(diào)用FB時,就可以放到DB電機1里去了?,F(xiàn)有電機2,加速時間3,較高速度30,。我們?nèi)匀徽{(diào)用這個FB,3和30放DB電機2里就可以了。如果用FC,也可以做這個塊。但是,沒有DB來存放這些數(shù)據(jù),就很不方便,也就失去了通用性。記住一點,簡單的功能集合用FC,復雜的用FB。保準不錯。
詞條
詞條說明
西門子PLC中的堆棧與嵌套是什么?有什么作用?堆棧和嵌套是在PLC應用程序設計中經(jīng)常碰到的兩個術語。1、堆棧堆棧就是貨倉,這是數(shù)字電子技術中借用的一個名詞。具體到PLC來說,堆棧就是在PLC中的一個特定存儲區(qū),用來存儲某些中間運算結果和存放程序斷點及數(shù)據(jù)。堆棧操作的特點是:**后出,后進先出。為一具有11個存儲單元的堆棧,較下面為棧底,較上面為棧**。把一個數(shù)據(jù)或運算結果送入堆棧,叫進棧或壓棧;把運
如何從裝載內(nèi)存中備份程序說明:對帶有集成EPROM的CPU,可以將裝載內(nèi)存的內(nèi)容復制到集成EPROM中,以確保在沒有后備電池的情況下發(fā)生電源故障或存儲器復位時數(shù)據(jù)不丟失。按以下步驟進行:1.??將CPU設置為STOP模式。2.??通過“View > Online”來打開已打開的項目的在線窗口?;蛲ㄟ^點擊工具條上的“Accessible Nodes”按鈕
西門子S7-1200 PLC如何與西門子smart觸摸屏連接?
西門子S7-1200 PLC如何與西門子smart觸摸屏連接?西門子SMART IE 系列的觸摸屏*,支持西門子S7200和S7-200 Smart PLC的通訊;西門子S7 1200PLC的項目如果可以使用SMART IE 系列的觸摸屏就可以解決項目成本問題。在此我們借助于一個CM1241的PTP模塊通過雙方都支持的modbus協(xié)議來實現(xiàn)。1.組態(tài)硬件2. S7-1200PLC的編程先在O
西門子直流伺服驅動系統(tǒng)故障維修案例有那些? 1.進線快速熔斷器熔斷的故障維修? ?????? 故障現(xiàn)象:一臺配套SIEMENS 8MC的臥式加工中心,在電網(wǎng)突然斷電后開機,系統(tǒng)無法起動。 分析與處理過程:經(jīng)檢查,該機床X軸伺服驅動器的進線快速熔斷器已經(jīng)熔斷。該機床的進給系統(tǒng)采用的是SIEMENS 6RA系列直流伺服驅動,對照驅
公司名: 重慶索利亞電氣設備有限公司
聯(lián)系人: 李工
電 話: 13795289873
手 機: 13795289873
微 信: 13795289873
地 址: 重慶九龍坡羅漢溝27號萬科023創(chuàng)意天地
郵 編:
網(wǎng) 址: a842643577.b2b168.com
SIEMENS6SE7024-1EB85-0AA0--SIEMENS代理商歡迎您 西門子電源模塊
SIEMENS6ES7422-7BL00-0AB0--SIEMENS代理商歡迎您 西門子變頻器
SIEMENS6ES73231BL000AA0--SIEMENS代理商歡迎您 西門子直流調(diào)速器
SIEMENS6FC5463-0FA20-0AB1--SIEMENS代理商歡迎您 西門子軟啟動器
SIEMENS6FC5263-0PP20-2AG0--SIEMENS代理商歡迎您 西門子電源模塊
SIEMENS6FC5095-0AA50-1LP1--SIEMENS代理商歡迎您 西門子直流調(diào)速器
SIEMENS6SE6420-2UD31-1CA1--SIEMENS代理商歡迎您 西門子變頻器
SIEMENS6AV6642-0BD01-3AX0--SIEMENS代理商歡迎您 西門子軟啟動器
公司名: 重慶索利亞電氣設備有限公司
聯(lián)系人: 李工
手 機: 13795289873
電 話: 13795289873
地 址: 重慶九龍坡羅漢溝27號萬科023創(chuàng)意天地
郵 編:
網(wǎng) 址: a842643577.b2b168.com