別這樣開發多工

別這樣開發多工

水能載舟亦能覆舟

「多工」是運動控制的一項利器,但如果使用不當是可能替程序埋下一顆未爆彈

再者,多工所衍生的錯誤往往不好偵錯也不易重現,因此如何提升程序穩健性? 以正確的多工觀念來開發是大家必精進的課題

 

本文以ServoMotion的多工機制為基礎,演示一些容易衍生錯誤的多工手法,盼讀者能以之為借鏡,避免重蹈覆測。

Read more

一次搞懂多工排程

台達智能伺服為硬即時多工系統,採4個時槽(Slot)平分1毫秒的概念進行設計

如果你想更清楚多工切換的時序,首先你必須先把握下列多工切換三原則

 

  • Task-Switching Rules

1. 時槽已有指定的工作則執行該工作

下圖是系統內定Slot與Task的對應圖,當時間進入到Slot 0時開始運行Task 0,緊接著當時間進入到Slot 1時則切換至Task 1 運行,依此類推。

slot_task_

Read more

多工的需求-(2)支援 文本式 語法

開發 運動控制 程式,常見的語法可分成兩類:

  1. 圖形式      :LD(階梯圖),FBD(功能塊圖)
  2. 文本式(TEXT): BASIC,C/C++,ST,IL(MSM)…

我們考慮一個運動控制常見的例子:X-Y 平台需走兩段直線路徑,第一段須走完才能走第二段,以閃避中間的障礙物.分別用二種語法撰寫並加以比較.

Read more

運動控制 的 基礎知識

   運動控制 的 基礎知識  

基本觀念:

 位置單位 =>  PLS 編碼器單位  PUU 使用者單位
 電子齒輪比 => 公式推導  計算範例
分度 與 直線坐標 => 坐標系 定義 坐標系 比較  分度功能 的用途
 標準 凸輪曲線 => 直線  梯形曲線  三角形曲線
飛剪 凸輪曲線 => 同步區 說明 切長比 說明 等待區 說明

Read more