先說外部中斷,在外部輸入狀態(tài)變化時(shí),立即跳出當(dāng)前循環(huán)掃描執(zhí)行程序,轉(zhuǎn)而執(zhí)行中斷服務(wù)子程序,執(zhí)行完中斷服務(wù)子程序后,再跳回到之前跳出的循環(huán)掃描程序位置繼續(xù)執(zhí)行順序程序。所以你只需要在中斷服務(wù)子程序中寫入你的停止程序即可。外部中斷輸入點(diǎn)不受掃描周期影響。另外基于以上特性不是所有的輸入點(diǎn)都可以執(zhí)行中斷,只有硬件支持的才能中斷(具體那幾個(gè)點(diǎn)支持中斷,需要你自行根據(jù)PLC的型號(hào)查手冊)。 再回到樓主的工作模型,其實(shí)你停止的位置精度除了受你的程序執(zhí)行周期影響外,還受你當(dāng)前運(yùn)行速度影響,例如你以1MM/S的速度立即停止和以100MM/S的速度立即停止是相差蠻遠(yuǎn)的(其實(shí)速度差異遠(yuǎn)遠(yuǎn)大于PLC掃描周期帶來的差異)。。。。。。。由于在運(yùn)行之前你并不知道目標(biāo)地址在哪里,是檢測到停止,都存在一個(gè)滯后性,不管你運(yùn)用什么馬達(dá)這個(gè)滯后性肯定是不能消除的,所以只要馬達(dá)響應(yīng)性還可以,不管是類型的馬達(dá)沒有什么大的區(qū)別。。。。。感應(yīng)到停止最好例子是就PLC自帶的馬達(dá)歸原點(diǎn)指令。我們可以去查看下各種PLC手冊,對于馬達(dá)歸原點(diǎn)指令:有近原點(diǎn)開關(guān) 有原點(diǎn)開關(guān) 有原點(diǎn)回歸高速 有原點(diǎn)回歸爬行速度。你可以留意一下對系統(tǒng)歸原點(diǎn)指令的原點(diǎn)開關(guān),都是系統(tǒng)已經(jīng)指定的一個(gè)輸入點(diǎn),為什么指定呢,就是因?yàn)檫@個(gè)輸入點(diǎn)需要具有高響應(yīng)性,換句話說需要具有中斷能力。馬達(dá)歸原點(diǎn)的過程是這樣的:先高速運(yùn)行,檢測到近原點(diǎn)開關(guān)后,切換到爬行速度,以爬行速度檢測到原點(diǎn)開關(guān)后立即停止(當(dāng)然回歸方式很多,大概都是這個(gè)模式)。即使是這樣,你的爬行速度不一樣,找的原點(diǎn)位置也不一樣。純手打,希望樓主有所啟發(fā)