版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、6.1 概述概述6.2 基本編程指令基本編程指令6.3 保持、微分指令保持、微分指令6.4 順序控制和暫存指令順序控制和暫存指令6.5 定時器和計(jì)數(shù)器應(yīng)用指令定時器和計(jì)數(shù)器應(yīng)用指令6.6 數(shù)據(jù)比較類應(yīng)用指令數(shù)據(jù)比較類應(yīng)用指令6.7 數(shù)據(jù)轉(zhuǎn)換類應(yīng)用指令數(shù)據(jù)轉(zhuǎn)換類應(yīng)用指令6.8 數(shù)據(jù)移位類應(yīng)用指令數(shù)據(jù)移位類應(yīng)用指令6.9 數(shù)據(jù)傳送類應(yīng)用指令數(shù)據(jù)傳送類應(yīng)用指令6.10 數(shù)據(jù)運(yùn)算類應(yīng)用指令數(shù)據(jù)運(yùn)算類應(yīng)用指令6.11 子程序和中斷控制類子程序和中斷控制類應(yīng)用指令應(yīng)用指令6.12 高速計(jì)數(shù)器應(yīng)用指令高速計(jì)數(shù)器應(yīng)用指令6.13 其他特殊應(yīng)用指令其他特殊應(yīng)用指令6.14 特殊運(yùn)算指令特殊運(yùn)算指令6.15 通信
2、指令通信指令6.16 典型應(yīng)用舉例典型應(yīng)用舉例CPM1ACPM1A共有:共有:基本指令基本指令1414條,應(yīng)用指令條,應(yīng)用指令7979條條(有功能號)。(有功能號)。指令執(zhí)行的典型時間是:指令執(zhí)行的典型時間是: 基本指令基本指令:LDLD指令的執(zhí)行時間為指令的執(zhí)行時間為0.64 s0.64 s。 應(yīng)用指令應(yīng)用指令:MOVMOV指令:指令:16.3 s16.3 s。PLCPLC編程可以以梯形圖形式出現(xiàn),也可以用指令編程可以以梯形圖形式出現(xiàn),也可以用指令形式表示,兩者可以相互轉(zhuǎn)化。形式表示,兩者可以相互轉(zhuǎn)化。 6.1 概述概述助記符指令的一般格式為:指令碼 操作數(shù)1 操作數(shù)2操作數(shù)3或 指令碼 操
3、作數(shù)【例1】 某指令A(yù)DD(30)#1270*DM0101DM0123 由指令碼可知,該指令為一條BCD碼加法運(yùn)算指令。指令的三個操作數(shù)分別為參加運(yùn)算的加數(shù)、被加數(shù)和結(jié)果。其中加數(shù)為立即數(shù)操作數(shù)1270。被加數(shù)為間接尋址操作數(shù),程序在DM0101通道中取出操作數(shù)的實(shí)際地址。運(yùn)算結(jié)果為直接尋址操作數(shù),即把和數(shù)送至DM0123通道。(1 1)助記符表示指令的功能,它表明了執(zhí)行該)助記符表示指令的功能,它表明了執(zhí)行該指令所完成的操作。助記符常用英文或其縮寫來指令所完成的操作。助記符常用英文或其縮寫來表示。對不同生產(chǎn)廠家的表示。對不同生產(chǎn)廠家的PLCPLC,相同功能的指令,相同功能的指令其助記符可能不
4、同。其助記符可能不同。(2 2)指令碼是指令的代碼,用兩位數(shù)()指令碼是指令的代碼,用兩位數(shù)(00990099)表示,基本指令沒有指令碼,應(yīng)用指令都有功)表示,基本指令沒有指令碼,應(yīng)用指令都有功能碼。能碼。(3 3)操作數(shù)提供了指令執(zhí)行的對象、數(shù)據(jù)或?qū)ぃ┎僮鲾?shù)提供了指令執(zhí)行的對象、數(shù)據(jù)或?qū)ぶ贩绞?。各種指令的操作數(shù)個數(shù)不同,有的指令址方式。各種指令的操作數(shù)個數(shù)不同,有的指令不帶操作數(shù),有的指令只帶不帶操作數(shù),有的指令只帶1 1個操作數(shù),有的指個操作數(shù),有的指令帶令帶2 2個或個或3 3個操作數(shù)。個操作數(shù)。(4 4)操作數(shù)可以是繼電器號(位)、通道號()操作數(shù)可以是繼電器號(位)、通道號(字)或常
5、數(shù)。為了區(qū)別一個操作數(shù)是常數(shù)還是通字)或常數(shù)。為了區(qū)別一個操作數(shù)是常數(shù)還是通道號,在作為操作數(shù)的常數(shù)前加前綴道號,在作為操作數(shù)的常數(shù)前加前綴# #。(5 5)操作數(shù)位常數(shù)時,可以是十進(jìn)制或十六進(jìn))操作數(shù)位常數(shù)時,可以是十進(jìn)制或十六進(jìn)制,這取決于指令的要求。制,這取決于指令的要求。(6 6)間接尋址的操作數(shù)用)間接尋址的操作數(shù)用* *DMDM表示,這種操作表示,這種操作時以時以DMDM* * * * *中的數(shù)據(jù)為地址的另一個中的數(shù)據(jù)為地址的另一個DMDM通道中的通道中的數(shù)據(jù)。數(shù)據(jù)。DMDM* * * * *中的內(nèi)容必須是中的內(nèi)容必須是BCDBCD碼,且不得超碼,且不得超出出DMDM區(qū)的范圍。區(qū)的
6、范圍。3 3、指令的微分和非微分形式、指令的微分和非微分形式在在CPM1ACPM1A中絕大多數(shù)應(yīng)用指令都有微分型和非微分型兩中絕大多數(shù)應(yīng)用指令都有微分型和非微分型兩種指令形式。微分型指令由在指令碼前面加上前綴種指令形式。微分型指令由在指令碼前面加上前綴 來區(qū)來區(qū)分。兩種形式指令在執(zhí)行中的區(qū)別是:非微分指令在條件分。兩種形式指令在執(zhí)行中的區(qū)別是:非微分指令在條件滿足時,每個循環(huán)周期都將被執(zhí)行一次;而微分形式指令滿足時,每個循環(huán)周期都將被執(zhí)行一次;而微分形式指令則只在其條件由則只在其條件由OFFOFF變?yōu)樽優(yōu)镺NON的上升沿時才會被執(zhí)行。的上升沿時才會被執(zhí)行。 例例1 1 數(shù)據(jù)傳送指令如下:數(shù)據(jù)傳
7、送指令如下:例例2 2 數(shù)據(jù)傳送數(shù)據(jù)傳送指令如下:指令如下:LDLD 00000 00000LDLD0000000000MOV(21) #2000MOV(21) #2000 MOV(21) #2000MOV(21) #2000 DM0000 DM0000 DM0000 DM0000 小于標(biāo)志LE(25507),執(zhí)行比較指令時,如果第一操作數(shù)小于第二操作數(shù),該位置ON。 等于標(biāo)志EQ(25506),執(zhí)行比較指令時兩操作數(shù)相等,或執(zhí)行運(yùn)算指令時運(yùn)算結(jié)果等于0,該位置ON。 大于標(biāo)志GR(25505),執(zhí)行比較指令時,如果第一操作數(shù)大于第二操作數(shù),該位置ON。 進(jìn)位標(biāo)志CY(25504),執(zhí)行運(yùn)算指
8、令時,如果結(jié)果最高位向上有進(jìn)位或借位,該位置ON。 出錯標(biāo)志ER(25503),執(zhí)行指令出錯時該位置ON。典型的執(zhí)行錯誤有操作數(shù)地址錯、控制字無定義等。出錯標(biāo)志為ON時,指令將停止執(zhí)行。6.26.2基本編程指令基本編程指令 基本編程指令主要包括基本編程指令主要包括與、或、非、輸與、或、非、輸出、復(fù)位、置位出、復(fù)位、置位等邏輯指令。等邏輯指令。另外,另外,普通定時器和計(jì)數(shù)器指令普通定時器和計(jì)數(shù)器指令也沒有也沒有功能號,也歸為基本指令。功能號,也歸為基本指令。共共1414條。條。所有所有無功能無功能號的指令稱為基本編程指令。號的指令稱為基本編程指令。1 1 LDLD和和LD NOTLD NOT 指
9、令指令格式:格式:LDLDN NLD NOT LD NOT N N其中的操作數(shù)其中的操作數(shù)N N為位,即為位,即LDLD和和LD NOTLD NOT指令只能以指令只能以位為單位位為單位進(jìn)進(jìn)行操作。這里的行操作。這里的N N可以是可以是IRIR、SRSR、ARAR、HRHR、LRLR、TRTR或或TCTC。功能功能:裝入指令。用來表示一個邏輯運(yùn)算的開始,它們的執(zhí):裝入指令。用來表示一個邏輯運(yùn)算的開始,它們的執(zhí)行不會影響標(biāo)志位。行不會影響標(biāo)志位。LDLD表示表示N N的常開觸點(diǎn)與左端母線的常開觸點(diǎn)與左端母線相連。相連。LD NOTLD NOT表示表示N N的常閉觸的常閉觸點(diǎn)與左端母線點(diǎn)與左端母線相
10、連。相連。說明:說明:LD和和LD NOT指令的執(zhí)行不會影響標(biāo)志位。指令的執(zhí)行不會影響標(biāo)志位。 2 2 OUTOUT和和OUT NOTOUT NOT指令指令格式:格式:OUTOUTN N OUT NOTOUT NOTN N其中的操作數(shù)其中的操作數(shù)N N也是位,它可以是也是位,它可以是IRIR、SRSR、ARAR、LRLR、TRTR或或HRHR。功能功能:輸出指令。用來表示一個運(yùn)算結(jié)果。:輸出指令。用來表示一個運(yùn)算結(jié)果。OUTOUT指令將指令將運(yùn)算結(jié)果輸出到運(yùn)算結(jié)果輸出到N N。OUT NOTOUT NOT指令將運(yùn)算結(jié)果取反后指令將運(yùn)算結(jié)果取反后輸出到輸出到N N。說明:說明:OUT 和和OUT
11、 NOT指令也只能以位為單位進(jìn)行操作。指令也只能以位為單位進(jìn)行操作。它們的執(zhí)行不會影響標(biāo)志位。在程序中它們的執(zhí)行不會影響標(biāo)志位。在程序中不同的線圈可以同條不同的線圈可以同條件并聯(lián)輸出件并聯(lián)輸出。 【例例1 1】 OUT OUT和和OUT NOTOUT NOT等指令的應(yīng)用,等指令的應(yīng)用,0000001000010010100200001指令的程序如下:指令的程序如下: LD00000OUT01000OUT NOT01001LD NOT00002OUT01002 3 AND3 AND和和AND NOTAND NOT指令指令格式:格式:ANDANDN NAND NOTAND NOTN N其中的操作數(shù)
12、其中的操作數(shù)N N也是位,它可以是也是位,它可以是IRIR、SRSR、ARAR、LRLR、HRHR或或TCTC。功能:邏輯與運(yùn)算指令。功能:邏輯與運(yùn)算指令。ANDAND表示表示N N與前面的邏輯結(jié)果進(jìn)行與與前面的邏輯結(jié)果進(jìn)行與運(yùn)算。即運(yùn)算。即N N的常開觸點(diǎn)與前的常開觸點(diǎn)與前面的邏輯串聯(lián)。面的邏輯串聯(lián)。AND NOTAND NOT表示表示N N取非并與前面的邏輯結(jié)果進(jìn)行取非并與前面的邏輯結(jié)果進(jìn)行與與運(yùn)算。即運(yùn)算。即N N的常閉觸點(diǎn)與前面的邏輯串聯(lián)。的常閉觸點(diǎn)與前面的邏輯串聯(lián)。說明:說明:AND和和AND NOT指令只能以位為單位進(jìn)行操作。它們指令只能以位為單位進(jìn)行操作。它們的執(zhí)行不會影響標(biāo)志位
13、。在程序中邏輯與運(yùn)算的串聯(lián)觸點(diǎn)個的執(zhí)行不會影響標(biāo)志位。在程序中邏輯與運(yùn)算的串聯(lián)觸點(diǎn)個數(shù)是沒有限制的。數(shù)是沒有限制的。 【例例2 2】 AND AND和和AND NOTAND NOT指令的應(yīng)用。指令的應(yīng)用。 指令的程序如下:指令的程序如下: LD 00001AND00002AND NOT00003OUT01000 000010000200003010014 OR4 OR和和OR NOTOR NOT指令指令格式:格式:ORORN NOR NOTOR NOTN N其中的操作數(shù)其中的操作數(shù)N N也是位,它可以是也是位,它可以是IRIR、SRSR、ARAR、LRLR、HRHR或或TCTC。功能:邏輯或運(yùn)
14、算指令。功能:邏輯或運(yùn)算指令。OROR表示表示N N與前面的邏輯結(jié)果進(jìn)行或運(yùn)算與前面的邏輯結(jié)果進(jìn)行或運(yùn)算。即。即N N的常開觸點(diǎn)與前的常開觸點(diǎn)與前面的邏輯并聯(lián)。面的邏輯并聯(lián)。OR NOTOR NOT表示表示N N取非并與前面的邏輯結(jié)果進(jìn)行取非并與前面的邏輯結(jié)果進(jìn)行或運(yùn)算或運(yùn)算。即。即N N的常閉觸點(diǎn)與前面的邏輯并聯(lián)。的常閉觸點(diǎn)與前面的邏輯并聯(lián)。說明:說明:OR和和OR NOT指令只能以位為單位進(jìn)行操作。它們指令只能以位為單位進(jìn)行操作。它們的執(zhí)行不會影響標(biāo)志位。在程序中邏輯或運(yùn)算的并聯(lián)觸點(diǎn)個的執(zhí)行不會影響標(biāo)志位。在程序中邏輯或運(yùn)算的并聯(lián)觸點(diǎn)個數(shù)是沒有限制的。數(shù)是沒有限制的。 【例例3 3】 OR
15、OR和和OR NOTOR NOT等指定的應(yīng)用程序段為:等指定的應(yīng)用程序段為: LD00000OR 00001OR NOT00002OUT01001這段程序表示的運(yùn)算邏輯為:當(dāng)三個輸入條件這段程序表示的運(yùn)算邏輯為:當(dāng)三個輸入條件00000為為ON或或00001為為ON,或,或00002為為OFF中有一個被滿足時,輸出中有一個被滿足時,輸出01001就會被置就會被置ON。 5 AND LD5 AND LD和和OR LDOR LD指令指令格式:格式:AND LDAND LDOR LDOR LD功能:觸點(diǎn)組操作指令。功能:觸點(diǎn)組操作指令。AND LDAND LD指令表示對觸點(diǎn)組進(jìn)行邏輯與運(yùn)算指令表示對
16、觸點(diǎn)組進(jìn)行邏輯與運(yùn)算。OR LDOR LD指令表示對指令表示對觸點(diǎn)組進(jìn)行邏輯或運(yùn)算觸點(diǎn)組進(jìn)行邏輯或運(yùn)算。說明:說明:AND LD指令和指令和OR LD指令指令不需要任何操作數(shù)不需要任何操作數(shù),只表,只表明觸點(diǎn)組之間的邏輯運(yùn)算關(guān)系。使用這兩條指令有兩種方法:明觸點(diǎn)組之間的邏輯運(yùn)算關(guān)系。使用這兩條指令有兩種方法:分置法和后置法。兩種方法可以得到相同的運(yùn)算結(jié)果,但使分置法和后置法。兩種方法可以得到相同的運(yùn)算結(jié)果,但使用分置法時觸點(diǎn)組數(shù)是沒有限制的,而采用后置法時觸點(diǎn)組用分置法時觸點(diǎn)組數(shù)是沒有限制的,而采用后置法時觸點(diǎn)組數(shù)不能超過數(shù)不能超過8 【例例4】 設(shè)有梯形圖為圖設(shè)有梯形圖為圖 (a)、(b)所
17、示的兩個邏輯運(yùn)算。所示的兩個邏輯運(yùn)算。將該運(yùn)算用將該運(yùn)算用AND LD和和OR LD指令完成,有兩種方法實(shí)指令完成,有兩種方法實(shí)現(xiàn)助記符程序段,分別如下:現(xiàn)助記符程序段,分別如下: 0000000001000020000300004000050100100000000020000300004000050000601001(a)(b) 圖圖(a)(a)邏輯分置法實(shí)現(xiàn)程序段:邏輯分置法實(shí)現(xiàn)程序段:LD00000OR00003LD00001OR 00004AND LDLD NOT00002OR NOT00005AND LDOUT01001 圖圖(a)(a)邏輯后置法實(shí)現(xiàn)程序段:邏輯后置法實(shí)現(xiàn)程序段:
18、LD00000OR00003LD00001OR 00004LD NOT00002OR NOT00005AND LDAND LDOUT01001 圖圖(b)(b)邏輯分置法實(shí)現(xiàn)程序段:邏輯分置法實(shí)現(xiàn)程序段:LD00000AND00002LD00003AND NOT00004OR LDLD NOT00005AND NOT00006OR LDOUT01001 圖圖(b)(b)邏輯后置法實(shí)現(xiàn)程序段:邏輯后置法實(shí)現(xiàn)程序段:LD00000AND00002LD00003AND NOT00004LD NOT00005AND NOT00006OR LDOR LDOUT01001 6 SET和RESET指令格式:
19、SETNRESETN其中的操作數(shù)N也是位,它可以是IR、SR、AR、LR或HR。功能:置位和復(fù)位指令。用來完成直接對位的置位或復(fù)位操作。當(dāng)SET指令的執(zhí)行條件滿足時置N為ON。當(dāng)RESET指令的條件滿足時置N為OFF。 【例例5 5】 在在0000000000和和0000200002的狀態(tài)變化已知的條件下,的狀態(tài)變化已知的條件下,下面程序段執(zhí)行的結(jié)果如圖下面程序段執(zhí)行的結(jié)果如圖4.2.44.2.4所示。所示。LDLD0000000000SETSET2000020000LDLD0000200002RESETRESET20000200000000000002SET 20000RESET 20000
20、000000000220000(a)(b)7、編編 程程 規(guī)規(guī) 則則在編制梯形圖或助記符程序時,應(yīng)注意遵循以在編制梯形圖或助記符程序時,應(yīng)注意遵循以下編程規(guī)則:下編程規(guī)則:(1) (1) 每一個每一個內(nèi)部繼電器的觸點(diǎn)內(nèi)部繼電器的觸點(diǎn)在程序中可以在程序中可以無無限次限次重復(fù)使用,但其重復(fù)使用,但其線圈在同一程序中一般只線圈在同一程序中一般只能使用一次能使用一次。同一繼電器的多線圈使用會引起。同一繼電器的多線圈使用會引起邏輯上的混亂,應(yīng)盡量避免。邏輯上的混亂,應(yīng)盡量避免。(2) (2) 梯形圖信號流向只能梯形圖信號流向只能自左向右自左向右,垂直分支垂直分支上不可以有任何上不可以有任何觸點(diǎn)。觸點(diǎn)。
21、【例例1 1】 梯形圖的編制舉例。梯形圖的編制舉例。在下圖的梯形圖例中,在下圖的梯形圖例中,圖圖(a)(a)為不規(guī)范的梯形圖,為不規(guī)范的梯形圖,圖圖(b)(b)為規(guī)范的梯形圖。為規(guī)范的梯形圖。000010000200004000050100000004000030000101000(a)(b)0000301001000020000100003000040100100005(3) (3) 繼電器的線圈應(yīng)該放在每一運(yùn)算邏輯的最繼電器的線圈應(yīng)該放在每一運(yùn)算邏輯的最右端,在線圈右端不能再有任何觸點(diǎn)。線圈不右端,在線圈右端不能再有任何觸點(diǎn)。線圈不可以與左端母線直接相連,如果邏輯上有這種可以與左端母線直接
22、相連,如果邏輯上有這種需要時也要通過一合適的常閉觸點(diǎn)來實(shí)現(xiàn)。需要時也要通過一合適的常閉觸點(diǎn)來實(shí)現(xiàn)。【例例2 2】 下圖所示邏輯應(yīng)用了特殊繼電器中的下圖所示邏輯應(yīng)用了特殊繼電器中的常常ONON觸點(diǎn)來實(shí)現(xiàn)上電后一直執(zhí)行的操作。觸點(diǎn)來實(shí)現(xiàn)上電后一直執(zhí)行的操作。 2531301001圖 43.2(4) (4) 編程時對于復(fù)雜邏輯關(guān)系的程序段,編程時對于復(fù)雜邏輯關(guān)系的程序段,可按照先難后易的基本原則實(shí)現(xiàn)。可按照先難后易的基本原則實(shí)現(xiàn)。 當(dāng)有幾個串聯(lián)支路相并聯(lián)時,可按先串當(dāng)有幾個串聯(lián)支路相并聯(lián)時,可按先串后并的原則將觸點(diǎn)多的支路放在梯形圖的后并的原則將觸點(diǎn)多的支路放在梯形圖的最上端。最上端。當(dāng)有幾個并聯(lián)支
23、路相串聯(lián)時,可按先并后當(dāng)有幾個并聯(lián)支路相串聯(lián)時,可按先并后串的原則將觸點(diǎn)多的支路放在梯形圖的最串的原則將觸點(diǎn)多的支路放在梯形圖的最左端。左端。 【例例3 3】 梯形圖等效變換圖例如圖所示。梯形圖等效變換圖例如圖所示。00001000020000301001(a)000020000301001000010000100002010010000300002000010100100003(b)LD00001 LD00002LD00002 AND00003AND00003 OR00001OR LD OUT01001OUT01001 圖圖(a)(a)等效變換前程序段等效變換前程序段 圖圖(a)(a)等效變
24、換后程序段等效變換后程序段圖圖(b) (b) 等效變換前程序段等效變換前程序段 圖圖(b) (b) 等效變換后程序段等效變換后程序段LDLD0000100001 LD LD0000200002LDLD0000200002 OR OR0000300003OROR0000300003 AND AND0000100001AND LDAND LD OUTOUT0100101001OUTOUT01001010018 TIM指令指令格式:格式: TIMNSV其中:其中: 操作數(shù)操作數(shù)N為定時器為定時器TC號號,取值范圍為十進(jìn)制數(shù),取值范圍為十進(jìn)制數(shù)000127 。 操作數(shù)操作數(shù)SV為定時器的設(shè)定值,為定時
25、器的設(shè)定值,由由4位位BCD碼組成碼組成,可以,可以是是IR、SR、HR、AR、LR、DM、*DM、#,取值范圍,取值范圍00009999。功能:定時器指令。功能:定時器指令。TIM是是最小單位為最小單位為0.1秒秒的的減一計(jì)數(shù)器減一計(jì)數(shù)器,故故定時范圍為定時范圍為0999.9秒秒。當(dāng)輸入條件為。當(dāng)輸入條件為ON時,時,TIM開始開始記時。記時操作為每記時。記時操作為每0.1秒當(dāng)前值秒當(dāng)前值PV減一。當(dāng)減一。當(dāng)PV等于等于0時,時,定時到,定時到,TIM狀態(tài)置狀態(tài)置ON。當(dāng)輸入條件為。當(dāng)輸入條件為OFF或電源掉電或電源掉電時,時,TIM被復(fù)位。復(fù)位后狀態(tài)置被復(fù)位。復(fù)位后狀態(tài)置OFFOFF,送,
26、送SVSV為新的為新的PVPV值。值。 【例1】 TIM指令應(yīng)用圖例之一如圖所示。 圖中的定時器TIM000的定時時間為60秒,即當(dāng)00000為ON時,TIM開時記時。60秒以后定時器定時到,程序段中的01000為ON。相應(yīng)的梯形圖程序如下:LD00000TIM000#0600LDTIM000OUT0100000000TIM 000 #0600TIM 000010009 計(jì)數(shù)器計(jì)數(shù)器CNT指令指令格式:格式:CP條件條件R條件條件CNTNSV其中:其中: 操作數(shù)操作數(shù)N為計(jì)數(shù)器為計(jì)數(shù)器TC號號,取值范圍為十進(jìn)制數(shù),取值范圍為十進(jìn)制數(shù)000127。 操作數(shù)操作數(shù)SV為計(jì)數(shù)器的設(shè)定值,由為計(jì)數(shù)器的
27、設(shè)定值,由4位位BCD碼碼組成,可以組成,可以是是IR、SR、HR、AR、LR、DM、*DM、#,取值范圍,取值范圍00009999。 CNT在程序中有在程序中有兩個輸入條件兩個輸入條件,故在格式中專門列出。,故在格式中專門列出。在這里在這里CP為計(jì)數(shù)脈沖輸入端為計(jì)數(shù)脈沖輸入端。R為復(fù)位端為復(fù)位端。 功能:功能:計(jì)數(shù)器指令計(jì)數(shù)器指令。減一計(jì)數(shù)器減一計(jì)數(shù)器。當(dāng)。當(dāng)R R為為OFFOFF時時計(jì)數(shù)器為計(jì)數(shù)器為計(jì)數(shù)狀態(tài)計(jì)數(shù)狀態(tài)。計(jì)數(shù)時,。計(jì)數(shù)時,CPCP每次由每次由OFFOFF變?yōu)樽優(yōu)镺NON計(jì)數(shù)一次。計(jì)數(shù)操作由計(jì)數(shù)一次。計(jì)數(shù)操作由PVPV值減一完成。當(dāng)值減一完成。當(dāng)PVPV值減到值減到0 0時計(jì)數(shù)到
28、,計(jì)數(shù)器輸出狀態(tài)置時計(jì)數(shù)到,計(jì)數(shù)器輸出狀態(tài)置ONON。當(dāng)。當(dāng)R R為為ONON時計(jì)數(shù)器為復(fù)位時計(jì)數(shù)器為復(fù)位狀態(tài),復(fù)位后計(jì)數(shù)器輸出狀態(tài),復(fù)位后計(jì)數(shù)器輸出狀態(tài)置狀態(tài)置OFFOFF,PVPV被重新置入被重新置入SVSV值。值。 【例例3】 ONT指令的應(yīng)用。指令的應(yīng)用。CNT指令的程序段如下:指令的程序段如下:LD00000LD00001CNT127#0050LDCNT127OUT0100100000 CNT 1270100100001CNT 127 #00506.3 6.3 保持指令、微分指令、空操作和結(jié)束指令保持指令、微分指令、空操作和結(jié)束指令KEEP指令指令格式格式:條件S條件RKEEP(11
29、)N其中的操作數(shù)N也是位,它可以是IR、SR、AR、LR或HR。 功能:功能:鎖存指令。KEEP相當(dāng)于一個軟件保持器。它前面要有兩個條件,故在格式中專門列出。條件S為保持器的置位輸入。條件R為保持器的復(fù)位輸入。即:當(dāng)條件S滿足,操作數(shù)N置ON并保持;當(dāng)條件R滿足,則操作數(shù)N置OFF。特別地,當(dāng) S和R同時滿足時,按復(fù)位優(yōu)先的運(yùn)算,操作數(shù)N置OFF。 【例6】 KEEP指令的應(yīng)用。KEEP指令的程序段如下: LD00001LD00002KEEP(11)01000 與程序段對應(yīng)的梯形圖例及其相應(yīng)波形如圖4.2.5所示。例中的置位輸入為00001,復(fù)位輸入為00002,顯然利用KEEP指令可以代替相
30、應(yīng)的自鎖運(yùn)算邏輯。圖4.2.5KEEP指令應(yīng)用梯形圖例及相應(yīng)的波形0000100002000010000201001(a)(b)SR01001DIFU(13)和和DIFD(14)指令指令格式:DIFU(13)NDIFD(14)N其中的操作數(shù)N也是位,它可以是IR、SR、AR、LR或HR。 功能:微分指令。 DIFU為上升沿微分指令,當(dāng)執(zhí)行條件上升沿時使操作數(shù)N有一個掃描周期的ON。 DIFD為下降沿微分指令,當(dāng)執(zhí)行條件下降沿時使操作數(shù)N有一個掃描周期的ON。 【例7】 DIFU和DIFD指令的應(yīng)用。DIFU和DIFD指令的程序段如下:LD00001DIFU(13)20001DIFD(14)20
31、002 與程序段的對應(yīng)的梯形圖例及其相應(yīng)波形如圖4.2.6所示。其中微分指令的輸出脈沖寬度為一個掃描周期。圖4.2.6 DIFU(13)和DIFD(14)指令應(yīng)用梯形圖例及相應(yīng)的波形00001DIFU 20001DIFD 20002000012000120002(a)(b)NOP(00)指令指令 格式:格式:NOP(00) 功能:功能:空操作指令。不做任何操作,可用于程序調(diào)試時的指令暫時刪除或程序執(zhí)行時間微調(diào)等特殊用途。END(01)指令指令 格式:END(01) 功能:結(jié)束指令。表示程序的結(jié)束。每一程序的最后一條指令必須是END指令。沒有END指令的程序不能被執(zhí)行并會顯示相應(yīng)的出錯信息。EN
32、D指令以后的程序段將不會被執(zhí)行。 說 明:執(zhí)行END指令時標(biāo)志位ER、CY、GR、EQ和LE將被置OFF。6.4 順序控制和暫存指令順序控制和暫存指令6.4.1 IL和和ILC指令指令格式:格式:IL(02)ILC(03)功能:功能:互鎖和互鎖解除指令。 IL定義互鎖程序段的開始,IL指令的條件就是互鎖的條件。ILC定義互鎖程序段的結(jié)束。當(dāng)IL前的邏輯條件為ON時,位于IL和ILC指令之間的互鎖程序段照常運(yùn)行。當(dāng)IL前的邏輯條件為OFF時,互鎖程序段將不被執(zhí)行。此時該程序中的各個輸出的狀態(tài)為:所有的輸出線圈置為OFF,所有的定時器被復(fù)位,所有的計(jì)數(shù)器、保持繼電器和移位寄存器保持當(dāng)前狀態(tài)不變。
33、說明:IL和ILC指令應(yīng)成對使用,否則在檢查程序時會得到出錯信息。但該錯誤并不影響程序的執(zhí)行。 例1】 IL和ILC指令的應(yīng)用。 有互鎖程序段如圖4.4.1(a)所示,無互鎖程序段如圖4.4.1(b)所示。 當(dāng)互鎖條件00001為OFF時,無論其他條件如何變化,程序段中的所有輸出均保持OFF不變。從邏輯運(yùn)算上看圖(a)和圖(b)具有完全相同的功能。圖4.4.1 IL和ILC指令應(yīng)用例梯形圖00001000020000300004(a)IL(02)ILC(03)0100101001000010000200003000040100101001(b)6.4.2 TR指令指令 功能:TR被稱為暫存繼電
34、器。與LD和OUT指令配合,TR可以用來暫存程序運(yùn)行的中間結(jié)果。利用TR可以方便編程。在程序中可以使用的TR共有8個,分別編號為TR0到TR7。 【例2】 TR指令的應(yīng)用。TR指令的程序段如下:LD00000OUTTR0AND00001OUT01000LDTR0AND00002OUTTR1AND00003OUT01001LDTR1AND00004OUT01002圖4.4.2 TR指令應(yīng)用例梯形圖 000000000100002000030100001001TR0TR100004010026.4.3 JMP和和JME格式:格式:JMP(04)NJME(05)NN為跳轉(zhuǎn)號,可以是0049之間任何十
35、進(jìn)制數(shù)字。功能:功能:跳轉(zhuǎn)和跳轉(zhuǎn)結(jié)束指令。 當(dāng)JMP指令前的執(zhí)行條件為OFF時,CPU將跳過JMP和JME指令之間的程序段,直接執(zhí)行其后面的程序內(nèi)容。當(dāng)JMP指令前的執(zhí)行條件為ON時,則不進(jìn)行跳轉(zhuǎn),如同沒有跳轉(zhuǎn)指令時一樣執(zhí)行。 JMP、JME指令和互鎖程序的最大不同是,當(dāng)發(fā)生跳轉(zhuǎn)時,JMP和JME指令之間程序段中的所有輸出、保持器、定時器和計(jì)數(shù)器狀態(tài)都會保持不變。且被跳轉(zhuǎn)的程序段不再占用掃描時間?!纠?】 JMP和JME指令應(yīng)用圖例如圖4.4.3所示。圖4.4.3 JMP和JME指令應(yīng)用例梯形圖 00000JEP(04) 00JME(05) 00程序段A4.4.4 JMP指令嵌套應(yīng)用例梯形圖0
36、0001JEP(04) 00JME(05) 01程序段A00002JEP(04) 01程序段BJME(05) 00程序段C6.5 定時器和計(jì)數(shù)器應(yīng)用指令定時器和計(jì)數(shù)器應(yīng)用指令6.5.2 TIMH指令指令格式:TIMH(15)NSV其中: 操作數(shù)N和SV的定義和取值范圍與TIM指令相同。 功能:高速定時器指令。最小定時單位為0.01秒。定時范圍為099.99秒。其應(yīng)用和使用方法與TIM指令相同。6.5.4 CNTR指令指令格式:ACP條件SCP條件R條件CNTR(12)NSV其中: 操作數(shù)N為計(jì)數(shù)器TC號,取值范圍為十進(jìn)制數(shù)000225(CPM/A為000127)。操作數(shù)SV為計(jì)數(shù)器的設(shè)定值,由
37、4位BCD碼組成,可以是IR、SR、HR、AR、LR、DM、*DM、#,取值范圍00009999。 CNTR在程序中有三個輸入條件。ACP為加計(jì)數(shù)脈沖輸入端。SCP為減計(jì)數(shù)脈沖輸入端。R為復(fù)位端。 功能:功能:可逆循環(huán)計(jì)數(shù)器指令。當(dāng)R為OFF時,為計(jì)數(shù)狀態(tài)。計(jì)數(shù)時每當(dāng)ACP由OFF變?yōu)镺N時,PV值做一次加法運(yùn)算。每當(dāng)SCP由OFF變?yōu)镺N時,PV值做一次減法運(yùn)算。當(dāng)PV值加到等于SV后再有加一脈沖,CNTR的狀態(tài)置ON,PV值變?yōu)?。當(dāng)PV值減到0再有減一脈沖,CNTR的狀態(tài)置ON,PV值被置入SV值。當(dāng)R為ON時為復(fù)位狀態(tài)。復(fù)位時CNTR狀態(tài)為OFF,ACP和SCP脈沖不起作用?!纠?】
38、CNTR指令的應(yīng)用。CNTR指令的程序段如下:LD00000LD00001LD00002CNTR(12)126#0100LDCNT126OUT01000 由程序可知可逆計(jì)數(shù)器CNTR126的SV=100,在加一運(yùn)算時,當(dāng)加到PV=SV,再加一,PV=0,CNTR為ON。若再加一,PV=1,CNTR為OFF。在減一運(yùn)算時,當(dāng)減到PV=0,再減一,PV=SV,CNTR為ON。若再減一,PV=SV-1,CNTR為OFF。與程序段對應(yīng)的梯形圖例及其相應(yīng)的工作時序波形如圖4.5.4所示。圖4.5.4 CNTR指令應(yīng)用例梯形圖及工作時序波形圖00000 CNTR 126010000000100002ACP
39、SCPRCNTR (12)126 #0100(a)OFFPV 99100012PV 101009998ONOFFCNTR 126000010000000002(b)6.5.4 定時器和計(jì)數(shù)器的擴(kuò)展定時器和計(jì)數(shù)器的擴(kuò)展6.6 數(shù)據(jù)比較類應(yīng)用指令數(shù)據(jù)比較類應(yīng)用指令6.6.1 CMP和和CMPL指令指令格式:CMP(20)C1C2CMPL(60)C1C2 其中: 操作數(shù)C1為比較數(shù)1,操作數(shù)C2為比較數(shù)2。 CMP的兩個比較數(shù)可以是IR、SR、AR、LR、HR、TC、DM、*DM、#。 CMPL的兩個比較數(shù)可以是IR、SR、AR、LR、HR、TC、DM、*DM。 功能:功能:CMP為單字比較指令,完
40、成C1和C2 兩個字的比較。CMPL為雙字比較指令,完成C1與C1+1組成的雙字和C2與C2+1組成的雙字的比較。 當(dāng)指令前的執(zhí)行條件為ON時執(zhí)行比較操作,比較操作的結(jié)果送SR中的標(biāo)志位。 若C1C2,大于標(biāo)志位(LG)25505置ON。 若C1=C2,等于標(biāo)志位(EQ)25506置ON。 若C1C2,小于標(biāo)志位(LE)25507置ON。 SR中的比較結(jié)果,可以用做其他運(yùn)算的條件?!纠?】 CMP指令的應(yīng)用。CMP指令的程序段如下:LD00000CMP(20)HR10#0100LD00000AND25505OUT01000LD00000AND25506OUT01001LD00000AND255
41、07OUT01002圖4.6.1 CMP指令應(yīng)用例梯形圖 0000001000CMP (20)HR10#010000000255050100100000255060100200000255076.6.2 BCMP指令指令格式:BCMP(68)BCMP(68)CDCDCBCBRR其中: 操作數(shù)CD為比較數(shù)據(jù),它可以是IR、SR、AR、LR、HR、TC、DM、*DM、#。 操作數(shù)CB為比較數(shù)據(jù)塊起始通道,它可以是IR、SR、AR、LR、HR、TC、DM、*DM。 操作數(shù)R為比較結(jié)果通道,它可以是IR、SR、AR、LR、HR、TC、DM、*DM。 功能:塊比較指令。用數(shù)據(jù)CD和CB開始的16個上下限
42、數(shù)據(jù)進(jìn)行比較,比較結(jié)果送R通道。表表6.6.1 CB通道與通道與R位的對應(yīng)關(guān)系位的對應(yīng)關(guān)系 序號上限下限R中的對應(yīng)位1CBCB+1第0位2CB+2CB+3第1位3CB+4CB+5第2位16CB+30CB+31第15位【例2】 設(shè)以下數(shù)據(jù)存儲區(qū)中的數(shù)據(jù)值為:DM0005=0000DM0006=0100DM0007=0101DM0008=0200DM0009=0201DM0010=0300 DM0036=1600執(zhí)行下邊程序段:LD20000BCMP(68)#0210DM0005HR05當(dāng)20000為ON時進(jìn)行塊比較操作。由于比較數(shù)據(jù)等于210,介于201和300之間,因此,比較操作的結(jié)果是將HR
43、05通道的第二位即HR0502置ON。 配合相應(yīng)的硬件設(shè)備,BCMP指令可以用來實(shí)現(xiàn)運(yùn)動部件的位置控制。6.6.3 TCMP指令指令格式:TCMP(85)TCMP(85)CDCDCBCBRR其中: 操作數(shù)CD為比較數(shù)據(jù),它可以是IR、SR、AR、LR、HR、TC、DM、*DM、#。 操作數(shù)CB為比較數(shù)據(jù)表起始通道,它可以是IR、SR、AR、LR、HR、TC、DM、*DM。 操作數(shù)R為比較結(jié)果通道,它可以是IR、SR、AR、LR、HR、TC、DM、*DM。 功能:功能:表比較指令。當(dāng)指令的執(zhí)行條件滿足時,將數(shù)據(jù)CD與從CB開始的16個通道分別進(jìn)行比較。若CD與其中的某一通道數(shù)據(jù)相等,則置R中的相
44、應(yīng)位為ON。TCMP指令在程序中可以用來查詢某一指定數(shù)據(jù)。 【例3】 設(shè)由HR00到HR15的16個通道中只有HR06和HR07等于100,則表比較指令執(zhí)行后,01006和01007為ON。LD00000TCMP(85)#0100HR000106.6.4 ZCP和和ZCPL指令指令格式:格式:ZCP的指令格式:ZCP(-)CDLLUL其中: 操作數(shù)CD為比較字,它可以是IR、SR、AR、LR、HR、TC、DM、#。 操作數(shù)LL為數(shù)據(jù)范圍下限,它可以是IR、SR、AR、LR、HR、TC、DM、#。 操作數(shù)UL為數(shù)據(jù)范圍上限,它可以是IR、SR、AR、LR、HR、TC、DM、#。 LLUL。ZCP
45、L指令格式:指令格式:ZCPL(-)CDLLUL其中: 操作數(shù)CD為比較字,它可以是IR、SR、AR、LR、HR、TC、DM。 操作數(shù)LL為數(shù)據(jù)范圍下限,它可以是IR、SR、AR、LR、HR、TC、DM。 操作數(shù)UL為數(shù)據(jù)范圍上限,它可以是IR、SR、AR、LR、HR、TC、DM。 LLUL。 功能:ZCP是數(shù)據(jù)區(qū)域范圍比較指令;ZCPL是雙字?jǐn)?shù)據(jù)區(qū)域范圍比較指令。 數(shù)據(jù)區(qū)域范圍比較時用CD和由LL和UL指定的數(shù)據(jù)區(qū)域進(jìn)行比較,根據(jù)比較結(jié)果置相應(yīng)的標(biāo)志位:若CDLL,則置LE為ON;若LLCDUL,則置EQ為ON;若ULSV時MV增加取1為反作用,PVSV時MV減少P1+5415位輸入濾波系數(shù)
46、()BCD碼100199對應(yīng)系數(shù)0.000.99越小濾波作用越弱取000時為默認(rèn)值0.65P1+607位輸出范圍08對應(yīng)輸出二進(jìn)制位數(shù)816位P1+6815位輸入范圍08對應(yīng)輸入二進(jìn)制位數(shù)816位P1+7P1+32工作區(qū)系統(tǒng)使用 說明:PID指令是按照可編程控制器的CPU周期執(zhí)行的,所以如果其采樣周期大于CPU周期,PID運(yùn)算將會等待到該采樣周期完成后的下一CPU周期完成。PID控制運(yùn)算要使用從P1P1+32共33個通道,用戶在編程時將不能在使用該33個通道。在下列情況下不可以使用PID指令:中斷程序中、互鎖程序中、跳轉(zhuǎn)程序中、步進(jìn)程序中、子程序中。標(biāo)志CY為ON,表示系統(tǒng)正在進(jìn)行PID處理;
47、CY為OFF,表示系統(tǒng)采樣周期還沒有結(jié)束。4.13.9 SRCH指令指令格式:格式:SRCH(-)SRCH(-)NNR1R1CC其中: 操作數(shù)N為查找通道數(shù),它可以是IR、SR、HR、AR、LR、TC、DM、#。通道數(shù)取值范圍4位BCD碼00009999。 操作數(shù)R1為查找范圍開始通道,它可以是IR、SR、HR、AR、LR、TC、DM。 操作數(shù)C為比較數(shù)和結(jié)果通道,它可以是IR、SR、HR、AR、LR、TC、DM。 功能;數(shù)據(jù)查找指令。執(zhí)行條件滿足時在R1到R1+N-1范圍內(nèi)N個通道里查找與C中相同的數(shù)據(jù)。如果在指定范圍內(nèi)找到一個以上的符合查找條件的通道,首先置標(biāo)志EQ為ON,并把與符合條件通
48、道的最低地址相關(guān)的一個量賦于C+1。賦值的方式是:若查找范圍在DM區(qū),賦值符合條件DM通道的最低地址值;若查找范圍在其他數(shù)據(jù)區(qū),賦值符合條件最低通道地址與開始通道地址之差。如果查找范圍內(nèi)沒有符合條件的通道,EQ置OFF,C+1內(nèi)容不變。 【例5】 若設(shè)符合查找要求的最低通道地址為DM0118,則C+1被賦值0118。 若設(shè)符合查找要求的最低通道地址為IR114,且R1為IR100,則C+1被賦值0014。4.13.10 SYNC指令指令格式:SYNC(-)SYNC(-)P1P1P2P2CC其中: 操作數(shù)P1為輸入口定義,只取000。 操作數(shù)P2為輸出口定義,可以取000(定義輸出口01000)
49、或010(定義輸出口01001)。 操作數(shù)C為比例因子,它可以是IR、SR、HR、AR、LR、DM、#,取值范圍BCD碼00011000,對應(yīng)比例因子值11000%。 功能:同步脈沖控制指令。執(zhí)行時將高速計(jì)數(shù)器的輸入脈沖頻率乘以給定的比例因子后從輸出口輸出,即:輸出頻率=輸入頻率(C/100)。 輸出頻率的范圍是10 Hz10 kHz,大于10 kHz時只輸出10 kHz。小于10 Hz時只輸出10 Hz。輸入頻率來自高速計(jì)數(shù)器的工作模式。在同步脈沖執(zhí)行時不可以再改變輸出口,但可以用再次執(zhí)行SYNC指令的辦法來改變比例因子。 只有在DM6642中設(shè)置輸出00000到00003為同步脈沖控制時才
50、能實(shí)現(xiàn)該指令操作。當(dāng)同步脈沖控制執(zhí)行時,高速計(jì)數(shù)器和脈沖輸出功能均不可使用。應(yīng)用中可以用C=005的INI指令或?qū)⒖删幊炭刂破鞴ぷ鞣绞角袚Q的編程來停止同步脈沖輸出。4.13.11 PWM指令指令格式:PWM(-)PWM(-)PPFFDD其中: 操作數(shù)P為口定義,可以取000或010。P取000,定義可變占空比輸出0;輸出口01000。P取010,定義可變占空比輸出1;輸出口01001。 操作數(shù)F為頻率,它可以是IR、SR、HR、AR、LR、DM、#,取值范圍BCD碼00019999,對應(yīng)頻率0.1999.9 Hz。 操作數(shù)D為占空比,它可以是IR、SR、HR、AR、LR、DM、#,取值范圍BC
51、D碼00010100,對應(yīng)脈沖占空比1%100%。 功能:可變占空比脈沖指令。執(zhí)行時從指定輸出口輸出指定占空比的脈沖序列??勺冋伎毡让}沖可以同時在兩個輸出口獨(dú)立輸出。PWM指令執(zhí)行后指定占空比的脈沖將連續(xù)輸出直至新PWM指令或C=003的INI指令的執(zhí)行。脈沖輸出過程中可以用新PWM指令改變占脈沖空比但不能改變其頻率。在輸出口被SPED或ACC指令使用時PWM指令不能實(shí)現(xiàn)對該口的操作。4.13.12 ACC指令指令格式:ACC(-) ACC(-)PPMMCC其中: 操作數(shù)P為口定義,取000,即定義為梯形加/減速單相脈沖輸出0。表表4.13.4 ACC指令輸出模式定義指令輸出模式定義M定義00
52、0獨(dú)立模式和加減脈沖模式002獨(dú)立模式和脈沖加方向模式010順時針連續(xù)模式和加減脈沖模式011逆時針連續(xù)模式和加減脈沖模式012順時針連續(xù)模式和脈沖加方向模式013逆時針連續(xù)模式和脈沖加方向模式 操作數(shù)C為控制字開始通道,它可以是IR、SR、HR、AR、LR、DM??刂谱謴腃開始共有三個,取值范圍均為BCD碼00011000,對應(yīng)頻率10 Hz10 kHz。其中C為加速率,指定加速時輸出頻率每10 ms的增加值。C+1為目標(biāo)頻率。C+2為減速率,指定減速時輸出頻率每10 ms的減少值。 功能:加速控制指令。用來啟動梯形加/減速脈沖輸出和定義加減速率。一但脈沖輸出被啟動后,輸出頻率將按指定的變化
53、率到達(dá)指定的目標(biāo)值。使用下列方法可以停止脈沖輸出:減速停止:執(zhí)行C+1的值為0000的ACC指令或在獨(dú)立模式下輸出脈沖數(shù)達(dá)到PULS指令的指定數(shù)。立即停止:執(zhí)行C=003的INI指令或?qū)⒖删幊炭刂破鞴ぷ鞣绞角袚Q的編程。 獨(dú)立模式工作時在ACC指令執(zhí)行前需要由PULS指令指定輸出脈沖數(shù),且每次輸出停止后都需重新指定。輸出在滿足指定脈沖數(shù)、目標(biāo)頻率和加/減速率的時間段里完成加速、衡速、減速和停止的過程,在幾個參數(shù)值比較合適的情況下,會輸出一個頻率變化為梯形的脈沖序列。當(dāng)預(yù)置的脈沖數(shù)小于加/減速所需要的時就會輸出一頻率變化為三角形的脈沖序列。 連續(xù)模式工作時,脈沖將持續(xù)輸出,只能使用上述幾個減速或立
54、即停止方法來終止。在連續(xù)模式下脈沖正在輸出時還可以再給定加減速率改變目標(biāo)頻率值。4.13.13 FCS指令指令格式:FCS(-)FCS(-)CCR1R1DD表表4.13.5 FCS指令控制字定義指令控制字定義C意義第0位第11位參加運(yùn)算的數(shù)據(jù)項(xiàng)數(shù)N(通道數(shù)或字節(jié)數(shù))BCD 001999第12位運(yùn)算起始的字節(jié)(13位為ON時有效)1:高字節(jié)0:低字節(jié)第13位運(yùn)算數(shù)據(jù)單位1:字節(jié)0:字第1415位00 操作數(shù)R1為幀開始通道,它可以是IR、SR、HR、AR、LR、TC、DM。 操作數(shù)D為目的開始通道,它可以是IR、SR、HR、AR、LR、DM。 功能:FCS計(jì)算指令。計(jì)算幀校驗(yàn)碼,用來檢查通信數(shù)據(jù)
55、的傳輸錯誤。當(dāng)指令的執(zhí)行條件滿足時,以按位異或的方法計(jì)算從R1R1+N-1范圍內(nèi)所有字或字節(jié)的幀校驗(yàn)碼,并將結(jié)果轉(zhuǎn)換為ASCII碼的形式存入D及D+1。所以按字節(jié)計(jì)算的2位十六進(jìn)制結(jié)果和按字計(jì)算的4位十六進(jìn)制結(jié)果在目的通道中實(shí)際應(yīng)該是4位或5位ASCII碼數(shù)據(jù)?!纠?】 設(shè)下面程序段中在FCS指令被執(zhí)行前有源數(shù)據(jù):DM0000=0001DM0001=0002DM0002=0003DM0003=0004DM0004=0005DM0005=0006DM0006=0007DM0007=0008 FCS指令在輸入00001為ON時執(zhí)行,幀校驗(yàn)碼原始結(jié)果應(yīng)為0008,轉(zhuǎn)換為ASCII碼送到目的通道中的最
56、后結(jié)果是:DM0010=3030DM0011=3038LD00001FCS(-)#0008DM0000DM00014.14 特殊運(yùn)算指令特殊運(yùn)算指令1.14.1 MAX和和MIN指令指令格式:MAX(-)MAX(-)CCR1R1DDMIN(-)MIN(-)CCR1R1DD表表4.14.1 MAX和和MIN指令控制字定義指令控制字定義C意義第011位查找范圍的通道數(shù)N:(BCD)001000第1213位00第14位是否輸出地址到D+10:輸出1:不輸出第15位1:按帶符號二進(jìn)制數(shù)處理2:按不帶符號二進(jìn)制數(shù)處理 操作數(shù)R1為查找范圍開始通道,它可以是IR、SR、HR、AR、LR、DM、TC。 操作
57、數(shù)D為目標(biāo)通道,它可以是IR、SR、HR、AR、LR、DM。 功能:MAX是查找最大值指令。MIN是查找最小值指令。當(dāng)執(zhí)行條件滿足時,執(zhí)行查找最大值或最小值操作。在R1到R1+N-1范圍內(nèi)的N個通道里找到一個最大或最小的數(shù)值送到D。把與符合查找條件的最低一個通道地址相關(guān)的一個量賦于D+1。賦值的方式與SRCH指令為C+1通道的方法相同。4.14.2 AVG指令指令格式:AVG(-)SND 操作數(shù)S為源通道,它可以是IR、SR、HR、AR、LR、TC、DM。 操作數(shù)N為周期數(shù),它可以是IR、SR、HR、AR、LR、TC、DM、#。N的取值范圍為BCD碼00010064,N大于64時按等于64處理
58、。 操作數(shù)D為目的開始通道,它可以是IR、SR、HR、AR、LR、DM。 功能:平均值計(jì)算指令。計(jì)算N個數(shù)的平均值,計(jì)算的過程是在每個周期內(nèi)將S中的內(nèi)容順序存入D+2開始的通道,同時計(jì)算一次已存入數(shù)據(jù)的平均值,平均值結(jié)果按四舍五入取整數(shù)送D。直至被平均的數(shù)據(jù)數(shù)達(dá)到N。故AVG指令的執(zhí)行共須占用D+N+1個通道,其中:D: 存放平均值;D+1:系統(tǒng)使用;D+2:第一個周期時的S值;D+3:第二個周期時的S值;D+N+1:第N個周期時的S值。 【例1】 下面程序段在執(zhí)行條件滿足時先將IR200置為0000。在此后的每個掃描周期IR200的內(nèi)容要加一。AVG指令經(jīng)過幾個周期的運(yùn)算最后在DM1000中
59、結(jié)果是DM1002開始的N個通道的平均值。LD00001MOV(21)#0000200AVG(-)200#0003DM1000CLC(41)ADB(50)200#00012004.14.3 SUM指令指令格式:SUM(-)SUM(-)CCR1R1DD表表4.14.2 SUM指令控制字定義指令控制字定義C意義第0位第11位參加累計(jì)運(yùn)算的數(shù)據(jù)項(xiàng)數(shù)N(通道數(shù)或字節(jié)數(shù))BCD 001999第12位運(yùn)算起始的字節(jié)(13位為ON時有效)1:高字節(jié)0:低字節(jié)第13位運(yùn)算數(shù)據(jù)單位1:字節(jié)0:字第14位運(yùn)算數(shù)據(jù)類型1:二進(jìn)制0:BCD第15位(14位為ON時有效)1:帶符號二進(jìn)制數(shù)0:不帶符號二進(jìn)制數(shù) 操作數(shù)R
60、1為源開始通道,它可以是IR、SR、HR、AR、LR、TC、DM。 操作數(shù)D為目的開始通道,它可以是IR、SR、HR、AR、LR、DM。 功能:累加指令。執(zhí)行時計(jì)算R1到R1+N-1的N個字或R1到R1+N/2-1的N個字節(jié)的累加和,結(jié)果送D和D+1。 【例2】 下面程序段在輸入條件滿足時執(zhí)行累加運(yùn)算。累加過程是將DM0000DM0007八個通道的BCD數(shù)據(jù)相加,加得結(jié)果送DM0010和DM0011,其中DM0010為結(jié)果的低四位,DM0011為結(jié)果的高四位。LD00001SUM(-)#0008DM0000DM00104.15 通通 信信 指指 令令4.15.1 RXD和和TXD指令指令格式:
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球離網(wǎng)房車行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025-2030全球高脈沖能量皮秒激光器行業(yè)調(diào)研及趨勢分析報(bào)告
- 月齡嬰兒情緒情感與社會性親子活動設(shè)計(jì)創(chuàng)造性撫觸游戲講解
- 2025【合同范本】建筑工程設(shè)計(jì)協(xié)議書
- 蔬菜配送合作合同范本
- 分期付款合同模板集錦
- 會簽單合同模板
- 全新對講機(jī)服務(wù)合同下載
- 勞務(wù)出資合伙協(xié)議合同
- 個人租車租賃合同范本
- 區(qū)域經(jīng)理年終工作總結(jié)匯報(bào)
- 2019版新人教版高中英語必修+選擇性必修共7冊詞匯表匯總(帶音標(biāo))
- 初中八年級音樂-勞動號子《軍民大生產(chǎn)》
- 中層領(lǐng)導(dǎo)的高績效管理
- 小小銀行家-兒童銀行知識、理財(cái)知識培訓(xùn)
- 機(jī)械基礎(chǔ)知識競賽題庫附答案(100題)
- 閱讀理解特訓(xùn)卷-英語四年級上冊譯林版三起含答案
- 國庫集中支付培訓(xùn)班資料-國庫集中支付制度及業(yè)務(wù)操作教學(xué)課件
- 屋面及防水工程施工(第二版)PPT完整全套教學(xué)課件
- 2023年上海青浦區(qū)區(qū)管企業(yè)統(tǒng)一招考聘用筆試題庫含答案解析
- 2023年高一物理期末考試卷(人教版)
評論
0/150
提交評論