2018年12月30日 星期日

[自動化工程]所需馬達扭矩計算-以輸送帶系統為例-概念

宅哥常在工作場合聽到:

這組機構400W馬達應該夠力吧?以我的經驗應該用100W就夠了!感覺這個這麼重,應該要來個750W!

這樣的討論內容有點愧對工程師這個頭銜,18 19世紀各種偉大科學家也都一併擁有冠上工程師這個頭銜呢,我們雖沒有這樣的才智好歹也要追求這樣的精神,更何況我們面對的問題好像僅是牛頓第二定律?多點數學少點感覺Let's go

2018年12月21日 星期五

[C/C++][STL][C#]集合處理筆記

標準模板函式庫(STL)Wiki:

STL 將「在資料上執行的操作」與「要執行操作的資料分開」

對於構築集合處理的方式,.NET與STL思想上略有小小不同。

NET趨向物件導向想法(結合資料與操作成為一物件),將集合操作用函數以成員函數形式(member function)附屬在樣板容器之下,相當於在集合操作用函數中隱含(implicity)帶入自身參考。

.NET集合操作用函數無法直接帶入函數指標,而是要帶入委派(delegate),建立對應操作的委派的方式之一:

2018年12月11日 星期二

[Qt]分離Ui執行緒與Worker執行緒


有時候為了增進Ui的響應速度,不得不把例行工作,尤其那些需要定時呼叫或狀態控制的工作,移到背景執行緒,形成雙執行緒的工作架構(基本上就是自動化產業的101招):

  • 主執行緒(Main thread)負責Ui的訊息迴圈,捕捉使用者事件如滑鼠點擊,鍵盤按下等等
    • 通常開發框架都幫忙搞定好訊息迴圈架構了,我們只需要填寫各事件的處理常式
      • 心得:處理一圈迴圈的延遲能在100ms內搞定,使用者基本上會感覺流暢

  • 背景執行緒(Working thread),可能就負責收集外部I/O的資訊,內部物件狀態控制,等等...與介面無關的工作
    • 時脈上就與使用者的反應無關,這個執行緒Looping的速度盡量越快越好
      • 心得:處理一圈的延遲能在10ms內搞定,順序控制在大部分應用情況不會太糟

2018年12月2日 星期日

OpenCVSharp@MACOS 安裝步驟

步驟大致參考此,另外註記心得
https://github.com/shimat/opencvsharp/tree/master

OpenCVSharp只是opencv的C# wrapper,所以本機上必須要有opencv套件+opencvsharp
,需要特別注意版本對應問題,本篇針對opencv4.0.0做紀錄