日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

當前位置:機電之家首頁 >> PLC技術>> plc應用 >> 西門子plc應用 >> 西門子plc fc和fb用法講解
西門子plc fc和fb用法講解

很多新手都會問,fc和fb到底什么區(qū)別呢?該怎么使用呢?其實很簡單啦,仔細閱讀下面內容就能理解哦!

fc塊講解

首先,我們從兩者的名字就可以進行區(qū)分,可以用一個公式即fb=fc+db來表示,fb是具有db背景塊的特殊fc,也就是說fb具有fc的功能,同時擁有一個db塊。fc全稱是function函數(shù)。

注:db塊 全稱datablock 數(shù)據(jù)存儲區(qū)域,類似數(shù)據(jù)庫中關系表結構。

那首先什么函數(shù)呢?

函數(shù)

函數(shù) f(x)就像機器或黑箱,給予輸入值x便產生唯一輸出值f (x)。x是自變量,f(x)是因變量。舉一個我們常見的公式,求圓的面積,s=π*r*r。輸入r值,便得到圓的面積s,這就是最簡單的函數(shù),r是自變量,s是因變量。

圖一 變量聲明

圖2 fc函數(shù)內容

bbbbb:輸入型參數(shù),提供外部輸入接口。類似于函數(shù)f(x)中的x,是一個自變量。bbbbb類型參數(shù),是外部變量的拷貝副本,修改其值,外部變量無變化。假設在程序中修改r的值,從圖2編譯信息發(fā)現(xiàn),傳遞的并不是實際參數(shù),所以修改外部接口變量無變化。

output:輸出型參數(shù),提供外部輸出接口。該類型參數(shù)由于直接引用外部變量地址,可以修改其值。

inout:輸入輸出型參數(shù),既做輸入又做輸出。同output類型一樣,可以修改外部接口變量的值。在適當?shù)胤剑褂胕nout類型變量,可以減少占用的變量聲明空間。

temp:局部變量,在函數(shù)內部使用,不提供外部的接口。我們常常把temp變量用于數(shù)據(jù)轉換的中間值,或者用于循環(huán)變量,比如用于for 或者while循環(huán)。由于temp是局部變量,它的值是隨機,使用必須初始化,對其賦值。

constant:常量,在函數(shù)內部使用,意思是恒定不變的變量,只能在聲明處修改。比如我們這里的π圓周率是固定不變的,可能調用的地方有幾十處,若程序中直接引用3.1415,后期修改,需要把每個地方都修改過去,很麻煩。在聲明處修改π值,所有函數(shù)中的π變量都會修改。假設我們在程序中修改π常量,從圖2中編譯信息可以發(fā)現(xiàn),常量不能在程序中修改。

return:函數(shù)返回值,存儲計算結果。默認為無返回值,所以聲明為void。在我們的數(shù)學知識里面函數(shù)應該是要有返回值的,但是在tia portal可以沒有返回值,我們把這種無返回類型的函數(shù),稱為procedure(過程)。我們這里設置為real類型,返回圓的面積。有讀者可能有疑問,return變量和output類型都可以用來存儲計算結果,兩者的區(qū)別是什么呢?其中有一個顯著的區(qū)別是output類型輸出參數(shù)可以聲明若干個,但是return類型的返回變量,只能聲明一個,且變量名字無法修改。其他區(qū)別,等講解scl的時候,再做解答。

在main[ob1]程序塊里面拖動fc1函數(shù),得到如下運行結果:

圖3 程序運行結果

圖4 db塊值監(jiān)控

程序解讀:

由于plc程序是從左到右執(zhí)行,所以"func"函數(shù)塊的左側是輸入接口,右側是輸出接口。觀察函數(shù)塊的內部變量名字,發(fā)現(xiàn)和函數(shù)中的聲明一一對應,除了;變量。ret_val是return接口;變量的別名,由于每個函數(shù)的名字都不一樣,所以統(tǒng)一用;作為函數(shù)返回值變量的名稱。

程序一是對模擬量值進行轉換,采樣的分辨率下限是0,上限為27648,采樣的數(shù)字量值15000,通過調用指定函數(shù)把轉換出來的值放在變量<"data".電壓值>;,得到轉換值為0.5425347.

把變量<"data".電壓值>;放在fc函數(shù)的inout接口中,利用plc的掃描周期,通過;db塊可以看到最終值5.425347。若不放在inout,把其放在bbbbb接口,我們必須在output接口再聲明一個變量,用于存儲最終的轉換值。這樣聲明就可以節(jié)省plc的內存空間了,同樣使程序看起來更簡潔。

fc函數(shù)塊的代碼內容比較簡單,請自行閱讀理解,若有問題,可以留言。

fb塊講解

要了解fb和fc的區(qū)別,讓我們剖析一下這兩個模塊的變量聲明結構:

圖5 fb塊變量聲明

圖6 fb占用db背景塊內部變量

通過fb和fc的變量聲明,我們可以看到三個明顯的區(qū)別:

1、fb塊增加了static靜態(tài)區(qū)聲明

2、fb增加了保持性和可訪問性選擇

上述兩個區(qū)別正好說明了fb=fc+db公式的成立,因為這兩個特性是db塊才有的特性哦。我們在普通db塊里面聲明的變量都在static區(qū)聲明,不信的話,你可以打開來看看。我們可以通過訪問fb擁有的背景塊來訪問fb中變量的值。

當fc調用結束后,各種接口中聲明的變量值無法保存,fb調用結束后,仍然可以保留變量的值,你可以通過fb的背景db塊進行訪問。fb的每次調用都會自動生成一個db塊,想想我們編程當中,進行哪類操作也會有類似行為?其實就是我們用的非常頻繁的定時器操作,每一次拖動;定時器都會自動建立一個db塊。通過<系統(tǒng)資源>;查看定時器擁有的db塊,看看和圖6是否類似。

圖7 定時器db背景塊結構

由于定時器擁有背景塊,當我們停止計時后,plc無論經過多少個掃描周期,還是可以讀取停止計時時刻的值,這就是擁有db背景塊的好處,fb塊與此類似。

3、fb塊沒有return接口

由于可以通過output接口存儲返回值,所以沒有return接口影響不大。

圖8 fb程序增加部分

由于程序類似,fb程序只列出增加部分。我們可以看到該程序,每次調用都會把最大電壓值放在;變量中,同時添加;變量,用于記錄改變電壓的時間。在程序上面,我們可以很方便讀取這兩個變量,來實時獲取當前的最大電壓值和修改時間,是不是很方便?

讀者可能會有疑問,如果我自己寫一個fc函數(shù),然后外部添加一個db塊,不是一樣可以實現(xiàn)此功能嗎?看上去好像講的很有道理呀,不過這個想法是錯誤的。

如果你在plc程序中只調用fb塊一次,那么可以采用此方法。如果你在plc程序里面,既要比較電壓,還要比較如電流、溫度和濕度等,如果用同一個fc怎么實現(xiàn)呢?用fb可以很好的解決此問題,不明白的,可要仔細想想!

今天關于fc和fb的區(qū)別已經講完,如果仔細閱讀,應該能搞清楚這兩者的區(qū)別。若還有問題,歡迎留言,同時歡迎指出本文的錯誤。

作者:未知 點擊:2227次 [打印] [關閉] [返回頂部]
本文標簽:西門子plc fc和fb用法講解
* 由于無法獲得聯(lián)系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《西門子plc fc和fb用法講解》相關權利人與機電之家網取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

孫晉文 【求購】  排氣閥  2025-12-30
馬經理 【求購】  信號集成端...  2025-12-30
李總 【求購】  電動升降車  2025-12-30
于蓬 【求購】  HPV-S...  2025-12-29
張俊杰 【求購】  縫紉線自動...  2025-12-25
易賽群 【求購】  NANOC...  2025-12-25
張經理 【求購】  浪涌保護器  2025-12-25
陳蓮 【求購】  日本住友閥  2025-12-24
VIP公司推薦