2020年12月21日 星期一

驅動 128x64 繁體中文 LCD 點、線和面 #MicroPython #ST7920 #ESP8266

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

前幾天,有人在賣場詢問是否有 MicroPython 驅動 128x64 繁體中文 LCD 的範例程式,基本上上商品所附的範例程式還是單晶片(8051)、Arduino 開發版和 ESP8285(Arduino)程式為主。

不過,找了時間在網路上做了一些搜尋,在 Github 上發現了不錯的 Repository 並做了測試。雖然這這些 Repository 能來驅動顯示英文字和畫線、畫方框,但最後沒有直接能找到可顯示繁體中文的 MicroPython 範例程式可做參考。

不過經過一番折騰,還是成功了把原來的程式移植到了MicroPython!

在進入到主題篇之前,本篇要先來用用在 Github 找到用來驅動 128x64 繁體中文 LCD(下面簡稱繁中LCD)顯示點、線和面的 Repository:MicroPython-ST7920

主要內容有:


2020年12月10日 星期四

OpenPLC 初體驗 /04/ - Raspberry Pi(樹莓派)如何在本地端和遠端受控執行 OpenPLC 程式

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

關於Raspberry Pi(下面稱樹莓派)控制繼電器的部分,部落格早前已有寫過相關的範例網頁(兩通道八通道),所以此處不會再針對細節部分再多加著墨。本篇所著重的在於,是怎麼依照不同的裝置需求,重新規劃樹莓派在 OpenPLC 的接腳 I/O 模式,運行 OpenPLC 程式在本地端與遠端。

樹莓派的接腳 I/O 模式規劃,以樹莓派八通道光隔離繼電器擴充板上的繼電器控制接腳作為依據、結構化文本(ST,Structured Text)撰寫 OpenPLC 程式;每當用戶按下按鈕,繼電器會每間隔一秒鐘依序開啟,接著再依序關閉。

本篇網頁的內容有:


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

2020年8月15日 星期六

nuvoTon(新唐)8bit 8051 微控制器開發環境建置 [3]-離線和 ISP(UART)燒錄

網頁最後修改時間:2020/08/15
從這篇網頁開始,將會說明如何在 Keil µVision 5 建立 nuvoTon(新唐) 8-bit 8051 MCU(微控制器)的韌體開發環境,主要分為:
  1. Keil C51 開發環境建置所需軟體安裝;
    主要說明建置開發環境時所需要的軟體的下載和安裝。
  2. 如何建立一個全新的 Keil 專案檔(以新唐 N76E003 晶片為例);
    包含樣本檔的建立、一鍵燒錄設定和除錯設置等...。
  3. 離線和 ISP(UART)燒錄;
    NuMicro ICP Programming Tool 燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。
這一篇是這系列的第三篇,主要說明韌體離線燒錄的方法,以及如何像 Arduino 一樣使用 UART 下載程式。

2020年8月10日 星期一

nuvoTon(新唐)8bit 8051 微控制器開發環境建置 [2]-如何建立一個全新的 Keil 專案檔(以新唐 N76E003 晶片為例)

網頁最後修改時間:2020/08/10
上一篇,開始說明如何在 Keil µVision 5 建立 nuvoTon(新唐) 8-bit 8051 MCU(微控制器)的韌體開發環境,主要分為下面幾個部分:
  1. Keil C51 開發環境建置所需軟體安裝;
    主要說明建置開發環境時所需要的軟體的下載和安裝。
  2. 如何建立一個全新的 Keil 專案檔(以新唐 N76E003 晶片為例);
    包含樣本檔的建立、一鍵燒錄設定和除錯設置等...。
  3. 離線和 ISP(UART)燒錄;
    NuMicro ICP Programming Tool 燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。
這一篇是此系列的第二篇,主要的目的是要利用上一篇安裝好的新唐 8051 微控制器開發所需要的軟體後,在 Keil 創建專案的同時,順手設定好相對應的專案參數選項。如此,就能在  Keil C51 順利編譯、一鍵燒錄和硬體除錯。

N76E003AT20 晶片, source: direct.nuvoton.com

2020年8月7日 星期五

nuvoTon(新唐)8bit 8051 微控制器開發環境建置 [1]-Keil C51 開發環境建置所需軟體安裝

網頁最後修改時間:2020/08/07
從這篇網頁開始,將會說明如何在 Keil µVision 5 建立 nuvoTon(新唐) 8-bit 8051 MCU(微控制器)的韌體開發環境,主要分為下面幾個部分::
  1. Keil C51 開發環境建置所需軟體安裝;
    主要說明建置開發環境時所需要的軟體的下載和安裝。
  2. 如何建立一個全新的 Keil 專案檔(以新唐 N76E003 晶片為例);
    包含樣本檔的建立、一鍵燒錄設定和除錯設置等...。
  3. 離線和 ISP(UART)燒錄;
    NuMicro Programming Tool 燒錄 .hex 檔的說明,和使用 ISP(UART)燒錄韌體的方法。
這一篇以建立新唐 8-bit 8051 微控制器系列的 Keil C51 開發環境為主,只要是該系列的晶片,本篇所描述的內容都適用。
8bit 8051 MCU, source: www.nuvoton.com

2020年6月18日 星期四

初試 VTScada - Arduino Nano 485 工控開發板 Modbus-RTU 通訊協議範例


網頁最後修改時間:2020/06/18

這不是廣告!這不是廣告!這不是廣告!


應該是 Proteus 孤陋寡聞,第一次聽聞 VTScada 是在幾天前看網路新聞時,看到斗大標題寫著
台達電斥9.65億元 收購加拿大圖控軟體公司Trihedral
這才引起了我的注意。在這之前,我並不認識它!

不過重點是,能讓台達電花錢去收購的公司,值得花時間了解一下!
「台達(2308)30日宣布,台達100%持有之子公司Delta Electronics與加拿大的SCADA圖控與工業物聯網軟體公司Trihedral Engineering Limited簽訂合約,以總金額約加幣4,500萬元(約新台幣9.65億元)收購Trihedral 100%股權。」引用自工商時報 即時新聞
台達電本身也有 SCADA 軟體,既然再去收購同類型的軟體公司,有可能會是強強聯手或是什麼其他原因,也不得而知。但可以說的是,後續可期!
「台達DIAView SCADA (Supervisory Control And Data Acquisition) 工業組態軟體是一套具有即時系統監控、資料擷取和分析功能的自動化管理系統,可協助管理者採集整廠的資料及規劃產線可視化的管理介面,實現遠端監控、系統管理和全廠資訊化管理,提高工廠整體的利用率及產能,可廣泛應用於機械、冶金、水處理、HVAC、包裝、供暖、環保監測、紡織、能源、交通、以及智慧建築等各種領域」引用自 www.deltaww.com DIAView 工業圖控系統網頁
到底 VTScada 有什麼魔力?又或是有什麼特別之處?能讓台達電願意花錢收購它;沒下載來玩玩、親身體驗一下,又怎麼會知道和理解呢?

既然要來玩玩 VTScada,那麼就要先來準備能讓它用的東西。

Proteus 準備用的是 Arduino Nano 485 工控開發板。裡面會撰寫符合 Modbus-RTU 通訊協議的程式,監視與控制兩個數位輸出、兩個數位輸入、一個 LED 亮度和 SHT31 溫溼度值。最後以 LED 亮度控制做為例子,說明 VTScada I/O Tags 建立的流程和圖形化介面開發的步驟。

看到這裡就別遲疑了,要學就繼續看下去囉!

2020年1月25日 星期六

如何在繁體 Windows 10 系統安裝 LabVIEW 簡體中文版與支援繁簡體混合文字輸入

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


現在大多數的人英文都很好,所以即便使用全英文介面的軟體也不會覺得有所困難,但我們的母語並不是英文,所以中文介面還是看起來比較友善。

現在很少有軟體不支援繁體中文的,但對於想使用中文版 LabVIEW 的,沒有繁體、沒有繁體、就是沒有繁體中文版!只有簡體中文版可供下載安裝試用。但是不要緊,學過繁體要看懂簡體字非常簡單,即便英文翻譯後的用語有些不同,語意上還是差不多,若有懷疑也可參照中英文辭彙對照表看英文原文釋疑,所以若想要使用簡體中文版 LabVIEW 來做為主要學習版本的話,可以試試這篇部落格所要介紹的:
如何在繁體 Windows 10 作業系統下安裝簡體中文版 LabVIEW 與支援繁簡體混合文字輸入,讓你在簡體中文介面下進行 LabVIEW 程式的開發。