特殊指令如表4-27所示。中一些實(shí)現(xiàn)特殊功能的硬件需要通過特殊指令來使用,可實(shí)現(xiàn)特定的復(fù)雜的控制目的,同時程序的編制非常簡單。
表特殊指令
| 名稱 | 指令格式 (語句表) | 功能 | 操作數(shù) |
| 中斷指令 | atch int,evnt | 把一個中斷事件(evnt)和一個中斷程序聯(lián)系起來,并允許該中斷事件 | int:常數(shù) evnt:常數(shù)(cpu221/222:0~12,19~23,27~33;cpu224:0~23,27~33;cpu226:0~33) |
| dtch evnt | 截斷一個中斷事件和所有中斷程序的聯(lián)系,并禁止該中斷事件 | ||
| eni | 全局地允許所有被連接的中斷事件 | 無 | |
| disi | 全局地關(guān)閉所有被連接的中斷事件 | ||
| creti | 根據(jù)邏輯操作的條件從中斷程序中返回 | ||
| reti | 位于中斷程序結(jié)束,是必選部分,程序編譯時軟件自動在程序結(jié)尾加入該指令 | ||
| 通信指令 | netr tbl,port | 初始化通訊操作,通過指令端口(port)從遠(yuǎn)程設(shè)備上接收數(shù)據(jù)并形成表(tbl)??梢詮倪h(yuǎn)程站點(diǎn)讀最多16個字節(jié)的信息 | tbl:vb,mb,*vd,*ac,*ld port:常數(shù) |
| netw tbl,port | 初始化通訊操作,通過指定端口(port)向遠(yuǎn)程設(shè)備寫表(tbl)中的數(shù)據(jù),可以向遠(yuǎn)程站點(diǎn)寫最多16個字節(jié)的信息 | ||
| xmt tbl,port | 用于自由端口模式。指定激活發(fā)送數(shù)據(jù)緩沖區(qū)(tbl)中的數(shù)據(jù),數(shù)據(jù)緩沖區(qū)的第一個數(shù)據(jù)指明了要發(fā)送的字節(jié)數(shù),port指定用于發(fā)送的端口 | tbl:vb,ib,qb,mb,sb,smb,*vd,*ac,*ld port:常數(shù)(cpu221/222/224為0;cpu226為0或1) | |
| rcv tbl,port | 激活初始化或結(jié)束接收信息的服務(wù)。通過指定端口(port)接收的信息存儲于數(shù)據(jù)緩沖區(qū)(tbl),數(shù)據(jù)緩沖區(qū)的第一個數(shù)據(jù)指明了接收的字節(jié)數(shù) | ||
| gpa addr,port | 讀取port指定的cpu口的站地址,將數(shù)值放入addr指定的地址中 | addr:vb,ib,qb,mb,sb,smb,lb,ac,*vd,*ac,*ld 在spa指令中addr還可以是常數(shù) port:常數(shù) | |
| spa addr,port | 將cpu口的站地址(port)設(shè)置為addr指定的數(shù)值 | ||
| 時鐘指令 | todr t | 讀當(dāng)前時間和日期并把它裝入一個8字節(jié)的緩沖區(qū)(起始地址為t) | t:vb,ib,qb,mb,sb,smb,lb,*vd,*ac,*ld |
| todw t | 將包含當(dāng)前時間和日期的一個8字節(jié)的緩沖區(qū)(起始地址是t)裝入時鐘 | ||
| 高速計數(shù)器指令 | hdef hsc,mode | 為指定的高速計數(shù)器分配一種工作模式。每個高速計數(shù)器使用之前必須使用hdef指令,且只能使用一次 | hsc:常數(shù)(0~5) mode:常數(shù)(0~11) |
| hsc n | 根據(jù)高速計數(shù)器特殊存儲器位的狀態(tài),按照hdef指令指定的工作模式,設(shè)置和控制高速計數(shù)器。n指定了高速計數(shù)器號 | n:常數(shù)(0~5) | |
| 高速脈沖輸出指令 | pls q | 檢測用戶程序設(shè)置的特殊存儲器位,激活由控制位定義的脈沖操作,從q0.0或q0.1輸出高速脈沖 可用于激活高速脈沖串輸出(pto)或?qū)挾瓤烧{(diào)脈沖輸出(pwm) | q:常數(shù)(0或1) |
| pid回路指令 | pid tbl,loop | 運(yùn)用回路表中的輸入和組態(tài)信息,進(jìn)行pid運(yùn)算。要執(zhí)行該指令,邏輯堆棧頂(tos)必須為on狀態(tài)。tbl指定回路表的起始地址,loop指定控制回路號 回路表包含9個用來控制和監(jiān)視pid運(yùn)算的參數(shù):過程變量當(dāng)前值(pv n ),過程變量前值(pv n-1 ),給定值(sp n ),輸出值(m n ),增益(kc),采樣時間(ts),積分時間(ti),微分時間(td)和積分項(xiàng)前值(mx) 為使pid計算是以所要求的采樣時間進(jìn)行,應(yīng)在定時中斷執(zhí)行中斷服務(wù)程序或在由定時器控制的主程序中完成,其中定時時間必須填入回路表中,以作為pid指令的一個輸入?yún)?shù) | tbl:vb loop:常數(shù)(0到7 |










