使用 I/O 變數
此章節說明如何使用 I/O 變數。
環境:
本範例使用一台 16 位元數位輸入 (DI) 模組 SYNTEK ESC 6022 以及一台 16 位元數位輸出 (DO) 模組 SYNTEK ESC 7062,這二個模組均連接至 SYNTEK ESC 5500 耦合器,ESC 7062 模組的輸出端連接至 ESC 6022 模組的輸入端。欲建立此環境,在專案中使用索引 1 建立 SYNTEK ESC 6022 I/O 模組並使用索引 2 建立 SYNTEK ESC 7062 I/O 模組。請參考 手動新增裝置 章節中的說明。
手動新增 I/O 模組時,I/O 變數可自動被新增,此章節說明如何手動新增 I/O 變數。
- 在 Resources 面板左側點選 SYN_TEK_ESC_6022(其中一個 I/O 模組)。
- 在 Input 區域中的 Length 格中輸入 16,新增變數前,需先填入輸入或輸出長度的值,才可新增 I/O 變數,若要控制一個真實的 I/O 模組,需要知道這個 I/O 是輸入還是輸出模組(或兩者都是),以及 I/O 的輸入和輸出長度,如此才可以輸入正確值。在本範例中,SYNTEK_ESC_6022 為 16 位元輸入模組,我們將 16 輸入至 I/O 的輸入長度。
- 於 Input 區域點擊 Add。
- 於 New PLC variable 對話框輸入以下資訊:
- 變數即被加入 Input 表。
-
在 Resources 面板左側點擊 SYN_TEK_ESC_7062,在 Output 區域新增一個 BOOL 類型的變數 "Out7062",在此案例中,輸出模組 SYNTEK_ESC_7062 連接至輸入模組 SYNTEK_ESC_6022,我們需使用此模組將值寫入 6022,因此我們在 7062 建立一個變數。
注意,若建立的變數為 BOOL 類型,欄位上會出現 Bit offset 欄位;若建立的變數為 BYTE、WORD 或其他類型,欄位上會出現 Byte offset 和 Bit range 欄位。
Name:為此變數輸入有意義的名稱,在此我們輸入 "Sensor"。
Type:選擇變數類型,在此我們選擇 BYTE。
Byte offset:偏移變數,在此將其保持為零。
Description:可視需求輸入此變數的描述以進一步解釋其用途,在此輸入 "Control Sensor"。
Bit range:依據 Type 顯示位元範圍。
完成編輯後按 OK。
新增 I/O 變數後即可直接在表內編輯其特性。
- 欄位標頭上若有鉛筆圖標,表示該欄位可供編輯。例如,欲將變數名稱改為 "Output7062",即在 Variable 欄位的輸入框中雙擊 "Out7062",該名稱即被標示。
- 於 Variable 欄位的輸入框中修改變數名稱後按下 Enter 鍵,LogicLab 會詢問是否要將所有出現此變數的地方用新名稱取代,點選 Yes。
- 變數名稱即更改。
您可將 I/O 變數從一個 I/O 模組的輸入(或輸出)重新指派至另一個 I/O 模組的輸入(或輸出),此範例我們將變數從一個輸入端移至另一個輸入端。
- 在 Resources 面板左側的 IOs 清單新增一個 I/O 模組,在此範例中我們新增 SYN_TEK_ESC_6022_2。
- 點擊 SYN_TEK_ESC_6022_2,在 Input 區域的 Length 輸入框中輸入 16。
- 在 Input 區域點選 Assign。
- 在 Choose PLC variable 對話框中點擊欲重新指派的變數並點擊 OK。
- 在 Variable Mapping 對話框中的 Byte offset 輸入框中,輸入偏移值或保留零值,完成編輯後按 OK。
- LogicLab 會詢問是否要重新指派變數,點選 OK。
- 變數將從 SYN_TEK_ESC_6022 的輸入重新指派至 SYN_TEK_ESC_6022_2 的輸入。
注意:手動新增 I/O 模組時,可將 I/O 輸入和輸出長度指派至 Add IO 對話框中,若未曾新增過,則可在此進行指派。
注意:當變數名稱很長時,可在 Filter 輸入框中輸入名稱以找尋該變數。
取消指派 I/O 變數時,其位址將變為 AUTO,表示此變數與 I/O 模組無關聯,而此變數即成為一個 PLC 全域變數。
- 於 Input 區域中的 HomeSwitch 列(任一變數列)點擊 Unassign。
- 取消指派的變數即消失,但未被刪除,在 Project 面板中展開 IO_Variables 並雙擊 HomeSwitch,其位址變為 Auto。
- 欲重新指派 HomeSwitch 至 Input,在 Input 區域點選 Assign。
- 在 Choose PLC variable 對話框中選擇 HomeSwitch 並點選 OK。
- 在 Variable Mapping 對話框中的 Byte offset 輸入框中,輸入偏移值或保留零值,完成編輯後按 OK。
- HomeSwitch 即重新指派至 Input。
- 在 Input 區域中的 HomeSwitch 列中點擊 Delete。
- 變數即刪除。在 Project 面板中點擊 I/O_Variables,可看見 HomeSwitch 已被刪除。
注意:當刪除 I/O 模組時,LogicLab 會詢問是否亦刪除其 I/O 變數,點擊 Yes 將其刪除。
若於 Project 面板中新增或修改 I/O 變數,在 Resources 面板的中間點擊 Update 以更新變數,以使 Project 與 Resources 面板中的變數皆相同。
- 在 Project 面板中新增 LimitSwitch(任一變數)。
- 於 Resources 面板中點擊 SYNTEK_ESC_6022,在 Resources 面板中央的 SYNTEK_ESC_6022 (您的 I/O 模組) 點擊 Update 以更新變數。
可變更和顯示 I/O 變數的位元位址。
- 在 Project 面板中擴展 I/O_Variables,雙擊欲顯示其位元位址的變數,此範例中所選的為 LimitSwitch。
- 於 IO_Variables 面板中點選 LimitSwitch 的 Address 並點擊 Address 欄位中的方形處以顯示 Variable address 對話框。
- 在 Variable address 對話框中勾選 Bit 以顯示位元,可編輯以下三個輸入框以指定欲使用的變數位址。
- 位址欄位即顯示位元位置。
Data block:I/O 模組的索引,索引以零為起點。
Index:位元組位置,可將位元組移至想要的位置,索引以零為起點。
Bit:位元位置(單位為位元組),可將位元移至想要的位置,索引以零為起點。例如,若想在第二個 I/O 模組中使用第三個位元組的第一個位元,則位址將為 1.2.0。
完成後,點擊 OK。