在工業自動化與營運技術(OT)領域中,可程式化邏輯控制器(PLC)是串連數位邏輯與實體世界的橋樑。將抽象的梯形圖程式碼轉化為可觸摸、可觀察的物理動作,是實現自動化流程的基礎。本篇文章聚焦於 Koyo Click PLC,從最基本的輸入/輸出(I/O)實體接線開始,逐步擴展至控制多組輸出設備,例如工業環境中常見的信號塔燈。此過程不僅是硬體配置的實踐,更體現了控制系統從單點監控到多狀態視覺化回饋的演進。此外,透過 ModbusTCP 協議與 SCADA 系統的整合測試,展示了如何驗證 PLC 在工業網路中的通訊能力與遠端可控性,為後續更複雜的系統整合與數據採集奠定穩固基礎。
Koyo Click PLC實體I/O接線與多燈控制
實體I/O接線:輸入與輸出
玄貓認為,將PLC程式與實體世界連接,是實現自動化控制的關鍵一步。這包括將輸入設備(如開關)和輸出設備(如信號燈)正確連接到PLC的I/O端子。
輸入接線:
- 共用端子(Common):在PLC的I/O端子上,您會看到
C1和C2等共用端子。將Common 1連接到接地(Ground)。 - 瞬時開關與X001:
- 將電源供應器的一端連接到瞬時開關的一個端子。
- 將瞬時開關的另一個端子連接到PLC的
X1輸入端子。 - 當瞬時開關被按下時,電流會流經
X1,使程式中的X001輸入被激勵。
- 視覺回饋:當
X001被激勵時,程式中的Y001線圈也會被激勵,這可能導致PLC面板上的指示燈亮起(例如紅色燈),提供視覺回饋。
輸出接線:工業信號塔燈
為了實現更豐富的視覺回饋,我們將連接一個工業信號塔燈(Industrial Signal Tower Lamp)。這需要修改PLC程式以適應多個輸出。
- 修改PLC程式:
- 在Koyo Click程式設計軟體中,為信號塔燈的每個燈(例如紅、黃、綠、藍)添加一個新的梯級。
- 每個梯級將包含一個輸入(例如
X001到X004)和一個對應的輸出(例如Y001到Y004)。 - 例如,如果您使用四燈系統,您可以將紅燈連接到
Y001,黃燈連接到Y002,綠燈連接到Y003,藍燈連接到Y004。
- 寫入修改到PLC:完成程式修改後,按照之前的步驟將新的程式寫入PLC。
- 接線信號塔燈:
- 將信號塔燈的每個燈的電源線連接到PLC對應的輸出端子(例如
Y1到Y4)。 - 將信號塔燈的共用線連接到PLC的共用端子。
此圖示:多燈控制程式與輸出接線示意圖
@startuml
!define DISABLE_LINK
!define PLANTUML_FORMAT svg
!theme _none_
skinparam dpi auto
skinparam shadowing false
skinparam linetype ortho
skinparam roundcorner 5
skinparam defaultFontName "Microsoft JhengHei UI"
skinparam defaultFontSize 16
skinparam minClassWidth 100
rectangle "Koyo Click PLC" as plc {
port "X1 輸入" as plc_x1
port "Y1 輸出" as plc_y1
port "Y2 輸出" as plc_y2
port "Y3 輸出" as plc_y3
port "Y4 輸出" as plc_y4
port "Common" as plc_com
}
rectangle "選擇開關站盒" as switch_box {
component "瞬時按鈕" as button
port "輸出" as sw_out
}
rectangle "工業信號塔燈" as tower_lamp {
component "紅燈" as red_light
component "黃燈" as yellow_light
component "綠燈" as green_light
component "藍燈" as blue_light
port "共用線" as lamp_com
}
rectangle "電源供應器" as ps {
port "輸出" as ps_out
port "接地" as ps_gnd
}
ps_out -- sw_out
sw_out -- plc_x1
plc_y1 -- red_light
plc_y2 -- yellow_light
plc_y3 -- green_light
plc_y4 -- blue_light
lamp_com -- plc_com
plc_com -- ps_gnd
note right of plc
程式邏輯:
X001 -> Y001 (紅燈)
X002 -> Y002 (黃燈)
X003 -> Y003 (綠燈)
X004 -> Y004 (藍燈)
end note
@enduml
看圖說話:
此圖示展示了Koyo Click PLC實現多燈控制的程式邏輯與實體接線。選擇開關站盒中的瞬時按鈕連接到電源供應器,並將其輸出連接到PLC的X1輸入端子。PLC的Y1至Y4輸出端子則分別連接到工業信號塔燈的紅、黃、綠、藍燈。PLC的共用端子連接到電源供應器的接地,並與信號塔燈的共用線相連。程式邏輯設定為X001控制Y001(紅燈),X002控制Y002(黃燈),依此類推。這建立了一個完整的實體控制迴路,允許透過輸入信號來點亮信號塔燈的不同顏色,提供直觀的視覺回饋。
控制測試:數據視圖與SCADA VM
玄貓認為,在完成程式編寫和實體接線後,測試控制功能是驗證系統運作正確性的重要步驟。我們將使用數據視圖和SCADA虛擬機器上的mbtget工具來測試信號塔燈。
透過數據視圖測試:
- 開啟數據視圖:如前所述,從「監控(Monitor)」選單中選擇「數據視圖(Data View)」。
- 添加新的輸入地址:將程式中用於控制信號塔燈的輸入地址(例如
X001到X004)添加到數據視圖中。 - 啟用覆寫:確保「檢視覆寫(View Override)」選項已開啟,並為每個輸入啟用「OVR」功能。
- 切換輸入:逐一切換
X001到X004的狀態(ON/OFF),觀察實體信號塔燈是否點亮對應的顏色。同時,PLC面板上的指示燈也會提供視覺回饋。
透過SCADA VM測試:
現在,我們將使用SCADA虛擬機器來測試控制功能。
- 開啟SCADA VM:在ESXi Navigator中找到並開啟SCADA虛擬機器。
- 開啟終端機:在SCADA虛擬機器中開啟終端機程式。
- 了解
mbtget工具:
mbtget是一個Perl工具,允許我們透過ModbusTCP協議直接與Koyo Click PLC通訊(預設端口為502)。- 使用
mbtget -h命令可以查看其使用說明。
- 檢查線圈狀態:使用
mbtget命令檢查PLC中四個線圈(Y001到Y004)的狀態。這將允許我們從SCADA層級監控和控制PLC的輸出。
此圖示:SCADA VM與PLC通訊測試流程
@startuml
!define DISABLE_LINK
!define PLANTUML_FORMAT svg
!theme _none_
skinparam dpi auto
skinparam shadowing false
skinparam linetype ortho
skinparam roundcorner 5
skinparam defaultFontName "Microsoft JhengHei UI"
skinparam defaultFontSize 16
skinparam minClassWidth 100
actor "使用者 (User)" as user
participant "Koyo Click 程式設計軟體" as click_software
participant "數據視圖工具" as data_view
participant "Koyo Click PLC" as plc
participant "工業信號塔燈" as tower_lamp
participant "SCADA VM" as scada_vm
participant "終端機 (Terminal)" as terminal
user -> click_software : 開啟數據視圖
click_software --> data_view : 顯示數據視圖
user -> data_view : 添加 X001-X004 地址
user -> data_view : 啟用覆寫功能 (OVR)
user -> data_view : 逐一切換 X001-X004 狀態 (ON/OFF)
data_view -> plc : 模擬輸入信號
plc --> tower_lamp : 點亮對應燈號
plc --> user : PLC 面板視覺回饋
user -> scada_vm : 開啟 SCADA VM
scada_vm -> terminal : 開啟終端機
user -> terminal : 輸入 "mbtget -h"
terminal --> user : 顯示 mbtget 使用說明
user -> terminal : 輸入 "mbtget [PLC IP] [命令]" (檢查 Y001-Y004 狀態)
terminal -> plc : 透過 ModbusTCP 查詢線圈狀態
plc --> terminal : 返回線圈狀態
terminal --> user : 顯示線圈狀態
note right of scada_vm
mbtget 透過 ModbusTCP 協議與 PLC 通訊
end note
@enduml
看圖說話:
此圖示展示了透過數據視圖和SCADA虛擬機器上的mbtget工具測試PLC控制功能的流程。使用者首先在Koyo Click程式設計軟體的數據視圖工具中,添加並啟用X001至X004的覆寫功能,然後逐一切換其狀態,以模擬輸入信號。Koyo Click PLC接收到這些模擬信號後,會根據程式邏輯點亮工業信號塔燈中對應的燈號,同時PLC面板也會提供視覺回饋。接著,使用者在SCADA虛擬機器中開啟終端機,並使用mbtget -h命令了解該工具。最後,透過mbtget命令,使用者可以直接從SCADA層級透過ModbusTCP協議查詢PLC中Y001至Y004線圈的狀態,從而驗證PLC的輸出是否如預期運作。這兩種測試方法共同確保了PLC程式與實體I/O的正確互動,並為遠端監控和控制奠定了基礎。
結論:
縱觀現代自動化系統的建構挑戰,從抽象的程式邏輯走向具體的物理控制,是價值實現的關鍵躍遷。本文所演示的流程,其核心不僅是梯形圖的編寫,更是軟體(程式)、硬體(I/O接線)與通訊(ModbusTCP)三位一體的整合。真正的瓶頸往往不在於邏輯本身,而在於實體層的精確對接與通訊驗證。透過「數據視圖」進行本地即時除錯,再藉由 SCADA 端的 mbtget 工具從外部視角進行通訊層測試,這種雙重驗證機制,正是確保系統穩固落地的務實策略。
這種從單機控制到遠端監控的實踐,已然勾勒出工業物聯網(IIoT)的雛形,預示著未來數據驅動決策與預防性維護的發展軌跡。玄貓認為,對於系統整合者而言,紮實掌握這套涵蓋實體佈線到上層應用驗證的完整工作流,才是從「會寫程式」晉升為「能交付可靠系統」的關鍵分野。