博途官方提供了很多庫,比如:基本函數庫、通信庫、安全庫、驅動庫等等,用戶可以使用庫中的函數/函數塊來完成具體的控制任務。除了官方的庫,我們也可以創建自己的庫(用戶自定義庫)。比如,把項目中經常使用的函數/函數塊/數據類型等存放到自定義庫中,方便自己使用及與別人共享。博途具有很強的庫管理功能,包括:庫版本管理,庫的更新及清掃等等。本系列文章我將給大家介紹項目庫、全局庫、庫的更新/清掃等功能,今天這篇文章,我們先來介紹項目庫。
博途的庫可分為兩類:項目庫和全局庫。
項目庫:顧名思義,與具體的項目相關聯。打開任意一個博途項目,在其右側的“庫”任務卡中都有一個“項目庫”的窗格(雖然它可能是空的)。項目庫隨著博途項目的打開而打開,隨著項目的關閉而關閉,它沒有單獨的存放路徑;
全局庫:顧名思義,在全局范圍可用,它并不屬于某個項目。全局庫有單獨的存放路徑,可被打開/關閉,也能像博途項目一樣歸檔(后續文章詳細介紹);
項目庫和全局庫在“庫”任務卡中的布局如下圖所示:
在上圖的【項目庫】中 ,我們看到有兩個節點:類型和模板副本。
1、類型(types)
類型是一種模板,在其中可以存放函數/函數塊/用戶自定義數據類型。“模板”就像一個模具,由它復刻出的函數/函數塊/用戶自定義類型等被稱為其“實例”。如果你有面向對象編程的基礎,可以把這里的“類型”理解為面向對象編程的“類”,由它復刻的即為其“實例”。將項目中的函數/函數塊/數據類型通過拖拽的方式放到【類型】節點就會自動創建其“類型”。反之,從【類型】節點中將元素拖放到項目中會自動創建其“實例”。比如下面這張圖是我自定義的庫,其中“類型”中很多函數/函數塊來自我之前文章的用SCL語言編寫的代碼:
注意:這里的函數/函數塊圖標的右上角都有一個小的黑色三角形,與普通的函數/函數塊圖標是不同的,表示這是一個“類型”。順便說一句,我之前寫的SCL函數/函數塊的名稱都是以“FBxxx_<功能描述>”的格式命名,其中“xxx”表示函數塊的編號,比如“FB5011_BubbleSort”。這種命名格式其實是延續經典Step7的風格,因為在經典Step7環境下,函數/函數塊的編號是比較重要的,不能有重復。但是在博途環境下,即使函數/函數塊的編號有重復,編譯時開發環境也會自動幫我們處理(重新編號)。因此,函數/函數塊的編號已經不太重要的,更關心其名稱。所以,在我的用戶庫中我采用了新的命名規則,采用小寫單詞+下劃線的方式命名(也被稱為下劃線命名法)。另外博途還支持分組,可以把功能類似的指令放到同一組,方便管理。
類型中的實例不能單獨修改,需要修改時要對模板進行修改,然后發布新的版本。
2、模板副本(Master Copies)
模板副本就是項目中函數/函數塊/數據類型的副本(拷貝),從項目中將相應的元素拖放到【模板副本】節點就自動創建一個同名的副本,其作用相當于備份。與類型不同,模板副本可被單獨修改,當其對應的函數/函數塊/數據類型發生變更時它也不會自動更新。
當項目庫創建完成后,可以通過更新的方式將其同步到指定的全局庫中。關于項目庫就先介紹到這里,下一篇文章介紹全局庫。
審核編輯:湯梓紅
-
函數
+關注
關注
3文章
4233瀏覽量
61961 -
代碼
+關注
關注
30文章
4667瀏覽量
67751 -
SCL
+關注
關注
1文章
239瀏覽量
16985
原文標題:博途用戶自定義庫的使用(1)-項目庫
文章出處:【微信號:方正智芯,微信公眾號:方正智芯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論