官术网_书友最值得收藏!

2.2.2 跳轉(zhuǎn)區(qū)域的軟元件變化與功能指令執(zhí)行

當(dāng)程序執(zhí)行條件轉(zhuǎn)移指令發(fā)生跳轉(zhuǎn)時(shí),把指令CJ到轉(zhuǎn)移標(biāo)號(hào)之間的程序段稱為跳轉(zhuǎn)區(qū)域,如圖2-18所示。跳轉(zhuǎn)區(qū)域中會(huì)有位元件、定時(shí)器、計(jì)數(shù)器和功能指令等。如果在未執(zhí)行CJ指令前,這些軟元件的狀態(tài)是一定的。但在執(zhí)行CJ指令后,跳轉(zhuǎn)區(qū)域指令雖并未執(zhí)行,但驅(qū)動(dòng)條件會(huì)隨輸入口狀態(tài)變化或程序運(yùn)行變化而改變,這時(shí),對(duì)跳轉(zhuǎn)區(qū)域的軟元件會(huì)產(chǎn)生什么影響呢?下面分別加以討論。

圖2-18 程序轉(zhuǎn)移與跳轉(zhuǎn)區(qū)域

1.位元件Y、M、S

如圖2-19(a)所示,Y1為跳轉(zhuǎn)區(qū)域中的位元件。程序在未執(zhí)行轉(zhuǎn)移時(shí),Y1的狀態(tài)由驅(qū)動(dòng)元件X03決定。分兩種情況討論,X03=ON時(shí),時(shí)序圖如圖2-19(b)所示;X03=OFF時(shí),時(shí)序圖如圖2-19(c)所示。從時(shí)序圖中可以看出,不論Y1的初始狀態(tài)是ON還是OFF,當(dāng)程序發(fā)生轉(zhuǎn)移后,如果其驅(qū)動(dòng)條件X03的狀態(tài)發(fā)生變化(圖6-19(b)中的①變到②),Y1仍保持其狀態(tài)不變。但如果在跳轉(zhuǎn)區(qū)域外,再次驅(qū)動(dòng)Y1,則按雙線圈處理。以上結(jié)論同樣適用于位元件M,S。

圖2-19 位元件跳轉(zhuǎn)狀態(tài)

2.定時(shí)器

1)10ms、100ms定時(shí)器(T0~T199,T200~T245,T250~T255)

這類(lèi)定時(shí)器如果程序轉(zhuǎn)移前未啟動(dòng),則一直保持停止?fàn)顟B(tài),與位元件類(lèi)似如圖2-20(a)所示。如果程序轉(zhuǎn)移前已啟動(dòng),則發(fā)生程序轉(zhuǎn)移時(shí),會(huì)馬上停止計(jì)時(shí),且在轉(zhuǎn)移期間保持當(dāng)前值不變,如圖2-20(b)所示的①處。轉(zhuǎn)移結(jié)束后,如果X04仍為ON,則計(jì)時(shí)繼續(xù),直到達(dá)到設(shè)定值為止。如果又發(fā)生程序轉(zhuǎn)移,并在轉(zhuǎn)移期間,X04由ON變?yōu)镺FF,則當(dāng)轉(zhuǎn)移結(jié)束后,定時(shí)器馬上復(fù)位,當(dāng)前值也歸0,觸點(diǎn)動(dòng)作如圖2-20(b)所示的②處。這類(lèi)定時(shí)器的跳轉(zhuǎn)狀態(tài)如圖2-20所示。

圖2-20 10ms、100ms定時(shí)器跳轉(zhuǎn)狀態(tài)

2)1ms定時(shí)器(T246~249)

與10ms,100ms定時(shí)器類(lèi)似,如果程序轉(zhuǎn)移前未啟動(dòng),則一直保持停止?fàn)顟B(tài)。與10ms,100ms定時(shí)器不同之處在于如果程序轉(zhuǎn)移前已啟動(dòng),則在發(fā)生程序轉(zhuǎn)移期間,定時(shí)器繼續(xù)計(jì)時(shí),直到當(dāng)前值為設(shè)定值,如圖2-21(b)所示的①處。但其觸點(diǎn)動(dòng)作在轉(zhuǎn)移結(jié)束后才發(fā)生,如圖2-21(b)所示的②處。如果定時(shí)器驅(qū)動(dòng)條件由ON變OFF,轉(zhuǎn)移結(jié)束后,定時(shí)器當(dāng)前值仍維持設(shè)定值,其相應(yīng)觸點(diǎn)也不動(dòng)作,直到有信號(hào)使定時(shí)器復(fù)位,當(dāng)前值才歸零,觸點(diǎn)動(dòng)作,如圖2-21(b)所示的③處。

圖2-21 1ms定時(shí)器跳轉(zhuǎn)狀態(tài)

對(duì)跳轉(zhuǎn)區(qū)域中的定時(shí)器來(lái)說(shuō),程序轉(zhuǎn)移后,如果出現(xiàn)了驅(qū)動(dòng)跳轉(zhuǎn)區(qū)域中定時(shí)器的RST指令,只要驅(qū)動(dòng)條件成立,都會(huì)使定時(shí)器復(fù)位,當(dāng)前值為0,觸點(diǎn)動(dòng)作。但在跳轉(zhuǎn)區(qū)域中的RST指令,程序轉(zhuǎn)移后,即使驅(qū)動(dòng)條件成立,定時(shí)器也不會(huì)復(fù)位。

3.計(jì)數(shù)器

跳轉(zhuǎn)區(qū)域中的計(jì)數(shù)器的狀態(tài)和10ms,100ms定時(shí)器類(lèi)似,時(shí)序圖如圖2-22所示。讀者可自行分析。

圖2-22 計(jì)數(shù)器跳轉(zhuǎn)狀態(tài)

4.功能指令

如果跳轉(zhuǎn)區(qū)域中有功能指令,則當(dāng)程序發(fā)生轉(zhuǎn)移后,即使功能指令的驅(qū)動(dòng)條件成立,功能指令也不執(zhí)行,但是功能指令MTR,HSCC,HSCR,HSZ,SPD PLSY,PWM,PLSR的動(dòng)作繼續(xù),不受程序轉(zhuǎn)移的影響。

5.與主控指令的關(guān)系

主控指令和轉(zhuǎn)移指令的關(guān)系及動(dòng)作如圖2-23所示。其轉(zhuǎn)移動(dòng)作說(shuō)明如下。

圖2-23 主控指令中的跳轉(zhuǎn)狀態(tài)

(1)從MC外向MC外轉(zhuǎn)移,圖中①所示。

這種轉(zhuǎn)移,基本上與主控程序無(wú)關(guān),可以隨意轉(zhuǎn)移。

(2)從MC外向MC內(nèi)轉(zhuǎn)移,圖中②所示。

這時(shí),如果主控指令不被驅(qū)動(dòng)(M0=OFF),轉(zhuǎn)移到P1以后的程序照樣執(zhí)行,視M0=ON。

(3)從MC內(nèi)向MC內(nèi)轉(zhuǎn)移,圖中③所示。

這是在MC內(nèi)的轉(zhuǎn)移,能夠執(zhí)行轉(zhuǎn)移的條件是主控指令必須被驅(qū)動(dòng),如果不被驅(qū)動(dòng)(M0=OFF),轉(zhuǎn)移則不被執(zhí)行。

(4)從MC內(nèi)向MC外轉(zhuǎn)移,圖中④所示。

分兩種情況,如果主控指令被驅(qū)動(dòng)(M0=ON)則可以進(jìn)行轉(zhuǎn)移,但主控復(fù)位指令MCR變?yōu)闊o(wú)效。如果主控指令不被驅(qū)動(dòng)(M0=OFF),轉(zhuǎn)移不能執(zhí)行。

(5)從一個(gè)MC內(nèi)向另一個(gè)MC內(nèi)轉(zhuǎn)移,圖中⑤所示。

僅當(dāng)MC N0 M0指令被驅(qū)動(dòng)時(shí),轉(zhuǎn)移才能進(jìn)行。一旦發(fā)生轉(zhuǎn)移,則與MC N1 M2指令是否被驅(qū)動(dòng)無(wú)關(guān),而且上一個(gè)MCR N0被忽略。

主站蜘蛛池模板: 林甸县| 家居| 富源县| 淳安县| 巴彦县| 盐边县| 宁国市| 辽中县| 仲巴县| 监利县| 宁阳县| 如东县| 景东| 大英县| 安化县| 鄂托克旗| 葵青区| 岑巩县| 东台市| 万安县| 南华县| 洮南市| 罗田县| 辽阳市| 威远县| 礼泉县| 岑巩县| 简阳市| 类乌齐县| 建瓯市| 诸暨市| 竹溪县| 吉隆县| 岗巴县| 遵义县| 金山区| 台南县| 固阳县| 二连浩特市| 北碚区| 田林县|