VitaBox AD

2023年10月26日 星期四

[ESP32]如何透過Modbus和Serial port擷取工業數顯表頭資料?

 

對於既有老舊的工業或實驗設備機台,嵌入工業數顯表頭並顯示設備運作參數和數據,以讓巡檢人員或操作人員手抄記錄數據,是常見作法。然而,若可將既有設備機台的表頭更換為具備Modbus通訊功能的表頭,並連接便宜的單晶片開發板,使其自動即時顯示運作參數和紀錄數據,將可釋放巡檢和操作人力並避免手抄錯誤。甚至可進一步連結網路,讓既有老舊的設備機台升級為IIOT設備。

2023年10月16日 星期一

[Excel]如何找到非固定空白格數列的條件數據? 以月份報價表單為例

在群組中看到上述問題,研判應是一份隨月份變動的產品報價表單,空白欄可能表示該月份價格與上個月份一致。這個問題是需要取得最近一次單價和倒數第二次單價,常用且實務的excel案例值得紀錄。

2023年10月15日 星期日

[Excel]如何製作具備關鍵字搜索功能的下拉式選單?

 


利用Excel建立下拉式選單功能,讓使用者得以簡易並快速完成選項需求,然而,若下拉式選單的內容過於冗長,將使簡易並快速完成選項需求的初衷大大折扣,具備簡易搜索功能的下拉選單可以解決這個問題,如影片所示。更重要的是,僅需利用Excel的常用函數和資料驗證視窗,即可完成建立搜索功能的下拉選單,您說CP值夠不夠高?

[Excel VBA]判斷英文字母是否為大寫

 

在Excel VBA中,利用ASC 指令可以取得ASCII碼,將可應用於判斷字元的屬性。

本文利用asc指令製作一支簡易的VBA程式,用以判斷英文字母的大小寫,功能為若原資料為英文大寫字母,則輸出資料為空一格+原資料。程式碼如下,供各位參考。

2023年10月8日 星期日

[C#]在Mdi模式中,如何透過委派(delegate)方式,使兩個子窗體可相互傳送和接收資料?

 

關於在Mdi模式中,子窗體相互拋轉資料是常見的作業方式,同時經查找資料,利用委派(delegate)的方式,可避免耦合等問題。範例的操作效果如上述視頻,其中a窗體為送出資料的子窗體,b窗體為接收資料的子窗體。另外,利用TextChanged事件,讓使用者不需要再點擊按鈕,即可同步接收資料。

2023年9月19日 星期二

[Excel]如何提取指定顏色的儲存格內容並彙整資料?


近日在討論群組中,看到一個辦公室常見的資料處理問題,是關於提取顏色儲存格內容並彙整的資料需求,主要是提取紅色字體內容並彙整到總評欄位中,如下圖所示。

2023年9月16日 星期六

[Excel]如何快速彙整google問卷表單的複選題資料?


Google表單問卷已成為行銷領域的基本工具,藉由問卷回收進行統計分析以進一步了解目標市場和主要客群的動態,將有助於成熟產品的資源配置(如生產設備稼動、銷售渠道等等),甚至影響下一代產品的規格制訂。

因應行銷友人的統計分析需求,其需要將google回收問卷表單的複選題轉換成0101...的格式,如下圖,以進一步將數據帶入SPSS做分析。

2023年9月9日 星期六

[MySQL]同一張資料表的日期欄位相減_派生表(dervied table)的應用

 以往對於MySQL數據庫的應用,大多是基本的增刪改查步驟,因此MySQL大多停留在基本語法階段。然而在實際的數據應用上,若能從數據庫直接運算和抽取運算結果,同時不需要在MySQL中額外建立一個實體表,再好不過。

在MySQL中,虛擬表可符合上述需求,其中虛擬表包含臨時表(temporary table)、派生表(derived table)等等。臨時表的語法需注意嵌入以CREAT TEMPORARY TABLE...為開頭;派生表類似臨時表,語法為在SELECT...FROM中嵌入子查詢語句,同時須注意使用派生表必須具有別名,避免MySQL報錯。

2023年9月2日 星期六

[C#]MDI父窗體新增背景圖片,並隨父窗體縮放

在C#的人機介面應用,多重文件介面(MDI, Multiple-Document Interface)是一個常用的容器,在表單屬性中,將IsMdiContainer設定為true即可生成容器。

然而,生成容器後,父窗體背景的預設值為灰色,在人機介面的視覺效果,實在不親民。因此如何利用Resources.resx新增背景圖片資源,並在程式碼中調用該背景圖片,同時該背景圖片可隨著父窗體縮放,為本文主題。

2023年8月20日 星期日

[Python]視窗軟件的自動化測試工具_pyautogui


軟件測試是確認軟件質量的重要流程之一,一般藉由撰寫自動化測試程序來實現。視窗程式的自動化測試原理也很容易,其利用螢幕像素點作為定位參考,並以程式碼使滑鼠和鍵盤做動,如點擊或輸入文字等動作,使其可模擬人類操作視窗程式,最後自動化執行上千次或上萬次,以確保程式的可靠性。

2023年8月18日 星期五

[Open-source tool] 可搭配PHP和SQL的表單開源工具_Form tools(2):Add Form by External Direct Type

可搭配PHP和SQL的表單開源工具_Form tools(2):Add Form by External Direct Type

延續<[Open-source tool] 可搭配PHP和SQL的表單開源工具_Form tools(1):簡介和建置>一文,完成建置後,接著是在Form tools管理後台內新增表單(Add Form),方便管理不同的回填表單。新增表單分別有Internal, External和Form Builder三種型態供挑選,同時External又可區分為Direct和Code兩種方式,其中Direct是以指向Form tools內process.php的方式進行; Code則是以Form tools API方式引入。由於External方式較為彈性且靈活,本文以External Direct Type來建立表單,同時以報名表網頁為範例來測試。

2023年8月17日 星期四

[Open-source tool] 可搭配PHP和SQL的表單開源工具_Form tools(1):簡介和建置

可搭配PHP和SQL的表單開源工具_Form tools(1):簡介和建置

Form tools是一套可搭配PHP和SQL的表單開源工具,可讓開發者靈活運用,同時其有數個表單模板和應用模組供挑選,方便且彈性。Form tools已開發超過20年,為不同領域的需求者或開發者提供一個自由和開放的平台,使他們可建構自定義的數據表單和格式,並透過網站發布,以及在Form tools管理後台或者MySQL中取得回填表單。另外,可藉由Form tools管理後台設定的資料可視化模組(Data   Visualization Module),讓需求者可實時監看和管理回填表單的狀態,如下兩圖所示。看到這裡,是不是迫不及待想玩玩這個開源工具了呢?  

2023年8月6日 星期日

[LabVIEW]圖像內的物件計算_Count objects

[LabVIEW]圖像內的物件計算_Count objects


NI雖然是以賣硬件為主的公司,但其在軟件(LabVIEW)的著墨也相當深厚,尤其是各類應用模組的更新速度和對應功能。 每每不經意地碰觸到新版本的LabVIEW,都會不由自主地翻閱和嘗試新增模組。

本文藉由兩個模組串接簡易製作一支圖像計數程式,兩個模組分別為<IMAQ Count Objects>和<IMAQ ExtractSingleColorPlane>,流程架構為"讀取圖像"->"圖像格式轉換"->"計算圖像內的物件個數",其中"圖像格式轉換"由<IMAQ ExtractSingleColorPlane>將32bit圖像轉成8bit圖像,再交由<IMAQ Count Objects>執行"計算圖像內的物件個數"。

2023年7月30日 星期日

[Raspberry Pi]如何用VNC遠端控制樹莓派(Ubuntu desktop 23.04)?

如何用VNC遠端控制樹莓派(Ubuntu desktop 23.04)?

之前曾利用VMware探索CentOS,熟悉Linux操作系統的指令和配置運作方式,後來在樹莓派價格飛漲的時期,遇到貴人贈送Raspberry Pi 4 model B / 8GB,這下工具到位了,索性跳過樹莓派官方系統(Raspberry Pi OS),直接裝起Ubuntu做實機測試和應用。

當時利用Ubuntu 22.04做了些簡單的應用,包含配置Apache和MySQL等等伺服器,並讓使用者在BS架構(Bowser-server)下,可用網頁簡易操作開發版並取得感測器數據。近期打算用樹莓派做一個通信協定的模擬數據測試,其在開關機的過程出現死當,剛好可以重做映像檔,試試Ubuntu 23.04。