sjm213
有小知識(shí),無(wú)大學(xué)問(wèn)。
級(jí)別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個(gè)
工控威望: 7419 點(diǎn)
下載積分: 158550 分
在線時(shí)間: 3152(小時(shí))
注冊(cè)時(shí)間: 2007-11-21
最后登錄: 2024-11-07
查看sjm213的 主題 / 回貼
樓主  發(fā)表于: 2013-03-25 10:23
系列帖子鏈接:http://melville4.com/read-gktid-1421940.html

即日起開(kāi)始對(duì)三菱FX系列PLC的主要應(yīng)用指令進(jìn)行簡(jiǎn)單介紹。
有需要深入探討的請(qǐng)跟帖討論。

1- 條件跳轉(zhuǎn)【CJ】Conditional Jump
CJ指令可以使程序從CJ指令開(kāi)始到指定的指針之間的順控程序不執(zhí)行,該指令可以縮短掃描周期和執(zhí)行使用雙線圈的程序。
跳轉(zhuǎn)位置的指針用P指針編號(hào)標(biāo)記,但不能使用P63,該指針表示向END步跳轉(zhuǎn)。
編輯P指針時(shí),在GX Developer軟件中將光標(biāo)移動(dòng)到梯形圖母線的左側(cè),直接按鍵盤(pán)ENTER鍵激活指令輸入框,輸入指針編號(hào)。指針的編號(hào)不能重復(fù)。
可以用CJ指令向上跳轉(zhuǎn),但程序繼續(xù)執(zhí)行到CJ指令后又會(huì)再次返回,如此反復(fù)執(zhí)行會(huì)導(dǎo)致掃描周期時(shí)間超長(zhǎng),引起看門(mén)狗定時(shí)器錯(cuò)誤。



2- 子程序調(diào)用【CALL】Subroutine Call
在順控程序中對(duì)需要多次使用的一段程序可以單獨(dú)編輯為一個(gè)子程序,使用子程序調(diào)用指令CALL執(zhí)行該段程序。CALL一般需要與FEND指令和SRET指令配合使用。
子程序調(diào)用的指針與跳轉(zhuǎn)指針都使用P指針,但兩個(gè)指令不能調(diào)用同一個(gè)指針編號(hào)。
子程序要寫(xiě)在主程序結(jié)束之后,主程序結(jié)束使用FEND指令進(jìn)行標(biāo)記。子程序編輯完后要用SRET指令返回CALL指令處。
CALL指令與CJ指令很大的不同在于CJ指令跳轉(zhuǎn)到P標(biāo)記后,程序往下執(zhí)行不再返回CJ指令,而CALL指令跳轉(zhuǎn)到P標(biāo)記,執(zhí)行到SRET指令后程序還要返回CALL指令,再往下執(zhí)行CALL指令之后的程序。
在子程序中也可以再次調(diào)用其他子程序,這種指令用法也叫做嵌套,子程序內(nèi)的CALL指令最多允許4層嵌套。


3- 子程序返回【SRET】Subroutine Return
    子程序返回指令無(wú)需驅(qū)動(dòng)條件,該指令直接接在梯形圖母線上。執(zhí)行了CALL指令后,必須使用SRET指令返回到主程序。

  
catfree
虛心向各位學(xué)習(xí)。!
級(jí)別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 630 個(gè)
工控威望: 2814 點(diǎn)
下載積分: 15803 分
在線時(shí)間: 474(小時(shí))
注冊(cè)時(shí)間: 2012-03-30
最后登錄: 2022-04-18
查看catfree的 主題 / 回貼
1樓  發(fā)表于: 2013-03-25 12:29
我只想說(shuō),斑竹很熱心,我很感謝斑竹。             
期待下一季
一日晚自習(xí),化學(xué)老師批評(píng)一同學(xué)坐姿不好,問(wèn)他:“你見(jiàn)過(guò)哪個(gè)名人科學(xué)家是像你這樣坐的?”我隨口說(shuō)了一句:“霍金……” 然后就沒(méi)有然后了……一頓狠批啊