---SmartMotor中斷指令功能:以急停為例(class5)---

SmartMotor的中斷指令能夠在任何時候,
在滿足所設定的中斷功能時,就跳到指定的副程式

這邊大略說明ITR(A,B,C,D,E)的設定:
A是指中斷的設定組,可設定0~7,可用8組
B是Status Word的頁次,可在"Motor View"的視窗來找你要的功能
C是Status Word的項次,和B是搭配的,IO 0的話B為16,C為0
D是Status Word的要啟動中斷的開關狀態,1為開0為關
E是設定中斷時要跳到的副程式代號,副程式可設定0~999

*與中斷相關的指令
EITR(#)        :設定第#組中斷可用
DITR(#)        :取消第#組中斷功能
ITRE             :啟動所有中斷功能
ITRD            :取消所有中斷功能


程式範例1:(以急停為例)
=======================================================

ITR(0,16,0,0,0)  ‘設定第0組中斷,在IO 0狀態為0時,跳到副程式0
EITR(0)   ‘設定第0組中斷可用
ITRE       ‘啟動中斷功能
C10            '製造不結束主程式的迴圈副程式10
GOTO10
END           '結束主程式(結束的話中斷功能也被關閉,故必須讓程式不能到END)
C0              '副程式0
              ‘主控馬達停止
PRINT(#128,"X",#13)      '其他馬達停止
RETURNI   '結束中斷副程式(注意此處與一般副程式結尾不同)    
=======================================================



程式範例2:
(IO 0狀態為0時,馬達停止並印出目前位置;
 IO 0狀態為1時,馬達從停止點繼續運動)
=======================================================
EIGN(2) EIGN(3) ZS  '取消馬達限制
ITR(0,16,0,0,123)  ‘設定第0組中斷,在IO 0狀態為0時,跳到副程式123
EITR(0)            ‘設定第0組中斷可用
ITRE               '啟動中斷功能
C1                  '副程式1
MP                 '位置模式
G                       '執行
O=0                  '設定馬達目前位置為絕對位置零
VT=32768            '設定速度
ADT=100           '設定加減速度
PT=200000          '設定目標絕對位置
                      '馬達執行運動
GOTO1                '前往副程式1
END                     '結束主程式
C123                      '副程式123
                          '馬達減速至停止
TWAIT                        '等待停止
PRINT("POSITION:",PA,#13)    '印出目前位置
WAIT=100                                       '等待100ms     
WHILE IN(0)==0        '當 IO 0狀態為0時,會一直停留在迴圈     
LOOP 
RETURNI          '結束中斷副程式(注意此處與一般副程式結尾不同)
=======================================================