施耐德PLC 標(biāo)準(zhǔn)指令庫(kù)_第1頁(yè)
施耐德PLC 標(biāo)準(zhǔn)指令庫(kù)_第2頁(yè)
施耐德PLC 標(biāo)準(zhǔn)指令庫(kù)_第3頁(yè)
施耐德PLC 標(biāo)準(zhǔn)指令庫(kù)_第4頁(yè)
施耐德PLC 標(biāo)準(zhǔn)指令庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩124頁(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)介

1、 本章節(jié)描述標(biāo)準(zhǔn)庫(kù)指令中的各種指令本章節(jié)描述標(biāo)準(zhǔn)庫(kù)指令中的各種指令5.2 5.2 標(biāo)準(zhǔn)庫(kù)指令標(biāo)準(zhǔn)庫(kù)指令指令塊如圖所示:指令塊如圖所示:減計(jì)數(shù)器指令減計(jì)數(shù)器指令CTDCTD輸入:輸入:CDCD: 布爾型(布爾型(BOOLBOOL);該輸入端的上升沿觸發(fā));該輸入端的上升沿觸發(fā)CVCV的遞減計(jì)數(shù)。的遞減計(jì)數(shù)。LOADLOAD:布爾型(:布爾型(BOOLBOOL);當(dāng)其為上升沿觸發(fā)時(shí),);當(dāng)其為上升沿觸發(fā)時(shí),CVCV被置為上限值被置為上限值PVPV。PVPV: 字型(字型(WORDWORD);上限值,也就是);上限值,也就是CVCV開始遞減時(shí)的初始值。開始遞減時(shí)的初始值。輸出:輸出:Q Q: 布爾型

2、(布爾型(BOOLBOOL);一旦);一旦CVCV達(dá)到達(dá)到0 0時(shí),其值為時(shí),其值為TRUETRUE。CVCV:字型(:字型(WORDWORD);不斷減);不斷減1 1的值,從的值,從PVPV開始直至其達(dá)到開始直至其達(dá)到0 0。 當(dāng)當(dāng)LOADLOAD為為TRUETRUE時(shí),計(jì)數(shù)變量時(shí),計(jì)數(shù)變量CVCV被初始化為上限值被初始化為上限值PVPV。當(dāng)。當(dāng)CDCD端有一個(gè)從端有一個(gè)從FALSEFALSE變?yōu)樽優(yōu)門RUETRUE的上升沿時(shí),若的上升沿時(shí),若CVCV大于大于0 0時(shí),它時(shí),它將減將減1 1(也就是說(shuō),它不會(huì)輸出小于(也就是說(shuō),它不會(huì)輸出小于0 0的值)。當(dāng)?shù)闹担?。?dāng)CVCV等于等于0 0時(shí)

3、,時(shí),Q Q返回返回TRUETRUE。程序例:程序例:分析:程序執(zhí)行時(shí),將分析:程序執(zhí)行時(shí),將PV_WORDPV_WORD設(shè)為設(shè)為3 3,當(dāng),當(dāng)X2X2由由FALSEFALSE變?yōu)樽優(yōu)門RUETRUE上升沿上升沿 觸發(fā)觸發(fā)時(shí),時(shí),CV_WORDCV_WORD也變?yōu)橐沧優(yōu)? 3。此時(shí)。此時(shí) 輸入端輸入端X1X1執(zhí)行執(zhí)行FALSEFALSE變?yōu)樽優(yōu)門RUETRUE,上升沿觸發(fā),則,上升沿觸發(fā),則 CV_WORD CV_WORD自動(dòng)減計(jì)數(shù)自動(dòng)減計(jì)數(shù)1 1;當(dāng);當(dāng)X1X1第第3 3次由次由FALSEFALSE變變 TRUE TRUE上升沿觸發(fā)時(shí),上升沿觸發(fā)時(shí),CV_WORDCV_WORD遞減到遞減到0

4、 0時(shí),此時(shí)時(shí),此時(shí)Q Q 輸出為輸出為1 1。加計(jì)數(shù)指令加計(jì)數(shù)指令CTUCTU指令塊如下圖所指令塊如下圖所示:示:輸入:輸入:CUCU:布爾型(:布爾型(BOOLBOOL);該輸入端的上升沿觸發(fā));該輸入端的上升沿觸發(fā)CVCV的遞增計(jì)數(shù)。的遞增計(jì)數(shù)。RESETRESET:布爾型(:布爾型(BOOLBOOL);當(dāng)其為);當(dāng)其為TRUETRUE時(shí),時(shí),CVCV被復(fù)位為被復(fù)位為0 0。PVPV:字型(:字型(WORDWORD););CVCV計(jì)數(shù)的上限。計(jì)數(shù)的上限。輸出:輸出:Q Q:布爾型(:布爾型(BOOLBOOL);一旦);一旦CVCV達(dá)到其上限達(dá)到其上限PVPV時(shí),其值為時(shí),其值為TRUET

5、RUE。CVCV:字型(:字型(WORDWORD);不斷加);不斷加1 1的值,直至其達(dá)到的值,直至其達(dá)到PVPV。 當(dāng)當(dāng)RESETRESET為為TRUETRUE時(shí),計(jì)數(shù)變量時(shí),計(jì)數(shù)變量CVCV被初始化為被初始化為0 0。當(dāng)。當(dāng)CUCU端有端有一個(gè)從一個(gè)從FALSEFALSE變?yōu)樽優(yōu)門RUETRUE的上升沿時(shí),的上升沿時(shí),CVCV將加將加1 1。當(dāng)。當(dāng)CVCV大于或等大于或等于上限于上限PVPV時(shí),時(shí),Q Q返回返回TRUETRUE。程序例:程序例:分析:程序執(zhí)行時(shí),將分析:程序執(zhí)行時(shí),將PV_WORDPV_WORD設(shè)為設(shè)為3 3,此時(shí),此時(shí)CV_WORDCV_WORD是是0 0。 此時(shí)輸入端

6、此時(shí)輸入端X1X1執(zhí)行執(zhí)行FALSEFALSE變?yōu)樽優(yōu)門RUETRUE上升沿觸發(fā),則上升沿觸發(fā),則 CV_WORD CV_WORD自動(dòng)加計(jì)數(shù)自動(dòng)加計(jì)數(shù)1 1;當(dāng);當(dāng)X1X1第第3 3次由次由FALSEFALSE變變TRUETRUE上上 升沿觸發(fā)時(shí),升沿觸發(fā)時(shí),CV_WORDCV_WORD遞增到遞增到3 3時(shí),此時(shí)時(shí),此時(shí)Q Q輸出為輸出為1 1。 此時(shí)如將此時(shí)如將RESETRESET端端X2X2執(zhí)行執(zhí)行FALSEFALSE變?yōu)樽優(yōu)門RUETRUE上升沿觸發(fā),上升沿觸發(fā), 則指令重新復(fù)位數(shù)變量則指令重新復(fù)位數(shù)變量CVCV被初始化為被初始化為0 0。 計(jì)數(shù)功能塊計(jì)數(shù)功能塊CTUCTU:運(yùn)行結(jié)果運(yùn)行

7、結(jié)果:加減雙向計(jì)數(shù)指令加減雙向計(jì)數(shù)指令CTUDCTUD指令塊如下圖所示:指令塊如下圖所示:輸入:輸入:CUCU:布爾型(:布爾型(BOOLBOOL);當(dāng));當(dāng)CUCU端有上升沿時(shí),觸發(fā)端有上升沿時(shí),觸發(fā)CVCV的遞增計(jì)數(shù)。的遞增計(jì)數(shù)。CDCD:布爾型(:布爾型(BOOLBOOL);當(dāng));當(dāng)CDCD端有上升沿時(shí),觸發(fā)端有上升沿時(shí),觸發(fā)CVCV的遞減計(jì)數(shù)。的遞減計(jì)數(shù)。RESETRESET:布爾型(:布爾型(BOOLBOOL)當(dāng)其為)當(dāng)其為TRUETRUE時(shí),時(shí),CVCV被復(fù)位為被復(fù)位為0 0。LOADLOAD:布爾型(:布爾型(BOOLBOOL);當(dāng)其為);當(dāng)其為TRUETRUE時(shí),時(shí),CVCV被

8、置為被置為PVPV。PVPV:字型(:字型(WORDWORD););CVCV遞增時(shí)的上限值,或遞增時(shí)的上限值,或CVCV開始遞減時(shí)的初開始遞減時(shí)的初 始值始值。輸出:輸出:QUQU:布爾型(:布爾型(BOOLBOOL);一旦);一旦CVCV達(dá)到達(dá)到PVPV時(shí),其值為時(shí),其值為TRUETRUEQDQD:布爾型(:布爾型(BOOLBOOL);一);一 旦旦CVCV達(dá)到達(dá)到0 0時(shí),時(shí), 其值為其值為TRUETRUECVCV:字型:字型 (WORDWORD);不斷減);不斷減1 1的值,從的值,從PVPV開始直至其達(dá)到開始直至其達(dá)到0 0程序例:程序例:分析:當(dāng)分析:當(dāng)RESETRESET為為TRU

9、ETRUE時(shí),計(jì)數(shù)變量時(shí),計(jì)數(shù)變量CVCV被初始化為被初始化為0 0。當(dāng)。當(dāng)LOAD LOAD 為為TRUETRUE時(shí),計(jì)數(shù)變量時(shí),計(jì)數(shù)變量CVCV被初始化為上限值被初始化為上限值PVPV。當(dāng)。當(dāng)CUCU端端 有一個(gè)從有一個(gè)從FALSEFALSE變?yōu)樽優(yōu)門RUETRUE的上升沿時(shí),的上升沿時(shí),CVCV將加將加1 1。當(dāng)。當(dāng)CDCD 端有一個(gè)從端有一個(gè)從FALSEFALSE變?yōu)樽優(yōu)門RUETRUE的上升沿時(shí),若的上升沿時(shí),若CVCV不會(huì)降不會(huì)降 到到0 0以下時(shí),它將減以下時(shí),它將減1 1。當(dāng)。當(dāng)CVCV大于或等于上限大于或等于上限PVPV時(shí),時(shí),QU QU 返回返回TRUETRUE。當(dāng)。當(dāng)CV

10、CV等于等于0 0時(shí),時(shí),QDQD返回返回TRUETRUE。延時(shí)斷開指令延時(shí)斷開指令TOFTOF 定時(shí)器功能塊,完成關(guān)延時(shí)的功能。當(dāng)定時(shí)器定時(shí)器功能塊,完成關(guān)延時(shí)的功能。當(dāng)定時(shí)器的輸入端由的輸入端由TRUETRUE變?yōu)樽優(yōu)镕ALSEFALSE時(shí)(下降沿),等過(guò)了時(shí)(下降沿),等過(guò)了一段時(shí)間后,定時(shí)器的輸出端才變?yōu)橐欢螘r(shí)間后,定時(shí)器的輸出端才變?yōu)镕ALSEFALSE。指令塊。指令塊如下圖所示:如下圖所示:輸入:輸入:ININ:布爾型(:布爾型(BOOLBOOL);該輸入端的下降沿觸發(fā));該輸入端的下降沿觸發(fā)ETET端端 的計(jì)時(shí)。的計(jì)時(shí)。PTPT:時(shí)間型(:時(shí)間型(TIMETIME););ETET

11、計(jì)時(shí)時(shí)間的上限值(延時(shí)計(jì)時(shí)時(shí)間的上限值(延時(shí) 時(shí)間)。時(shí)間)。輸出:輸出:Q Q:布爾型(:布爾型(BOOLBOOL);一旦);一旦ETET端計(jì)時(shí)達(dá)到上限值端計(jì)時(shí)達(dá)到上限值PTPT時(shí),時(shí), 輸出一個(gè)下降沿(延時(shí)時(shí)間過(guò)去了)。輸出一個(gè)下降沿(延時(shí)時(shí)間過(guò)去了)。ETET:時(shí)間型(:時(shí)間型(TIMETIME);時(shí)間的當(dāng)前狀態(tài)。);時(shí)間的當(dāng)前狀態(tài)。程序例:程序例:分析:當(dāng)分析:當(dāng)ININ為為TRUETRUE時(shí)時(shí),Q,Q為為TRUETRUE,ETET為為0 0。一旦。一旦ININ變?yōu)樽優(yōu)镕ALSEFALSE,定,定 時(shí)器的輸出端時(shí)器的輸出端ETET以精確到毫秒級(jí)別開始計(jì)時(shí),直到它等以精確到毫秒級(jí)別開始計(jì)

12、時(shí),直到它等 于于PTPT,隨后它會(huì)維持不變。當(dāng),隨后它會(huì)維持不變。當(dāng)ININ變?yōu)樽優(yōu)镕ALSEFALSE且且ETET等于等于PT PT 時(shí),時(shí),Q Q為為FALSEFALSE。否則它為。否則它為TRUETRUE。在本例中,。在本例中,PTPT設(shè)為設(shè)為3s3s, 當(dāng)當(dāng)X1X1由由TRUETRUE變?yōu)樽優(yōu)镕ALSEFALSE下降沿觸發(fā)時(shí),定時(shí)器輸出端下降沿觸發(fā)時(shí),定時(shí)器輸出端ET ET 開始計(jì)時(shí),定時(shí)到達(dá)開始計(jì)時(shí),定時(shí)到達(dá)3s3s后輸出后輸出Q Q由由TRUETRUE變?yōu)樽優(yōu)镕ALSEFALSE。延時(shí)導(dǎo)通指令延時(shí)導(dǎo)通指令TONTON 定時(shí)器功能塊,完成開延時(shí)的功能。當(dāng)定時(shí)器定時(shí)器功能塊,完成開延

13、時(shí)的功能。當(dāng)定時(shí)器的輸入端變?yōu)榈妮斎攵俗優(yōu)門RUETRUE時(shí),等過(guò)了一段時(shí)間后,定時(shí)器時(shí),等過(guò)了一段時(shí)間后,定時(shí)器的輸出端才變?yōu)榈妮敵龆瞬抛優(yōu)門RUETRUE。指令塊如下圖所示:。指令塊如下圖所示:輸入:輸入:ININ:布爾型(:布爾型(BOOLBOOL);該輸入端的上升沿觸發(fā));該輸入端的上升沿觸發(fā)ETET端端 的計(jì)時(shí)。的計(jì)時(shí)。PTPT:時(shí)間型(:時(shí)間型(TIMETIME););ETET計(jì)時(shí)時(shí)間的上限值(延時(shí)計(jì)時(shí)時(shí)間的上限值(延時(shí) 時(shí)間)。時(shí)間)。輸出:輸出:Q Q:布爾型(:布爾型(BOOLBOOL);一旦);一旦ETET端計(jì)時(shí)達(dá)到上限值端計(jì)時(shí)達(dá)到上限值PTPT時(shí),時(shí), 輸出一個(gè)上升沿(延

14、時(shí)時(shí)間過(guò)去了)。輸出一個(gè)上升沿(延時(shí)時(shí)間過(guò)去了)。ETET:時(shí)間型(:時(shí)間型(TIMETIME);時(shí)間的當(dāng)前狀態(tài)。);時(shí)間的當(dāng)前狀態(tài)。程序例:程序例:分析分析: :當(dāng)當(dāng)ININ為為FALSEFALSE時(shí)時(shí),Q,Q為為FALSEFALSE,ETET為為0 0。一旦。一旦ININ變變 為為TRUETRUE,定時(shí)器的輸出端,定時(shí)器的輸出端ETET以精確到毫秒級(jí)別以精確到毫秒級(jí)別 開始計(jì)時(shí),直到它等于開始計(jì)時(shí),直到它等于PTPT,隨后它會(huì)維持不變。,隨后它會(huì)維持不變。 當(dāng)當(dāng)ININ變?yōu)樽優(yōu)門RUETRUE且且ETET等于等于PTPT時(shí),時(shí),Q Q為為TRUETRUE。否則。否則 它為它為FALSEFA

15、LSE。在本例中。在本例中, PT, PT設(shè)為設(shè)為3s3s,當(dāng),當(dāng)X1X1由由 FALSE FALSE變?yōu)樽優(yōu)門RUETRUE上升沿觸發(fā)時(shí),定時(shí)器輸出端上升沿觸發(fā)時(shí),定時(shí)器輸出端 ET ET開始計(jì)時(shí),定時(shí)到達(dá)開始計(jì)時(shí),定時(shí)到達(dá)3s3s后輸出后輸出Q Q由由FALSEFALSE變?yōu)樽優(yōu)?TRUE TRUE。(1)(1)通電延時(shí)通電延時(shí)TONTON:相應(yīng)的時(shí)序圖:相應(yīng)的時(shí)序圖:利用通電延時(shí)利用通電延時(shí)TONTON設(shè)計(jì)一個(gè)通電后延時(shí)設(shè)計(jì)一個(gè)通電后延時(shí)3S3S的梯形圖的梯形圖t=880mst=880ms時(shí)的運(yùn)行狀態(tài)時(shí)的運(yùn)行狀態(tài):t=3st=3s時(shí)的運(yùn)行狀態(tài):時(shí)的運(yùn)行狀態(tài):參考程序及運(yùn)行結(jié)果:參考程序及

16、運(yùn)行結(jié)果:(2)(2)斷電延時(shí)斷電延時(shí)TOFTOF:相應(yīng)的時(shí)序圖相應(yīng)的時(shí)序圖:t=0st=0s時(shí)的運(yùn)行結(jié)果時(shí)的運(yùn)行結(jié)果:t=1s100mst=1s100ms時(shí)的運(yùn)行結(jié)果:時(shí)的運(yùn)行結(jié)果:t=3st=3s時(shí)的運(yùn)行結(jié)果:時(shí)的運(yùn)行結(jié)果:例:例:利用斷電延時(shí)利用斷電延時(shí)TOFTOF設(shè)計(jì)一個(gè)斷電后延時(shí)設(shè)計(jì)一個(gè)斷電后延時(shí)3S3S的梯形圖的梯形圖PLC 每隔2 秒鐘讀取一次i) 定時(shí)器及計(jì)數(shù)器組合用法單個(gè)定時(shí)器用法秒脈沖+計(jì)數(shù)器上述的三種方式都可以實(shí)現(xiàn)上述的三種方式都可以實(shí)現(xiàn)2s 的定時(shí)功能,但是從編程的簡(jiǎn)便性和容許的誤的定時(shí)功能,但是從編程的簡(jiǎn)便性和容許的誤差角度來(lái)說(shuō),第二種方式可能更簡(jiǎn)單,產(chǎn)生的時(shí)間誤差更

17、小。在編程的過(guò)程中,差角度來(lái)說(shuō),第二種方式可能更簡(jiǎn)單,產(chǎn)生的時(shí)間誤差更小。在編程的過(guò)程中,考慮到考慮到PLC 掃描周期的影響,應(yīng)盡可能的簡(jiǎn)化程序的編寫,以減小掃描周期掃描周期的影響,應(yīng)盡可能的簡(jiǎn)化程序的編寫,以減小掃描周期可能產(chǎn)生的誤差??赡墚a(chǎn)生的誤差。觸發(fā)定時(shí)器指令觸發(fā)定時(shí)器指令TPTP 觸發(fā)定時(shí)器功能塊。定時(shí)器的輸出值不斷增加,觸發(fā)定時(shí)器功能塊。定時(shí)器的輸出值不斷增加,直至其達(dá)到限值。在計(jì)時(shí)期間,直至其達(dá)到限值。在計(jì)時(shí)期間,“脈沖脈沖”變量為變量為TRUETRUE,其他時(shí)候?yàn)?,其他時(shí)候?yàn)镕ALSEFALSE。指令塊如下圖所示:。指令塊如下圖所示:輸入:輸入:ININ:布爾型(:布爾型(BO

18、OLBOOL);該輸入端的上升沿觸發(fā));該輸入端的上升沿觸發(fā)ETET端端的計(jì)時(shí)的計(jì)時(shí)PTPT:時(shí)間型(:時(shí)間型(TIMETIME);計(jì)時(shí)時(shí)間的上限值);計(jì)時(shí)時(shí)間的上限值輸出:輸出:Q Q:布爾型(:布爾型(BOOLBOOL);當(dāng));當(dāng)ETET端在計(jì)時(shí)的時(shí)候,其值端在計(jì)時(shí)的時(shí)候,其值為為TRUETRUEETET:時(shí)間型(:時(shí)間型(TIMETIME);時(shí)間的當(dāng)前狀態(tài));時(shí)間的當(dāng)前狀態(tài)程序例:程序例:分析:當(dāng)分析:當(dāng)ININ為為FALSEFALSE時(shí)時(shí),Q,Q為為FALSEFALSE,ETET為為0 0。一旦。一旦ININ變?yōu)樽優(yōu)門RUETRUE, 定時(shí)器的輸出端定時(shí)器的輸出端ETET以毫秒精度開始

19、計(jì)時(shí),直到它等于以毫秒精度開始計(jì)時(shí),直到它等于 PT PT,隨后它會(huì)維持不變。當(dāng),隨后它會(huì)維持不變。當(dāng)ININ變?yōu)樽優(yōu)門RUETRUE且且ETET小于或等小于或等 于于PTPT時(shí),時(shí),Q Q為為TRUETRUE。否則它為。否則它為FALSEFALSE。在由。在由PTPT值指定的值指定的 時(shí)間到達(dá)時(shí),時(shí)間到達(dá)時(shí),Q Q返回了一個(gè)信號(hào)。在本例中,返回了一個(gè)信號(hào)。在本例中,PTPT設(shè)為設(shè)為3 3 時(shí),時(shí),X1X1為為FALSEFALSE,Q1Q1為為FALSEFALSE,當(dāng),當(dāng)X1X1為為TRUETRUE,Q Q輸出變?yōu)檩敵鲎優(yōu)?TRUE TRUE,同時(shí),同時(shí)ETET開始計(jì)數(shù),當(dāng)開始計(jì)數(shù),當(dāng)ET=3

20、SET=3S時(shí),時(shí),Q Q輸出變回為輸出變回為 FALSE. FALSE.脈沖指令脈沖指令BLINKBLINK 功能塊功能塊BLINKBLINK產(chǎn)生脈沖信號(hào)。輸入由產(chǎn)生脈沖信號(hào)。輸入由BOOLBOOL類型類型ENABLEENABLE,以及以及TIMETIME類型類型TIMELOWTIMELOW和和TIMEHIGHTIMEHIGH組成。輸出組成。輸出OUTOUT是是BOOLBOOL類型。類型。指令塊如下圖所示:指令塊如下圖所示: 如果如果ENABLEENABLE為為TRUETRUE,在時(shí)間周期,在時(shí)間周期TIMEHIGHTIMEHIGH,BLINKBLINK設(shè)置設(shè)置輸出為輸出為TRUETRUE;

21、然后在時(shí)間周期;然后在時(shí)間周期TIMELOWTIMELOW,設(shè)置輸出為,設(shè)置輸出為FALSEFALSE。程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)ENABLE X1ENABLE X1是是TRUETRUE時(shí),時(shí),BLINKBLINK開始工作,開始工作, 輸出低電平輸出低電平2s2s高電平高電平1s1s的脈沖,如下圖。的脈沖,如下圖。功能塊功能塊BLINKBLINK的應(yīng)用的應(yīng)用振蕩電路:振蕩電路:振蕩電路的作用是產(chǎn)生交流電振蕩來(lái)作為信號(hào)源。一般把大小和方向都隨周期發(fā)生變化的電流叫振蕩電流,能產(chǎn)生振蕩電流的電路叫做振蕩電路,那么如何使用PLC程序編制振蕩電路呢?施耐德標(biāo)準(zhǔn)程序庫(kù)中提供了這樣

22、的功能塊來(lái)產(chǎn)生方波脈沖,即BLINK功能塊。功能塊介紹:功能塊介紹: (1)功能塊BLINK產(chǎn)生脈沖信號(hào)。輸入由BOOL類型ENABLE,以及TIME類型TIMELOW和TIMEHIGH組成。輸出OUT是BOOL類型。(2)如果ENABLE為TRUE,在時(shí)間周期TIMEHIGH,BLINK設(shè)置輸出為TRUE.然后在時(shí)間周期TIMELOW,設(shè)置輸出為FALSE,程序和時(shí)序圖如圖所示。圖中的程序?qū)崿F(xiàn)了圖中的程序?qū)崿F(xiàn)了10s10s為真、為真、10s10s為假的方波為假的方波時(shí)序圖時(shí)序圖:參考程序:參考程序:下降沿觸發(fā)指令下降沿觸發(fā)指令F_TRIGF_TRIG該功能塊檢測(cè)一個(gè)下降沿。指令塊如下圖所示:

23、該功能塊檢測(cè)一個(gè)下降沿。指令塊如下圖所示:輸入:輸入:CLKCLK:布爾型(:布爾型(BOOLBOOL);被檢測(cè)其下降沿的布爾型);被檢測(cè)其下降沿的布爾型輸入信號(hào)輸入信號(hào)輸出:輸出:Q Q:布爾型(:布爾型(BOOLBOOL);當(dāng));當(dāng)CLKCLK上檢測(cè)到一個(gè)下降沿時(shí),上檢測(cè)到一個(gè)下降沿時(shí), 其值為其值為TRUETRUE; ; 只要輸入變量只要輸入變量CLKCLK為為TRUETRUE,輸出,輸出Q Q都都保持為保持為FALSEFALSE。一旦。一旦CLKCLK為為FALSEFALSE,Q Q會(huì)先返回會(huì)先返回TRUETRUE,然后被置為然后被置為FALSEFALSE。這意味著每次調(diào)用這個(gè)功能塊。

24、這意味著每次調(diào)用這個(gè)功能塊時(shí),時(shí), Q Q會(huì)返回會(huì)返回FALSEFALSE直到直到CLKCLK在上升沿后有一個(gè)下在上升沿后有一個(gè)下降沿。降沿。程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1輸入一個(gè)由輸入一個(gè)由TRUETRUE變?yōu)樽優(yōu)镕ALSE FALSE 的下降沿,則的下降沿,則F_TRIGF_TRIG的輸出的輸出Q Q也輸出一個(gè)由也輸出一個(gè)由FALSEFALSE變?yōu)樽優(yōu)門RUETRUE的上升沿,然后再變?yōu)榈纳仙?,然后再變?yōu)镕ALSEFALSE。上升沿觸發(fā)指令上升沿觸發(fā)指令R_TRIGR_TRIG 該功能塊檢測(cè)一個(gè)上升沿。指令塊如下圖所示:該功能塊檢測(cè)一個(gè)上升沿。指令塊如下圖所

25、示:輸入:輸入:CLKCLK:布爾型(:布爾型(BOOLBOOL);被檢測(cè)上升沿的布爾型輸);被檢測(cè)上升沿的布爾型輸入信號(hào)入信號(hào)輸出:輸出:Q Q:布爾型(:布爾型(BOOLBOOL);當(dāng));當(dāng)CLKCLK上檢測(cè)到一個(gè)上升沿時(shí),上檢測(cè)到一個(gè)上升沿時(shí),其值為其值為TRUETRUE只要輸入變量只要輸入變量CLKCLK為為FALSEFALSE,輸出,輸出Q Q保持保持為為FALSEFALSE。一旦。一旦CLKCLK為為TRUETRUE,Q Q會(huì)先返回會(huì)先返回TRUETRUE,然后,然后被置為被置為FALSEFALSE。這意味著每次調(diào)用這個(gè)功能塊時(shí),。這意味著每次調(diào)用這個(gè)功能塊時(shí),Q Q會(huì)返回會(huì)返回F

26、ALSEFALSE直到直到CLKCLK在下降沿后有一個(gè)上升沿。在下降沿后有一個(gè)上升沿。程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1輸入一個(gè)由輸入一個(gè)由FALSEFALSE變?yōu)樽優(yōu)門RUE TRUE 的上升沿,則的上升沿,則R_TRIGR_TRIG的輸出的輸出Q Q也輸出一個(gè)由也輸出一個(gè)由 FALSE FALSE變?yōu)樽優(yōu)門RUETRUE的上升沿,然后再變?yōu)榈纳仙兀缓笤僮優(yōu)镕ALSEFALSE。單按鈕控制輸出燈的程序單按鈕控制輸出燈的程序功能塊R-TRIG的應(yīng)用:程序:程序:時(shí)序圖:時(shí)序圖:功能介紹:功能介紹:(1)在程序中使用上升沿指令后,當(dāng)輸入點(diǎn)button的狀態(tài)由OFF轉(zhuǎn)

27、為ON,僅在驅(qū)動(dòng)輸入ON后1個(gè)掃描周期內(nèi),內(nèi)部軟元件M3才動(dòng)作。(2)在輸入點(diǎn)button上,第一個(gè)脈沖信號(hào)到來(lái)時(shí),M3產(chǎn)生一個(gè)掃描周期的單脈沖,使M3的常開觸點(diǎn)閉合一個(gè)掃描周期。(3)第一個(gè)按鈕脈沖到來(lái)一個(gè)掃描周期后,M3斷開,輸出線圈lamp接通,第二個(gè)支路使輸出線圈lamp保持接通。(4)當(dāng)?shù)诙€(gè)脈沖到來(lái)時(shí),M3再產(chǎn)生一個(gè)掃描周期的單脈沖,使得輸出線圈lamp的狀態(tài)由接通變?yōu)閿嚅_。(5)通過(guò)分析可知,通過(guò)一個(gè)輸入點(diǎn)的上升沿的次數(shù)可控制輸出lamp的接通和斷開。(6)由以上分析可知,這個(gè)程序同時(shí)也是一個(gè)二分頻電路。如果將分頻的脈沖信號(hào)加button上,則lamp的輸出頻率剛好是button

28、輸入頻率的12.加運(yùn)算指令加運(yùn)算指令A(yù)DDADD 變量相加。允許的變量類型:變量相加。允許的變量類型: BYTE BYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL和和LREALLREAL。指令塊如下圖所示:。指令塊如下圖所示:程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),ADDADD執(zhí)行把操作執(zhí)行把操作 數(shù)數(shù)X3X3和和 X4 X4相加的運(yùn)算,并把結(jié)果輸出到相加的運(yùn)算,并把結(jié)果輸出到X5X5 中,如中,如X3=3X3=3;X

29、4=7X4=7;則;則X5=10X5=10。減運(yùn)算指令減運(yùn)算指令SUBSUB 從某個(gè)變量中減去一個(gè)變量。允許的變量類型:從某個(gè)變量中減去一個(gè)變量。允許的變量類型:BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL和和LREALLREAL。指令如下圖所示:。指令如下圖所示:程序例:程序例:分析分析: :在本例中在本例中, , 當(dāng)當(dāng)X1X1為為TRUETRUE時(shí),時(shí),SUBSUB執(zhí)行把操作數(shù)執(zhí)行把操作數(shù) X3 X3減去減去 X4 X4的運(yùn)算,并把結(jié)果輸出到的運(yùn)算,

30、并把結(jié)果輸出到X5X5中,如中,如 X3=3 X3=3;X4=7X4=7;則;則 X5=-4 X5=-4。 變量相乘。允許的變量類型:變量相乘。允許的變量類型:BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL和和LREALLREAL。指令如下圖所示:。指令如下圖所示:乘運(yùn)算指令乘運(yùn)算指令MULMUL程序例:程序例:分析:在本例中分析:在本例中, , 當(dāng)當(dāng)X1X1為為TRUETRUE時(shí),時(shí),MULMUL執(zhí)行把操作執(zhí)行把操作 數(shù)數(shù)X3X3乘以乘以X4X4的運(yùn)算,

31、并把結(jié)果輸出到的運(yùn)算,并把結(jié)果輸出到X5X5中,中, 如如X3=3X3=3;X4=7X4=7;則;則X5=21X5=21。除運(yùn)算指令除運(yùn)算指令DIVDIV 用一個(gè)變量除另一個(gè)變量。允許的變量類型:用一個(gè)變量除另一個(gè)變量。允許的變量類型:BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL和和LREALLREAL。指令如下圖所示:。指令如下圖所示:程序例:程序例:分析:在本例中分析:在本例中, , 當(dāng)當(dāng)X1X1為為TRUETRUE時(shí),時(shí),DIVDIV執(zhí)行把執(zhí)行把操

32、操 作數(shù)作數(shù)X3X3除除X4X4的運(yùn)算,并把結(jié)果輸出到的運(yùn)算,并把結(jié)果輸出到X5X5 中,如中,如X3=10X3=10;X4=5X4=5;則;則X5=2X5=2。截尾取整指令截尾取整指令TRUNCTRUNC 把實(shí)數(shù)類型(把實(shí)數(shù)類型(REALREAL)轉(zhuǎn)換成)轉(zhuǎn)換成DINTDINT類型。取被類型。取被轉(zhuǎn)換值的整數(shù)部分。指令如下圖所示:轉(zhuǎn)換值的整數(shù)部分。指令如下圖所示:程序例:程序例:分析:在本例中分析:在本例中, , 當(dāng)當(dāng)X1X1為為TRUETRUE時(shí),時(shí),TRUNCTRUNC執(zhí)行把執(zhí)行把操操 作數(shù)作數(shù)X7X7截尾取整的運(yùn)算,即當(dāng)截尾取整的運(yùn)算,即當(dāng)X7=9.89X7=9.89時(shí),時(shí), 取其整數(shù)

33、部分,并把結(jié)果輸出到取其整數(shù)部分,并把結(jié)果輸出到X8X8,即,即 X8=9 X8=9。取余指令取余指令MODMOD 一個(gè)變量與另一個(gè)變量相除取余。允許的變量一個(gè)變量與另一個(gè)變量相除取余。允許的變量類型:類型:BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT。結(jié)果為除法運(yùn)算的余數(shù),是。結(jié)果為除法運(yùn)算的余數(shù),是一個(gè)整數(shù)。指令如下圖所示:一個(gè)整數(shù)。指令如下圖所示:程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),MODMOD指令執(zhí)行指令執(zhí)行 把

34、把X3X3除以除以X4X4,并把余數(shù)輸出到,并把余數(shù)輸出到X5X5中;即中;即 當(dāng)當(dāng)X3=10X3=10,X4=6X4=6時(shí),余數(shù)時(shí),余數(shù)X5=4X5=4。比較等于指令比較等于指令EQEQ指令如下圖所示:指令如下圖所示: 當(dāng)兩個(gè)操作數(shù)相等時(shí),返回值為當(dāng)兩個(gè)操作數(shù)相等時(shí),返回值為TRUETRUE。操作數(shù)。操作數(shù)可以為可以為BOOLBOOL、BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL、LREALLREAL、TIMETIME、DATEDATE、TIME_OF

35、_DAYTIME_OF_DAY、DATE_AND_TIMEDATE_AND_TIME和和STRINGSTRING類型。類型。程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),EQEQ指令執(zhí)行,比指令執(zhí)行,比 較較X3X3和和X4X4的值,如的值,如X3=X4X3=X4,則輸出比較結(jié)果,則輸出比較結(jié)果 X2 X2為為TRUETRUE;否則,;否則,X2X2為為FALSEFALSE。所以,當(dāng)。所以,當(dāng) X3=X4=6 X3=X4=6時(shí),比較結(jié)果時(shí),比較結(jié)果X2=TRUEX2=TRUE。比較比較 大于等于指令大于等于指令GEGE大于或等于。指令如下圖:大于或等于

36、。指令如下圖: 當(dāng)?shù)谝粋€(gè)操作數(shù)大于或者等于第二個(gè)操作數(shù)當(dāng)?shù)谝粋€(gè)操作數(shù)大于或者等于第二個(gè)操作數(shù)時(shí),返回值為時(shí),返回值為TRUETRUE。操作數(shù)可以為。操作數(shù)可以為BOOLBOOL、BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL、LREALLREAL、TIMETIME、DATEDATE、TIME_OF_DAYTIME_OF_DAY、DATE_AND_TIMEDATE_AND_TIME和和STRINGSTRING類型。類型。程序例:程序例:分析:在本例中,當(dāng)分析

37、:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),GEGE指令執(zhí)行,指令執(zhí)行, 比較比較X3X3和和X4X4的值,如的值,如X3X3大于等于大于等于X4X4,則輸,則輸 出比較結(jié)果出比較結(jié)果X2X2為為TRUETRUE;否則,;否則,X2X2為為FALSEFALSE。 所以,當(dāng)所以,當(dāng)X3=5X3=5;X4=6X4=6時(shí),比較結(jié)果時(shí),比較結(jié)果X2=FALSEX2=FALSE。比較比較 大于指令大于指令GTGT大于。指令如下圖:大于。指令如下圖: 當(dāng)?shù)谝粋€(gè)操作數(shù)比第二個(gè)大時(shí),返回值為當(dāng)?shù)谝粋€(gè)操作數(shù)比第二個(gè)大時(shí),返回值為TRUETRUE。操作數(shù)可以為操作數(shù)可以為BOOLBOOL、BYTEBYTE、

38、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL、LREALLREAL、TIMETIME、DATEDATE、IME_OF_DAYIME_OF_DAY、DATE_AND_TIMEDATE_AND_TIME和和STRINGSTRING類型。類型。程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),GTGT指令執(zhí)行,比指令執(zhí)行,比 較較X3X3和和X4X4的值,如的值,如X3X3大于大于X4X4,則輸出比較結(jié),則輸出比較結(jié) 果果X2X2為為TRU

39、ETRUE;否則,;否則,X2X2為為FALSEFALSE。所以,當(dāng)。所以,當(dāng) X3=8,X4=6 X3=8,X4=6時(shí),比較結(jié)果時(shí),比較結(jié)果X2=TRUEX2=TRUE。比較比較 小于等于指令等于指令LELE小于等于。指令如下圖所示:小于等于。指令如下圖所示: 第一個(gè)操作數(shù)小于或者等于第二個(gè)操作數(shù)時(shí),第一個(gè)操作數(shù)小于或者等于第二個(gè)操作數(shù)時(shí),返回值為返回值為TRUETRUE。操作數(shù)可以為。操作數(shù)可以為BOOLBOOL、BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REAL

40、REAL、LREALLREAL、TIMETIME、DATEDATE、TIME_OF_DAYTIME_OF_DAY、DATA_AND_TIMEDATA_AND_TIME和和STRINGSTRING類型。類型。程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),LELE指令執(zhí)行,指令執(zhí)行, 比較比較X3X3和和X4X4的值,如的值,如X3X3小于或者等于小于或者等于X4X4, 則輸出比較結(jié)果則輸出比較結(jié)果X2X2為為TRUETRUE,否則,否則,X2X2為為 FALSE FALSE。所以,當(dāng)。所以,當(dāng)X3=8X3=8,X4=9X4=9時(shí),比較結(jié)時(shí),比較結(jié) 果果X

41、2=TRUEX2=TRUE。比較比較 小于指令小于指令LTLT小于。指令如下圖所示:小于。指令如下圖所示: 當(dāng)?shù)谝粋€(gè)操作數(shù)比第二個(gè)小時(shí),返回值為當(dāng)?shù)谝粋€(gè)操作數(shù)比第二個(gè)小時(shí),返回值為TRUETRUE。操作數(shù)可以為。操作數(shù)可以為BOOLBOOL、BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL、LREALLREAL、TIMETIME、DATEDATE、TIME_OF_DAYTIME_OF_DAY、DATA_AND_TIMEDATA_AND_TIME和和STRIN

42、GSTRING類型。類型。程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),LELE指令執(zhí)行,比指令執(zhí)行,比 較較X3X3和和X4X4的值,如的值,如X3X3小于小于X4X4,則輸出比較結(jié),則輸出比較結(jié) 果果X2X2為為TRUETRUE,否則,否則,X2X2為為FALSEFALSE。所以,當(dāng)。所以,當(dāng) X3=8 X3=8,X4=9X4=9時(shí),比較結(jié)果時(shí),比較結(jié)果X2=TRUEX2=TRUE。比較比較 不等于指令不等于指令NENE不等于。指令如下圖所示:不等于。指令如下圖所示: 當(dāng)兩個(gè)操作數(shù)不相等時(shí),返回值為當(dāng)兩個(gè)操作數(shù)不相等時(shí),返回值為TRUETRUE。操

43、作。操作數(shù)可以為數(shù)可以為BOOLBOOL、BYTEBYTE、WORDWORD、DWORDDWORD、SINTSINT、USINTUSINT、INTINT、UINTUINT、DINTDINT、UDINTUDINT、REALREAL、LREALLREAL、TIMETIME、DATEDATE、TIME_OF_DAYTIME_OF_DAY、DATA_AND_TIMEDATA_AND_TIME和和STRINGSTRING類型。類型。程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),LELE指令執(zhí)行,指令執(zhí)行, 比較比較X3X3和和X4X4的值,如的值,如X3X3不等

44、于不等于X4X4,則輸出,則輸出 比較結(jié)果比較結(jié)果X2X2為為TRUETRUE,否則,否則,X2X2為為FALSEFALSE。所。所 以,當(dāng)以,當(dāng)X3=8X3=8,X4=9X4=9時(shí),比較結(jié)果時(shí),比較結(jié)果X2=TRUEX2=TRUE。循環(huán)左移指令循環(huán)左移指令ROLROL將操作數(shù)按位循環(huán)左移。指令如下圖所示:將操作數(shù)按位循環(huán)左移。指令如下圖所示: ROL (in, n) ROL (in, n)。允許的數(shù)據(jù)類型:。允許的數(shù)據(jù)類型:BYTEBYTE、WORDWORD、DWORDDWORD。inin會(huì)左移二進(jìn)制位會(huì)左移二進(jìn)制位n n次,同時(shí)左次,同時(shí)左邊移出的位重新補(bǔ)充到右邊。邊移出的位重新補(bǔ)充到右邊

45、。程序例:程序例:分析:在本例中,分析:在本例中,inbyteinbyte和和outbyteoutbyte分別設(shè)為分別設(shè)為bytebyte數(shù)數(shù) 據(jù)類型,據(jù)類型,inbyte=10#69inbyte=10#69,n=2n=2。當(dāng)。當(dāng)X1X1為為 TRUE TRUE 時(shí),時(shí),ROLROL執(zhí)行循環(huán)左移位,此時(shí)執(zhí)行循環(huán)左移位,此時(shí), , inbyte=10#69=2#01000101 inbyte=10#69=2#01000101,循環(huán)左移,循環(huán)左移2 2位后,位后, outbyte=2#00010101=10#21 outbyte=2#00010101=10#21循環(huán)右移指令循環(huán)右移指令RORROR

46、將操作數(shù)按位循環(huán)右移。指令如下圖所示:將操作數(shù)按位循環(huán)右移。指令如下圖所示: ROR (in, n) ROR (in, n)。允許的數(shù)據(jù)類型:。允許的數(shù)據(jù)類型:BYTEBYTE、WORDWORD、DWORDDWORD。inin會(huì)左移二進(jìn)制位會(huì)左移二進(jìn)制位n n次,同時(shí)右邊次,同時(shí)右邊移出的位重新補(bǔ)充到左邊。移出的位重新補(bǔ)充到左邊。程序例:程序例:分析:在本例中,分析:在本例中,inbyteinbyte和和outbyteoutbyte分別設(shè)為分別設(shè)為bytebyte數(shù)數(shù) 據(jù)類型,據(jù)類型,inbyte=10#69inbyte=10#69,n=2n=2。當(dāng)。當(dāng)X1X1為為TRUETRUE時(shí),時(shí), R

47、OR ROR執(zhí)行循環(huán)右移位,此時(shí)執(zhí)行循環(huán)右移位,此時(shí), , inbyte=10#69=2#01000101 inbyte=10#69=2#01000101,循環(huán)右移,循環(huán)右移2 2位后,位后, outbyte=2#01010001=10#81 outbyte=2#01010001=10#81。左移指令左移指令SHLSHL將操作數(shù)按位左移。指令如下圖所示:將操作數(shù)按位左移。指令如下圖所示: SHL (in, n) SHL (in, n)。inin:需要左移的操作數(shù)。:需要左移的操作數(shù)。n n:操作數(shù)左移的位數(shù)。如果操作數(shù)左移的位數(shù)。如果n n超出了數(shù)據(jù)本身的位超出了數(shù)據(jù)本身的位數(shù),數(shù),BYTEB

48、YTE、WORDWORD和和DWORDDWORD類型的操作數(shù)將會(huì)補(bǔ)類型的操作數(shù)將會(huì)補(bǔ)0 0,而有符號(hào)類型的操作數(shù)(例如而有符號(hào)類型的操作數(shù)(例如INTINT)將會(huì)進(jìn)行算)將會(huì)進(jìn)行算數(shù)移位。也就是說(shuō)會(huì)將這些數(shù)的最高位的值補(bǔ)在數(shù)移位。也就是說(shuō)會(huì)將這些數(shù)的最高位的值補(bǔ)在空出的二進(jìn)制位上。空出的二進(jìn)制位上。程序例:程序例:分析:在本例中,分析:在本例中,inbyteinbyte和和outbyteoutbyte分別設(shè)為分別設(shè)為byte byte 數(shù)據(jù)類型,數(shù)據(jù)類型,inbyte=10#69inbyte=10#69,n=2n=2。當(dāng)。當(dāng)X1X1為為 TRUE TRUE時(shí),時(shí),ROLROL執(zhí)行左移位,此時(shí),

49、執(zhí)行左移位,此時(shí), inbyte=10#69=2#01000101 inbyte=10#69=2#01000101, 左移左移2 2位后,位后,outbyte=2#00010100=10#20outbyte=2#00010100=10#20。右移指令右移指令SHRSHR將操作數(shù)按位右移。指令如下圖所示:將操作數(shù)按位右移。指令如下圖所示: SHR (in, n) SHR (in, n)。in: in: 需要右移的操作數(shù)。需要右移的操作數(shù)。n: n: 操作數(shù)右移的位數(shù)。如果操作數(shù)右移的位數(shù)。如果n n超出了數(shù)據(jù)本身的位超出了數(shù)據(jù)本身的位數(shù),數(shù),BYTEBYTE、WORDWORD和和DWORDDWO

50、RD類型的操作數(shù)將會(huì)補(bǔ)類型的操作數(shù)將會(huì)補(bǔ)0 0,而有符號(hào)類型的操作數(shù)(例如而有符號(hào)類型的操作數(shù)(例如INTINT)將會(huì)進(jìn)行算)將會(huì)進(jìn)行算數(shù)移位。也就是說(shuō)會(huì)將這些數(shù)的最高位的值補(bǔ)在數(shù)移位。也就是說(shuō)會(huì)將這些數(shù)的最高位的值補(bǔ)在空出的二進(jìn)制位上??粘龅亩M(jìn)制位上。程序例:程序例:分析:在本例中,分析:在本例中,inbyteinbyte和和outbyteoutbyte分別設(shè)為分別設(shè)為bytebyte數(shù)數(shù) 據(jù)類型,據(jù)類型,inbyte=10#69inbyte=10#69,n=2n=2。當(dāng)。當(dāng)X1X1為為TRUETRUE時(shí),時(shí), ROR ROR執(zhí)行右移位,此時(shí)執(zhí)行右移位,此時(shí) inbyte=10#69=2#

51、01000101 inbyte=10#69=2#01000101,右移,右移2 2位后,位后, outbyte=2#00010001=10#17 outbyte=2#00010001=10#17。正弦函數(shù)正弦函數(shù)SINSIN返回一個(gè)數(shù)的正弦值,數(shù)據(jù)以弧度計(jì)算。指令如下圖:返回一個(gè)數(shù)的正弦值,數(shù)據(jù)以弧度計(jì)算。指令如下圖: 輸入變量可以是輸入變量可以是BYTEBYTE、WORDWORD、DWORDDWORD、INTINT、DINTDINT、REALREAL、SINTSINT、USINTUSINT、UINTUINT、UDINTUDINT類型。輸類型。輸出變量只能是出變量只能是REALREAL類型。類

52、型。程序例:程序例:分析:在本例中,分析:在本例中,X3=1X3=1弧度弧度=180/pi=180/pi度;當(dāng)度;當(dāng)X1X1為為TRUE TRUE 時(shí),時(shí),SINSIN執(zhí)行正弦計(jì)算,將執(zhí)行正弦計(jì)算,將X3X3的正弦值輸出的正弦值輸出到到 X7 X7中,所以中,所以X7=0.841X7=0.841。余弦函數(shù)余弦函數(shù)COSCOS返回一個(gè)數(shù)的余弦值,數(shù)據(jù)以弧度計(jì)算。指令如下圖:返回一個(gè)數(shù)的余弦值,數(shù)據(jù)以弧度計(jì)算。指令如下圖: 輸入變量可以是輸入變量可以是BYTEBYTE、WORDWORD、DWORDDWORD、INTINT、DINTDINT、REALREAL、SINTSINT、USINTUSINT、

53、UINTUINT、UDINTUDINT類型。類型。輸出變量只能是輸出變量只能是REALREAL類型。類型。程序例:程序例:分析:在本例中,分析:在本例中,X3=1X3=1弧度弧度=180/pi=180/pi度;當(dāng)度;當(dāng)X1X1為為 TRUE TRUE時(shí),時(shí),SINSIN執(zhí)行余弦運(yùn)算,將執(zhí)行余弦運(yùn)算,將X3X3的余弦值的余弦值 輸出到輸出到X7X7中,所以中,所以X7=0.54X7=0.54正切函數(shù)正切函數(shù)TANTAN返回一個(gè)數(shù)的正切值,數(shù)據(jù)以弧度計(jì)算。指令如下返回一個(gè)數(shù)的正切值,數(shù)據(jù)以弧度計(jì)算。指令如下圖:圖: 輸入變量可以是輸入變量可以是BYTEBYTE、WORDWORD、DWORDDWOR

54、D、INTINT、DINTDINT、REALREAL、SINTSINT、USINTUSINT、UINTUINT、UDINTUDINT類型。類型。輸出變量只能是輸出變量只能是REALREAL類型。類型。程序例:程序例:分析:在本例中,分析:在本例中,X3=1X3=1弧度弧度=180/pi=180/pi度;當(dāng)度;當(dāng)X1X1為為 TRUE TRUE時(shí),時(shí),SINSIN執(zhí)行正切運(yùn)算,將執(zhí)行正切運(yùn)算,將X3X3的正切的正切 值輸出到值輸出到X7X7中,所以中,所以X7=1.56X7=1.56。反正弦函數(shù)反正弦函數(shù)ASINASIN返回一個(gè)數(shù)的反正弦值,數(shù)據(jù)以弧度計(jì)算。指令返回一個(gè)數(shù)的反正弦值,數(shù)據(jù)以弧度計(jì)

55、算。指令如下圖:如下圖: 輸入變量可以是輸入變量可以是BYTEBYTE、WORDWORD、DWORDDWORD、INTINT、DINTDINT、REALREAL、SINTSINT、USINTUSINT、UINTUINT、UDINTUDINT類型。類型。輸出變量只能是輸出變量只能是REALREAL類型。類型。程序例:程序例:分析:在本例中,分析:在本例中,X3=1X3=1弧度弧度=180/pi=180/pi度;當(dāng)度;當(dāng)X1X1為為 TRUE TRUE時(shí),時(shí),ASINASIN執(zhí)行反正弦運(yùn)算,將執(zhí)行反正弦運(yùn)算,將X3X3的反的反 正弦值輸出到正弦值輸出到X7X7中,所以中,所以X7=1.57X7=1

56、.57。反余弦函數(shù)反余弦函數(shù)ACOSACOS返回一個(gè)數(shù)的反余弦值,數(shù)據(jù)以弧度計(jì)算。指令返回一個(gè)數(shù)的反余弦值,數(shù)據(jù)以弧度計(jì)算。指令如下圖:如下圖: 輸入變量可以是輸入變量可以是BYTEBYTE、WORDWORD、DWORDDWORD、INTINT、DINTDINT、REALREAL、SINTSINT、USINTUSINT、UINTUINT、UDINTUDINT類型。類型。輸出變量只能是輸出變量只能是REALREAL類型。類型。程序例:程序例:分析:在本例中,分析:在本例中,X3=1X3=1弧度弧度=180/pi=180/pi度;當(dāng)度;當(dāng)X1X1為為 TRUE TRUE時(shí),時(shí),ACOSACOS執(zhí)行

57、反余弦運(yùn)算,將執(zhí)行反余弦運(yùn)算,將X3X3的的 反余弦輸出到反余弦輸出到X7X7中,所以中,所以X7=0X7=0。反正切函數(shù)反正切函數(shù)ATANATAN返回一個(gè)數(shù)的反正切值。數(shù)據(jù)以弧度計(jì)算。指令返回一個(gè)數(shù)的反正切值。數(shù)據(jù)以弧度計(jì)算。指令如下圖:如下圖: 輸入變量可以是輸入變量可以是BYTEBYTE、WORDWORD、DWORDDWORD、INTINT、DINTDINT、REALREAL、SINTSINT、USINTUSINT、UINTUINT、UDINTUDINT類型。輸出變量只能是類型。輸出變量只能是REALREAL類型。類型。程序例:程序例:分析:在本例中,分析:在本例中,X3=1X3=1弧度

58、弧度=180/pi=180/pi度;當(dāng)度;當(dāng)X1X1為為 TRUE TRUE時(shí),時(shí),ATANATAN執(zhí)行反正切運(yùn)算,將執(zhí)行反正切運(yùn)算,將X3X3的反的反 正切值輸出到正切值輸出到X7X7中,所以中,所以X7=0.785X7=0.785。取絕對(duì)值函數(shù)取絕對(duì)值函數(shù)ABSABS返回一個(gè)數(shù)的絕對(duì)值。指令如下圖:返回一個(gè)數(shù)的絕對(duì)值。指令如下圖:輸入輸入 輸出輸出INT INT,REAL,WORD,DWORD,DINTINT INT,REAL,WORD,DWORD,DINTREAL REALREAL REALBYTE INT,REAL,BYTE,WORD,DWORD,DINTBYTE INT,REAL,B

59、YTE,WORD,DWORD,DINTWORD INT,REAL,WORD,DWORD,DINTWORD INT,REAL,WORD,DWORD,DINTDWORD REAL,DWORD,DINTDWORD REAL,DWORD,DINTSINT REALSINT REALUSINT REALUSINT REALUINT INT,REAL,WORD,DWORD,DINT,UDINT,UINTUINT INT,REAL,WORD,DWORD,DINT,UDINT,UINTDINT REAL,DWORD,DINTDINT REAL,DWORD,DINTUDINT REAL,DWORD,DINT,U

60、DINTUDINT REAL,DWORD,DINT,UDINT程序例:程序例:分析:在本例中,當(dāng)分析:在本例中,當(dāng)X1X1為為TRUETRUE時(shí),時(shí),ABSABS指令指令 執(zhí)行,將執(zhí)行,將X3X3的絕對(duì)值輸出到的絕對(duì)值輸出到X7X7中;如中;如 X3=-8 X3=-8,則輸出,則輸出X7=8X7=8。指數(shù)函數(shù)指數(shù)函數(shù)EXPEXP返回指數(shù)函數(shù)。指令如下圖:返回指數(shù)函數(shù)。指令如下圖: 輸入變量可以是輸入變量可以是BYTEBYTE、WORDWORD、DWORDDWORD、INTINT、DINTDINT、REALREAL、SINTSINT、USINTUSINT、UINTUINT、UDINTUDINT類

溫馨提示

  • 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)論