




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、子程序控制指令1、在編寫PLC的應(yīng)用程序時,有的程序段需多次重復(fù)使用。這樣的程序段可以編成一個子程序,在滿足一定條件時,中斷主程序而轉(zhuǎn)去執(zhí)行子程序,子程序執(zhí)行完畢,再返回斷點處繼續(xù)執(zhí)行主程序。2、另外,有的程序段需多次使用,且程序段的結(jié)構(gòu)不變,但每次輸入和輸出操作數(shù)不同。對這樣的程序段也可以編成一個子程序,在滿足執(zhí)行條件時,中斷主程序的執(zhí)行而轉(zhuǎn)去執(zhí)行子程序,并且每次調(diào)用時賦予該子程序不同的輸入和輸出操作數(shù),子程序執(zhí)行完畢再返回斷點處繼續(xù)執(zhí)行主程序。 第六講 CPM1A的子程序控制與中斷控制指令一、子程序控制指令第六講 CPM1A的子程序控制與中斷控制指一、子程序控制指令 1子程序調(diào)用指令S
2、BS(91) / SBS(91) 2子程序定義指令SBN(92)/ SBN(92)3子程序返回指令RET(93)/ RET(93)4. 宏指令MCRO(99)/ MCRO(99)一、子程序控制指令 1子程序調(diào)用指令SBS(91) / SBS(91)格式:SBS N 符號:N:子程序編號。其取值為0099。功能:調(diào)用編號為N的子程序。 主程序中調(diào)用子程序的次數(shù)不受限制,子程序還可以調(diào)用其它的子程序,但不可以調(diào)用本身。1子程序調(diào)用指令SBS(91) / SBS(91)2子程序定義指令SBN(92)/ SBN(92)格式:SBN N 符號: N:子程序編號。其取值為0099。功能: SBN定義子程序
3、的開始,不需要執(zhí)行條件。 子程序的編號不可重復(fù)。2子程序定義指令SBN(92)/ SBN(92)3子程序返回指令RET(93)/ RET(93) 格式:RET 符號: 功能:RET表示子程序結(jié)束。 RET指令不帶操作數(shù),也不需要執(zhí)行條件。 SBN和RET指令要成對使用,組成一個完整的子程序。3子程序返回指令RET(93)/ RET(93)宏指令MCRO(99)/ MCRO(99)格式:MCRO N 符號: S1 S2N:子程序編號。其取值為0099。S1:輸入開始通道。取值范圍IR、HR、AR、LR、TC、DM、*DM。S2:輸出開始通道。取值范圍同S1。宏指令MCRO(99)/ MCRO(9
4、9)宏指令MCRO(99)/ MCRO(99) 功能:用一個子程序N代替數(shù)個相同結(jié)構(gòu)但操作數(shù)不同的子程序。 當(dāng)執(zhí)行條件為ON時,停止執(zhí)行主程序,將輸入通道S1S1+3的內(nèi)容復(fù)制到通道SR232SR235中;將輸出通道S2S2+3的內(nèi)容復(fù)制到通道SR236SR239中,然后調(diào)用子程序N。 子程序執(zhí)行完畢,再將通道SR236SR239中的內(nèi)容傳送到輸出通道S2S2+3中,并返回到MCRO指令的下一條語句,繼續(xù)執(zhí)行主程序。 宏指令MCRO(99)/ MCRO(99) 使用子程序調(diào)用程序時要注意以下幾點:(1)所有子程序都必須放在主程序之后和END指令之前。(2)主程序調(diào)用各子程序的次數(shù)沒有限制。(3
5、)子程序可以嵌套調(diào)用。即子程序中又調(diào)用別的子程序。但是嵌套不能超過16級,且子程序不能自調(diào)用。 使用子程序調(diào)用程序時要注意以下幾點:宏指令調(diào)用子程序的例子 宏指令調(diào)用子程序的例子 二、中斷控制指令 中斷:指在外部或內(nèi)部觸發(fā)信號的作用下, 中斷主程序的執(zhí)行而轉(zhuǎn)去執(zhí)行一個預(yù)先編寫的子程序,即中斷處理子程序(也稱中斷服務(wù)程序), 中斷處理子程序執(zhí)行完畢再返回斷點處繼續(xù)執(zhí)行主程序的現(xiàn)象。二、中斷控制指令二、中斷控制指令 中斷功能作用: 在實際控制過程中,控制系統(tǒng)中有些隨時可能發(fā)生的情況需要PLC處理; 具有中斷功能的PLC可以不受掃描周期的影響; 及時將這種隨機的信息輸入到PLC中; 提高PLC對外部
6、信息的響應(yīng)速度。 二、中斷控制指令 1外部輸入中斷 CPMlA系列PLC中,0000300006這四個點是外部輸入中斷的輸入點。外部發(fā)生的事件所產(chǎn)生的信號通過中斷輸入點送入PLC,當(dāng)某個中斷輸入點為ON或ON一定次數(shù)時,產(chǎn)生中斷請求信號。 當(dāng)不使用中斷功能時,這些點作為普通輸入點使用。 外部輸入中斷有輸入中斷和計數(shù)中斷兩種模式。二、中斷控制指令 常見中斷有三種形式: 外部輸入中斷、間隔定時器中斷和高速計數(shù)器中斷。 1外部輸入中斷 二、中斷控制指令(1)外部輸入中斷模式。 1)輸入中斷模式 在非屏蔽情況下,只要中斷輸入點接通則產(chǎn)生中斷響應(yīng)。 若在屏蔽情況下,即使中斷輸入點接通也不能產(chǎn)生中斷響應(yīng),
7、但該中斷信號被記憶下,待屏蔽解除后立即產(chǎn)生中斷。 若屏蔽解除后不希望響應(yīng)所記憶的中斷,可用指令清除該記憶。(1)外部輸入中斷模式。2)計數(shù)器中斷模式 對中斷輸入點接通的次數(shù)進行高速計數(shù)(減計數(shù)),當(dāng)達到設(shè)定的次數(shù)時產(chǎn)生中斷,計數(shù)器停止計數(shù)、中斷被屏蔽。 若想再產(chǎn)生中斷需使用指令進行設(shè)定。 計數(shù)器的計數(shù)范圍065535,計數(shù)頻率最高為lkHz。 對計數(shù)模式中斷,CPMlA系列規(guī)定用通道SR240243(分別對應(yīng)0000300006輸入點)存放計數(shù)器設(shè)定值。 2)計數(shù)器中斷模式 外部輸入點對應(yīng)固定的中斷處理子程序編號: 中斷輸入0(輸入點00003):子程序號為000 中斷輸入1(輸入點00004
8、):子程序號為001 中斷輸入2(輸入點00005):子程序號為002 中斷輸入3(輸入點00006):子程序號為003 優(yōu)先級: 中斷輸入0中斷輸入1中斷輸入2中斷輸入3。 不使用中斷功能,這些子程序號可用作普通子程序編號。 中斷處理子程序也用SBN定義其開始,用RET定義其結(jié)束。 中斷處理子程序也必須放在主程序之后和END之前。 外部輸入點對應(yīng)固定的中斷處理子程序編號: 在外部輸入中斷使用之前,要用編程器對DM6628進行設(shè)定,若不進行設(shè)定就沒有中斷功能。 DM6628設(shè)定的內(nèi)容和含義如圖 在外部輸入中斷使用之前,要用編程器對DM6628進行設(shè)(2)外部輸入中斷控制指令 :INT(89)/
9、 INT(89) 格式:INT C1 符號: 000 C2 C1:控制碼。其取值為000003,100,200。 C2:控制數(shù)據(jù)。 C1=002時取值范圍IR、HR、AR、LR、TC、DM、*DM C1002時取值范圍DM、*DM、#0000#000F。 功能:當(dāng)執(zhí)行條件ON時,根據(jù)C1的數(shù)據(jù)完成6種功能中一種。 (2)外部輸入中斷控制指令 :INT(89)/ INT(8C1是控制碼,其取值和含義:1)C1=000:對0000300006輸入點屏蔽不屏蔽。是否屏蔽,由C2的bit00bit03位來決定.2)C1=001:清除不清除輸入中斷記憶。是否清除,由C2的bit00bit03位來決定。(
10、1/0:清除不清除)3)C1=002:讀出0000300006輸入點的當(dāng)前屏蔽狀態(tài)寫入C2中,為屏蔽時C2的對應(yīng)位為1。C1是控制碼,其取值和含義:2)C1=001:清除不清除輸4) C1=003:更新不更新0000300006輸入點的計數(shù)器設(shè)定值。是否更新設(shè)定值,由C2的bit00bit03位來決定, (1/0:不更新更新)5)C1=100:屏蔽所有中斷(包括外部輸入中斷、間隔定時器中斷和高速計數(shù)器中斷)。屏蔽期間若有中斷請求將不響應(yīng),但可記憶各種中斷信號,待屏蔽解除時立即響應(yīng)中斷。6)C1=200:解除屏蔽所有中斷,恢復(fù)到執(zhí)行“屏蔽所有中斷”之前的狀態(tài),但不解除各個中斷自己的屏蔽字(如C1
11、=000時,INT寫入的屏蔽字)。4) C1=003:更新不更新0000300006輸入點注:C1=100和C1=200時,C2=0000為固定設(shè)置; 屏蔽所有中斷與解除屏蔽所有中斷應(yīng)成對使用; 不是十分必要,一般不要使用屏蔽所有中斷。注:C1=100和C1=200時,C2=0000為固定設(shè)置; 記數(shù)器模式外部中斷舉例。 生產(chǎn)線記數(shù)裝箱程序(局部)。 對產(chǎn)品進行記數(shù),每到50件便執(zhí)行裝箱子程序。00003為記數(shù)脈沖輸入點。 程序運行前首先設(shè)定DM6628=0001,使輸入點00003成為中斷輸入點。 1部分計數(shù)器設(shè)定值輸入,設(shè)定值為50; 2部分中斷控制,設(shè)定輸入點00003更新,其余輸入點為
12、屏蔽狀態(tài); 3部分中斷處理子程序用來執(zhí)行裝箱子程序,應(yīng)注意的是中斷輸入點00003對應(yīng)的中斷處理子程序號是000。 記數(shù)器模式外部中斷舉例。 2間隔定時器中斷 CPM1A有一個間隔定時器,是遞減計數(shù)器,定時時間到時,不受掃描周期的影響,停止執(zhí)行主程序并建立斷點,立即轉(zhuǎn)去執(zhí)行中斷子程序,實現(xiàn)高精度的定時中斷處理。 間隔定時器中斷有兩種工作模式: 1)單觸發(fā)模式,當(dāng)規(guī)定時間到時,只執(zhí)行一次中斷; 2)重復(fù)中斷模式,每隔一定時間反復(fù)執(zhí)行中斷。 2間隔定時器中斷間隔定時器中斷控制指令:STIM(69)/ STIM(69)格式:STIM C1 符號: C2 C3C1:控制碼。其取值為000,003,00
13、6,010。C2:控制數(shù)據(jù)1。取值IR、HR、AR、LR、DM、*DM、#。C3:控制數(shù)據(jù)2。取值IR、HR、AR、LR、DM、*DM、#。功能:執(zhí)行條件為ON時,據(jù)Cl的數(shù)據(jù)完成4種功能中的一種。 C2、C3的取值根據(jù)C1的狀態(tài)來決定。 間隔定時器中斷控制指令:STIM(69)/ STIM(6C1是控制碼,其取值和含義如下:(1)C1=000 啟動單次中斷模式1)C2若為常數(shù)(BCD碼,#0000#9999)時,為定時器的設(shè)定值。實際定時時間即為該常數(shù)值,單位毫秒(ms)。 C3為子程序號。2)C2若為通道號,C2、C2+1通道決定定時時間,C2內(nèi)容為BCD碼,取值 #0000#9999,
14、C2+1內(nèi)容為BCD碼,取值#0005#0320。C3為子程序號。 實際定時時間:C2的內(nèi)容(C2 + 1)的內(nèi)容0.1ms,實際定時范圍:0.5319968ms。 C1是控制碼,其取值和含義如下:C1是控制碼,其取值和含義如下:(2) C1=003 啟動重復(fù)中斷模式C2、C2+1、C3的意義及定時時間的計算同上。(3) C1=006 讀出定時器的當(dāng)前值(4) C1=010 停止間隔定時器工作。此時C2、C3固定為000。 C1是控制碼,其取值和含義如下: 間隔定時器中斷舉例。 程序中STIM指令的控制碼C1=003,啟動重復(fù)中斷模式; 控制數(shù)據(jù)C2為通道號DM0000,定時時間為6000 1
15、00 0.1 = 60000ms。 滿足條件時每隔60s啟動中斷子程序010一次。 間隔定時器中斷舉例。3高速計數(shù)器中斷 PLC普通計數(shù)器的計數(shù)脈沖頻率受掃描周期及輸入濾波器時間常數(shù)的限制,不能對高頻脈沖信號進行計數(shù)。 對高頻脈沖信號的計數(shù),大、中型PLC是采用特殊功能單元來處理。 小型PLC,例如CPMlA系列,由于其設(shè)置了高頻脈沖信號的輸入點,配合相關(guān)的指令及設(shè)定,處理高頻脈沖信號的計數(shù)問題。 3高速計數(shù)器中斷中斷處理允許在控制面板上進行啟動和停止操作緊湊型的控制器和觸摸屏通過NT LINK鏈接提供了實時的控制數(shù)據(jù)高速計數(shù)器測量包裝紙的長度同步脈沖輸出匹配傳送速度從旋轉(zhuǎn)編碼器輸入速度反饋信
16、息維持恒定的速度烤箱溫度由PLC控制貼上標(biāo)簽篩選次品簡便的系統(tǒng)擴展性允許更多的控制加入(1)脈沖編碼器 在自控系統(tǒng)中經(jīng)常使用脈沖編碼器。中斷處理允許在控制面板上進行啟動和停止操作緊湊型的控制器和觸 脈沖編碼器向PLC輸出的信號形式: 1)增減模式,有A相B相(脈沖輸入)和Z相(復(fù)位)三個信號,進行增減記數(shù); 2)遞增模式,一個單相脈沖信號A和一個計數(shù)復(fù)位信號Z作為PLC輸入。 脈沖編碼器向PLC輸出的信號形式: 1)增減計數(shù):A00000 B00001 Z00002 a遞增計數(shù):當(dāng)A相超前B相90時,在A、B相脈沖的前沿,計數(shù)器的當(dāng)前值加1; b遞減計數(shù):當(dāng)B相超前A相90時,在A、B相脈沖的
17、前沿,計數(shù)器的當(dāng)前值減1。 增減計數(shù)的最高計數(shù)頻率是2.5kHz; 計數(shù)范圍:32767+32767(F0007FFF00007FFF,最高位的F表示負(fù)數(shù))。 1)增減計數(shù):A00000 B00001 Z0 2)遞增計數(shù)時,被計數(shù)的高頻脈沖信號由PLC的00000輸入點輸入。 這個脈沖信號可以是外部被計數(shù)的事件提供的信號,也可以是旋轉(zhuǎn)編碼器提供的單相脈沖信號。 在輸入計數(shù)脈沖信號的前沿,高速計數(shù)器的當(dāng)前值加1。 遞增計數(shù)的最高計數(shù)頻率是5kHz; 遞增計數(shù)的計數(shù)范圍065535(000000000000FFFF)。 2)遞增計數(shù)時,被計數(shù)的高頻脈沖信號由PLC的0000(2)CPMlA系列PL
18、C高速計數(shù)器的設(shè)定 使用高速計數(shù)器前必須進行設(shè)定。 CPMlA系列PLC,其設(shè)定值放在DM6642中。 CPMlA系列PLC,高速計數(shù)器的當(dāng)前值PV放在SR248和SR249中。SR248存放當(dāng)前值的低4位,SR249存放當(dāng)前值的高4位。(2)CPMlA系列PLC高速計數(shù)器的設(shè)定 高速計數(shù)器計數(shù)時,若從上限值開始進行遞增計數(shù)就會發(fā)生上溢出,當(dāng)前值為0FFFFFFF; 若從下限開始進行遞減計數(shù)就會發(fā)生下溢出,當(dāng)前值為FFFFFFFF。 溢出時計數(shù)器停止計數(shù),記數(shù)脈沖到來時,當(dāng)前值不再變化。 高速計數(shù)器計數(shù)時,若從上限值開始進行遞增計數(shù)就會發(fā)生上 (3)高速計數(shù)器復(fù)位時,其當(dāng)前值PV=0。 CPM
19、lA系列PLC的高速計數(shù)器有兩種復(fù)位方式。 1) 硬件復(fù)位Z信號+軟件復(fù)位,分兩種情況: 其一,若高速計數(shù)器的復(fù)位標(biāo)志位25200先為ON時,在復(fù)位Z信號為ON的前沿時刻,高速計數(shù)器復(fù)位; 其二,若復(fù)位Z信號先ON時,在25200為0N一個掃描周期后,高速計數(shù)器復(fù)位。 Ts是掃描周期。 (3)高速計數(shù)器復(fù)位時,其當(dāng)前值PV=0。 2) 軟件復(fù)位 當(dāng)25200為ON一個掃描周期后高速計數(shù)器復(fù)位,如圖所示。另外,當(dāng)PLC斷電后又通電時高速計數(shù)器會自動復(fù)位。 2) 軟件復(fù)位 (4)高速計數(shù)器中斷方式:目標(biāo)值比較中斷和區(qū)域比較中斷。 1)目標(biāo)值比較中斷: 要建立一個目標(biāo)值比較表,目標(biāo)值比較表占用一個區(qū)
20、域的若干個通道,其中首通道存放目標(biāo)值個數(shù)(BCD碼)。 比較表中最多放16個目標(biāo)值,每個目標(biāo)值占2個通道(各存放目標(biāo)值的低4位和高4位)。 每個目標(biāo)值緊跟一個中斷子程序號,存放16個子程序號需16個通道,所以目標(biāo)值比較表最多占用48個通道。 目標(biāo)值比較表中的數(shù)據(jù)可用編程器預(yù)先寫入。 (4)高速計數(shù)器中斷方式:目標(biāo)值比較中斷和區(qū)域比較中斷。 目標(biāo)值比較中斷的執(zhí)行過程: 高速計數(shù)器計數(shù)時,若其當(dāng)前值與比較表中某個目標(biāo)值相同,則停止執(zhí)行主程序而轉(zhuǎn)去執(zhí)行與該目標(biāo)值對應(yīng)的子程序。 子程序執(zhí)行完畢,返回到斷點處繼續(xù)執(zhí)行主程序。 目標(biāo)值比較中斷的執(zhí)行過程:2)區(qū)域比較中斷 建立一個區(qū)域比較表,分8個區(qū)域,每
21、個區(qū)域占5個通道,其中兩個通道用來存放下限值的低4位和高4位,兩個通道用來存放上限值的低4位和高4位,一個通道存放與該區(qū)域?qū)?yīng)的中斷子程序號。 當(dāng)實際使用的比較區(qū)域不滿8個時,要把其余區(qū)域存放上、下限值的通道都置0,將存放子程序號的通道都置FFFF。 區(qū)域比較表中的數(shù)據(jù)可用編程器預(yù)先寫入。 2)區(qū)域比較中斷 區(qū)域比較中斷的執(zhí)行過程: 高速計數(shù)器計數(shù)過程中,若其當(dāng)前值落在區(qū)域比較表中某個區(qū)域時,即下限值高速計數(shù)器PV值上限值,則停止執(zhí)行主程序而轉(zhuǎn)去執(zhí)行與該區(qū)域?qū)?yīng)的中斷處理子程序。 子程序執(zhí)行完畢,返回到斷點處繼續(xù)執(zhí)行主程序。 區(qū)域比較中斷的執(zhí)行過程:(5)高速計數(shù)器的控制指令 1.操作模式控制
22、指令I(lǐng)NI(61)/ INI(61)格式:INI P 符號: C SP:端口定義。取值為000。C:控制數(shù)據(jù)。取值為000,001,002,003。S:設(shè)定值開始通道。取值IR、SR、HR、AR、LR、DM、*DM。 (5)高速計數(shù)器的控制指令 功能:執(zhí)行條件ON時,據(jù)C的內(nèi)容:啟動或停止比較表的比較;更新高速計數(shù)器當(dāng)前值;停止由01000和01001脈沖輸出。 1)C=000:啟動比較表。2)C=001:停止比較表。(上述取值時S固定為000)3)C=002:改變高速計數(shù)器當(dāng)前值,將S+1(高4位)、S(低4位)內(nèi)容傳到SR248、249通道,作為高速計數(shù)器新的當(dāng)前值。4)C=003:停止脈沖輸出(此時S固定為000),脈沖輸出見第七節(jié)。 功能:執(zhí)行條件ON時,據(jù)C的內(nèi)容:啟動或停止比較表的比較;更2、比較表登錄指令C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寶石切割與打磨工藝的技術(shù)優(yōu)化考核試卷
- 核子儀器行業(yè)競爭力分析考核試卷
- 無機堿在廢水脫色處理技術(shù)中的應(yīng)用考核試卷
- 洗浴服務(wù)行業(yè)行業(yè)規(guī)范與標(biāo)準(zhǔn)考核試卷
- 機器人自主導(dǎo)航與定位技術(shù)難點測試考核試卷
- 供暖公司賠償合同標(biāo)準(zhǔn)文本
- 全職媽媽合同標(biāo)準(zhǔn)文本
- 中間體生產(chǎn)項目合同標(biāo)準(zhǔn)文本
- 使用工勞動合同標(biāo)準(zhǔn)文本
- 傭金合同范例 英語
- 6《請幫我一下》(第1課時)課件-2024-2025學(xué)年道德與法治一年級下冊課件(統(tǒng)編版2024)
- 3.23世界氣象日攜手縮小早期預(yù)警差距關(guān)注氣象關(guān)注生活課件
- 部編版2025春六年級下冊語文11《十六年前的回憶》 課件
- 前程無憂招聘測評題庫及答案
- 工作交接表(最新版)
- 電子課件《英語(第一冊)(第三版)》A013820英語第一冊第三版Unit5
- 《航空氣象》課件1.4 空氣的垂直運動
- XX小學(xué)體育期末考試方案
- 石油鉆井過程主要危險井噴失控火災(zāi)爆炸事故樹分析
- 上海征收集體土地房屋補償暫行規(guī)定滬府發(fā)〔2011〕75號
- 金礦堆浸成套設(shè)備
評論
0/150
提交評論