網頁最後修改時間:2020/11/25
經過了前面幾篇部落格關於 OpenPLC 的介紹和開發環境的建置,從現在開始要進入到實作的部分。如果您只想看看,那麼可直接跳過這裡的說明,直接進入到章節中;反之,若是以學習 OpenPLC 為目的,請先準備好需要的東西,再跟著網頁一起做!
本篇網頁的目標:使用 OpenPLC 的階梯圖(Ladder Diagram, 簡稱 LD)和結構化文本程式(Structured Text Programming, 簡稱 ST)以 NodeMCU(板載 ESP8266, ESP-12E 模組)開發板上的按鈕,控制兩顆 LEDs 亮/滅;每按一次 FLASH 按鈕,兩顆 LED 將會依序點亮、同時點亮和同時熄滅。
- 要達到這樣的目的,下面是需要完成的部分:
- 1. NodeMCU 要轉換為 Modbus TCP Server(Slave Device);
- 2. 撰寫 OpenPLC 程式;
- 3. 新增 Slave Device 和上傳 OpenPLC 程式到 OpenPLC Runtime;
- 4. 建立 SCADA 與 OpenPLC Runtime 的連線和人機介面;
** 詳細的過程,請看(5)整體測試裡的影片。
本文以從底部基礎一直往上搭建的方式來做說明,整篇分為以下幾個部分:
- (01)創建 Modbus Slave Devices(以 NodeMCU 為例)
- (01-01)修改接腳定義
- (01-02)修改韌體程式
- (01-03)燒錄 NodeMCU ESP8266 Modbus TCP Server 韌體程式
- (01-04)新增 Slave Devices(從裝置或受控端)到 OpenPLC Runtime
- (02)撰寫 OpenPLC 程式
- (02-01)結構化文本程式
- (02-02)階梯圖
- (02-03)上傳 OpenPLC Editor 程式到 OpenPLC Runtime
- (03)啟動 OpenPLC Runtime
- (04)建立人機介面
- (04-01)Modbus Poll
- (04-02)ScadaBR
- (04-02-01)設定 ScadaBR HTML Component
- (04-02-02)設定 ScadaBR Binary graphic Component
- (04-02-03)設定 ScadaBR Button (write) Component
- (04-03)VTScada
- (04-03-01)建立 Tags
- (04-03-01-01)新增 TCP/IP Port (Modbus TCP) tag
- (04-03-01-02)新增 Modbus Compatible Device (NodeMCU) tag
- (04-03-01-03)新增 I/O and Calculations tags
- (04-03-02)建立圖形開發介面
- (05)整體測試