--- title: WEINTEK HMI 人機介面課程 tags: 人機介面,PLC,WEINTEK description: 本門課的重點在輔導學生了解如何利用HMI的方式與PLC連接,並利用Modbus/TCP與PLC進行通訊,並將PLC的值讀取出來並顯示在HMI上,利用相關元件也可以對PLC連接等相關元件進行控制。 lang: zh --- # WEINTEK HMI 人機介面課程 ###### tags: 人機介面,PLC,WEINTEK,HMI ## 概觀 ### HMI 簡介 PLC與HMI在工業控制系統中是非常重要的元件之一,可程式化邏輯控制器(Programmable Logic Controller,PLC)在工業控制系統上主要是負責與相關感測器(Sensor)進行通訊,並經由相關設備讀取與控制相關訊號,根據訊號的種類有分為數位訊號與類比訊號,根據訊號的特性又在分為輸入與輸出訊號,而HMI主要的功用在PLC與使用者中間,用來幫助使用者能能夠透過圖形化的方式來對PLC進行操作,本門課在教導學生如何利用工業控制系統中的HMI的開發元件來對PLC進行通訊,並製作相關互動性的元件與PLC進行通訊。  ### 上課時數 * 本門課的重點在引導學生如何利用 EasyBuilder Pro,並透過Modbus/TCP連結至PLC,製作一套簡易的<font color="blue">空氣品質監控系統</font>。 * 建議的授課時數為<font color="blue">18</font>小時。 ### 課程大綱 本門課程大約分為三個階段 1. WEINTEK HMI 基礎介紹 2. 了解現有PLC中Modbus/TCP通訊協定 3. 利用EasyBuilder開發<font color="blue">空氣品質監控系統</font> ### 課程重點 本門課的重點會放在HMI的基礎介紹與設計,其中相關的重點與章節如下 1. 第一次連接HMI系統 ## 課前準備工作 ### 相關課程設備 本門課使用到的相關設備如下 1. 施耐德PLC 需支援 Modbus/TCP 協定 2. Weintek 需支援 乙太網路、RS232、RS485 連接埠 3. 相關感測器 如 PM2.5、溫溼度感測器等 ### 下載相關軟體 * 首先我們先到[WeiNtek](https://www.weintek.com/)的官方網站,下載 EasyBuilder Pro 安裝軟體。  * 下載完成時我們可以進入到安裝畫面,安裝的過程基本上下一步到底即可。  * 安裝完成後可以在桌面上看到 Utility Manager 應用程式,雙集打開可以看到下列畫面。  * 我們點擊EasyBuilder Pro 即可進入HMI設計頁面。  ### WeiNtek HMI 硬體介紹 * 本課程將使用 Weintek MT8081iE 當作示範教學,其他的HMI的設計方式與本課程使用之教材大同小異,僅需要在開發上注意使用型號即可。 * Weintek MT8071 主要提供一個7吋 TFT (解析度為800*600),其相關重點規格如下 * USB Host : USB 2.0 x 1 * 乙太網路 : 10/100 Base-T x 1 * 序列埠 : COM1:RS-232, COM2:RS-485 2W/4W, COM3:RS-485 2W * Weintek MT8071 主要連接埠如下  * (A) 指撥開關 * (B) 保險絲 * (C) 電源接口 * (D) RS-485 (COM2 與 COM3) * (E) USB Host * (F) RS-232 (COM1) * (G) 乙太網路 * RS232 腳位定義 | PIN | COM1 [RS232] | | -------- | -------- | |1 | | |2 | Rx | |3 | Tx | |4 | | |5 | GND | |6 | | |7 | RTX | |8 | CTX | |9 | | * RS485 腳位定義 | PIN | COM2 [RS485] | COM2 [RS485] | COM3 [RS485] | | --- | ------------ | --- | --- | | 1 | Data- | Rx | | | 2 | Data+ | Rx+ | | | 3 | | Tx | | | 4 | | Tx+ | | | 5 | GND | GND |GND | | 6 | | |Data- | | 7 | | | | | 8 | | | | | 9 | | |Data+ | ## 我的第一支HMI程式 在完成所有的基礎設定後,接下來我們就可以開始進入HMI程式開發的階段拉! 為了完成這個設計我們共分為下列幾個階段進行 ### 建立一份新的專案 在開啟**EasyBuilder Pro**後,可以看到開啟檔案的視窗,由於本案例為建立一個新的專案,因此我們點選<font color="blue">開新檔案</font>即可。  ### 建立適合的工程檔案 跟其他軟體開發不同,HMI在建立專案時需要指定特定的HMI機型配合,這邊將用<font color="blue">MT8071iE</font>當作示範,完成之後點選確認。  ### 進階參數設定 接下來我們會對設備進行一些常用參數設定,這部分我們會在後續的章節在詳細介紹,先點選確認即可。  ### 開發環境介紹 在完成所有的參數設定後,接下來我們可以把整個視窗分為幾個部分。 #### 系統工具列部分  系統工具列在開發HMI程式上是相當重要的功能,在系統工具列中一共分為以下幾個部分。 * 常用:大部分在開發HMI設計的功能都可以在這個頁面找到,其中系統參數與物件這兩個功能最為常用 * 工程檔案:程式開發完成後需要進行測試與部屬的相關功能 * 物件:在HMI上可視區域上面的元件 * 資料/歷史:相關HMI的歷史資料與警報設定 * IIoT/能源管理 * 檢視:可以在此頁面中調整IDE的介面配置 * 工具:相關進階操作與位址編輯 #### 位址編輯器  利用**位址編輯器**可以快速的預覽此專案會變動到的地址,包含Local HMI、Remote HMI、PLC等。 #### 主要編輯區  在主要編輯區的部分可以進行元件的擺放。 ### 正式進入我的第一支程式 在這個章節我們將教導學生如何利用EasyBuilder Pro建立一支簡易的Hello World,首先我們可以先在**物件**視窗中點選**文字**。  接下來會跳出一個**新增文字/註解 物件**的視窗,在這個視窗中我們可以設定這個物件的相關屬性,其中比較重要的屬性如下: * 僅為註解使用:使用者若將此選項設定為Enable,此物件將不會顯示在HMI上 * 屬性:可以對文字格式進行設定,包含字型、文字大小等 * 跑馬燈:是否以跑馬燈的方式來進行呈現 * 內容:實際顯示的文字  當所有屬性都設定完成之後點選確定,即可將此物件放置到主要編輯區。  ### 部屬程式到HMI設備中 接下來我們可以在 工具 > 下載(PC/HMI) 的功能列中將程式部屬到HMI的設備上,此時會跳出另存新檔的視窗,我們選擇儲存檔案。  在完成存檔的工作後,會跳出HMI設備的相關資訊,這邊我們使用IP的方式來連接到HMI,並將設備IP設定成192.168.123.211,完成之後點選下載。  當設定檔都完成寫入後可以在上方視窗看到寫入完成。  ### 在模擬環境中觀看HMI的情況 我們可以在 工程檔案 > 連線模擬 中,可以觀看到HMI的部屬情況。  ## 建立HMI與PLC的連線 在前面的例子我們已經學會了如何在HMI上建立了一個簡易個Hello World程式,接下來我們嘗試的在HMI中建立與PLC連線,並對PLC進行資料存取與控制,首先我們先在 常用>系統參數>設備的頁面中點選"新增設備/伺服器"。  接下來我們可以嘗試設定設備的屬性,設備的屬性分為兩個部分,上半部分為HMI,這邊由於我們的HMI在本地端,因此先選為本機。下半部分為PLC的部分,這邊我們使用Modbus/TCP的方式來進行連接,這邊我們通訊的IP使用192.168.123.88,完成之後點選確定。 ## 利用元件讀取PLC訊號並使用Modbus/TCP協定。 為了能夠讀取PLC的值,我們先在物件>輸入中拉一個數值物件。  接下來我們嘗試者利用數值物件來讀取PLC的Sersor的值,首先我們要先了解一個基礎的Modbus的協定格式為何? ## Modbus/TCP 格式 | TCP Header | Address | Function Code | Start Register Address | Data | | -------- | -------- | -------- | --- | --- | | 6 Bytes | 1 Bytes | 1 Bytes | 2 Bytes | N Bytes | TCP Header : 這部分分為三個部分,每個部分均為2 Bytes,3個部分分別為(Transaction ID、Protocal ID、Data Length),這邊我們將以PLC對變頻器讀取來當作示範。 若 PLC 的 Address 為 0x58 Function Code 讀取為 0x06 變頻器所在位置為 0x01 0x90 因此組合出來的 Modbus/TCP 如下 00 01 00 00 00 06 58 06 01 90 00 01 ## 設定元件讀取PLC的元件通訊 為了能夠讓HMI上的元件成功讀取到PLC上面的Sensor數據,我們需要針對該元件進行下列設定,主要的設定項目在讀取/寫入位置,我們的設備選用MODBUS TCP/IP,位址的部分我們選擇6x,內容的部分我們輸入88#200,完成之後我們點選確定。 :::success 88 表16進位的 0x58 (Address) 401 表16進位的 0x01 0x90 (Start Register Address) :::  ## 設定數字比例修正 由於PLC讀取到的數值為原始的10進位,有時候不能代表真實的數值,因此我們可以在格式的地方進行修正,包含小數點位數,例如我們變頻器的數值範圍為0~60 有效位數為整數位2位+小數點兩位我們可以進行以下設定。  ## 實體畫面展示 重複利用上述方式,我們可以繪製出一個與PLC通訊的HMI介面出來。 
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.