程序流控制(00-09)CJ (P)條件跳轉(zhuǎn)指令用于跳過順序程序中的某一部分,可以減少掃描時間,并使“雙線圈操作”成為可能目標(biāo)操作元件:指針P0——P63(允許變址修改)
即跳轉(zhuǎn)目標(biāo)由指針P0-P63指定(允許變址修改)。P63 即END步。
使用格式: LD X0
CJ(P) P0
:
:
P0
:
:
END
當(dāng)X0由OFF到ON時,程序直接跳到P0處,向下執(zhí)行到程序結(jié)束。
當(dāng)用連續(xù)方式執(zhí)行CJ時,條件滿足時,每個掃描周期執(zhí)行一次。
(1) 跳轉(zhuǎn)指令有效時跳轉(zhuǎn)段內(nèi)的程序跳過,PLC不掃描,
(2) 跳轉(zhuǎn)前跳轉(zhuǎn)段內(nèi)已有自我保持的線圈,或以SET 的線圈,跳轉(zhuǎn)后線圈仍保持,但可通過跳轉(zhuǎn)外程序改變。積算定時器/計數(shù)器保持當(dāng)前值,非積算型復(fù)位,高速計數(shù)器仍工作。
(3) 從主控區(qū)外跳到主控區(qū)內(nèi)時,跳轉(zhuǎn)獨立于主控操作,不管MC狀態(tài)如何,均作ON處理。
(4) 從主控內(nèi)跳轉(zhuǎn)時,MC為OFF時,不執(zhí)行,為ON時可跳轉(zhuǎn)可跳到主控區(qū)外。
(5) T192---T199(100ms定時器);C235----C255(高速計數(shù)器)一經(jīng)驅(qū)動,既是跳過,也仍工作,輸出觸點也動作。
CALL(P)轉(zhuǎn)子程序
SRET 子程序返回。目標(biāo)操作元件:P0——P62(允許變址修改)
使用格式:LD X0
CALL(P) P0
:
:
:
FEND
P0
:
:
SRET
END
當(dāng)X0由OFF變?yōu)镺N時,程序直接跳到P0處,向下執(zhí)行,到SRET時,返回跳轉(zhuǎn)處再向下執(zhí)行。
注意:(1)當(dāng)用連續(xù)方式執(zhí)行CALL時,執(zhí)行條件滿足時每個掃描周期執(zhí)行一次。
(2)轉(zhuǎn)移目標(biāo)由P0-P62指定(允許變址修改)但CJ中用過的標(biāo)號不可再用。不同的CALL可調(diào)用同一子程序。
(3) P必須在主程序結(jié)束FEND后也就是說子程序必須寫在主程序結(jié)束FEND后。
(4)CALL調(diào)用的子程序必須以SRET結(jié)束
(5)在子程序內(nèi)可再用CALL子程序,形成嵌套,最多5級。
(6)子程序中定時器范圍T192-T199和T246-T249。
IRET 中斷返回,從中斷子程序返回中斷點,即子程序結(jié)束。
EI 允許中斷
DI 禁止中斷指令EI 與DI之間的程序段為允許中斷區(qū)間。當(dāng)處理到允許中斷區(qū)間時,中斷請求為ON 態(tài),則轉(zhuǎn)而處理相應(yīng)的中斷子程序。子程序處理到IRET指令知返回斷點。
在禁止中斷區(qū)間(即EI 與DI以外)有中斷事件發(fā)生,則PLC 記住該中斷,留待EI指令后執(zhí)行。
相應(yīng)的特殊輔助繼電器置1時,中斷程序不能執(zhí)行。例如,當(dāng)M805△置1時,相應(yīng)的中斷I△★★不執(zhí)行
在執(zhí)行中斷程序時,其它中斷禁止,但可在中斷程序內(nèi)編入中斷,可實現(xiàn)2級嵌套。
中斷程序中用定時器為T192——T199和T246——T249。
(1) 中斷子程序必須寫在主程序結(jié)束FEND后。
(2) 中斷子程序必須以IRET返回
中斷類型見元件“指針”
FEND 主程序結(jié)束,表示主程序結(jié)束。執(zhí)行到FEND指令時機(jī)器進(jìn)行輸出處理、輸入處理、警戒時鐘刷新,完成以后返回0步。(1) 子程序必須寫在FEND之后,即CALL、CALL(P)指令對應(yīng)的標(biāo)號必須寫在FEND 指令之后。CALL、、CALL(P)指令調(diào)用的 子程序必須以SRET指令結(jié)束。
(2) 中斷子程序也必須寫在FEND之后,必須以IRET結(jié)束。
(3) FEND 也不可出現(xiàn)在FOR-NEXT循環(huán)之中。
WDT(P)警戒時鐘。WDT指令刷新順序程序的警戒時鐘。如果掃描(從0步到END或FEND指令)超過200ms,PLC將停止。在這種情況下,應(yīng)將WDT指令插到合適位置中刷新警戒時鐘,以使順序程序執(zhí)行到END。
掃描周期的缺剩設(shè)置為200ms,如果希望改變掃描時間,可通過MOV改變D8000的值。
使用格式:LD X0
WDT(P)
當(dāng)X0由OFF變ON時,WDT(P)執(zhí)行一次刷新。
當(dāng)為連續(xù)方式執(zhí)行WDT時,執(zhí)行條件滿足時每個掃描周期執(zhí)行一次。
(1) 當(dāng)與CJ指令對應(yīng)的標(biāo)號的步序低于CJ指令時(即CJ跳到的位置在其前面時)在標(biāo)號P后編如WDT指令。
(2) M8039置位時,PLC 改以定時掃描方式運(yùn)行,掃描時間由D8039指定。可通過MOV傳送改變D8039數(shù)值。
FOR循環(huán)區(qū)起點,后面加Kn,循環(huán)n次。
NEXT 循環(huán)區(qū)終點操作元件:K/H KnX KnY KnM KnS T C D V/Z
使用格式:FOR K4
:
:
NEXT
:
END
FOR——NEXT間的程序執(zhí)行4次,再執(zhí)行NEXT指令以后的程。
(1) 可嵌套5級
(2) 循環(huán)次數(shù)1——32767
[ 此帖被870605在2011-06-09 11:24重新編輯 ]