上海理工大學(xué)過(guò)程裝備控制技術(shù)及應(yīng)用指令系統(tǒng)3_第1頁(yè)
上海理工大學(xué)過(guò)程裝備控制技術(shù)及應(yīng)用指令系統(tǒng)3_第2頁(yè)
上海理工大學(xué)過(guò)程裝備控制技術(shù)及應(yīng)用指令系統(tǒng)3_第3頁(yè)
上海理工大學(xué)過(guò)程裝備控制技術(shù)及應(yīng)用指令系統(tǒng)3_第4頁(yè)
上海理工大學(xué)過(guò)程裝備控制技術(shù)及應(yīng)用指令系統(tǒng)3_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

脈沖輸出控制指令中斷控制指令步進(jìn)控制指令特殊指令當(dāng)前第1頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)1脈沖輸出控制指令當(dāng)前第2頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)2CPM1A系列PLC的輸出點(diǎn)01000和01001可輸出20Hz~2KHz的脈沖信號(hào)。輸出的脈沖可設(shè)置成兩類:獨(dú)立模式和連續(xù)模式?!蛲粫r(shí)刻只能從一個(gè)點(diǎn)輸出脈沖。輸出脈沖的模式和頻率要用控制指令來(lái)設(shè)定?!蛘谳敵雒}沖時(shí),不能用指令改變輸出脈沖個(gè)數(shù)。概述當(dāng)前第3頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)3輸出脈沖控制指令N:存放輸出脈沖個(gè)數(shù)的首通道(N低4位、N+1高4位)功能:在執(zhí)行條件為ON時(shí),設(shè)定獨(dú)立模式脈沖輸出的脈沖個(gè)數(shù)。1.設(shè)置脈沖指令PULS(65)000000N@PULS(65)000000NPULS(65)000000N@PULS(65)000000N當(dāng)前第4頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)4功能:在執(zhí)行條件為ON時(shí),設(shè)定脈沖的輸出點(diǎn)、輸出模式及脈沖頻率。P:000→由01000輸出010→由01001輸出M:000→獨(dú)立模式001→連續(xù)模式F:取值范圍為0002~0200→對(duì)應(yīng)20~2000Hz2.速度輸出指令SPED(64)PMF@SPED(64)PMFSPED(64)PMF@SPED(64)PMF當(dāng)前第5頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)5使用脈沖輸出指令舉例(1)連續(xù)輸出模式0000000001@SPED(64)000001#0150@INI(61)000003000從01000輸出連續(xù)模式1500Hz當(dāng)00000OFF→ON時(shí),執(zhí)行@SPED指令,從01000輸出1500Hz的連續(xù)脈沖信號(hào)。當(dāng)00001OFF→ON時(shí),執(zhí)行@INI指令停止脈沖輸出。固定設(shè)置固定設(shè)置停止脈沖輸出程序功能當(dāng)SPED指令的F設(shè)為0000,也可以停止脈沖輸出。當(dāng)前第6頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)6使用脈沖輸出指令舉例(2)@SPED(64)000010#0050@PULS(65)000DM000000000100獨(dú)立輸出模式固定設(shè)置固定設(shè)置存放設(shè)置脈沖個(gè)數(shù)的首通道從01001輸出脈沖獨(dú)立模式脈沖頻率500Hz當(dāng)00100OFF→ON時(shí),執(zhí)行@PULS指令設(shè)置輸出脈沖的個(gè)數(shù),執(zhí)行@SPED指令啟動(dòng)脈沖輸出,從01001輸出500Hz的脈沖信號(hào)。程序功能對(duì)獨(dú)立模式,當(dāng)輸出脈沖達(dá)到設(shè)定個(gè)數(shù)時(shí),能自動(dòng)停止脈沖輸出。當(dāng)前第7頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)7脈沖輸出功能的應(yīng)用當(dāng)前第8頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)8中斷控制指令當(dāng)前第9頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)9間隔定時(shí)器中斷功能中斷的優(yōu)先級(jí)中斷控制指令外部輸入中斷功能當(dāng)前第10頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)10一、外部輸入中斷功能1.外部輸入中斷的輸入點(diǎn)CPM1A系列20、30、40點(diǎn)的主機(jī)為00003~00006。CPM1A系列10點(diǎn)的主機(jī)為00003和00004。中斷輸入點(diǎn)的編號(hào)00003:中斷輸入000004:中斷輸入100005:中斷輸入200006:中斷輸入32.外部輸入中斷的優(yōu)先級(jí)中斷輸入0→中斷輸入1→中斷輸入2→中斷輸入3當(dāng)前第11頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)113.外部輸入中斷的模式(1)輸入中斷模式在中斷輸入點(diǎn)非屏蔽時(shí),只要中斷輸入點(diǎn)接通即產(chǎn)生中斷響應(yīng);在該點(diǎn)屏蔽時(shí),待解除屏蔽時(shí)再響應(yīng)中斷。對(duì)中斷輸入點(diǎn)進(jìn)行高速計(jì)數(shù),當(dāng)達(dá)到設(shè)定次數(shù)時(shí)產(chǎn)生中斷,且停止計(jì)數(shù)。計(jì)數(shù)范圍0~65535、最高1KHz。(2)計(jì)數(shù)中斷模式計(jì)數(shù)器的設(shè)定值和(當(dāng)前值-1)存放在指定的通道中。當(dāng)前第12頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)12中斷輸入點(diǎn)存放計(jì)數(shù)器設(shè)定值存放計(jì)數(shù)器(當(dāng)前值–1)輸入點(diǎn)0003SR240SR244輸入點(diǎn)0004SR241SR245輸入點(diǎn)0005SR242SR246輸入點(diǎn)0006SR243SR2474.外部輸入中斷子程序的編號(hào)中斷輸入0(輸入點(diǎn)00003):子程序號(hào)為000中斷輸入1(輸入點(diǎn)00004):子程序號(hào)為001中斷輸入2(輸入點(diǎn)00005):子程序號(hào)為002中斷輸入3(輸入點(diǎn)00006):子程序號(hào)為003當(dāng)不使用中斷時(shí),000~003可作為普通子程序號(hào).當(dāng)前第13頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)13注意:不論哪種模式的中斷,其子程序必須用SBN/RET指令定義,且必須放在主程序之后、END之前。5.外部輸入中斷的設(shè)定輸入點(diǎn)00003(0:普通輸入點(diǎn)1:中斷輸入點(diǎn))輸入點(diǎn)00004(0:普通輸入點(diǎn)1:中斷輸入點(diǎn))輸入點(diǎn)00005(0:普通輸入點(diǎn)1:中斷輸入點(diǎn))輸入點(diǎn)00006(0:普通輸入點(diǎn)1:中斷輸入點(diǎn))DM662803020100當(dāng)前第14頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)14二、間隔定時(shí)器中斷功能1.間隔定時(shí)器當(dāng)間隔定時(shí)器(遞減)定時(shí)到,可以不受掃描周期影響,停止主程序而轉(zhuǎn)去執(zhí)行子程序。間隔定時(shí)器可以實(shí)現(xiàn)高精度的定時(shí)和中斷處理。2.間隔定時(shí)器的中斷模式(1)單次中斷模式當(dāng)間隔定時(shí)器定時(shí)到,停止定時(shí)并產(chǎn)生中斷信號(hào),但只執(zhí)行一次中斷。當(dāng)前第15頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)15(2)重復(fù)中斷模式間隔定時(shí)器每隔一定時(shí)間產(chǎn)生一次中斷,停止執(zhí)行主程序而去執(zhí)行中斷子程序。3.間隔定時(shí)器的中斷處理子程序不論是何種間隔定時(shí)器中斷模式,子程序號(hào)都是由指令STEM來(lái)確定的。在執(zhí)行中斷子程序的同時(shí),定時(shí)器的當(dāng)前值又恢復(fù)為設(shè)定值并重新開(kāi)始定時(shí),直到定時(shí)器停止計(jì)數(shù)為止。當(dāng)前第16頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)16三、中斷的優(yōu)先級(jí)外部輸入中斷0→外部輸入中斷1→外部輸入中斷2→外部輸入中斷3→間隔定時(shí)器中斷→高速計(jì)數(shù)器中斷.在執(zhí)行某中斷子程序時(shí),若發(fā)生了優(yōu)先級(jí)更高的中斷,則立即停止執(zhí)行當(dāng)前的中斷子程序,而轉(zhuǎn)去執(zhí)行優(yōu)先級(jí)更高的子程序。該子程序執(zhí)行完畢再返回?cái)帱c(diǎn)處繼續(xù)執(zhí)行程序。同時(shí)發(fā)生了幾個(gè)中斷請(qǐng)求信號(hào)時(shí),先響應(yīng)優(yōu)先級(jí)最高的中斷。當(dāng)前第17頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)17四、中斷控制指令I(lǐng)NT(89)CC000D@INT(89)CC000D1.中斷控制指令功能:當(dāng)執(zhí)行條件為ON時(shí),根據(jù)CC的內(nèi)容執(zhí)行6種功能中的一種。D:設(shè)定輸入點(diǎn)屏蔽/非屏蔽CC:控制碼輸入點(diǎn)00003(0:不屏蔽1:屏蔽)輸入點(diǎn)00004(0:不屏蔽1:屏蔽)輸入點(diǎn)00005(0:不屏蔽1:屏蔽)輸入點(diǎn)00006(0:不屏蔽1:屏蔽)D03020100CC=000(屏蔽/不屏蔽輸入點(diǎn)

)當(dāng)前第18頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)18輸入點(diǎn)00003(0:不清除1:清除)輸入點(diǎn)00004(0:不清除1:清除)輸入點(diǎn)00005(0:不清除1:清除)輸入點(diǎn)00006(0:不清除1:清除)D03020100CC=001輸入點(diǎn)00003(0:不屏蔽1:屏蔽)輸入點(diǎn)00004(0:不屏蔽1:屏蔽)輸入點(diǎn)00005(0:不屏蔽1:屏蔽)輸入點(diǎn)00006(0:不屏蔽1:屏蔽)D03020100CC=002清除/不清除輸入中斷記憶讀出中斷輸入點(diǎn)當(dāng)前狀態(tài)當(dāng)前第19頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)19輸入點(diǎn)00003(0:更新1:不更新)輸入點(diǎn)00004(0:更新1:不更新)輸入點(diǎn)00005(0:更新1:不更新)輸入點(diǎn)00006(0:更新1:不更新)D03020100CC=003CC=100(D=000)屏蔽所有中斷。若有中斷信號(hào)先記憶,待解除屏蔽時(shí)立即響應(yīng).CC=200(D=000)解除所有中斷屏蔽,恢復(fù)到執(zhí)行‘屏蔽所有中斷’之前的狀態(tài),但不解除‘單獨(dú)中斷類’的中斷。更新/不更新計(jì)數(shù)設(shè)定值屏蔽所有中斷輸入點(diǎn)解除所有中斷屏蔽當(dāng)前第20頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)20外部輸入中斷舉例25315SBN(92)000#000CINT(89)000000RET(93)2000025313SBN(92)0012000125313RET(93)200000100020001子程序000子程序001C(1100)當(dāng)00003接通時(shí)產(chǎn)生中斷,停止執(zhí)行主程序、轉(zhuǎn)去執(zhí)行子程序000使20000ON,返回執(zhí)行主程序使01000ON。當(dāng)00004接通產(chǎn)生中斷時(shí),轉(zhuǎn)去執(zhí)行子程序001使20001ON,返回執(zhí)行主程序使01000OFF。設(shè)DM6628為0011,即00003和00004為中斷輸入點(diǎn)。中斷屏蔽設(shè)定為固定設(shè)置00003、00004為非屏蔽當(dāng)前第21頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)210000100020000SBN(92)001MOV(21)#00FA24125315#000DINT(89)003TIM000#005020000TIM00025313RET(93)固定設(shè)置子程序001外部輸入計(jì)數(shù)中斷舉例計(jì)數(shù)器設(shè)定值更新00004為更新傳送計(jì)數(shù)器設(shè)定值D(1101)設(shè)DM6628為0010,即00004為中斷輸入點(diǎn)。在PLC上電后的第一個(gè)掃描周期,執(zhí)行一次MOV指令,將#00FA(十進(jìn)制250)傳送到241通道(存放00004中斷輸入點(diǎn)計(jì)數(shù)設(shè)定值)。程序分析當(dāng)前第22頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)22執(zhí)行一次INT指令,設(shè)置輸入中斷1為計(jì)數(shù)中斷模式,設(shè)定00004輸入點(diǎn)為非屏蔽。當(dāng)00004輸入點(diǎn)接通250次時(shí)產(chǎn)生中斷,停止執(zhí)行主程序、并轉(zhuǎn)去執(zhí)行子程序001。執(zhí)行子程序001,使20000ON。返回主程序使TIM000開(kāi)始定時(shí)。經(jīng)過(guò)5秒TIM000ON、使01000ON。外部輸入計(jì)數(shù)中斷舉例(續(xù))固定設(shè)置子程序001計(jì)數(shù)器設(shè)定值更新00004為更新傳送計(jì)數(shù)器設(shè)定值D(1101)0000100020000SBN(92)001MOV(21)#00FA24125315#000DINT(89)003TIM000#005020000TIM00025313RET(93)當(dāng)前第23頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)232.間隔定時(shí)器中斷控制指令功能:當(dāng)執(zhí)行條件為ON時(shí),根據(jù)C1的內(nèi)容執(zhí)行4種功能中的一種。C1:控制碼C2、C3:設(shè)定值(C2、C3的值取決于C1)(1)C1=000啟動(dòng)單次中斷模式①C2若為常數(shù)(BCD0000~9999)時(shí),則為定時(shí)器的設(shè)定值。時(shí)間間隔固定為1ms。

實(shí)際定時(shí)時(shí)間即為該常數(shù)值,單位為毫秒。C3為子程序號(hào)。STEM(69)C1C2C3@STEM(69)C1C2C3STEM(69)C1C2C3@STEM(69)C1C2C3當(dāng)前第24頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)24②C2若為通道號(hào),則其內(nèi)容(BCD0000~9999)為定時(shí)器的設(shè)定值。時(shí)間間隔由C2+1的內(nèi)容(BCD0005~0320,對(duì)應(yīng)0.5~32ms)確定,實(shí)際定時(shí)時(shí)間為:

[C2的內(nèi)容×(C2+1)的內(nèi)容]×0.1ms,故實(shí)際定時(shí)時(shí)間的范圍是0.5~319968ms。C3為子程序號(hào)。STEM(69)C1C2C3@STEM(69)C1C2C3STEM(69)C1C2C3@STEM(69)C1C2C3當(dāng)前第25頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)25(2)C1=003啟動(dòng)重復(fù)中斷模式C2、C2+1、C3的意義及定時(shí)時(shí)間的計(jì)算同上.(3)C1=006讀出定時(shí)器的當(dāng)前值可讀出計(jì)數(shù)器減1的次數(shù)、時(shí)間間隔和從上一次減1到當(dāng)前時(shí)刻的時(shí)間。讀出的數(shù)據(jù)分別放在C2、C2+1、C3中,由此計(jì)算出定時(shí)開(kāi)始到當(dāng)前時(shí)刻的時(shí)間為:[C2的內(nèi)容×(C2+1)的內(nèi)容+C3的內(nèi)容]×0.1msSTEM(69)C1C2C3@STEM(69)C1C2C3STEM(69)C1C2C3@STEM(69)C1C2C3當(dāng)前第26頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)26(4)C1=010停止間隔定時(shí)器工作此時(shí)C2、C3固定為000。使用指令STEM時(shí)比較煩瑣,必須認(rèn)真核對(duì)指令的操作數(shù)設(shè)置是否正確。STEM(69)C1C2C3@STEM(69)C1C2C3STEM(69)C1C2C3@STEM(69)C1C2C3當(dāng)前第27頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)27程序分析間隔定時(shí)器單次中斷舉例間隔定時(shí)器的定時(shí)設(shè)定值為200×10×0.1=200ms。

子程序號(hào)為010。設(shè)定值傳送間隔定時(shí)器設(shè)定值子程序010200000100000000#0010STIM(69)000DM0000TIM000#0050RET(93)TIM0002000025313MOV#0200DM000025315MOV(21)#0010DM0001RESET20000SBN(92)010單次中斷子程序號(hào)PLC上電即傳送間隔定時(shí)器的設(shè)定值。當(dāng)前第28頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)28在00000為ON時(shí)執(zhí)行指令STIM,確定中斷模式(單次),并啟動(dòng)間隔定時(shí)器開(kāi)始定時(shí)。間隔定時(shí)器單次中斷舉例(續(xù))當(dāng)達(dá)到設(shè)定時(shí)間200ms時(shí),產(chǎn)生中斷并轉(zhuǎn)去執(zhí)行010號(hào)子程序,使20000ON。設(shè)定值子程序號(hào)單次中斷傳送間隔定時(shí)器設(shè)定值子程序010200000100000000#0010STIM(69)000DM0000TIM000#0050RET(93)TIM0002000025313MOV#0200DM000025315MOV(21)#0010DM0001RESET20000SBN(92)010當(dāng)前第29頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)29返回去執(zhí)行主程序使01000ON、并使TIM000開(kāi)始定時(shí),5秒后01000OFF。間隔定時(shí)器單次中斷舉例(續(xù))欲再次實(shí)現(xiàn)單次中斷,需要再令觸點(diǎn)00000OFF→ON一次。設(shè)定值子程序號(hào)單次中斷傳送間隔定時(shí)器設(shè)定值子程序010200000100000000#0010STIM(69)000DM0000TIM000#0050RET(93)TIM0002000025313MOV#0200DM000025315MOV(21)#0010DM0001RESET20000SBN(92)010當(dāng)前第30頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)30設(shè)定值(ms)重復(fù)中斷子程序00525315#0005STIM(69)003#005001000200000100120001SBN(92)005200002000120001RET(93)20000間隔定時(shí)器重復(fù)中斷舉例子程序號(hào)程序分析

PLC上電后執(zhí)行STIM指令,確定間隔定時(shí)器為重復(fù)中斷模式,間隔定時(shí)器的定時(shí)值為50ms,子程序號(hào)為005。當(dāng)前第31頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)31間隔定時(shí)器重復(fù)中斷舉例(續(xù))當(dāng)間隔定時(shí)器達(dá)到設(shè)定時(shí)間50ms時(shí),產(chǎn)生中斷并轉(zhuǎn)去執(zhí)行005號(hào)子程序,同時(shí)定時(shí)器的當(dāng)前值又恢復(fù)為設(shè)定值并重新開(kāi)始定時(shí)。再過(guò)50ms時(shí)又產(chǎn)生一次中斷。設(shè)定值(ms)重復(fù)中斷子程序00525315#0005STIM(69)003#005001000200000100120001SBN(92)005200002000120001RET(93)20000子程序號(hào)當(dāng)前第32頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)32間隔定時(shí)器重復(fù)中斷舉例(續(xù))第一次中斷執(zhí)行子程序使20001ON、20000OFF,返回去執(zhí)行主程序使01001ON50ms、01000OFF50ms。第二次中斷執(zhí)行子程序時(shí)20000ON、20001OFF,所以01000ON50ms、01001OFF50ms。設(shè)定值(ms)重復(fù)中斷子程序00525315#0005STIM(69)003#005001000200000100120001SBN(92)005200002000120001RET(93)20000子程序號(hào)當(dāng)前第33頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)33間隔定時(shí)器重復(fù)中斷舉例(續(xù))可見(jiàn)該段程序的功能是:01000和01001均能產(chǎn)生0.1S的脈沖,直到間隔定時(shí)器停止計(jì)數(shù)為止。間隔定時(shí)器的定時(shí)時(shí)間最小可達(dá)0.5ms,所以用間隔定時(shí)器可實(shí)現(xiàn)高精度的定時(shí)控制。設(shè)定值(ms)重復(fù)中斷子程序00525315#0005STIM(69)003#005001000200000100120001SBN(92)005200002000120001RET(93)20000子程序號(hào)當(dāng)前第34頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)34STIM指令的各種設(shè)定舉例啟動(dòng)重復(fù)中斷間隔時(shí)間400ms子程序號(hào)讀出定時(shí)器當(dāng)前值存放當(dāng)前值首通道存放當(dāng)前值末通道停止定時(shí)器的定時(shí)RESET20000#0002STIM(69)003#0400CNT000#000220000CNT000255000000025315CNT000RET(93)200002531300001DM0002@STIM(69)006DM000000002000STIM(69)010000SBN(92)002當(dāng)前第35頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)35啟動(dòng)重復(fù)中斷間隔時(shí)間400ms子程序號(hào)讀出定時(shí)器當(dāng)前值存放當(dāng)前值首通道存放當(dāng)前值末通道停止定時(shí)器的定時(shí)RESET20000#0002STIM(69)003#0400CNT000#000220000CNT000255000000025315CNT000RET(93)200002531300001DM0002@STIM(69)006DM000000002000STIM(69)010000SBN(92)002STIM指令的設(shè)定舉例(續(xù))①自00000OFF→ON后,過(guò)400ms產(chǎn)生中斷,轉(zhuǎn)去執(zhí)行子程序002,使20000ON。程序分析當(dāng)前第36頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)36啟動(dòng)重復(fù)中斷間隔時(shí)間400ms子程序號(hào)讀出定時(shí)器當(dāng)前值存放當(dāng)前值首通道存放當(dāng)前值末通道停止定時(shí)器的定時(shí)RESET20000#0002STIM(69)003#0400CNT000#000220000CNT000255000000025315CNT000RET(93)200002531300001DM0002@STIM(69)006DM000000002000STIM(69)010000SBN(92)002STIM指令各種設(shè)定舉例(續(xù))②20000ON,執(zhí)行主程序使CNT000開(kāi)始計(jì)數(shù)(或定時(shí))。當(dāng)前第37頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)37啟動(dòng)重復(fù)中斷間隔時(shí)間400ms子程序號(hào)讀出定時(shí)器當(dāng)前值存放當(dāng)前值首通道存放當(dāng)前值末通道停止定時(shí)器的定時(shí)RESET20000#0002STIM(69)003#0400CNT000#000220000CNT000255000000025315CNT000RET(93)200002531300001DM0002@STIM(69)006DM000000002000STIM(69)010000SBN(92)002STIM指令的各種設(shè)定舉例(續(xù))③經(jīng)過(guò)200msCNT000ON→CNT000和20000復(fù)位。自此再過(guò)200ms產(chǎn)生第二次中斷,計(jì)數(shù)器CNT000重復(fù)上述定時(shí)過(guò)程。當(dāng)前第38頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)38啟動(dòng)重復(fù)中斷間隔時(shí)間400ms子程序號(hào)讀出定時(shí)器當(dāng)前值存放當(dāng)前值首通道存放當(dāng)前值末通道停止定時(shí)器的定時(shí)RESET20000#0002STIM(69)003#0400CNT000#000220000CNT000255000000025315CNT000RET(93)200002531300001DM0002@STIM(69)006DM000000002000STIM(69)010000SBN(92)002STIM指令的各種設(shè)定舉例(續(xù))可見(jiàn)從第一次響應(yīng)中斷之后,每過(guò)200ms,CNT000ON一次。當(dāng)前第39頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)39啟動(dòng)重復(fù)中斷間隔時(shí)間400ms子程序號(hào)讀出定時(shí)器當(dāng)前值存放當(dāng)前值首通道存放當(dāng)前值末通道停止定時(shí)器的定時(shí)RESET20000#0002STIM(69)003#0400CNT000#000220000CNT000255000000025315CNT000RET(93)200002531300001DM0002@STIM(69)006DM000000002000STIM(69)010000SBN(92)002STIM指令的各種設(shè)定舉例(續(xù))④當(dāng)00001OFF→ON時(shí)執(zhí)行第二個(gè)STIM指令??蓮钠聊簧峡吹紻M0000~DM0002的內(nèi)容,據(jù)此可以計(jì)算定時(shí)器的當(dāng)前值。當(dāng)前第40頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)40啟動(dòng)重復(fù)中斷間隔時(shí)間400ms子程序號(hào)讀出定時(shí)器當(dāng)前值存放當(dāng)前值首通道存放當(dāng)前值末通道停止定時(shí)器的定時(shí)RESET20000#0002STIM(69)003#0400CNT000#000220000CNT000255000000025315CNT000RET(93)200002531300001DM0002@STIM(69)006DM000000002000STIM(69)010000SBN(92)002STIM指令的各種設(shè)定舉例(續(xù))⑤當(dāng)00002ON時(shí)執(zhí)行第三個(gè)STIM指令。這時(shí)停止間隔定時(shí)器的定時(shí)。在斷開(kāi)00002后,間隔定時(shí)器可恢復(fù)工作。當(dāng)前第41頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)41中斷控制指令小結(jié)(1)兩種子程序的相同點(diǎn)①子程序都必須由指令SBN和RET來(lái)定義。②子程序都要放在主程序之后、END之前。③當(dāng)SBS指令的執(zhí)行條件不滿足時(shí)、或沒(méi)產(chǎn)生中斷信號(hào)時(shí),CPU都不掃描子程序。1.普通子程序調(diào)用與中斷功能子程序的區(qū)別當(dāng)前第42頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)42(2)兩種子程序調(diào)用上的區(qū)別①在子程序調(diào)用的控制方式上的區(qū)別。普通子程序的調(diào)用是受程序的控制,即必須在主程序中安排SBS指令,當(dāng)CPU掃描到SBS指令、且其執(zhí)行條件滿足時(shí)調(diào)用子程序。中斷處理子程序的調(diào)用不是由程序直接控制的,在中斷控制指令設(shè)定之后,是否調(diào)用子程序取決于有無(wú)中斷請(qǐng)求信號(hào)。而且,對(duì)外部輸入中斷,若中斷被屏蔽,即使有中斷請(qǐng)求信號(hào)也不能立即執(zhí)行中斷子程序。當(dāng)前第43頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)43②兩種子程序執(zhí)行完畢返回地址的區(qū)別。用SBS指令調(diào)用子程序時(shí),執(zhí)行完畢返回地址只能是與指令SBS相鄰的下一條指令。中斷處理子程序執(zhí)行完畢也要返回?cái)帱c(diǎn)處,但其斷點(diǎn)地址是隨機(jī)的。③響應(yīng)各子程序的優(yōu)先級(jí)問(wèn)題。用指令SBS調(diào)用的各子程序沒(méi)有優(yōu)先級(jí)問(wèn)題。按掃描順序執(zhí)行程序,滿足條件的SBS即調(diào)用子程序。由于各種中斷存在優(yōu)先級(jí),所以各中斷處理子程序在執(zhí)行時(shí)有優(yōu)先順序。④外部輸入中斷處理子程序的編號(hào)是固定的。當(dāng)前第44頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)442.中斷控制功能(1)關(guān)于外部輸入中斷②使用外部輸入中斷時(shí)要使用指令I(lǐng)NT,以確定中斷模式、中斷輸入點(diǎn)的狀態(tài)等。(2)關(guān)于間隔定時(shí)器中斷①使用外部輸入中斷時(shí)要在DM6628中進(jìn)行必要的設(shè)定,否則使用無(wú)效。①使用間隔定時(shí)器中斷時(shí)不必在DM區(qū)設(shè)定。②使用間隔定時(shí)器中斷時(shí),要用指令STEM確定間隔定時(shí)器的模式、定時(shí)器的設(shè)定值等。當(dāng)前第45頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)453.使用中斷功能時(shí)注意的問(wèn)題①在中斷處理子程序內(nèi)部不可使用指令SBS,即中斷處理子程序不可調(diào)用普通子程序。②不可用SBS指令去調(diào)用中斷處理子程序,即普通子程序不可調(diào)用中斷處理子程序。③中斷處理子程序內(nèi)部,不可以調(diào)用別的中斷處理子程序。當(dāng)前第46頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)46步進(jìn)控制指令當(dāng)前第47頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)47步進(jìn)控制指令步進(jìn)控制程序的結(jié)構(gòu)步進(jìn)控制程序的編程當(dāng)前第48頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)48把一個(gè)較大的程序分成若干個(gè)程序段(對(duì)應(yīng)實(shí)際的某些操作)。一個(gè)程序段稱為一個(gè)步,用指令來(lái)控制各步執(zhí)行的順序——步進(jìn)控制程序。當(dāng)執(zhí)行步進(jìn)程序時(shí),在執(zhí)行完上一步、啟動(dòng)下一步之前,可將上一步使用的定時(shí)器、數(shù)據(jù)區(qū)等復(fù)位。這樣,在以下各步程序中還可以重復(fù)使用這些資源。步進(jìn)控制概述當(dāng)前第49頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)49一、步進(jìn)控制指令功能:當(dāng)SNXT指令的執(zhí)行條件為ON時(shí),結(jié)束上一步的執(zhí)行、復(fù)位上一步用過(guò)的定時(shí)器和數(shù)據(jù)區(qū),并啟動(dòng)以B為控制位的、以STEPB定義的下一個(gè)步。B:步的控制位號(hào)功能:步結(jié)束指令。當(dāng)所有步都執(zhí)行完畢時(shí),要安排SNXT(09)B(B是虛控制位、無(wú)實(shí)際意義)和STEP指令以結(jié)束步程序。SNXT(09)BSTEP(08)BSNXT(09)BSTEP(08)BSTEP(08)STEP(08)當(dāng)前第50頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)50二、步進(jìn)控制程序的結(jié)構(gòu)1.步進(jìn)程序的基本結(jié)構(gòu)SNXT(09)HR0000由HR0000控制的步1STEP(08)HR0000SNXT(09)HR0001STEP(08)HR0001由HR0001控制的步2SNXT(09)00005STEP(08)000000000100002每一步都由具有執(zhí)行條件的SNXT(09)

B開(kāi)始,其后緊隨無(wú)執(zhí)行條件的STEP(08)

B。STEP(08)

B之后是步的內(nèi)容步程序結(jié)束時(shí),要安排一個(gè)具有執(zhí)行條件的SNXT(09)

B(此B無(wú)意義,可是程序中有用過(guò)的位號(hào))。最后安排一個(gè)STEP(08)當(dāng)前第51頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)512.步進(jìn)控制程序的類型步1步2步3步結(jié)束條件1條件2條件3條件4順序執(zhí)行類條件4條件6選擇分支類步A步B步E條件1條件2條件3條件5步結(jié)束步C步D條件7并行分支類步A步B步E條件1條件2步C條件3條件4步結(jié)束步D條件5當(dāng)前第52頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)52步1步2步3步結(jié)束條件1條件2條件3條件4順序執(zhí)行類(1)順序執(zhí)行類程序中無(wú)分支,前一步結(jié)束被清除、復(fù)位,后一步即被啟動(dòng)并開(kāi)始執(zhí)行。SNXT(09)HR0000由HR0000控制的步1STEP(08)HR0000SNXT(09)HR0001STEP(08)HR0001由HR0001控制的步2SNXT(09)00005STEP(08)000000000100002例如條件1條件2條件3步結(jié)束當(dāng)前第53頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)53條件4條件6選擇分支類步A步B步E條件1條件2條件3條件5步結(jié)束步C步D條件7(2)選擇分支類程序有幾個(gè)分支,每個(gè)分支可以有若干個(gè)步。每個(gè)步要有執(zhí)行條件。在同一時(shí)刻只能執(zhí)行其中的一個(gè)分支。編寫(xiě)程序時(shí)各分支的執(zhí)行條件間要互鎖。如條件1和條件3。每個(gè)分支執(zhí)行完畢都要去執(zhí)行同一個(gè)步,如圖中步E。當(dāng)前第54頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)54并行分支類步A步B步E條件1條件2步C條件3條件4步結(jié)束步D條件5(3)并行分支程序有幾個(gè)分支,每個(gè)分支可能有若干個(gè)步。在滿足條件時(shí)幾個(gè)分支將同時(shí)被啟動(dòng)。幾個(gè)分支都執(zhí)行完畢時(shí),又被同一個(gè)執(zhí)行條件所清除、同時(shí)進(jìn)入下一步。如步B、步D執(zhí)行完畢,可被條件4復(fù)位,并同時(shí)進(jìn)入步E。當(dāng)前第55頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)55三、步進(jìn)控制程序的編程方法步進(jìn)控制程序的結(jié)構(gòu)不同,編寫(xiě)出的程序結(jié)構(gòu)也有區(qū)別。要根據(jù)實(shí)際控制的要求,確定程序的結(jié)構(gòu)。編寫(xiě)不同結(jié)構(gòu)的步進(jìn)控制程序的方法是有章可循的,下面舉例說(shuō)明。當(dāng)前第56頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)56步進(jìn)控制程序舉例(1)STEP(08)HR0000STEP(08)HR0001SNXT(09)HR000100002SNXT(09)HR00000000000001SNXT(09)HR000200001000002531301000步A2531301001步BSNXT(09)HR000400003STEP(08)HR0002SNXT(09)HR0003STEP(08)HR0003000042531301002步C2531301001步DSNXT(09)HR0004STEP(08)HR000400005SNXT(09)00008STEP(08)000062531301000步E選擇分支步進(jìn)程序0000400005步A步B步E00000000020000100003步結(jié)束步C步D00006程序流程圖條件HR0000~HR0004是控制位當(dāng)前第57頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)57步A開(kāi)始步B開(kāi)始步結(jié)束步E開(kāi)始復(fù)位步ESTEP(08)HR0000STEP(08)HR0001SNXT(09)HR000100002SNXT(09)HR00000000000001SNXT(09)HR000200001000002531301000步A2531301001步BSNXT(09)HR000400003STEP(08)HR0002SNXT(09)HR0003STEP(08)HR0003000042531301002步C2531301001步DSNXT(09)HR0004STEP(08)HR000400005SNXT(09)00008STEP(08)000062531301000步E00000ON、00001OFF步開(kāi)始啟動(dòng)步A復(fù)位步A啟動(dòng)步B復(fù)位步B啟動(dòng)步E當(dāng)前第58頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)58步開(kāi)始啟動(dòng)步C步C開(kāi)始復(fù)位步C啟動(dòng)步D步D開(kāi)始步結(jié)束復(fù)位步D啟動(dòng)步E步E開(kāi)始復(fù)位步ESTEP(08)HR0000STEP(08)HR0001SNXT(09)HR000100002SNXT(09)HR00000000000001SNXT(09)HR000200001000002531301000步A2531301001步BSNXT(09)HR000400003STEP(08)HR0002SNXT(09)HR0003STEP(08)HR0003000042531301002步C2531301001步DSNXT(09)HR0004STEP(08)HR000400005SNXT(09)00008STEP(08)000062531301000步E00000OFF、00001ON當(dāng)前第59頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)59步進(jìn)控制程序舉例(2)并行分支步進(jìn)程序STEP(08)20000SNXT(09)2000200003SNXT(09)2000000000步A程序00001SNXT(09)20001STEP(08)20001步B程序SNXT(09)20004STEP(08)20002

步C程序00002SNXT(09)20003STEP(08)2000300003步D程序SNXT(09)2000400004STEP(08)20004步E程序SNXT(09)22000STEP(08)00100SET01000RESET0100500004步A步B步E00000000020000100003步結(jié)束步C步D普通程序程序流程圖當(dāng)前第60頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)60STEP(08)20000SNXT(09)2000200003SNXT(09)2000000000步A程序00001SNXT(09)20001STEP(08)20001步B程序SNXT(09)20004STEP(08)20002

步C程序復(fù)位步C啟動(dòng)步D步D開(kāi)始步結(jié)束步E開(kāi)始復(fù)位步E00002SNXT(09)20003STEP(08)2000300003步D程序SNXT(09)2000400004STEP(08)20004

步E程序SNXT(09)22000STEP(08)00100SET01000RESET01005復(fù)位步A啟動(dòng)步B步B開(kāi)始復(fù)位步D啟動(dòng)步E啟動(dòng)步E復(fù)位步B步A開(kāi)始步C開(kāi)始步開(kāi)始啟動(dòng)步A步開(kāi)始啟動(dòng)步C步進(jìn)控制程序舉例(2)(續(xù))并行分支步進(jìn)程序當(dāng)前第61頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)61步進(jìn)控制指令小結(jié)1.步進(jìn)程序要設(shè)置控制位,各步的控制位必須在同一個(gè)區(qū),前后步的控制位最好連續(xù)。2.步程序內(nèi)不能使用以下幾個(gè)指令:END、IL/ILC、JMP/JME、SBN。3.當(dāng)SNXT(09)B執(zhí)行時(shí),將結(jié)束步(B-1)的執(zhí)行,并復(fù)位前一步使用的定時(shí)器、數(shù)據(jù)區(qū)。此時(shí),前一步使用的定時(shí)器、數(shù)據(jù)區(qū)的狀態(tài)為:IR、HR、AR、LR為OFF,定時(shí)器復(fù)位,移位寄存器、計(jì)數(shù)器及KEEP、SET、RESET指令的輸出位保持。當(dāng)前第62頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)625.各步必須以前一步的結(jié)束為啟動(dòng)條件,即不能先啟動(dòng)中間的步。6.下一步開(kāi)始執(zhí)行后,若前一步的執(zhí)行條件再次滿足,時(shí),前一步可再次啟動(dòng)。如果不希望前一步再啟動(dòng),應(yīng)編寫(xiě)程序予以禁止。當(dāng)前第63頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)63特殊指令當(dāng)前第64頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)64故障診斷指令信息顯示指令I(lǐng)/O刷新指令位計(jì)數(shù)指令當(dāng)前第65頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)65一、故障診斷指令1.可繼續(xù)運(yùn)行的故障診斷指令FAL/@FAL功能N1:故障代碼N1取值:00~99當(dāng)執(zhí)行條件為ON時(shí),將故障代碼N1傳送到FAL的輸出區(qū)SR25300~25307中,同時(shí)使主機(jī)面板上的ALM指示燈閃爍,程序可繼續(xù)執(zhí)行。當(dāng)N1為00時(shí),執(zhí)行FAL(06)00可以將前一個(gè)故障代碼清除、將下一個(gè)故障代碼存入FAL的輸出區(qū)

FAL(06)N1@FAL(06)N1FAL(06)N1

@FAL(06)N1

當(dāng)前第66頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)662.停止程序運(yùn)行的故障診斷指令FALSN2:故障代碼N2取值:01~99功能當(dāng)執(zhí)行條件為ON時(shí),將故障代碼N2傳送到FAL的輸出區(qū)SR25300~25307中,同時(shí)主機(jī)面板上的ERR燈常亮,RUN燈滅,停止執(zhí)行程序,所有輸出均復(fù)位。清除故障后,將PLC的工作方式轉(zhuǎn)換到編程檔,再轉(zhuǎn)回RUN或MONITOR檔,可使程序再啟動(dòng);或?qū)LC關(guān)機(jī)再開(kāi)機(jī),也可使程序再啟動(dòng)。FALS(07)N2FALS(06)N2

當(dāng)前第67頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)67故障診斷指令舉例(1)FAL(06)00001000010100102FAL(06)01FAL(06)02FAL(06)03FALS(07)0400100001010010200103圖中設(shè)置了3個(gè)非嚴(yán)重故障碼01、02、03和1個(gè)嚴(yán)重故障碼04。①當(dāng)發(fā)生了故障碼是01的非嚴(yán)重故障時(shí),00100為ON,執(zhí)行指令FAL(06)01后,ALM指示燈閃爍。程序分析②排除故障后00100又變?yōu)镺FF,則執(zhí)行FAL(06)00后,清除01號(hào)故障碼、ALM指示燈滅,并存入下一個(gè)故障碼。當(dāng)前第68頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)68FAL(06)00001000010100102FAL(06)01FAL(06)02FAL(06)03FALS(07)0400100001010010200103③當(dāng)發(fā)生了故障碼為02或03的非嚴(yán)重故障時(shí),00101或00102為ON,指令執(zhí)行情況同上。當(dāng)發(fā)生了故障碼為04的嚴(yán)重故障時(shí),00103為ON,執(zhí)行FALS(07)04后,ERR指示燈常亮、RUN指示燈滅并停止執(zhí)行程序。排除故障后,采用上述兩種重新啟動(dòng)程序的方法之一,使ERR指示即滅并重新開(kāi)始執(zhí)行程序。當(dāng)前第69頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)69二、信息顯示指令FM:存放信息的首通道功能當(dāng)執(zhí)行條件為ON時(shí),從FM開(kāi)始的8個(gè)通道中讀取ASCII碼,并顯示其對(duì)應(yīng)的字符。若出現(xiàn)非ASCII碼,則該碼以后的信息將顯示。執(zhí)行FAL(06)00指令時(shí),可清除當(dāng)前顯示的信息。

MGS(46)FM@MGS(46)FMMGS(46)FM@MGS(46)FM當(dāng)前第70頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)701.存放ASCII碼的順序ASCII碼按順序存放在以FM為首地址的連續(xù)通道中。每個(gè)ASCII碼兩個(gè)數(shù)字,每個(gè)通道只能存2個(gè)ASCII碼。例如,在以FM為首地址的一個(gè)MGS信息的存放:FM通道第1個(gè)字符第2個(gè)字符第3個(gè)字符第4個(gè)字符第5個(gè)字符第6個(gè)字符FM+1通道FM+2通道……第15個(gè)字符第16個(gè)字符FM+7通道一個(gè)MGS信息當(dāng)前第71頁(yè)\共有79頁(yè)\編于星期一\23點(diǎn)712.顯示ASCII碼的順序信息顯示緩沖區(qū)最多能存放存放三個(gè)M

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論