返回文章列表

Koyo PLC實體I/O接線與多燈號控制實務

本文闡述如何將實體輸入設備(如開關)與輸出設備(如工業信號塔燈)連接至 Koyo Click PLC。內容涵蓋修改 PLC 程式以實現多燈號控制的具體步驟,並詳細介紹兩種關鍵的測試方法:一是利用軟體內建的「數據視圖」功能覆寫輸入狀態,直接驗證輸出反應;二是在 SCADA 虛擬機上,透過 `mbtget` 工具經由 ModbusTCP 協議,從遠端監控並確認 PLC 線圈狀態,確保自動化控制迴路的完整性。

工業自動化 PLC編程

在工業自動化與營運技術(OT)領域中,可程式化邏輯控制器(PLC)是串連數位邏輯與實體世界的橋樑。將抽象的梯形圖程式碼轉化為可觸摸、可觀察的物理動作,是實現自動化流程的基礎。本篇文章聚焦於 Koyo Click PLC,從最基本的輸入/輸出(I/O)實體接線開始,逐步擴展至控制多組輸出設備,例如工業環境中常見的信號塔燈。此過程不僅是硬體配置的實踐,更體現了控制系統從單點監控到多狀態視覺化回饋的演進。此外,透過 ModbusTCP 協議與 SCADA 系統的整合測試,展示了如何驗證 PLC 在工業網路中的通訊能力與遠端可控性,為後續更複雜的系統整合與數據採集奠定穩固基礎。

Koyo Click PLC實體I/O接線與多燈控制

實體I/O接線:輸入與輸出

玄貓認為,將PLC程式與實體世界連接,是實現自動化控制的關鍵一步。這包括將輸入設備(如開關)和輸出設備(如信號燈)正確連接到PLC的I/O端子。

輸入接線:

  1. 共用端子(Common):在PLC的I/O端子上,您會看到C1C2等共用端子。將Common 1連接到接地(Ground)。
  2. 瞬時開關與X001
  • 電源供應器的一端連接到瞬時開關的一個端子。
  • 將瞬時開關的另一個端子連接到PLC的X1輸入端子。
  • 當瞬時開關被按下時,電流會流經X1,使程式中的X001輸入被激勵。
  1. 視覺回饋:當X001被激勵時,程式中的Y001線圈也會被激勵,這可能導致PLC面板上的指示燈亮起(例如紅色燈),提供視覺回饋。

輸出接線:工業信號塔燈

為了實現更豐富的視覺回饋,我們將連接一個工業信號塔燈(Industrial Signal Tower Lamp)。這需要修改PLC程式以適應多個輸出。

  1. 修改PLC程式
  • 在Koyo Click程式設計軟體中,為信號塔燈的每個燈(例如紅、黃、綠、藍)添加一個新的梯級。
  • 每個梯級將包含一個輸入(例如X001X004)和一個對應的輸出(例如Y001Y004)。
  • 例如,如果您使用四燈系統,您可以將紅燈連接到Y001,黃燈連接到Y002,綠燈連接到Y003,藍燈連接到Y004
  1. 寫入修改到PLC:完成程式修改後,按照之前的步驟將新的程式寫入PLC。
  2. 接線信號塔燈
  • 將信號塔燈的每個燈的電源線連接到PLC對應的輸出端子(例如Y1Y4)。
  • 將信號塔燈的共用線連接到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的Y1Y4輸出端子則分別連接到工業信號塔燈紅、黃、綠、藍燈。PLC的共用端子連接到電源供應器的接地,並與信號塔燈的共用線相連。程式邏輯設定為X001控制Y001(紅燈),X002控制Y002(黃燈),依此類推。這建立了一個完整的實體控制迴路,允許透過輸入信號來點亮信號塔燈的不同顏色,提供直觀的視覺回饋。

控制測試:數據視圖與SCADA VM

玄貓認為,在完成程式編寫和實體接線後,測試控制功能是驗證系統運作正確性的重要步驟。我們將使用數據視圖和SCADA虛擬機器上的mbtget工具來測試信號塔燈。

透過數據視圖測試:

  1. 開啟數據視圖:如前所述,從「監控(Monitor)」選單中選擇「數據視圖(Data View)」。
  2. 添加新的輸入地址:將程式中用於控制信號塔燈的輸入地址(例如X001X004)添加到數據視圖中。
  3. 啟用覆寫:確保「檢視覆寫(View Override)」選項已開啟,並為每個輸入啟用「OVR」功能。
  4. 切換輸入:逐一切換X001X004的狀態(ON/OFF),觀察實體信號塔燈是否點亮對應的顏色。同時,PLC面板上的指示燈也會提供視覺回饋。

透過SCADA VM測試:

現在,我們將使用SCADA虛擬機器來測試控制功能。

  1. 開啟SCADA VM:在ESXi Navigator中找到並開啟SCADA虛擬機器。
  2. 開啟終端機:在SCADA虛擬機器中開啟終端機程式。
  3. 了解mbtget工具
  • mbtget是一個Perl工具,允許我們透過ModbusTCP協議直接與Koyo Click PLC通訊(預設端口為502)。
  • 使用mbtget -h命令可以查看其使用說明。
  1. 檢查線圈狀態:使用mbtget命令檢查PLC中四個線圈(Y001Y004)的狀態。這將允許我們從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程式設計軟體的數據視圖工具中,添加並啟用X001X004的覆寫功能,然後逐一切換其狀態,以模擬輸入信號。Koyo Click PLC接收到這些模擬信號後,會根據程式邏輯點亮工業信號塔燈中對應的燈號,同時PLC面板也會提供視覺回饋。接著,使用者在SCADA虛擬機器中開啟終端機,並使用mbtget -h命令了解該工具。最後,透過mbtget命令,使用者可以直接從SCADA層級透過ModbusTCP協議查詢PLC中Y001Y004線圈的狀態,從而驗證PLC的輸出是否如預期運作。這兩種測試方法共同確保了PLC程式與實體I/O的正確互動,並為遠端監控和控制奠定了基礎。

結論:

縱觀現代自動化系統的建構挑戰,從抽象的程式邏輯走向具體的物理控制,是價值實現的關鍵躍遷。本文所演示的流程,其核心不僅是梯形圖的編寫,更是軟體(程式)、硬體(I/O接線)與通訊(ModbusTCP)三位一體的整合。真正的瓶頸往往不在於邏輯本身,而在於實體層的精確對接與通訊驗證。透過「數據視圖」進行本地即時除錯,再藉由 SCADA 端的 mbtget 工具從外部視角進行通訊層測試,這種雙重驗證機制,正是確保系統穩固落地的務實策略。

這種從單機控制到遠端監控的實踐,已然勾勒出工業物聯網(IIoT)的雛形,預示著未來數據驅動決策與預防性維護的發展軌跡。玄貓認為,對於系統整合者而言,紮實掌握這套涵蓋實體佈線到上層應用驗證的完整工作流,才是從「會寫程式」晉升為「能交付可靠系統」的關鍵分野。