FX系列PLC編程及應(yīng)用(廖常初)_第1頁(yè)
FX系列PLC編程及應(yīng)用(廖常初)_第2頁(yè)
FX系列PLC編程及應(yīng)用(廖常初)_第3頁(yè)
FX系列PLC編程及應(yīng)用(廖常初)_第4頁(yè)
FX系列PLC編程及應(yīng)用(廖常初)_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第4章章 FX系列系列PLC的應(yīng)用指令的應(yīng)用指令4.1 應(yīng)用指令概述應(yīng)用指令概述4.1.1 應(yīng)用指令的表示方法應(yīng)用指令的表示方法 1助記符與操作數(shù) 圖4-1中的(S)表示源操作數(shù),(D)表示目標(biāo)操作數(shù)?!啊北硎究梢允褂米冎饭δ?。n或m表示其他操作數(shù)。 用編程軟件輸入圖4-1中的應(yīng)用指令MEAN時(shí),單擊工具條中的方括號(hào)按鈕,輸入“MEAN D0 D10 K3”,指令助記符和各操作數(shù)之間用空格分隔。 X0的常開(kāi)觸點(diǎn)接通時(shí),執(zhí)行指令MEAN,求3個(gè)數(shù)據(jù)寄存器D0D2中的數(shù)據(jù)的平均值,運(yùn)算結(jié)果用D10保存。編程軟件中的應(yīng)用指令用方括號(hào)來(lái)表示。MEAN指令的功能號(hào)為45,簡(jiǎn)寫(xiě)為FNC 45。 232位

2、指令 圖4-1左圖左下角的“D”表示可以處理32位數(shù)據(jù),相鄰的兩個(gè)數(shù)據(jù)寄存器組成32位的數(shù)據(jù)寄存器對(duì)?!癉MOV D2 D4”將D2和D3組成的32位整數(shù)(D2,D3)中的數(shù)據(jù)傳送給(D4,D5),D2為低16位數(shù)據(jù)。 3脈沖執(zhí)行指令 圖4-1左圖右下角的“P”表示可以采用脈沖執(zhí)行方式。僅僅在圖4-2中X0由OFF變?yōu)镺N狀態(tài)的上升沿時(shí),執(zhí)行一次INCP指令。 指令后面沒(méi)有“P”時(shí),每個(gè)掃描周期都要執(zhí)行一次指令。INC(加1)、DEC(減1)和XCH(數(shù)據(jù)交換)等指令一般應(yīng)使用脈沖執(zhí)行方式。 4變址寄存器 FX系列有16個(gè)變址寄存器(V0V7和Z0Z7)。循環(huán)程序一般需要使用變址寄存器。 圖4

3、-3中Z1的值為4,D6Z1相當(dāng)于軟元件D10(6 + 4)。V0的值為50,K100V0相當(dāng)于十進(jìn)制常數(shù)K150(100 + 50)。 圖4-3中的ADD(加法)指令完成運(yùn)算(K100V0) + (D6Z1)(D7Z1),即150 + (D10)(D11)。32位指令中V、Z自動(dòng)組對(duì)使用,V為高16位,Z為低16位。 設(shè)Z1的值為10,因?yàn)檩斎肜^電器采用八進(jìn)制地址,X10Z1被指定為X22(八進(jìn)制數(shù)10+12=22),而不是X20。4.1.2 數(shù)據(jù)格式與數(shù)制數(shù)據(jù)格式與數(shù)制 1數(shù)據(jù)格式 (1)位軟元件 位(bit)軟元件X、Y、M和S用來(lái)表示開(kāi)關(guān)量的狀態(tài),常開(kāi)觸點(diǎn)的通、斷,線(xiàn)圈的通電和斷電分別

4、用二進(jìn)制數(shù)1和0來(lái)表示,或稱(chēng)為該軟元件為ON或OFF。 (2)位軟元件的組合 用KnP的形式表示連續(xù)的位軟元件組,每組由4個(gè)連續(xù)的位軟元件組成,P為起始軟元件號(hào),n為位軟元件的組數(shù)(n = 18)。例如K2M10表示由 M10M17組成的兩個(gè)位軟元件組,M10為數(shù)據(jù)的最低位。16位操作數(shù)時(shí)n = 14,n 4時(shí)高位為0;32位操作數(shù)時(shí)n = 18,n = T0 K10”的比較條件不滿(mǎn)足,等效的觸點(diǎn)斷開(kāi),Y0的線(xiàn)圈斷電。反之比較條件滿(mǎn)足,Y0的線(xiàn)圈通電。 4區(qū)間比較指令 比較結(jié)果對(duì)目標(biāo)操作數(shù)M3M5的影響如圖4-18所示。 D9中是以kPa為單位的壓力值,壓力的下限值和上限值分別為2000kPa

5、和2500kPa。M8013是周期為1s的時(shí)鐘脈沖。壓力低于下限值時(shí),M3為ON,“壓力過(guò)低”指示燈Y2閃爍。壓力大于上限值時(shí),M5為ON,壓力在20002500 kPa時(shí),M4為ON?!皦毫φ!敝甘緹鬥3點(diǎn)亮。 二進(jìn)制浮點(diǎn)數(shù)和整數(shù)的比較指令、區(qū)間比較指令的使用方法基本上相同。4.2.2 傳送指令傳送指令 1傳送指令MOV將源數(shù)據(jù)傳送到指定的目標(biāo)軟元件。 2移位傳送 移位傳送指令SMOV將4位十進(jìn)制源數(shù)據(jù)(S)中指定位數(shù)的數(shù)據(jù),傳送到4位十進(jìn)制目標(biāo)操作數(shù)(D)中指定的位置。用得少。 3取反傳送指令 取反傳送指令CML將源軟元件中的數(shù)據(jù)逐位取反(10,01,即作“非”運(yùn)算),然后傳送到指定的目

6、標(biāo)軟元件。 4成批傳送指令BMOV將源操作數(shù)指定的軟元件開(kāi)始的n個(gè)數(shù)據(jù)組成的數(shù)據(jù)塊傳送到指定的目標(biāo)地址區(qū)。 5多點(diǎn)傳送指令FMOV將單個(gè)軟元件中的數(shù)據(jù)傳送到指定目標(biāo)地址開(kāi)始的n個(gè)軟元件(n512)。 6數(shù)據(jù)交換指令XCH使數(shù)據(jù)在指定的目標(biāo)軟元件之間交換。應(yīng)脈沖執(zhí)行。 7高低字節(jié)交換指令將D10的高低字節(jié)的值互換。指令“DSWAPP D12”首先交換D12的高、低字節(jié),然后交換D13的高、低字節(jié)。4.2.3 數(shù)據(jù)轉(zhuǎn)換指令數(shù)據(jù)轉(zhuǎn)換指令 1BCD指令將源軟元件中的二進(jìn)制數(shù)轉(zhuǎn)換為BCD碼后,送到目標(biāo)軟元件。如果轉(zhuǎn)換后的數(shù)值超出允許范圍,溢出標(biāo)志位SM1.1被置為ON。 2BIN指令將源軟元件中的BCD

7、碼轉(zhuǎn)換為二進(jìn)制數(shù)(BIN)后送到目標(biāo)軟元件。如果源軟元件中的數(shù)據(jù)不是BCD碼,將會(huì)出錯(cuò)。 3格雷碼轉(zhuǎn)換指令 格雷碼用于絕對(duì)式編碼器。它的相鄰的兩個(gè)多位二進(jìn)制數(shù)的各位中,只有一位的值不同。格雷碼轉(zhuǎn)換指令GRY與格雷碼逆轉(zhuǎn)換指令GBIN用得很少。 4.2.4 移位移位指令指令與循環(huán)移位指令與循環(huán)移位指令 1循環(huán)移位指令 循環(huán)右移指令ROR和循環(huán)左移指令ROL將操作數(shù)各位的數(shù)據(jù)向右或向左循環(huán)移動(dòng)n位,16位指令和32位指令的n應(yīng)分別小于等于16和32,每次移出來(lái)的那一位同時(shí)存入進(jìn)位標(biāo)志M8022。 216位彩燈循環(huán)移位控制程序 首次掃描時(shí)將彩燈的初始值HF0送給Y20Y37。T0的常閉觸點(diǎn)和它的線(xiàn)圈

8、組成周期為1s的脈沖發(fā)生器,ROR指令使16位彩燈每秒右移一位。 38位彩燈循環(huán)移位控制程序 實(shí)現(xiàn)8位輔助繼電器M10M17循環(huán)左移的關(guān)鍵是將從M17移到M18的二進(jìn)制數(shù)傳送到最低位M10。移位后將M10M17的值傳送給Y0Y7。 4帶進(jìn)位的循環(huán)移位指令 RCR是帶進(jìn)位的循環(huán)右移指令,RCL 是帶進(jìn)位的循環(huán)左移指令。各位的數(shù)據(jù)與進(jìn)位位M8022一起(16位指令時(shí)一共17位)向右(或向左)循環(huán)移動(dòng)n位。這兩條指令用得少。 5位移位指令 位右移指令SFTR與位左移指令SFTL使位軟元件中的狀態(tài)成組地向右或向左移動(dòng),用n1指定位軟元件組的長(zhǎng)度,n2指定移動(dòng)的位數(shù), n2n11024 。圖6-55下面

9、圓括號(hào)中的數(shù)字是移位的先后順序。 6字右移和字左移指令 字右移指令WSFR和字左移指令WSFL以字為單位,將n1個(gè)字成組地右移或左移n2個(gè)字(n2n1512)。移位的過(guò)程與位移位類(lèi)似。 7移位寄存器寫(xiě)入指令 移位寄存器又稱(chēng)為FIFO(先入先出)堆棧,先寫(xiě)入堆棧的數(shù)據(jù)先讀出。堆棧的長(zhǎng)度為2512個(gè)字。目標(biāo)軟元件D1是FIFO堆棧的的指針,移位寄存器未裝入數(shù)據(jù)時(shí)應(yīng)將D1清零。在X10的上升沿,移位寫(xiě)入指令SFWR將指針的值加1后寫(xiě)入數(shù)據(jù)。堆棧寫(xiě)滿(mǎn)時(shí),不再執(zhí)行寫(xiě)入操作,進(jìn)位標(biāo)志M8022變?yōu)镺N。 8移位寄存器讀出指令 X11由OFF變?yōu)镺N時(shí),移位寄存器讀出指令SFRD指令將D2中的數(shù)據(jù)送到目標(biāo)操

10、作數(shù)D20,同時(shí)指針D1的值減1,D3到D9中的數(shù)據(jù)向右移一個(gè)字。指針D1為0時(shí),F(xiàn)IFO堆棧被讀空,零標(biāo)志M8020為ON?!纠?-7】 用移位寄存器寫(xiě)入、讀出指令實(shí)現(xiàn)先入庫(kù)的產(chǎn)品先出庫(kù)。LDPX14/在入庫(kù)按鈕X14的上升沿MOVK4X20D256/來(lái)自X20X37的4位BCD碼產(chǎn)品編號(hào)送到D256SFWRD256D257K100/D257作指針,D258D356存放99件產(chǎn)品的編號(hào)LDPX15 /在出庫(kù)按鈕X15的上升沿SFRDD257D400K100/當(dāng)前最先進(jìn)入的產(chǎn)品的編號(hào)送入D400MOVD400K4Y0/取出的產(chǎn)品的4位BCD碼編號(hào)送Y0Y17顯示4.2.5 數(shù)據(jù)處理指令數(shù)據(jù)處理

11、指令 1成批復(fù)位指令 成批復(fù)位指令ZRST將(D1)和(D2)指定的軟元件號(hào)范圍內(nèi)的同類(lèi)軟元件批量復(fù)位,目標(biāo)操作數(shù)可以取T、C、D或Y、M、S。 2譯碼指令:假設(shè)源操作數(shù)(S)最低n位的二進(jìn)制數(shù)為N,譯碼指令DECO將目標(biāo)操作數(shù)(D)中的第N位置為1,其余各位置0。 3編碼指令將源操作數(shù)(S)中為ON的最高位的二進(jìn)制位數(shù)存入目標(biāo)軟元件(D)的低n位。 4ON位數(shù)指令SUM統(tǒng)計(jì)源操作數(shù)中為ON的位的個(gè)數(shù),并將它送入目標(biāo)操作數(shù)。 5ON位判別指令BON用來(lái)檢測(cè)源操作數(shù)(S)中的第n位是否為ON。 6平均值指令MEAN用來(lái)求164個(gè)源操作數(shù)的代數(shù)和被n除的商,余數(shù)略去。 7二進(jìn)制開(kāi)平方運(yùn)算指令SQR

12、的源操作數(shù)(S)應(yīng)大于零。4.3 四則運(yùn)算指令與邏輯運(yùn)算指令四則運(yùn)算指令與邏輯運(yùn)算指令4.3.1 四則運(yùn)算指令四則運(yùn)算指令 四則運(yùn)算指令包括ADD、SUB、MUL和DIV(二進(jìn)制加、減、乘、除)指令和INC、DEC(加1、減1)指令。每個(gè)數(shù)據(jù)均為有符號(hào)數(shù),所有的運(yùn)算均為代數(shù)運(yùn)算。指令影響零標(biāo)志M8020、進(jìn)位標(biāo)志M8022、借位標(biāo)志M8021和錯(cuò)誤發(fā)生標(biāo)志M8004。如果目標(biāo)軟元件與源軟元件相同,應(yīng)采用脈沖執(zhí)行方式。 X1為ON時(shí),執(zhí)行 (D2, D3) (D4, D5) (D6, D7)。X2為ON時(shí),執(zhí)行(D8) (D9) (D10, D11),乘積的低位字送到D10,高位字送到D11。3

13、2位乘法的結(jié)果為64位。X3為ON時(shí),執(zhí)行16位除法運(yùn)算(D12)/(D13),商送到D14,余數(shù)送到D15。二進(jìn)制加1指令I(lǐng)NC和二進(jìn)制減1指令DEC用于對(duì)操作數(shù)加1和減1。它們不影響零標(biāo)志、借位標(biāo)志和進(jìn)位標(biāo)志。4.3.2 四則運(yùn)算指令應(yīng)用舉例四則運(yùn)算指令應(yīng)用舉例 1用內(nèi)置的電位器設(shè)置定時(shí)器的設(shè)定值 FX1S、FX1N、FX1NC和FX3G系列有兩個(gè)內(nèi)置的小電位器,D8030和D8031的值(0255)與小電位器的位置相對(duì)應(yīng)。 要求在X5的上升沿,用D8030對(duì)應(yīng)的電位器來(lái)設(shè)置定時(shí)器T0的設(shè)定值,設(shè)定的時(shí)間范圍為1015s。設(shè)讀出的數(shù)字為N,定時(shí)器的設(shè)定值為50 N / 255100。程序見(jiàn)

14、圖4-45。 2模擬量計(jì)算 壓力變送器的量程為0180kPa,輸出信號(hào)為420mA,模擬量輸入模塊的量程為420mA,轉(zhuǎn)換后的數(shù)字量為04000,設(shè)轉(zhuǎn)換后的數(shù)字為N,計(jì)算公式為P =(1800 N)/ 4000 (0.1kPa) ,程序見(jiàn)圖4-46。4.3.3 邏輯運(yùn)算指令邏輯運(yùn)算指令 1邏輯運(yùn)算指令 邏輯運(yùn)算指令包括16位的邏輯“與”指令WAND、邏輯“或”指令WOR、邏輯“異或”指令WXOR,和32位的DAND、DOR、DXOR指令。 “與”運(yùn)算時(shí)如果兩個(gè)源操作數(shù)的同一位均為1,目標(biāo)操作數(shù)的對(duì)應(yīng)位為1,否則為0?!盎颉边\(yùn)算時(shí)如果兩個(gè)源操作數(shù)的同一位均為0,目標(biāo)操作數(shù)的對(duì)應(yīng)位為0,否則為1。

15、“異或”運(yùn)算時(shí)如果兩個(gè)源操作數(shù)的同一位不相同,目標(biāo)操作數(shù)的對(duì)應(yīng)位為1,否則為0。圖4-50 邏輯運(yùn)算的軟元件批量監(jiān)視視圖 2反相傳送指令與求補(bǔ)碼指令 反相傳送指令CML將源軟元件中的數(shù)據(jù)逐位取反,即10,01,并將運(yùn)算結(jié)果傳送到指定的目標(biāo)軟元件。 求補(bǔ)碼指令NEG必須采用脈沖執(zhí)行方式。它將(D)指定的數(shù)的每一位取反后再加1,結(jié)果存于同一軟元件,求補(bǔ)碼指令實(shí)際上是絕對(duì)值不變的改變符號(hào)的操作。 【例4-3】D20中的數(shù)如果是負(fù)數(shù),求它的絕對(duì)值。LDPX1/在X1的上升沿BOND20M0K15/D20的符號(hào)位(第15位)為1時(shí)M0置為ONLDPM0/在M0的上升沿NEGD20/用求補(bǔ)碼指令得到D20

16、的絕對(duì)值END 4用WAND指令將指定位清零 WAND指令中的十六進(jìn)制常數(shù)H3FFC的最高2位和最低2位二進(jìn)制數(shù)為0,其余各位為1。與D12中的數(shù)作與運(yùn)算后,D13的最高2位和最低2位二進(jìn)制數(shù)均為0,其余各位與D12的相同。 5用WOR指令將指定位置位 WORP指令中的十六進(jìn)制常數(shù)H9的第0位和第3位為1,其余各位為0。邏輯或運(yùn)算后D15的第0位和第3位總是為1,其他位與D14的相同。4.4 浮點(diǎn)數(shù)運(yùn)算指令浮點(diǎn)數(shù)運(yùn)算指令4.4.1 浮點(diǎn)數(shù)浮點(diǎn)數(shù) 32位浮點(diǎn)數(shù)(REAL,實(shí)數(shù))可以表示為1.m 2E ,1.m為尾數(shù),F(xiàn)X采用的32位實(shí)數(shù)的格式為1.m 2e,最高位為符號(hào)位,指數(shù)e = E +12

17、7為8位正整數(shù)。第022位是尾數(shù)的小數(shù)部分m。 在編程軟件中,用小數(shù)表示浮點(diǎn)數(shù)。浮點(diǎn)數(shù)的精度相當(dāng)于7位十進(jìn)制數(shù)。 2十進(jìn)制浮點(diǎn)數(shù)十進(jìn)制浮點(diǎn)數(shù) 編程軟件內(nèi)部的處理采用二進(jìn)制浮點(diǎn)數(shù),十進(jìn)制浮點(diǎn)數(shù)用于監(jiān)控。一個(gè)十進(jìn)制浮點(diǎn)數(shù)占用相鄰的兩個(gè)數(shù)據(jù)寄存器字,例如D0中是尾數(shù),D1中是指數(shù),數(shù)據(jù)格式為尾數(shù)10指數(shù)。尾數(shù)是4位BCD整數(shù),范圍為0、10009999 和10009999,指數(shù)的范圍為41+35。例如小數(shù)24.567可以表示為245610 -2。圖4-52 浮點(diǎn)數(shù)的結(jié)構(gòu) 4.4.2 浮點(diǎn)數(shù)轉(zhuǎn)換指令浮點(diǎn)數(shù)轉(zhuǎn)換指令 1指令FLT將存放在源操作數(shù)中的16位或32位的二進(jìn)制(BIN)整數(shù)轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù),

18、并將結(jié)果存放在目標(biāo)寄存器中。 2指令DINT將(D2,D3)中的二進(jìn)制浮點(diǎn)數(shù)舍去小數(shù)部分后,轉(zhuǎn)換為(D4,D5)中的二進(jìn)制(BIN)整數(shù)。 3指令DEBCD將(D20,D21)中的二進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為十進(jìn)制浮點(diǎn)數(shù)后,存入D22(尾數(shù))和D23(指數(shù))。 4指令DEBIN將(D24,D25)中的十進(jìn)制浮點(diǎn)數(shù)轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù),存入(D26,D27)。 6用浮點(diǎn)數(shù)運(yùn)算求圓的面積用浮點(diǎn)數(shù)運(yùn)算求圓的面積 整數(shù)格式的半徑 r 在D10中,用浮點(diǎn)數(shù)運(yùn)算求圓的面積,運(yùn)算結(jié)果轉(zhuǎn)換為32位整數(shù),用(D16,D17)保存。 取圓周率的近似值為3.142,用MOV指令將對(duì)應(yīng)的十進(jìn)制浮點(diǎn)數(shù)的尾數(shù)3142和指數(shù)-3分別輸

19、入到D6和D7,然后用DEBIN指令將它轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)。用FLT指令將D10中整數(shù)格式的半徑轉(zhuǎn)換為二進(jìn)制浮點(diǎn)數(shù)。完成上述操作后,才能執(zhí)行浮點(diǎn)數(shù)運(yùn)算指令。 4.4.2 浮點(diǎn)數(shù)浮點(diǎn)數(shù)運(yùn)算運(yùn)算指令指令 浮點(diǎn)數(shù)運(yùn)算指令包括浮點(diǎn)數(shù)的四則運(yùn)算、開(kāi)平方和三角函數(shù)等指令,均為32位指令。源操作數(shù)和目標(biāo)操作數(shù)均為浮點(diǎn)數(shù)。 二進(jìn)制浮點(diǎn)數(shù)開(kāi)平方運(yùn)算指令ESQR的源操作數(shù)應(yīng)為正數(shù)。 浮點(diǎn)數(shù)三角函數(shù)運(yùn)算指令包括浮點(diǎn)數(shù)SIN(正弦)運(yùn)算、浮點(diǎn)數(shù)COS(余弦)運(yùn)算和浮點(diǎn)數(shù)TAN(正切)運(yùn)算指令。角度單位為弧度。源操作數(shù)應(yīng)滿(mǎn)足0角度2,弧度值 = 角度值/180。 5三角函數(shù)運(yùn)算舉例 浮點(diǎn)數(shù)三角函數(shù)運(yùn)算指令的角度是以弧度

20、為單位的浮點(diǎn)數(shù)。先將以度為單位的角度值乘以/180.0(0.01745329),轉(zhuǎn)換為弧度值后,再使用三角函數(shù)運(yùn)算指令。 D52中是以0.1為單位的整數(shù)角度值,計(jì)算出它的浮點(diǎn)數(shù)正弦值后,用(D60,D61)保存。本例只用一條浮點(diǎn)數(shù)除法指令DEDIV輸入角度轉(zhuǎn)換系數(shù)(/180.0 = 314159/18000000)。與十進(jìn)制浮點(diǎn)數(shù)相比,提高了常數(shù)的精度。4.5 程序流程控制指令程序流程控制指令4.5.1 條件跳轉(zhuǎn)指令條件跳轉(zhuǎn)指令 1跳轉(zhuǎn)指令的基本功能 指針P(Pointer)用于跳轉(zhuǎn)指令和子程序調(diào)用。條件跳轉(zhuǎn)指令CJ用于跳過(guò)順序程序中的某一部分,以控制程序的流程。使用跳轉(zhuǎn)指令可以縮短掃描周期。

21、 圖4-60中的X0為ON時(shí),跳轉(zhuǎn)條件滿(mǎn)足,跳轉(zhuǎn)到指針P1處,不執(zhí)行被跳過(guò)的那部分指令。如果X0為OFF,跳轉(zhuǎn)條件不滿(mǎn)足,不會(huì)跳轉(zhuǎn)。執(zhí)行完CJ指令后,順序執(zhí)行它下面第4步的指令。 用M8000的常開(kāi)觸點(diǎn)驅(qū)動(dòng)CJ指令,相當(dāng)于無(wú)條件跳轉(zhuǎn)。跳轉(zhuǎn)到END指令所在的步序號(hào)應(yīng)使用指針P63。在程序中不需要且不能設(shè)置指針P63。 多條跳轉(zhuǎn)指令可以跳到同一個(gè)指針處。一個(gè)指針只能出現(xiàn)一次。CALL指令(子程序調(diào)用)和CJ指令不能共用同一個(gè)指針。程序之間不能相互跳轉(zhuǎn)。 雙擊左側(cè)垂直母線(xiàn)的左邊,在出現(xiàn)的對(duì)話(huà)框中輸入指針號(hào)。 2跳轉(zhuǎn)對(duì)位軟元件的影響 用梯形圖監(jiān)視程序的運(yùn)行。在X0為OFF時(shí),指令“CJ P1”的跳轉(zhuǎn)條

22、件不滿(mǎn)足,用X窗口的X1X3能分別控制Y0、M0和S0。令X0為ON,Y0、M0和S0保持跳轉(zhuǎn)之前最后一個(gè)掃描周期的狀態(tài)不變。 3跳轉(zhuǎn)對(duì)定時(shí)器的影響 跳轉(zhuǎn)時(shí)100ms定時(shí)器T0停止定時(shí),其當(dāng)前值保持不變。停止跳轉(zhuǎn)時(shí)T0在原當(dāng)前值的基礎(chǔ)上繼續(xù)定時(shí)。跳轉(zhuǎn)時(shí)可以用跳轉(zhuǎn)區(qū)外的RST指令將線(xiàn)圈被跳過(guò)的T246和C0復(fù)位。 4跳轉(zhuǎn)對(duì)計(jì)數(shù)器的影響 跳轉(zhuǎn)期間C0不會(huì)計(jì)數(shù),當(dāng)前值保持不變,不能用跳轉(zhuǎn)區(qū)內(nèi)的X6將C0復(fù)位。高速計(jì)數(shù)器如果在線(xiàn)圈驅(qū)動(dòng)后跳轉(zhuǎn),將會(huì)繼續(xù)工作,條件滿(mǎn)足時(shí)它們的輸出觸點(diǎn)也會(huì)動(dòng)作。 5跳轉(zhuǎn)對(duì)T192199的影響 普通的定時(shí)器只是在執(zhí)行線(xiàn)圈指令時(shí)進(jìn)行定時(shí)。在跳轉(zhuǎn)區(qū)、子程序和中斷程序內(nèi),普通定時(shí)器

23、不能進(jìn)行正常的定時(shí),應(yīng)使用專(zhuān)用的100ms定時(shí)器T192T199,它們被啟動(dòng)定時(shí)后,在執(zhí)行它們的線(xiàn)圈指令時(shí)或執(zhí)行END指令時(shí)進(jìn)行定時(shí)。T192T199的功能不能仿真。 6跳轉(zhuǎn)對(duì)應(yīng)用指令的影響 在跳轉(zhuǎn)期間不執(zhí)行應(yīng)用指令I(lǐng)NCP,D0的值保持不變。 7跳轉(zhuǎn)對(duì)主控指令的影響 如果從主令控制區(qū)的外部跳入其內(nèi)部,不管它的主控觸點(diǎn)是否接通,都把它當(dāng)成接通來(lái)執(zhí)行主令控制區(qū)內(nèi)的程序。如果跳轉(zhuǎn)指令和指針都在同一主令控制區(qū)內(nèi),主控觸點(diǎn)沒(méi)有接通時(shí)不執(zhí)行跳轉(zhuǎn)。 8跳轉(zhuǎn)指令與雙線(xiàn)圈 同一個(gè)位軟元件的線(xiàn)圈可以在跳轉(zhuǎn)條件相反的兩個(gè)跳轉(zhuǎn)區(qū)內(nèi)分別出現(xiàn)一次。X0為ON和OFF時(shí),可以分別用X11和X1控制Y0。4.5.2 子程序

24、指令與子程序應(yīng)用例程子程序指令與子程序應(yīng)用例程 1什么時(shí)候需要使用子程序 使用子程序可以將程序分成容易管理的小塊,使程序結(jié)構(gòu)簡(jiǎn)單清晰,易于查錯(cuò)和維護(hù)。子程序也用于需要多次反復(fù)執(zhí)行相同任務(wù)的地方。 2與子程序有關(guān)的指令 子程序調(diào)用指令CALL的指針點(diǎn)數(shù)見(jiàn)表2-1(不包括P63),SRET是子程序返回指令。主程序結(jié)束指令FEND表示主程序結(jié)束。子程序是從CALL指令指定的指針Pn到SRET指令的程序。 子程序和中斷程序應(yīng)放在最后的FEND指令和END指令之間。 3子程序的調(diào)用 圖4-62中的X0為ON時(shí),“CALL P1”指令使程序跳到指針P1所在的第13步,P1開(kāi)始的子程序被執(zhí)行,執(zhí)行完第46步

25、的SRET指令后返回到“CALL P1”指令下面第8步的指令。同一個(gè)指針只能出現(xiàn)一次,同一個(gè)指針開(kāi)始的子程序可以被不同的CALL指令多次調(diào)用。CJ指令用過(guò)的指針不能再用于CALL指令。 4子程序調(diào)用對(duì)位軟元件的影響 停止調(diào)用子程序后,不再執(zhí)行子程序中的指令,子程序中的Y0、M0和S0保持子程序被執(zhí)行的最后一個(gè)掃描周期結(jié)束時(shí)的狀態(tài)不變。 5子程序與定時(shí)器和計(jì)數(shù)器 在定時(shí)過(guò)程中停止調(diào)用P1開(kāi)始的子程序,T0的當(dāng)前值保持不變。重新調(diào)用該子程序,T0在保持的當(dāng)前值的基礎(chǔ)上繼續(xù)定時(shí)。 在子程序中應(yīng)使用子程序和中斷程序?qū)S玫?00ms累計(jì)定時(shí)器T192T199。在子程序和中斷程序中,如果使用了1ms累計(jì)型

26、定時(shí)器,當(dāng)它達(dá)到設(shè)定值之后,在最初執(zhí)行的線(xiàn)圈指令處輸出觸點(diǎn)會(huì)動(dòng)作。 調(diào)用指針P1開(kāi)始的子程序時(shí)令X6為ON,C0被RST指令復(fù)位。如果沒(méi)有第二條“RST C0”指令,在C0被復(fù)位時(shí)停止調(diào)用子程序,C0仍然保持復(fù)位狀態(tài),用X5發(fā)出計(jì)數(shù)脈沖,C0不能計(jì)數(shù)。第二條“RST C0”指令的執(zhí)行條件不滿(mǎn)足,取消了對(duì)RST的復(fù)位操作,解除了對(duì)C0復(fù)位的保持狀態(tài)。 6未調(diào)用子程序時(shí)不執(zhí)行INCP指令,D0的值保持不變。 7子程序中的雙線(xiàn)圈 同一個(gè)位軟元件的線(xiàn)圈可以在調(diào)用條件相反的兩個(gè)子程序中分別出現(xiàn)一次。X0為ON時(shí),調(diào)用P1開(kāi)始的子程序,可以用X1控制Y0;X0為OFF時(shí),調(diào)用P2開(kāi)始的子程序,可以用X11

27、控制Y0。 8子程序的嵌套調(diào)用 子程序可以多級(jí)嵌套調(diào)用,即子程序可以調(diào)用別的子程序。最多嵌套5層。在調(diào)用圖4-62中P1開(kāi)始的子程序時(shí),令X12為ON,執(zhí)行指令“CALL P3”,嵌套調(diào)用P3開(kāi)始的子程序。此時(shí)才能用X13來(lái)控制Y2。執(zhí)行完P(guān)3開(kāi)始的子程序后,返回“CALL P3”下面第46步的指令。執(zhí)行完P(guān)1開(kāi)始的子程序后,返回主程序中指令“CALL P1”下面第8步的指令。 9多條FEND指令的使用 如果主程序中有因?yàn)樘D(zhuǎn)產(chǎn)生的分支,每條分支結(jié)束時(shí)都需要用一條FEND指令來(lái)結(jié)束該分支程序。圖4-63的X0為ON時(shí)跳轉(zhuǎn)到第11步。執(zhí)行第20步的FEND指令時(shí),跳轉(zhuǎn)到END指令處。X0為OFF

28、時(shí),跳轉(zhuǎn)條件不滿(mǎn)足,從第8步開(kāi)始順序執(zhí)行指令。執(zhí)行到第10步的FEND指令時(shí),跳轉(zhuǎn)到END指令處。 10子程序應(yīng)用例程 圖4-64是使用子程序調(diào)用的運(yùn)輸帶控制程序。自動(dòng)/手動(dòng)切換開(kāi)關(guān)X2的常開(kāi)觸點(diǎn)閉合時(shí),調(diào)用P1開(kāi)始的自動(dòng)程序。X2的常閉觸點(diǎn)閉合時(shí),調(diào)用P2開(kāi)始的手動(dòng)程序,可以用X3和X4手動(dòng)控制兩條運(yùn)輸帶。 用一直閉合的M8000的常開(kāi)觸點(diǎn)無(wú)條件地調(diào)用P0開(kāi)始的公用程序。由自動(dòng)運(yùn)行切換到手動(dòng)運(yùn)行時(shí),公用程序?qū)0、Y1和M2復(fù)位為OFF,同時(shí)將可能正在定時(shí)的T0和T1復(fù)位。4.5.3 中斷的基本概念與中斷指令中斷的基本概念與中斷指令 1中斷的基本概念 PLC用中斷來(lái)處理隨機(jī)發(fā)生的需要盡快地處

29、理的事件。定時(shí)器中斷可以實(shí)現(xiàn)高精度的定時(shí)。中斷事件包括輸入中斷、定時(shí)器中斷和高速計(jì)數(shù)器中斷。中斷事件出現(xiàn)時(shí),在當(dāng)前指令執(zhí)行完后,當(dāng)前正在執(zhí)行的程序被停止執(zhí)行(被中斷),操作系統(tǒng)將會(huì)立即調(diào)用一個(gè)用戶(hù)編寫(xiě)的分配給該事件的中斷程序。中斷程序被執(zhí)行完后,被暫停執(zhí)行的程序?qū)谋淮驍嗟牡胤介_(kāi)始繼續(xù)執(zhí)行。應(yīng)使中斷程序盡量短小,以減少對(duì)其他處理的延遲。 2中斷的指針 中斷的指針用來(lái)指明某一中斷源的中斷程序入口,執(zhí)行到中斷返回指令I(lǐng)RET時(shí),返回中斷事件出現(xiàn)時(shí)正在執(zhí)行的程序。中斷程序應(yīng)放在FEND指令之后。 (1)輸入中斷 輸入中斷指針為I00*I50*,最高位是產(chǎn)生中斷的輸入繼電器的軟元件號(hào),指針的最低位的0

30、和1分別表示下降沿中斷和上升沿中斷。同一個(gè)輸入中斷源只能使用上升沿中斷或下降沿中斷。 (2)定時(shí)器中斷 FX1S、FX1N和FX1NC系列沒(méi)有定時(shí)器中斷功能,其他系列有3點(diǎn)定時(shí)器中斷,中斷指針為I6*I8*,低兩位是以ms為單位的中斷周期。定時(shí)器中斷使PLC以指定的中斷循環(huán)時(shí)間(10ms99ms)周期性地執(zhí)行中斷程序。 (3)計(jì)數(shù)器中斷 FX2N、FX2NC、FX3U和FX3UC系列有6點(diǎn)計(jì)數(shù)器中斷,中斷指針為I010I060。 3與中斷有關(guān)的指令 EI和DI分別是允許中斷指令和禁止中斷指令。PLC通常處于禁止中斷的狀態(tài),指令EI和DI之間的程序段為允許中斷的區(qū)間。 中斷程序從它對(duì)應(yīng)的唯一的中

31、斷指針開(kāi)始,到第一條中斷返回指令I(lǐng)RET結(jié)束。 4禁止部分中斷源 M8050M8055為ON時(shí),分別禁止處理X0X5產(chǎn)生的中斷。M8056M8058為ON時(shí),分別禁止處理中斷指針為I6*I8*的定時(shí)器中斷。M8059為ON時(shí),禁止處理所有的計(jì)數(shù)器中斷。PLC上電時(shí)M8050M8059均為OFF狀態(tài),沒(méi)有中斷源被禁止。執(zhí)行指令EI后,CPU將處理編寫(xiě)了中斷程序的中斷事件。 5中斷的優(yōu)先級(jí)和中斷嵌套 按中斷信號(hào)出現(xiàn)的先后排序,出現(xiàn)越早的優(yōu)先級(jí)越高。若同時(shí)出現(xiàn)多個(gè)中斷信號(hào),則中斷指針號(hào)小的優(yōu)先。 在FX2N、FX2NC、FX3U和FX3UC的中斷程序中編入EI和DI,可以實(shí)現(xiàn)兩級(jí)中斷嵌套。其他系列在

32、執(zhí)行中斷程序時(shí),其他中斷被禁止。 7脈沖捕獲功能 執(zhí)行EI指令后,X0X5可以“捕獲”窄脈沖信號(hào)。在X0X5的上升沿,M8170M8175分別通過(guò)中斷被置位。需要用指令將M8170M8175復(fù)位。4.5.4 中斷程序例程中斷程序例程 1輸入中斷例程 要求通過(guò)中斷,在X0的上升沿使Y0立即置位,在X1的下降沿使Y0立即復(fù)位。在X0的上升沿執(zhí)行從指針I(yè)001開(kāi)始的中斷程序,將Y0置位。在X1的下降沿執(zhí)行從指針I(yè)100開(kāi)始的中斷程序,將Y0復(fù)位。用輸入/輸出刷新指令REF盡快地將Y0的新?tīng)顟B(tài)送到輸出模塊。 2定時(shí)器中斷例程 圖4-67的中斷指針I(yè)650的低兩位為50,每隔50ms產(chǎn)生一次定時(shí)器中斷。

33、第3行的程序用X2將M3置位,起動(dòng)10s的定時(shí)。 M3為ON時(shí),每隔50ms定時(shí)器中斷程序使D0的值加1,D0的值等于200(經(jīng)過(guò)了10s)時(shí),比較觸點(diǎn)接通,將M3復(fù)位,D0停止加1。 3用輸入中斷和1ms定時(shí)器測(cè)量脈沖寬度 將被測(cè)信號(hào)同時(shí)接入X0和X1,分別使用它們的上升沿中斷和下降沿中斷。在X0的上升沿執(zhí)行從指針I(yè)001開(kāi)始的中斷程序,復(fù)位測(cè)量結(jié)束標(biāo)志Y0,清除D0中的測(cè)量值,然后起動(dòng)T246開(kāi)始定時(shí)。退出X0的中斷程序后,T246繼續(xù)定時(shí)。 在指針I(yè)100開(kāi)始的X1的下降沿中斷程序中保存測(cè)量值,置位測(cè)量結(jié)束標(biāo)志Y0。用Y0的常閉觸點(diǎn)斷開(kāi)T246的線(xiàn)圈,用M8000的常開(kāi)觸點(diǎn)將T246復(fù)位

34、,使T246停止定時(shí)。 離開(kāi)X1的中斷程序后,在該程序中用RST指令對(duì)T246的復(fù)位有保持功能,需要在用指針I(yè)1標(biāo)示的X0的中斷程序開(kāi)始時(shí),用一直斷開(kāi)的M8000的常閉觸點(diǎn)來(lái)解除對(duì)T246的復(fù)位作用,否則T246不能再次定時(shí)。 T246的最大定時(shí)時(shí)間為327671ms32.767s。X0和X1產(chǎn)生的中斷的時(shí)間間隔應(yīng)小于32.767s。4.5.5 循環(huán)程序與監(jiān)控定時(shí)器指令循環(huán)程序與監(jiān)控定時(shí)器指令 1用于循環(huán)程序的指令 循環(huán)范圍開(kāi)始指令FOR表示循環(huán)區(qū)的起點(diǎn),它的源操作數(shù)為循環(huán)次數(shù)N (N = 132767)。循環(huán)范圍結(jié)束指令NEXT用于表示循環(huán)區(qū)的終點(diǎn)。FOR與NEXT之間的程序被反復(fù)執(zhí)行N次。

35、 2雙重循環(huán)程序 循環(huán)最多可以嵌套5層。圖4-69每執(zhí)行一次外層循環(huán)A,就要執(zhí)行4次內(nèi)層循環(huán)B。循環(huán)A執(zhí)行5次,因此循環(huán)B一共要執(zhí)行20次。 3監(jiān)控定時(shí)器指令 當(dāng)PLC的掃描周期超過(guò)監(jiān)控定時(shí)器的定時(shí)時(shí)間(默認(rèn)值為200ms)時(shí),PLC將停止運(yùn)行,它上面的CPU-E發(fā)光二極管亮。在程序中插入監(jiān)控定時(shí)器指令WDT,可以避免出現(xiàn)這樣的錯(cuò)誤。 4用循環(huán)程序求累加和 在X1的上升沿調(diào)用指針P1開(kāi)始的子程序(見(jiàn)圖4-70),求D10開(kāi)始的5個(gè)字的累加和。 首先用復(fù)位指令RST和區(qū)間復(fù)位指令ZRST,將變址寄存器Z0、保存累加和的32位整數(shù)(D0, D1)和暫存數(shù)據(jù)的32位整數(shù)(D2, D3)清零。FOR指

36、令中的K5表示循環(huán)5次。 第一次循環(huán)時(shí),Z0的值為初始值0,MOV指令中的D10Z0對(duì)應(yīng)的軟元件為D10,被累加的是D10的值。累加結(jié)束后,INC指令將Z0的值加1。第二次循環(huán)時(shí),D10Z0對(duì)應(yīng)的軟元件為D11,被累加的是D11的值累加5個(gè)數(shù)后,結(jié)束循環(huán),執(zhí)行NEXT指令之后的SRET指令。 一個(gè)字能表示的最大整數(shù)為32767,為了解決溢出問(wèn)題,采用32位的加法指令DADD。執(zhí)行加法指令之前,首先將16位的被累加的數(shù)傳送到D2,因?yàn)殚_(kāi)機(jī)時(shí)D3被清零,32位整數(shù)(D2,D3)的值與被累加的數(shù)相同。4.7 高速處理指令高速處理指令 1. 輸入輸出刷新指令 輸入輸出刷新指令REF用于讀取輸入繼電器最

37、新的輸入信息,或通過(guò)輸出繼電器立即輸出邏輯運(yùn)算結(jié)果。目標(biāo)操作數(shù)(D)是目標(biāo)軟元件的首位,應(yīng)取軟元件號(hào)最低位為0的X和Y軟元件。要刷新的位軟元件的點(diǎn)數(shù)n(8256)應(yīng)為8的整倍數(shù)。 2輸入刷新與濾波器調(diào)整指令 機(jī)械觸點(diǎn)接通和斷開(kāi)時(shí),由于觸點(diǎn)的抖動(dòng),可能會(huì)影響程序的正常執(zhí)行,例如扳動(dòng)一次開(kāi)關(guān),使計(jì)數(shù)器多次計(jì)數(shù)。為了防止輸入噪聲的影響,開(kāi)關(guān)量輸入端有RC硬件濾波器,濾波時(shí)間常數(shù)約為10ms。 X0X17采用數(shù)字濾波器,輸入刷新與濾波器調(diào)整指令REFF用來(lái)立即讀取上述輸入點(diǎn),并指定它們的輸入濾波時(shí)間常數(shù)n(060ms)。 矩陣輸入指令用得很少。4.6.2 高速計(jì)數(shù)器指令高速計(jì)數(shù)器指令 1高速計(jì)數(shù)器比較

38、置位指令HSCS 高速計(jì)數(shù)器的當(dāng)前值達(dá)到預(yù)置值時(shí),(D)指定的輸出用中斷方式立即動(dòng)作。圖4-74中C255當(dāng)前值由99變?yōu)樵O(shè)定值100或由101變?yōu)?00時(shí),Y10立即置1,不受掃描時(shí)間的影響。DHSCS指令的目標(biāo)操作數(shù)(D)可以指定為I00(=16)。在(S2)指定的高速計(jì)數(shù)器的當(dāng)前值等于(S1)指定的設(shè)定值時(shí),執(zhí)行(D)指定的指針為I00的中斷程序。 2高速計(jì)數(shù)器比較復(fù)位指令HSCR 圖4-74中的C254當(dāng)前值由199變?yōu)樵O(shè)定值200,或由201變?yōu)?00時(shí),用中斷方式使Y20立即復(fù)位。 高速計(jì)數(shù)器區(qū)間比較指令HSZ詳細(xì)的使用方法見(jiàn)編程手冊(cè)。4.6.3 脈沖密度與脈沖輸出指令脈沖密度與脈

39、沖輸出指令 1脈沖密度指令SPD用來(lái)檢測(cè)給定時(shí)間內(nèi)從編碼器輸入的脈沖個(gè)數(shù),從而計(jì)算出速度值。 2脈沖輸出指令 脈沖輸出指令PLSY用于產(chǎn)生指定數(shù)量和頻率的脈沖。脈沖的占空比(脈沖寬度與周期之比)為50%,以中斷方式輸出。 3脈寬調(diào)制指令 脈寬調(diào)制指令PWM指令用于產(chǎn)生指定脈沖寬度和周期的脈沖串。 4帶加減速的脈沖輸出指令 帶加減速的脈沖輸出指令PLSR用來(lái)輸出指定最高頻率和加減速時(shí)間的脈沖串。加減速的變速次數(shù)固定為10次。4.7 方便指令方便指令4.7.1 與控制有關(guān)的指令與控制有關(guān)的指令 1初始化狀態(tài)指令 初始化狀態(tài)指令I(lǐng)ST與STL(步進(jìn)梯形)指令一起使用,用于自動(dòng)設(shè)置多種工作方式的系統(tǒng)的

40、順序控制程序的參數(shù),5.6.4節(jié)給出了使用IST指令的例子。4.7.2 其他方便指令其他方便指令 1. 示教定時(shí)器指令 使用示教定時(shí)器指令TTMR,可以用一只按鈕調(diào)整定時(shí)器的設(shè)定時(shí)間。 圖4-79中的示教定時(shí)器指令用D13記錄示教按鈕X20按下的時(shí)間(單位為s),乘以系數(shù) 10n后,存入D12,作為定時(shí)器的預(yù)置值。 可以用示教定時(shí)器設(shè)置多個(gè)定時(shí)器的設(shè)定值。 3特殊定時(shí)器指令 特殊定時(shí)器指令STMR用來(lái)產(chǎn)生延時(shí)斷開(kāi)定時(shí)器、單脈沖定時(shí)器和閃爍定時(shí)器。 圖4-81中的T0和T1的設(shè)定值為5s(m = 50)。M0是延時(shí)斷開(kāi)定時(shí)器,M1是輸入信號(hào)X0下降沿觸發(fā)的單脈沖定時(shí)器,M2和M3是為閃爍而設(shè)的。

41、 M7的常閉觸點(diǎn)接到STMR指令的輸入電路中,使M5和M6產(chǎn)生閃爍輸出。 每當(dāng)圖4-81中的按鈕X2由OFF變?yōu)镺N時(shí),脈沖執(zhí)行方式的交替輸出指令A(yù)LTP使Y0的狀態(tài)改變一次。ALT指令具有分頻器的功能。 本節(jié)的其他指令很少使用。4.8 外部外部I/O設(shè)備指令設(shè)備指令4.8.1 數(shù)據(jù)輸入輸出指令數(shù)據(jù)輸入輸出指令本節(jié)的指令很少使用。4.8.2 其他外部其他外部I/O設(shè)備指令設(shè)備指令 3讀特殊功能模塊指令FROM 接在基本單元右邊的功能模塊,從緊靠基本單元的那個(gè)開(kāi)始,其編號(hào)依次為07。圖4-87中的X3為ON時(shí),F(xiàn)ROM指令將編號(hào)為m1(07)的特殊功能模塊內(nèi),從編號(hào)m2(032767)開(kāi)始的n個(gè)

42、緩沖存儲(chǔ)器的數(shù)據(jù)讀入PLC,并存入從(D)開(kāi)始的n個(gè)數(shù)據(jù)寄存器中,n = 132767。 4寫(xiě)特殊功能模塊指令TO 圖4-87中的X0為ON時(shí),TO指令將PLC基本單元中從(S)指定的軟元件開(kāi)始的n個(gè)字的數(shù)據(jù),寫(xiě)到編號(hào)為m1的特殊功能模塊中從編號(hào)m2開(kāi)始的n個(gè)緩沖存儲(chǔ)器中。4.9 外部設(shè)備指令外部設(shè)備指令 6電位器值讀出指令 FX2N-8AV-BD是內(nèi)置式8位8路模擬量功能擴(kuò)展板,板上有8個(gè)小電位器,用電位器值讀出指令VRRD讀出的數(shù)據(jù)(0255)與電位器的角度成正比。源操作數(shù)(S)為常數(shù)07,是模擬量的編號(hào)。 7電位器刻度指令 模擬量功能擴(kuò)展板電位器刻度指令VRSC將從(S)指定的電位器讀出

43、的數(shù)四舍五入,整量化為010的整數(shù)值,存放在(D)中,這時(shí)電位器相當(dāng)于一個(gè)有11檔的模擬開(kāi)關(guān)。 圖4-91通過(guò)VRSC指令和解碼指令DECO,根據(jù)模擬開(kāi)關(guān)的刻度010來(lái)分別控制M0M10的ON/OFF。 8PID運(yùn)算指令將在7.2節(jié)介紹。4.10 其他指令其他指令4.10.1 時(shí)鐘運(yùn)算指令時(shí)鐘運(yùn)算指令 1時(shí)鐘數(shù)據(jù) PLC內(nèi)的實(shí)時(shí)鐘的年、月、日、時(shí)、分和秒分別用D8018D8013存放,D 8019存放星期值(見(jiàn)表4-4)。實(shí)時(shí)鐘命令使用下述的特殊輔助繼電器: M8015(時(shí)鐘設(shè)置):為ON時(shí)時(shí)鐘停止,在它的下降沿寫(xiě)入時(shí)間。 M8016(時(shí)鐘鎖存):為ON時(shí)時(shí)鐘數(shù)據(jù)被凍結(jié),但是時(shí)鐘繼續(xù)運(yùn)行。 M

44、8017(30秒校正):在它的下降沿時(shí)如果當(dāng)前時(shí)間為029秒,修正為0秒,如果為3059秒,將秒變?yōu)?,向分進(jìn)一位。 M8018(實(shí)時(shí)鐘標(biāo)志):為ON時(shí)表示PLC安裝有實(shí)時(shí)鐘。 M8019(設(shè)置錯(cuò)誤):設(shè)置的時(shí)鐘數(shù)據(jù)超出了允許的范圍。 2時(shí)鐘數(shù)據(jù)讀取指令 圖4-92中的TRD指令在秒時(shí)鐘脈沖M8013的上升沿讀出時(shí)鐘數(shù)據(jù),保存在D20D26中,它們分別是年的低2位、月、日、時(shí)、分、秒和星期的值。 3時(shí)鐘數(shù)據(jù)比較指令 圖6-78中的時(shí)鐘數(shù)據(jù)比較指令TCMP的源操作數(shù)(S1)、(S2)和(S3)分別用來(lái)存放指定時(shí)刻的時(shí)、分、秒。時(shí)鐘數(shù)據(jù)的時(shí)、分、秒分別用(S)(S)+2存放。該指令用來(lái)比較指定時(shí)刻與時(shí)鐘數(shù)據(jù)(S)的大小。比較結(jié)果用來(lái)控制(D)(D)+2的ON/OFF。 4時(shí)鐘數(shù)據(jù)區(qū)間比較指令TZCP TZCP指令的源操作數(shù)(S1)、(S2)和(S)分別占用3個(gè)數(shù)據(jù)寄存器,(S)指定的D0D2分別用來(lái)存放TRD讀出的當(dāng)前時(shí)、分、秒的值。 【例4-5】設(shè)計(jì)路燈控制程序,在19:45開(kāi)燈,6:15關(guān)燈。 圖4-92中的D23D25是TZCP

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論