2020年11月25日 星期三

OpenPLC 初體驗 /03/ - OpenPLC 階梯圖(LD)和結構化文本程式(ST)實作範例(ESP826 as Modbus Slave Devices)

網頁最後修改時間: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)整體測試裡的影片。

本文以從底部基礎一直往上搭建的方式來做說明,整篇分為以下幾個部分:

2020年11月1日 星期日

OpenPLC 初體驗 /02/ - 建置開發環境

網頁最後修改時間:2020/11/01

隨著科技進步以及開放原始碼的盛行,很多的東西不再遙不可及,具備一定能力的人,能夠經由這些資訊的提供,重製出相同的東西或是修改變更其內容為其他。

基於此,本篇想要跟各位介紹一款用於工業自動化和研究方面的開放原始碼專案:OpenPLC,它主要著重的重點是在為自動化和研究方面提供低成本的工業解決方案,而這篇網頁則要來介紹如何建置它的開發環境(Runtime、Editor 和 SCADA)。

2020年10月23日 星期五

OpenPLC 初體驗 /01/ - 安裝樹莓派 2/3/4 作業系統(Raspberry Pi OS, Released: 2020-08-20)

網頁最後修改時間:2020/10/25

隨著科技進步以及開放原始碼的盛行,很多的東西不再遙不可及,具備一定能力的人,能夠經由這些資訊的提供,重製出相同的東西或是修改變更其內容為其他。

基於此,本篇想要跟各位介紹一款用於工業自動化和研究方面的開放原始碼專案:OpenPLC,它主要著重的重點是在為自動化和研究方面提供低成本的工業解決方案,而這篇網頁則要來介紹如何製作 Raspberry Pi(樹莓派)2/3/4 的作業系統,和作業系統第一次啟動的初始設定、組態、更新和升級,以作為 OpenPLC Runtime 和 OpenPLC Editor 軟體安裝之用。

2020年10月17日 星期六

OpenPLC 初體驗 /00/ - OpenPLC Project 簡介

網頁最後修改時間:2020/10/21

隨著科技進步以及開放原始碼的盛行,很多的東西不再遙不可及,具備一定能力的人,能夠經由這些資訊的提供,重製出相同的東西或是修改變更其內容為其他。

基於此,本篇想要跟各位介紹一款用於工業自動化和研究方面的開放原始碼專案:OpenPLC,它主要著重的重點是在為自動化和研究方面提供低成本的工業解決方案,而這篇網頁則要先來介紹它。

主要的內容有:

/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*
網頁裡面的內容大量參考 OpenPLC 官網原文,
如果有不清楚的地方請再自行跳至提供的參考連結自行閱讀。
/*-/--*-*/*/*/*/***//-*-*-**-*/*-*-/*/*/*-*-/-////--/**/**--**/--///--//**----**//--**//**----***//*-**//*

2020年9月4日 星期五

Silicon Labs EFM8 微控制器開發環境建置 [3.0]-離線與 ISP(UART)燒錄

網頁最後修改時間:2020/09/04
[1.1]網頁,開始說明如何以 Silicon Labs 的 EFM8 系列晶片(EFM8BB21F16G-QFN20)為主角,撰寫如何建置 8-bit Microcontrollers 的開發環境、如何建立專案以及如何進行韌體燒錄一系列的網頁。

此系列包含:
  • Silicon Labs Simplicity Studio 8-bit Microcontrollers 開發環境建置;
    主要說明在 Simplicity Studio 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。
  • Keil C51 的 Silicon Labs C8051 / EFM8 開發環境建置;
    主要說明在 Keil µVision 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。

  • 如何建立一個 Simplicity Studio 專案檔;
    • 如何匯入、修改和編譯官方(或既有的)Simplicity Studio v4 專案範例;
      說明如何匯入已有的 Simplicity Studio 專案檔,進行編譯和修改。
    • Simplicity Studio v4 全新專案建置範例;
      說明如何從頭建置一個新的 Simplicity Studio v4 專案檔。
  • 如何匯入 Simplicity Studio v4 專案檔至 Keil C51;
    說明如何匯入 Simplicity Studio v4 專案檔至 Keil C51,進行編譯和修改。

  • 離線與 ISP(UART)燒錄;
    燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。

此篇是這一系列的最後一篇,要來看看,怎麼使用工具軟體,燒錄指定的 EFM8 晶片韌體(只要是 Silicon Labs C8051 晶片系列都可以,只不過這裡有些地方的說明只屬於特定的 EFM8 系列晶片)。

使用 UART 燒錄 EFM8 韌體的步驟與方法

2020年9月1日 星期二

Silicon Labs EFM8 微控制器開發環境建置 [2.2]-如何匯入 Simplicity Studio v4 專案檔至 Keil C51

網頁最後修改時間:2020/09/01
[1.1]網頁,開始說明如何以 Silicon Labs 的 EFM8 系列晶片(EFM8BB21F16G-QFN20)為主角,撰寫如何建置 8-bit Microcontrollers 的開發環境、如何建立專案以及如何進行韌體燒錄一系列的網頁。

此系列包含:
  • Silicon Labs Simplicity Studio 8-bit Microcontrollers 開發環境建置;
    主要說明在 Simplicity Studio 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。
  • Keil C51 的 Silicon Labs C8051 / EFM8 開發環境建置;
    主要說明在 Keil µVision 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。

  • 如何建立一個 Simplicity Studio 專案檔;
    • 如何匯入、修改和編譯官方(或既有的)Simplicity Studio v4 專案範例;
      說明如何匯入已有的 Simplicity Studio 專案檔,進行編譯和修改。
    • Simplicity Studio v4 全新專案建置範例;
      說明如何從頭建置一個新的 Simplicity Studio v4 專案檔。
  • 如何匯入 Simplicity Studio v4 專案檔至 Keil C51;
    說明如何匯入 Simplicity Studio v4 專案檔至 Keil C51,進行編譯和修改。

  • 離線與 ISP(UART)燒錄;
    燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。

[2.1.1]開始,連續三篇的網頁,都會用來說明 EFM8BB21F16G-QFN20 這顆晶片韌體專案的建立步驟和方法。而這一篇,是針對如何匯入 Simplicity Studio v4 專案檔至 Keil C51做說明。

EFM8BB21F16G-QFN20 Package Marking(not included bee icon)

2020年8月28日 星期五

Silicon Labs EFM8 微控制器開發環境建置 [2.1.2]-Simplicity Studio v4 全新專案建置範例

網頁最後修改時間:2020/08/28

[1.1]網頁,開始說明如何以 Silicon Labs 的 EFM8 系列晶片(EFM8BB21F16G-QFN20)為主角,撰寫如何建置 8-bit Microcontrollers 的開發環境、如何建立專案以及如何進行韌體燒錄一系列的網頁。

此系列包含:
  • Silicon Labs Simplicity Studio 8-bit Microcontrollers 開發環境建置;
    主要說明在 Simplicity Studio 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。
  • Keil C51 的 Silicon Labs C8051 / EFM8 開發環境建置;
    主要說明在 Keil µVision 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。

  • 如何建立一個 Simplicity Studio 專案檔;
    • 如何匯入、修改和編譯官方(或既有的)Simplicity Studio v4 專案範例;
      說明如何匯入已有的 Simplicity Studio 專案檔,進行編譯和修改。
    • Simplicity Studio v4 全新專案建置範例;
      說明如何從頭建置一個新的 Simplicity Studio v4 專案檔。
  • 如何匯入 Simplicity Studio v4 專案檔至 Keil C51;說明如何匯入 Simplicity Studio v4 專案檔至 Keil C51,進行編譯和修改。

  • 離線與 ISP(UART)燒錄;
    燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。

[2.1.1]開始,連續三篇的網頁,都會用來說明 EFM8BB21F16G-QFN20 這顆晶片韌體專案的建立步驟和方法。而這一篇,是針對 Simplicity Studio v4 全新專案建立的步驟做說明。

EFM8BB21F16G-QFN20 Package Marking(not included bee icon)

2020年8月25日 星期二

Silicon Labs EFM8 微控制器開發環境建置 [2.1.1]-如何匯入、修改和編譯官方(或既有的)Simplicity Studio v4 專案範例

網頁最後修改時間:2020/08/25

[1.1]網頁,開始說明如何以 Silicon Labs 的 EFM8 系列晶片(EFM8BB21F16G-QFN20)為主角,撰寫如何建置 8-bit Microcontrollers 的開發環境、如何建立專案以及如何進行韌體燒錄一系列的網頁。

此系列包含:
  • Silicon Labs Simplicity Studio 8-bit Microcontrollers 開發環境建置;
    主要說明在 Simplicity Studio 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。
  • Keil C51 的 Silicon Labs C8051 / EFM8 開發環境建置;
    主要說明在 Keil µVision 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。

  • 如何建立一個 Simplicity Studio 專案檔;
    • 如何匯入、修改和編譯官方(或既有的)Simplicity Studio v4 專案範例;
      說明如何匯入已有的 Simplicity Studio 專案檔,進行編譯和修改。
    • Simplicity Studio v4 全新專案建置範例;
      說明如何從頭建置一個新的 Simplicity Studio v4 專案檔。
  • 如何匯入 Simplicity Studio v4 專案檔至 Keil C51;說明如何匯入 Simplicity Studio v4 專案檔至 Keil C51,進行編譯和修改。

  • 離線與 ISP(UART)燒錄;
    燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。

從這一篇開始,連續三篇的網頁,都會用來說明 EFM8BB21F16G-QFN20 這顆晶片韌體專案的建立步驟和方法。而這一篇,是針對如何匯入、修改和編譯官方(或既有的)Simplicity Studio v4 專案的建立步驟做說明。

EFM8BB21F16G-QFN20 Package Marking(not included bee icon)

2020年8月23日 星期日

Silicon Labs EFM8 微控制器開發環境建置 [1.2]-Keil C51 的 Silicon Labs C8051 / EFM8 開發環境建置

網頁最後修改時間:2020/08/23

[1.1]網頁,開始說明如何以 Silicon Labs 的 EFM8 系列晶片(EFM8BB21F16G-QFN20)為主角,撰寫如何建置 8-bit MicroController 的開發環境、如何建立專案以及如何進行韌體燒錄一系列的網頁。

此系列包含:
  • Silicon Labs Simplicity Studio 8-bit Microcontrollers 開發環境建置;
    主要說明在 Simplicity Studio 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。
  • Keil C51 的 Silicon Labs C8051 / EFM8 開發環境建置;
    主要說明在 Keil µVision 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。

  • 如何建立一個 Simplicity Studio 專案檔;
    • 如何匯入、修改和編譯官方(或既有的)Simplicity Studio v4 專案範例;
      說明如何匯入已有的 Simplicity Studio 專案檔,進行編譯和修改。
    • Simplicity Studio v4 全新專案建置範例;
      說明如何從頭建置一個新的 Simplicity Studio v4 專案檔。
  • 如何匯入 Simplicity Studio v4 專案檔至 Keil C51;說明如何匯入 Simplicity Studio v4 專案檔至 Keil C51,進行編譯和修改。

  • 離線與 ISP(UART)燒錄;
    燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。

Silicon Labs 8-bit Microcontrollers 系列的晶片,可以在多種 IDE 裡做開發,但是在這系列文中,只有說明其中的兩種。

這一篇是以 Keil C51 為主,其他的 IDE 開發環境建置請參考官方文件裡的內容。

2020年8月21日 星期五

Silicon Labs EFM8 微控制器開發環境建置 [1.1]-Simplicity Studio v4 開發環境安裝

網頁最後修改時間:2020/08/21
從此篇開始,將會以 Silicon Labs 的 EFM8 系列晶片(EFM8BB21F16G-QFN20)為主角,撰寫如何建置 8-bit MicroController 的開發環境、如何建立專案以及如何進行韌體燒錄一系列的網頁。

此系列包含:
  • Silicon Labs Simplicity Studio 8-bit Microcontrollers 開發環境建置;
    主要說明在 Simplicity Studio 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。
  • Keil C51 的 Silicon Labs C8051 / EFM8 開發環境建置;
    主要說明在 Keil µVision 建置 Silicon Labs 8-bit Microcontrollers 開發環境時所需要的軟體的下載和安裝。

  • 如何建立一個 Simplicity Studio 專案檔;
    • 如何匯入、修改和編譯官方(或既有的)Simplicity Studio v4 專案範例;
      說明如何匯入已有的 Simplicity Studio 專案檔,進行編譯和修改。
    • Simplicity Studio v4 全新專案建置範例;
      說明如何從頭建置一個新的 Simplicity Studio v4 專案檔。
  • 如何匯入 Simplicity Studio v4 專案檔至 Keil C51;說明如何匯入 Simplicity Studio v4 專案檔至 Keil C51,進行編譯和修改。

  • 離線與 ISP(UART)燒錄;
    燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。

Silicon Labs 8-bit Microcontrollers 系列的晶片,可以在多種 IDE 裡做開發,但是在這系列文中只有說明其中的兩種。這一篇是以 Simplicity Studio v4 為主,其他的 IDE 開發環境建置請參考官方文件裡的內容。
照片來源:Silicon Labs 8-bit Microcontrollers