特殊指令如表4-27所示。plc中一些實現(xiàn)特殊功能的硬件需要通過特殊指令來使用,可實現(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)從遠程設(shè)備上接收數(shù)據(jù)并形成表(tbl)??梢詮倪h程站點讀最多16個字節(jié)的信息
tbl:vb,mb,*vd,*ac,*ld
port:常數(shù)
netw tbl,port
初始化通訊操作,通過指定端口(port)向遠程設(shè)備寫表(tbl)中的數(shù)據(jù),可以向遠程站點寫最多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
運用回路表中的輸入和組態(tài)信息,進行pid運算。要執(zhí)行該指令,邏輯堆棧頂(tos)必須為on狀態(tài)。tbl指定回路表的起始地址,loop指定控制回路號
回路表包含9個用來控制和監(jiān)視pid運算的參數(shù):過程變量當(dāng)前值(pv n ),過程變量前值(pv n-1 ),給定值(sp n ),輸出值(m n ),增益(kc),采樣時間(ts),積分時間(ti),微分時間(td)和積分項前值(mx)
為使pid計算是以所要求的采樣時間進行,應(yīng)在定時中斷執(zhí)行中斷服務(wù)程序或在由定時器控制的主程序中完成,其中定時時間必須填入回路表中,以作為pid指令的一個輸入?yún)?shù)
tbl:vb
loop:常數(shù)(0到7