指標(pointer)是 MSM 語法支持的一種 定址方式,得以讓程式寫作的彈性更大,功能更完整!但因為牽涉到 記憶體位址 的觀念,初次接觸的人 可能會望而生畏.其實指標並不困難,只要把它想像成 陣列的別名 就好了!例如,有一個名為 A 的陣列,型態是 DINT,我們可以用下列的方式來取用它:
EzASD熱鍵
面板顯示
|
|
(ALT+1)~(ALT+8) | 面板顯示/隱藏 |
Alt+Enter | 全螢幕編輯模式切換 |
ALT+Left/Right | MDI視窗切換 |
在MDI Tab上滑鼠中鍵 | 關閉該MDI視窗 |
編譯執行 | |
Ctrl+F7 | 編譯 |
Ctrl+F8 | 編譯並下載(若已編譯,將省略編譯.使用者編輯後可直些用此熱鍵,不須Ctrl+F7再Ctrl+F8) |
Ctrl+F9 | Run |
Ctrl+M |
程式監控 |
變數表 | |
滑鼠中鍵 | 搜尋專案中引用該變數的地方 |
Ladder編輯 | |
F1~F9 | Relay編輯輸入,ICON下半部圖形為熱鍵示意 |
Ctrl+D | 刪除垂直線 |
Alt+D | 刪除垂直線且游標下移 |
Ctrl+3 | Ladder裡新增編輯Macro POU |
Ctrl+4 | Ladder裡觸發某個POU跑在某個Task |
ALT+Up/Down | Ladder中垂直展開/摺疊Macro POU或API參數 |
(Shift+滑鼠滾輪) | |
Shift+Alt+I/O | Ladder中調整格子寬度和字型大小 |
(Ctrl+滑鼠滾輪) | |
Ctrl+Q | Ladder顯示變數名稱或位址或同時顯示名稱和位址 |
Ctrl+1 | 將Ladder游標位址加入監控面板 |
(滑鼠中鍵) | |
滑鼠左鍵雙擊 | 在Ladder監控模式中雙擊Ladder格子可改變該位址的布林狀態 |
Ctrl+Alt+A | 顯示註解(亦可由滑鼠右鍵選單操作) |
Ctrl+Alt+B | 編輯網路註解 |
Ctrl+F | 搜尋專案中引用該變數或位址的地方 |
Ctrl+. |
換成常開 |
Ctrl+/ |
換成常閉 |
Ctrl+P |
換成上升緣 |
Ctrl+N |
換成下降緣 |
MSM編輯 | |
Ctrl+R | 排版:MSM以最小間距靠左 |
Ctrl+I | 排版:MSM指令以游標所在位置垂直對齊 |
Ctrl+K | 排版:MSM OP1以游標所在位置垂直對齊 |
Ctrl+F | 搜尋專案中引用該變數或位址的地方 |
Ctrl+Shift+F | 打開該MSM搜尋取代視窗 |
Ctrl+1 | 將該行Op1變數加入監控面板 |
Ctrl+D | 打開該行Op1變數宣告所在的變數表並Focus在該定義列 |
Ctrl+W | 單步執行 |
Ctrl+E | Free-Run(斷點單步執行模式時,解除單步執行模式) |
滑鼠左鍵雙擊CALL_API列 | 可編輯API參數引數 |
滑鼠左鍵雙擊CALL_OBJ_FUN列 |
可編輯物件函式引數 |
Ctrl+B | MSM區塊設定/解除註解 |
AL.017 參數記憶體 異常 – 台達伺服警報
異常名稱 | 一次因 | ALM | WRN | SRV ON | 清除 方式 |
---|---|---|---|---|---|
AL.017 |
記憶體(EEPROM)存取異常時動作 | ⊗ | NO | DI:ARST |
MSM : 迴圈的使用
迴圈(Loop)通常用來實作 重複而規律 的程式行為,例如,計算 一個陣列 所有內容的總和,或是將 一個陣列 複製到 另一個陣列中!MSM 的迴圈語法如下:
台達 M-R 伺服 倒單擺 控制

倒單擺 是天生不穩定的系統,必須靠控制法則使其穩定.控制器 須具備 高速取樣 與 即時運算 的能力,以往必須靠 韌體實作 才有機會實現!台達 ASD-M-R 伺服驅動器 內建 ezASD 運動控制開發環境,提供 即時多工能力,可以輕易實現此類 閉環控制,本例為 產碩學生 實做的倒單擺 PID控制,雖然不算完美,但開始試車僅短短一小時就能達到如此效果,代表 M-R 的開放度與效能 都極為優秀,在 業界與學界 都有良好的發揮空間,影片如下:
MSM : 陣列的使用
A2 凸輪對位- 如何修正 P5-19 ?
A2 凸輪對位-示波器觀察(1)

台達 ASD-A2 凸輪對位 實際運作時,可以使用 ASDA-Soft 的示波器功能 來觀察效果,本文以 枕式包裝機送膜軸 標記對位 為例,參數設定如下:
- P2-76 = UZYX = 0x3207:
- UZ = 0x32:正轉允許率=50%,表示最短距離修正
- Y = 0:不做濾波
- X = 7:對位開啟 + 自動觸發PR + 反式對位(標記在從軸)
- P2-73 = DCBAUZYX = 0x30360F0A:
- DC = 0x30:遮沒範圍=48%
- BA = 0x36:指定 PR 54 作為對位修正的 PR
- UZ = 0x0F:表示 每次最多修正 15%
- YX = 0x0A:表示 對位誤差(V085)小於10%才做濾波(建議勿太小)
凸輪對位 實際運作的 示波器圖形 說明如下:(點此可下載原始示波器檔 .scp)
MSM:常數搬移指令
使用 MSM 設定 常數資料 給 暫存器 或 變數時,雖可透過 ACC 載入 與 存出指令來做,但是需二步驟.例如,要把常數 123456 設給變數 Var_1,撰寫如下:
多工的需求-(2)支援 文本式 語法
開發 運動控制 程式,常見的語法可分成兩類:
- 圖形式 :LD(階梯圖),FBD(功能塊圖)
- 文本式(TEXT): BASIC,C/C++,ST,IL(MSM)…
我們考慮一個運動控制常見的例子:X-Y 平台需走兩段直線路徑,第一段須走完才能走第二段,以閃避中間的障礙物.分別用二種語法撰寫並加以比較.