天天看點

#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談

作者:閑下自清

#從今天起記錄我的2023##頭條創作挑戰賽#

今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談”

一.OB組織塊:作業系統與使用者程式之間的接口。可以通過對組織塊程式設計,來建立PLC在特定時間執行的程式以及響應特定時間的程式。

下列事件可以利用到組織塊:

啟動、循環程式、延時中斷、硬體中斷、時間錯誤中斷、診斷錯誤中斷。如圖2所示

二.FC功能塊:

1.不帶“存儲區”的代碼塊,類似于“子程式”,僅在其他程式調用時才執行。

2.調用FC時,“需要用實際參數代替形式參數”,形參就是類似于“#啟動”,隻在本程式中有效,隻要符号沒有位址是局部變量,調用時要填寫具體的點位,簡單了解為就是需要填入一個PLC上的輸入點。

3.當FC執行結束後,臨時變量裡的資料将會丢失;如果要永久儲存資料,FC可以使用全局資料塊。(例如程式中水泵閥門的輸出狀态關聯全局資料塊)如圖3所示。

三.FB功能塊:

1.帶“存儲區”的代碼塊,類似于“子程式”,僅在其他程式調用時才執行。

2.調用FB時,必須為其指定背景資料塊

3.傳遞給FB的參數和靜态變量都永久地儲存在背景資料塊中,即使在FB執行完畢以後,這些“值”仍然有效,臨時變量Temp裡的資料将會丢失。背景資料塊中的變量就是對應的FB接口區中的Input、Output、Inout參數和Static變量。如圖4所示

4."Static"--靜态變量:隻存在于FB的接口區,儲存在FB的背景資料塊,可讀寫,不參與參數的傳遞,主要用于儲存FB中運算的中間結果,可以被其它程式通路。簡單了解為中間标志位(中間繼電器、輔助繼電器);它在調用時不會生成“管腳”。

5.Temp:臨時變量,一般是“先指派後使用”

6.Constant:常量,是用于本塊中的常量定義,它在塊中是隻讀的,常量的值在整個程式運作中保持不變。

四.DB資料塊:

1.資料塊用于存儲使用者資料,資料塊中沒有指令,隻是一個資料存儲區。

2.分為全局資料塊和背景資料塊;它們的差別是:

A.全局資料塊可以從所有的程式塊中存取,其結構是使用者定義的,如圖5所示

B.一個背景資料塊對應于一個功能塊,其結構和功能的接口規格是一緻的。如圖6所示

五."結構化程式設計"的思路:

1.分析項目需求。 (自動補液--如何實作自動補液?)

2.将項目進行分解,具體到某個對象。(閥門、電機、液位)如圖7所示

3.通過FB對每個對象進行參數化,然後通過FC和OB進行結構化調用。(閥門FB、電機FB、自動補液控制)如圖8所示

4.補充部分程式見後面幾張圖。

水準有限,歡迎大家多多指教!

#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談
#從今天起記錄我的2023##頭條創作挑戰賽#今天是我堅持學習工控知識并分享的第36天----“面向對象程式設計的知識點淺談