用戶庫是利用STEP 7-Micro/WIN項目的子程序生成的。可以使用任何包含子程序的現有項目生成用戶庫。但是,編程中會發現建立一個專用庫源碼更加簡便。如果希望用于 建立指令庫的現有子程序(可能在幾個項目中),可使用導出/導入或在項目之間復制和粘貼POU的方法將這些子程序以及任何從屬子程序和中斷例行程序納入一 個項目。
1)處理V內存
要解決可能出現庫和現有有項目之間內存使用沖突,用戶庫不應當使用全局PLC資源。但應用中可能無法完全排除用戶庫使用全局資源的狀況。但是,應盡量減少使用全局資源。
盡量用子程序參數代替全局內存,
使用子程序參數,盡量減少庫對全局內存的依賴性。可以指定庫指令使用的內存。例如,您可以有一個計算四個數加法的子程序,并將該輸出存儲在一個V內存 位置。程序的其余部分則會讀取該V內存位置,以便確定計算的結果。如果您希望將該子程序放入庫,考慮在子程序中增加一個輸出參數,并將計算結果存儲在該參 數中。這樣就無須V內存位置,并允許您決定存儲結果的位置。
使用臨時變量進行計算,將臨時變量用于計算和臨時結果可盡量減少用戶庫對全局內存的使用。臨時變量(在局部變量表中對子程序和中斷例行程序進行定義) 從局部內存分配,不與項目發生沖突。局部內存并非持久性內存,無法用于在指令調用之間保存數據。其使用期是說明局部內存的子程序或中斷例行程序的執行階 段。
需要使用V內存時,有時必須在包括在指令庫中的子程序和中斷例行程序中使用全局V內存。此時,為在這些POU中使用的所有V內存說明符號,并在程序中使用符號。當庫被編譯后,這些符號被用于決定庫需要的內存量。
需要I/O地址時,有時必須在包括在指令庫中的子程序和中斷例行程序中使用實際I/O地址。必要時,指定這些POU中使用的所有I/O地址符號,并在應用程序中使用這些符號。
2)將POU注釋用于文檔編制
如果選擇用密碼保護庫指令,庫用戶則無法看到指令中的源碼。但是,他們能夠看到構成庫的每個子程序和中斷例行程序的POU指令。POU注釋是記錄每條指令功能的最佳位置。請考慮使用POU注釋提供下列詳細信息:
1.該指令具體執行什么功能?POU注釋是給出指令功能說明的最佳位置。
2.如何調用指令?例如,如果指令僅限在首次掃描時調用,或者如果指令依賴于成功地完成另一條指令,應當使用POU注釋記錄這些指令的詳細用法。
3.指令使用何種全局內存?如果指令直接參考全局內存,POU內存應當提醒用戶這一用法,以便用戶對程序進行設計,以避免內存訪問沖突。
4.指令如何指示錯誤?很多指令需要通過輸出參數或全局內存位置指示錯誤條件。向用戶提供可能產生的錯誤說明以及如何糾正這些錯誤的說明會很有幫助。
3)分發用戶庫
庫編譯輸出是一個磁盤文件(mwl文件),該文件包含STEP 7-Micro/WIN識別和使用指令庫所需的所有內容。如果希望向其他STEP 7-Micro/WIN用戶分發用戶庫,可以將該文件復制,為用戶提供一份文件的拷貝。
4)星角起動用戶指令庫的例子
TITLE=子程序注釋
Network 1 // 網絡標題
//星角起動
LD SM0.0
A L0.0 //運行標志
A L0.1 //熱保護
LPS
LD L0.2 //轉換時間到
O L0.7 //角運行標志
ALD
= L0.7 //角運行標志
LRD
AN L0.7 //角運行標志
AN L0.4 //角接接觸器
= L0.5 //星接接觸器
LPP
LD L0.5 //星接接觸器
O L0.3 //主接觸器
ALD
= L0.3 //主接觸器
AN L0.5 //星接接觸器
= L0.4 //角接接觸器
Network 2
LD SM0.0
A SM0.5
= L0.6 //故障指示
























粵公網安備 44030402000745號