邏輯程式
| 描述 |
PolyScope X 的應用程式可包含一個「 邏輯程式 」,該程式會持續在背景中運行,且獨立於主要機器人程式之外。 此功能適用於以下情況:當機械手臂電源關閉、主程式暫停或停止,或是操作員進入安全防護區域時,仍需持續執行的任務。 典型用途包括維持現場總線通訊(Modbus、Ethernet/IP、PROFINET、Socket、XmlRPC)、回應外部感測器輸入、將機器人狀態回報給生產用 PLC,以及在主程式停止時控制外部設備。 邏輯程式不得使用任何直接移動機器人手臂、變更有效負載或修改 TCP 參數的功能。 |
|
邏輯程式應用範例 |
|
|
授權 |
邏輯程式需要授權,可透過客戶入口網站購買。
|
|
控制邏輯程式 |
在「程式」頁面中,請於側邊欄中選取「 邏輯程式」。 展開的側邊欄顯示用於導覽邏輯程式各部分的控制項。 此外,您還可透過此功能啟動、暫停、停止及重置程式。
|
||||||
|
|
「執行程式」按鈕會根據邏輯程式的狀態,變更為「 執行程式 」或「 停止程式」。 此功能可作為「邏輯程式」右鍵選單中各項程式控制動作的捷徑。
四個「 邏輯程式指示器 」顯示程式的當前狀態。 這些設定亦會顯示程式是否已設定為在載入應用程式時自動啟動。
|
|
邏輯程式結構 |
邏輯程式與主程式具有相同的結構區段:
機器人程式與邏輯程式各自擁有專屬的全域變數、獨立的執行緒池,以及獨立的執行生命週期。 啟動、停止或發生故障的某個程式,不會影響其他程式的運作。 「
|
|
|
在「 開始 前」章節中,您只能執行該程式一次。
在「 模組 」區段中,您可以查看該程式可用的功能與執行緒清單。
|
|
與機器人程式交換資料 |
機器人程式與邏輯程式之間的主要通訊方式是透過 應用程式變數 。 變數既可透過機器人設定,亦可從機器人及邏輯程式中讀取。 此範例會統計進入機器人工作單元輸入緩衝區的項目數量,並將計數結果顯示給機器人程式。 即使機器人手臂已關機,計數器仍會持續遞增。
|
|
讀取機器人狀態 |
可透過內建的 RTDE 變數 取得機器人狀態。 可透過腳本函式 ` 以下範例說明如何檢查「安全停止」功能是否已啟用:
以下範例用以檢查機器人程式是否處於暫停狀態:
URScript 控制 API 亦封裝了此項功能。
|
|
自動啟動邏輯程式 |
您可以選擇在載入應用程式時自動啟動某個程式。 當您選取「 自動 啟動」選項時,應用程式載入完成後,邏輯程式將立即啟動。
您亦可設定在機器人控制器通電且載入上一個應用程式時,自動啟動邏輯程式。 「 自動 啟動」功能無論在何種運作模式下,或機器人手臂處於何種狀態,皆可正常運作。 當載入時觸發「自動啟動」功能,系統會顯示一個 Snackbar 通知,確認邏輯程式已啟動。
|
|
|
「邏輯程式 」圖示 旁的側邊欄標章,會隨時顯示程式的當前狀態,無論是正在執行還是已停止。
您有責任確保在機器人通電以及載入不同應用程式時,邏輯程式能安全運作。
邏輯程式可透過有線或 PLC 連接(Modbus、PROFINET、Ethernet/IP、Socket、直接輸出或其他介面)來啟用或停用外部設備。
|
|
模組與執行緒 |
邏輯程式功能可組織為函式。 此功能運作方式與機器人程式中的相同。 每個功能皆可標記為「 執行緒」。 預設情況下,執行緒僅執行一次。 勾選執行緒函式上的「迴圈」核取方塊,以使該執行緒持續執行。
|
|
資源共享 |
雖然機器人程式與邏輯程式是獨立執行的,且各自擁有專屬的執行緒與變數池,但它們皆共用相同的硬體資源。 這會帶來一些程式設計師應注意的限制:
|
|
限制事項 |
|