最好看免费观看高清视频hd_狠狠色综合久久丁丁_人妻欧美性爱_把腿抬高我要添你下面动态图_强奷有码在线播放_日韩mv欧美mv国产免费_国产黄色18免费观看_少妇翘臀进入白浆_亚洲av不卡三区_无码成人中文字幕不卡互動交流

網(wǎng)站地圖

您好,歡迎進(jìn)入蘇州漢測(cè)測(cè)量設(shè)備有限公司官網(wǎng)!
CNC數(shù)控行業(yè)在機(jī)測(cè)量品質(zhì)服務(wù)商

CNC On-machine Measurement Quality Service Provider

全國(guó)銷售熱線:

400-017-9165

行業(yè)百科
你當(dāng)前的位置漢測(cè)首頁 / 行業(yè)百科

詳解西門子PLC 中函數(shù)FC與FB的應(yīng)用與區(qū)別

發(fā)布日期:2022-12-13 09:48:18  點(diǎn)擊次數(shù):8009

一、功能性預(yù)算和功能性預(yù)算的區(qū)別


1.FB功能塊,帶后臺(tái)數(shù)據(jù)塊FC-function,相當(dāng)于function;


2.FB和FC塊都是子程序,可以被其他FB和FC塊或者OB、FB和FC塊調(diào)用。


二。FB和FC的主要區(qū)別


1.FB使用后臺(tái)數(shù)據(jù)塊作為存儲(chǔ)區(qū),F(xiàn)C沒有獨(dú)立的存儲(chǔ)區(qū),使用全局DB或M區(qū);


2.FB局部變量有STAT和TEMP,F(xiàn)C沒有STAT是因?yàn)闆]有自己的存儲(chǔ)區(qū),TEMP本身無法設(shè)置初始值;


本質(zhì)上,F(xiàn)B和FC的目的是一樣的。無論什么邏輯要求,F(xiàn)B和FC都可以實(shí)現(xiàn),只是實(shí)現(xiàn)的效率不同,這也和工程師的個(gè)人編程習(xí)慣有關(guān)。


三。FB塊的優(yōu)點(diǎn)


1.易于攜帶。對(duì)于控制邏輯相同、參數(shù)不同的被控對(duì)象,只要使用不同的背景DB,相同的FB塊就可以很方便;


2.多背景,減少重復(fù)工作,提高效率;


3.多次調(diào)用時(shí)修改參數(shù)方便;


4.有獨(dú)立的存儲(chǔ)區(qū);


四。FC塊的優(yōu)勢(shì)


1、小巧靈活,對(duì)于調(diào)用次數(shù)不多的程序更容易理解;


2、不占用額外的存儲(chǔ)資源;


動(dòng)詞 (verb的縮寫)FB和FC模塊引腳的定義


1.in-變量是外部輸入的,只能由這個(gè)塊讀取,不能由這個(gè)塊寫入;


2.OUT——是這個(gè)塊的輸出,可以被這個(gè)塊讀寫。其他程序只能讀取值,但不能通過引腳寫入值;


3.輸入輸出——輸入輸出變量。這個(gè)程序塊和其他程序可以讀寫這個(gè)管腳的值;


4.Temp-temporary變量,顧名思義,是臨時(shí)存儲(chǔ)數(shù)據(jù)的變量。這些臨時(shí)數(shù)據(jù)存儲(chǔ)在CPU工作存儲(chǔ)區(qū)的本地?cái)?shù)據(jù)堆棧(L stack)中;


5.STAT-它總是在PLC運(yùn)行期間存儲(chǔ)。S7在后臺(tái)數(shù)據(jù)塊中定義靜態(tài)變量(僅針對(duì)FB,F(xiàn)C和OB沒有靜態(tài)變量)。被調(diào)用的塊運(yùn)行時(shí),靜態(tài)變量可以被讀取或修改,被調(diào)用的塊結(jié)束后,靜態(tài)變量保留在數(shù)據(jù)塊中;


6.為什么定義的FB和FC塊反復(fù)調(diào)用后會(huì)混淆?


對(duì)于多次調(diào)用的程序塊,F(xiàn)B block建議更換調(diào)用不同的后臺(tái)DB,而FC需要保證使用的存儲(chǔ)地址不重復(fù),即每次調(diào)用時(shí),塊內(nèi)調(diào)用的地址不重復(fù);


七。為什么帶定時(shí)器或計(jì)數(shù)器的FB或FC調(diào)用一次ok,調(diào)用多次定時(shí)器或計(jì)數(shù)器就混淆了?


對(duì)于多次調(diào)用的FB和FC,如S7 TIMER和counter,需要在in接口中定義TIMER或Counter。每次調(diào)用FB或FC時(shí),都會(huì)給它分配一個(gè)不同的計(jì)時(shí)器或計(jì)數(shù)器編號(hào)。對(duì)于IEC定時(shí)器和計(jì)數(shù)器,需要在in接口中定義Block_DB。每次調(diào)用FB或FC時(shí),都需要為IEC定時(shí)器或計(jì)數(shù)器分配不同的DB模塊。


八。臨時(shí)變量引起的麻煩


臨時(shí)變量可用于組織快速OB、功能FC和功能塊FB。它們用于在執(zhí)行塊時(shí)臨時(shí)存儲(chǔ)數(shù)據(jù)。一旦塊執(zhí)行完成,堆棧的地址將為其他塊重新分配。該地址的數(shù)據(jù)將不會(huì)被清除,直到它被其他塊賦予新的值。應(yīng)遵循“先賦值后使用”的原則。


九、導(dǎo)致程序運(yùn)行異常的常見情況有幾種。


1.一個(gè)block程序時(shí)有時(shí)無的運(yùn)行,偶爾有一個(gè)或多個(gè)值不正常。


問題是“使用前賦值”必須遵循,否則,在每個(gè)掃描周期開始時(shí),TEMP的值沒有被顯式賦值,這個(gè)地址的值將是隨機(jī)的;


2.多個(gè)塊使用TEMP,單獨(dú)使用其中任何一個(gè)都是正常的,不能一起使用。


問題是TEMP在使用前未能賦值,block 1的TEMP中的值沒有清零,但是CPU運(yùn)行機(jī)制調(diào)用這個(gè)地址使用或者直接分配給block 2,導(dǎo)致程序混亂。由于內(nèi)存運(yùn)行機(jī)制沒有公開,這個(gè)分配過程看起來是隨機(jī)的,可能導(dǎo)致程序多次正常運(yùn)行,運(yùn)行一段時(shí)間后出現(xiàn)問題。只要遵循“第一


3.TEMP無法實(shí)現(xiàn)自鎖。


這個(gè)問題就是TEMP的值不能像M點(diǎn)或者Q點(diǎn)一樣保持上一個(gè)周期的值。TEMP在每個(gè)掃描周期都需要有明確的賦值,即先賦值(寫),再使用(讀寫)。解決方案是FB可以使用STAT靜態(tài)變量,F(xiàn)C可以使用M區(qū)或者全局DB地址;


X.摘要


1.不能先用,再分配;


2.不適合自鎖線圈;


3.不適用于上升沿和下降沿;


4.遇到上述情況,F(xiàn)C塊可以使用M區(qū)或者全局DB地址,F(xiàn)B塊也可以使用自己后臺(tái)DB的STAT靜態(tài)變量。在FB和FC中使用第一次調(diào)用的臨時(shí)變量時(shí),必須先給它賦值,也就是寫指令,而不是讀指令。

版權(quán)所有? 蘇州漢測(cè)測(cè)量設(shè)備有限公司 備案號(hào): 蘇ICP備19011283號(hào)-2