




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、PLC功能指令教學目的1、 掌握功能指令的使用格式。2、 掌握跳轉指令的使用及其特點。3、 掌握中斷指令的使用及其特點。4、 掌握子程序調用指令的使用及其特點。 一、FX系列可編程控制器功能指令概述1 功能指令的通用表達形式2 數據長度 3 功能指令類型4 位元件5 變址寄存器V、Z1 功能指令的通用表達形式圖8-2 應用指令的表示形式及要素二、程序流程控制功能指令條件跳轉指令CJ子程序調用指令CALL與返回指令SRET中斷返回指令IRET、允許中斷指令EI與禁止中斷指令DI主程序結束指令FEND監視定時器刷新指令WDT循環開始指令FOR與循環結束指令NEXT 條件跳轉指令CJ CJ、CJP指
2、令用于跳過順序程序某一部分的場合,以減少掃描時間。條件跳轉指令CJ應用說明如圖 圖8-9 手動/自動轉換程序 圖8-4 條件跳轉指令使用說明 子程序調用指令CALL與返回指令SRET 子程序應寫在主程序之后,即子程序的標號應寫在指令FEND之后,且子程序必須以SRET指令結束。圖8-10 子程序在梯形圖中的表示 中斷返回指令IRET、允許中斷指令EI與禁止中斷指令DI 圖8-13 外部輸入中斷子程序* 主程序結束指令FEND FEND指令表示主程序的結束,子程序的開始。程序執行到FEND指令時,進行輸出處理、輸入處理、監視定時器刷新,完成后返回第0步。 FEND指令通常與CJ-P-FEND、C
3、ALL-P-SRET和I-IRET結構一起使用(P表示程序指針、I表示中斷指針)。CALL指令的指針及子程序、中斷指針及中斷子程序都應放在FEND指令之后。CALL指令調用的子程序必須以子程序返回指令SRET結束。中斷子程序必須以中斷返回指令IRET結束。監視定時器刷新指令WDT 如果掃描時間(從第步到END或FEND)超過100ms,PLC將停止運行。在這種情況之下,應將WDT指令插到合適的程序步(掃描時間不超過100ms)中刷新監視定時器。循環開始指令FOR與循環結束指令NEXT FORNEXT之間的程序重復執行n次(由操作數指定)后再執行NEXT指令后的程序。循環次數n的范圍為13276
4、7。若n的取值范圍為-327670,循環次數作1處理。 FOR與NEXT總是成對出現,且應FOR在前,NEXT在后。FORNEXT循環指令最多可以嵌套5層。 利用CJ指令可以跳出FORNEXT循環體。 循環指令由FOR及NEXT二條指令構成,這二條指令總是成對出現的。如梯形圖821所示。 圖8-21 循環指令使用說明* 傳送與比較指令 比較指令CMP 區間比較指令ZCP 傳送指令MOV 移位傳送指令SMOV 取反傳送指令CML 塊傳送指令BMOV 多點傳送指令FMOV 數據交換指令XCH BCD變換、BIN變換指令 比較指令CMP CMP指令有三個操作數:兩個源操作數S1.和S2.,一個目標操
5、作數D.,該指令將S1.和S2.進行比較,結果送到D.中。CMP指令使用說明如圖所示。 如要清除比較結果,要采用復位RST指令。如圖8-23。 圖8-23 比較結果復位 區間比較指令ZCP ZCP指令是將一個操作數S.與兩個操作數S1.和S2.形成的區間比較,且S1.不得大于S2.,結果送到D.中。ZCP指令使用說明如圖5.15所示。 在不執行指令清除比較結果時,可采用圖8-23進行比較結果復位。 傳送指令MOV MOV指令將源操作數的數據傳送到目標元件中,即S.D.。MOV指令的使用說明如圖所示。當X0為ON時,源操作數S.中的數據K100傳送到目標元件D10中。當X0為OFF,指令不執行,
6、數據保持不變。 (3) 位軟元件的傳送,可用圖8-28中右圖MOV指令來表示左圖的順控程序。移位傳送指令SMOV 首先將二進制的源數據(D1)轉換成BCD碼,然后將BCD碼移位傳送,實現數據的分配、組合。源數據BCD碼右起從第4位(m1=4)開始的2位(m2=2)移送到目標D2/的第3位(n=3)和第2位,而D2/的第4和第1兩位BCD碼不變。然后,目標D2/中的BCD碼自動轉換成二進制數,即為D2的內容。BCD碼值超過9999時出錯。 2移位傳送指令應用 (1)圖8-31是三位BCD碼數字開關與不連續的輸入端連接實現數據的組合。 塊傳送指令BMOV BMOV指令是從源操作數指定的元件開始的n
7、個數組成的數據塊傳送到指定的目標。如果元件號超出允許的元件號范圍,數據僅傳送到允許的范圍內。BMOV指令的使用說明如圖所示。數據交換指令XCH XCH指令是將兩個目標元件D1和D2的內容相互交換。使用說明如圖所示。 BCD變換、BIN變換指令 BCD是將源元件中的二進制數轉換為BCD碼送到目標元件中。對于l 6位或32位二進制操作數,若變換結果超出0-9999或0-99999999的范圍就會出錯。 BCD指令常用于將PLC中的二進制數變換成BCD碼輸出以驅動LED顯示器。 BIN是將源元件中的BCD碼轉換為二進制數送到目標元件中。常數K不能作為本指令的操作元件。如果源操作數不是BCD碼就會出錯
8、。 BIN指令常用于將BCD數字開關的設定值輸入到PLC中。 電動機的Y起動控制用PLC基本邏輯指令編程實現三相異步電動機Y起動,KM3(星形接觸器)先閉合,KM1(主接觸器)再閉合,經過3s延時KM3斷開,KM2(三角形接觸器)閉合。I/O分配:停止按鈕(X0),起動按鈕(X1),熱繼電器常開觸點(X2),主接觸器KM1(Y0),星形接觸器(KM3),三角形接觸器KM2(Y1)。外置計數器算術運算和邏輯運算指令加法指令ADD、減法指令SUB 乘法指令MUL、除法指令DIV 加1指令INC、減1指令DEC 字邏輯運算指令(FNC26FNC29) 加法指令ADD、減法指令SUB ADD指令是將指
9、定的源元件中的二進制數相加,結果送到指定的目標元件中去。每個數據的最高位作為符號位(0為正,1為負),運算是二進制代數運算。 減法指令SUB與ADD指令類似。 乘法指令MUL、除法指令DIV MUL指令是將兩個源元件中的數據的乘積送到指定目標元件。如果為16位數乘法,則乘積為32位,如果為32位數乘法,則乘積為64位,如圖5.25所示。數據的最高位是符號位。 加1指令INC、減1指令DEC INC、DEC指令操作數只有一個,且不影響零標志、借位標志和進位標志。 在16位運算中,32767再加1就變成了-32768。32位運算時,2147483647再加1就變成-2147483648。DEC指令
10、與INC指令處理方法類似。 二、算術及邏輯運算指令應用實例四則運算式的實現 編程實現: 算式的運算。式中“X”代表輸入端口K2X000送入的二進制數,運算結果送輸出口K2Y000;X020為啟停開關。 二、算術及邏輯運算指令應用實例彩燈正序亮至全亮、反序熄至全熄再循環控制 實現彩燈控制功能可采用加1、減1指令及變址寄存器Z來完成的。彩燈有12盞,各彩燈狀態變化的時間單位為1s,用秒時鐘M8013實現。圖中X001為彩燈控制開關,X001=OFF時,禁止輸出繼電器M8034=1,使12個輸出Y000Y014為OFF。M1為正、反序控制。 一、循環與移位控制類指令說明(一)循環右移和循環左移指令
11、該類指令的助記符、指令代碼、操作數、程序步如表所示。表循環右移、左移指令的要素指令名稱指令代碼位數助記符操作數范圍程序步D()n循環右移FNC 30(1632)RORROR(P)KnY、KnM、KnST、C、D、V、ZK、H移位量n16(16位)n32(32位)ROR、RORP5步DROR、DRORP9步循環左移FNC 31(1632)ROLROL(P)ROL、ROLP5步DROL、DROLP9步圖8-62 循環移位指令使用說明*第六節 數據處理指令及其應用 數據處理指令含批復位指令、編、譯碼指令以及平均值計算指令等。其中批復位指令可用于數據區的初始化,編、譯碼指令可用于字元件中某個置1位的位
12、碼的編譯。一、數據處理指令說明(一)區間復位指令 1區間復位指令的使用說明 該指令的助記符、指令代碼、操作數、程序步如表833所示。表833區間復位指令的要素 區間復位指令也稱為成批復位指令,使用說明如圖870所示。 指令名稱指令代碼位數助記符操作數范圍程序步D1()D2()區間復位FNC 40(16)ZRSTZRST(P)Y、M、S、T、C、D(D1元件號D2元件號)ZRST、ZRSTP5步 圖870所示中,當M8002由0FFON時,執行區間復位指令。位元件M500M599成批復位、字元件C235C255成批復位、狀態元件S0S127成批復位。 目標操作數D1()和D2()指定的元件應為同
13、類軟元件,D1()指定的元件號應小于等于D2()指定的元件號。若D1()的元件號大于D2()的元件號,則只有D1()指定的元件被復位。 該指令為16位處理指令,但是可在D1()、D2()中指定32位計數器。不過不能混合指定,即不能在D1()中指定16位計數器,在D2()中指定32位計數器。2與其它復位指令的比較 (1)采用RST指令僅對位元件Y、M、S和字元件T、C、D單獨進行復位。不能成批復位。 (2)也可以采用多點傳送指令FMOV(FNC 16)將常數K0對KnY、KnM、KnS、T、C、D軟元件成批復位。 這類指令的應用如圖8-71所示。圖8-72 解碼指令的使用說明 解碼指令所謂編碼,
14、就是將源操作數中的“1”編為二進制數。比如:電梯位置是位信號,即某位為1或0,圖8-74 編碼指令的使用說明 圖8-81 單按鈕控制五臺電機運行的梯形圖* 數據處理指令應用第七節高速處理指令及應用 高速處理指令(FNC 50FNC 59)可以按最新的輸入輸出信息進行程序控制,并能有效利用數據高速處理能力進行中斷處理.一、 高速處理指令說明 配有高速計數器的可編程序控制器,一般都具有利用軟件調節部分輸入口濾波時間及對一定的輸入輸出口進行即時刷新的功能。(一)輸入輸出刷新指令圖8-83 輸入輸出刷新指令的使用說明 (二)濾波調整指令圖8-84 濾波調整指令的使用說明 (三)矩陣輸入指令 圖8-85
15、 矩陣輸入指令使用說明 (四) 高速計數器比較置位和比較復位指令 用于需要立即向外部輸出高速計數器的當前值與設定值比較結果時置位、復位的場合。圖8-86 高速計數器比較置位、比較復位指令使用說明圖8-87 高速計數器比較置位、復位指令的應用 (三)高速計數器區間比較指令圖8-88 高速計數器區間比較指令的使用說明 圖8-89 脈沖密度指令使用說明 (五)脈沖密度指令(六)脈沖輸出指令 圖8-90 脈沖輸出指令使用說明 (七)脈寬調制指令 該指令可用于指定脈沖寬度、脈沖周期、產生脈寬可調脈沖輸出的場合。圖8-91 脈寬調制指令使用說明 該指令是帶有加減速功能的定尺寸傳送脈沖輸出的指令。其功能是對
16、所指定的最高頻率進行定加速,直到達到所指定的輸出脈沖數,再進行定減速。使用說明如圖8-92。圖8-92(a)為指令梯形圖,當X010置于OFF時,中斷輸出,再置為ON時,從初始動作開始定加速,達到所指定的輸出脈沖數時,再進行定減速。其波形如圖8-92(b)。 梯形圖中各操作數的設定內容是: 圖8-92 可調速脈沖輸出指令使用說明 第九節 FX2N系列PLC外部設備I/O指令 FX2N系列可編程控制器備有可供與外部設備交換數據的外部設備I/O指令。這類指令可以通過最少量的程序和外部布線,簡單地進行復雜的控制。因此,這類指令具有與上述方便指令近似的性質。此外,為了控制特殊單元、特殊模塊,還有對它們
17、緩沖區數據進行讀寫的FROM、TO指令。外部設備I/O指令共有十條,指令代碼為FNC70FNC79,下面對這類指令進行介紹。圖8-110 十鍵輸入指令使用說明 (二)十六鍵輸入指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表864。表864十六鍵輸入指令的要素指令名稱 指令代碼位數助記符操作數程序步S()D1()D2()D3()十六鍵輸入FNC 71(1632)HKY(D)HKYX4個連號元件Y 4個連號元件T、C、D、V、ZY、M、S8個連號元件HKY9步(D)HKY17步 十六鍵指令是使用十六鍵鍵盤輸入數字及功能信號的指令。HKY指令梯形圖格式如圖8111。 圖8-111 16鍵輸
18、入指令使用說明十六鍵分為數字鍵和功能鍵。1、數字鍵 從10個數字鍵輸入的09999數字以二進制碼存于D2 ()指定的D0中,數大于9999時將溢出,如圖8112(a)所示。 用(D)HKY指令時,099999999的數字存于D1和D0中。多個鍵同時按下時先按下的鍵有效。2、功能鍵 功能鍵AF與M0M5的關系如圖8-112(b)所示。按下A鍵,M0置1并保持。按下D鍵,M0置0且M3置1并保持。其余類推。同時按下多個鍵時,先按下的鍵有效。在應用程序中可使用M0M5作為AF鍵的啟動信息。3、鍵掃描輸出 按下(數字鍵或功能鍵)鍵被掃描到后,執行完畢標志M8029置1。功能鍵AF的任一個鍵被按下期間,
19、M6置1(不保持)。數字鍵09的任一個鍵被按下期間,M7置1(不保持)。當X004變為OFF時,D0保持不變,M0M7全部為OFF。 十六鍵輸入指令掃描全部16鍵需要掃描8次,一般情況需8個掃描周期。即執行所需的時間取決于程序的執行速度。同時,執行速度將受相應的輸入時間限制。如果掃描時間太長,則應該設置一個時間中斷來加快鍵輸入信息的采集。當使用時間中斷程序后,必須要使輸入端在執行HKY前及輸出端在執行HKY后能重新工作,這一過程可以用輸入輸出刷新指令REF來完成。 時間中斷的設置時間要稍長于輸入端重新工作的時間。對于普通輸入,要設置15ms或更長一些,對高速輸入設置10ms較好。圖8113是使
20、用時間中斷程序中用十六鍵指令HKY來加速輸入響應的梯形圖。若預先將具有數據處理功能的M8167置1,可將0F的十六進制數據原封不動地寫入D()。 HKY指令在程序中只能用一次。HKY指令只能適用于晶體管輸出的可編程控制器。 (三)數字開關指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表865。表865數字開關指令的要素指令名稱指令代碼位數助記符操作數程序步S()D1()D2()n數字開關FNC 72(16)DSWX4個連號Y4個連號T、C、D、V、ZK、Hn=1或2DSW9步 數字開關指令是輸入BCD碼開關數據的專用指令,可用來讀入1組或2組4位數字開關的設置值。在一個程序中,此指令可
21、以使用二次。指令的使用說明如圖8114所示。圖8-114 數字開關指令使用說明 (四)七段碼譯碼指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表866。表866七段碼譯碼指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()七段碼譯碼FNC 73(16)SEGDSEGD(P)K、H、KnX、KnY、KnM、KnS、T、C、D、V、ZKnY、KnM、KnS、 T、C、D、V、ZSEGD、SEGD(P)5步 七段碼譯碼指令是驅動1位七段碼顯示器顯示16進制數據指令。使用說明如圖8115所示。 圖8115所示中S()指定的軟元件存儲待顯示數據,該元件低4位(只用低四位)存放的是待顯示的
22、十六進制數。譯碼后的七段碼存于D()指定元件的低8位中,高8位保持不變。譯碼表見表867。 表中B0是位元件的起始號(例如Y000)或字元件的最后位。圖8-115 七段碼譯碼指令使用說明表867七段碼譯碼表 S()7段碼組合數字D()顯示數據16進制2進制B7B6B5B4B3B2B1B00000000111111100010000011020010010110113001101001111401000110011050101011011016011001111101701110010011181000011111119100101101111A101001110111B101101111100
23、C110000111001D110101011110E111001111001F111101110001(五)帶鎖存七段碼顯示指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表868。表868帶鎖存七段碼顯示指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()n帶鎖存七段碼顯示FNC 74(16)SEGLK、H、KnX、KnY、KnM、KnS、T、C、D、V、ZYK、Hn=07SEGD、SEGD(P)5步 該指令是驅動四位一組或二組帶鎖存七段碼顯示器顯示的指令,在程序中指令可以使用二次。指令使用說明如圖8-116 圖8-116 帶鎖存七段碼顯示指令的使用說明及帶鎖存七段碼顯示器與
24、PLC的連接表8-69 七段碼顯示器邏輯 區分正邏輯負邏輯數據輸入以高電平變為BCD碼以低電平變為BCD碼選通脈沖信號以高電平保持鎖存的數據以低電平保持鎖存的數據表8-70 帶鎖存的七段碼顯示指令中參數n的選擇 數據輸入選通脈沖信號參數 n四位一組四位二組一 致 一致04不一致15不 一 致一致26不一致37注意:(1)指令進行四位一組或二組進行顯示,需要12個運算周期時間。為了執行一系列顯示,要求PLC的掃描周期(即運算周期)在10ms 以上,不足10ms時,應使用恒定掃描模式,用10ms以上的掃描周期定時運行。 (2)四位數輸出結束后,“執行完畢”標志M8029動作。 (3)指令的驅動條件
25、X000=ON時,指令反復動作,但在一系列動作過程中,若X000變為OFF,指令動作中斷,X000再為ON時,指令從初始動作開始。 (4)FX2N系列PLC晶體管輸出為ON時電平約為1.5V,使用的七段碼顯示器應與此相應的輸出電壓相匹配。(六)方向開關指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表871。表871方向開關指令的要素指令名稱指令代碼位數助記符操作數程序步S()D1()D2()n方向開關FNC 75(16)ARWSX、Y、M、S T、C、D、V、ZYK、Hn=03ARWS 9步 該指令能夠通過位移位、各位數值增減的方向開關輸入數據,一邊觀察四位一組帶鎖存七段碼顯示器,一邊
26、將目的數值寫入D1()指定的元件中。指令使用說明如圖8-117 。圖8-117 方向開關指令使用說明 注意事項:(1)指令要求PLC是晶體管輸出型; (2)指令與PLC的掃描周期(運算周期)同步執行。掃描時間短時,請用恒定掃描模式或定時中斷,按一定時間間隔運行。(七)ASCII碼轉換指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表872。表872ASCII碼轉換指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()ASCII碼轉換FNC 76(16)ASC由微機輸入的A、B、C、D、E、F、G、H、8個 字母數字T、C、DASC11步 該指令可以將AH八個字母數字轉換為ASCII
27、碼。使用說明如圖8-118。 圖8-118 ASCII碼轉換指令的使用說明 (八) ASCII碼打印指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表873。表873ASCII碼打印指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()ASCII碼打印FNC 77(16)PRT、C、DY10個連號輸出元件PR5步 ASCII碼打印指令的使用說明如圖8-119。 圖8-119 ASCII碼打印指令使用說明 注意事項: (1)若X000在指令執行中被置為OFF時,發送被中斷,再次置為ON時,從頭開始發送。 (2)該指令與掃描周期定時同步,若掃描時間短時,恒定掃描模式又過長時,應采用定時
28、中斷驅動。PLC須使用晶體管輸出型的。(九)緩沖存儲器(BFM)讀出/寫入指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表874。表874BFM讀出/寫入指令的要素指令名稱指令代碼/位數助記符操作數程序步m1m2D()/S()nBFM讀出FNC 78(16/32)FROMFROM(P)K、Hm1=07特殊單元,特殊模塊號K、Hm2=031(BFM)號KnY、KnM、KnS、T、C、D、V、ZK、Hn=132/16位n=116/32位 傳送字點數FROM、FROMP9步DFROM、DFROMP17步 BFM寫入FNC 79(16/32)TOTO(P)K、H、KnX、KnY、KnM、KnS
29、、T、C、D、V、ZTO、TOP9步DTO、DTOP17步 FROM指令具有將增設的特殊模塊號中的緩沖存儲器(BFM)的內容讀到可編程控制器的功能。16位BFM讀出指令梯形圖如圖8-120(a)所示。 FX2N系列PLC最多可連接8個增設的特殊(功能)模塊,并且賦予模塊號,模塊編號從最靠近基本單元開始順序編為No.0No.7,模塊號可供FROM/TO指令指定哪個模塊工作。有些增設的特殊模塊中內藏有32個16位RAM(例如4通道12位模擬量輸入輸出轉換模塊FX2N-4AD、FX2N-4DA),稱為緩沖存儲器(BFM),緩沖存儲器編號范圍為#0#31,其內容根據各模塊的控制目的而設定。 圖8-12
30、0 FROM/TO指令的使用說明 注意事項: (1)若為16位指令對BFM處理時,傳送的點數n是點對點的單字傳送。如圖8-121所示。圖8-121 16位/32位指令對BFM處理時傳送點n的意義 (2)FROM/TO指令的執行受中斷允許繼電器M8028的約束。 當M8028OFF時,FROM/TO指令執行過程中,為自動中斷禁止狀態,輸入中斷、定時中斷不能執行。此期間程序發生的中斷,只有在FROM/TO指令執行完畢后才能立即執行。FROM/TO指令在中斷程序中也可以使用。 當M8028ON時,FROM/TO指令執行過程中,中斷發生時,立即執行中斷。但是,在中斷程序中,不能使用FROM、TO指令。
31、 二、外部設備I/O指令應用(一)對指定的定時器的當前值顯示和修改設定值的編程 指定定時器的號碼采用3位數字開關如圖8-122(a);對定時器的當前值顯示和設定值修改采用4位一組帶鎖存的七段碼顯示器,用方向開關修改設定值,如圖8-122(b)所示。操作要求: 每次按方向開關上讀出/寫入鍵(X004)時,讀出,寫入LED燈切換點亮; 讀出時,用3位數字開關指定定時器號碼后,按設定鍵(X003),顯示指定定時器的當前值; 寫入時,用方向開關一邊觀察七段碼顯示器,一邊修改設定值,修改后按設定鍵(X003),改變指定定時器的原設定值。圖8-122 指定定時器號碼的3位數字開關、顯示當前值顯示器和 改變
32、設定值的方向開關根據操作要求編程如圖8-123。 (二)FX2N可編程控制器的模擬輸入模塊中BFM讀/寫的編程 FX2N-4AD模擬輸入模塊是特殊功能模塊之一。FX2N-4AD模塊在基本單元FX2N-64MR的右擴展總線上的編號為No.0,它的4個通道僅開通CH1和CH2兩個通道作為電壓量輸入通道, #0BFM對4個通道初始化的十六進制4位數字為H3300(從最低位到最高位數字分別控制通道1通道4,每位數字可由03表示,0表示設定輸入電壓范圍為-10V+10V;1表示設定輸入電流范圍為+4mA+20mA;2表示設定輸入電流范圍為-20mA+20mA;3表示關閉通道)。要求編程計算模擬輸入模塊4
33、次取樣的平均值(平均值取樣次數應寫入#1和#2 BFM中,平均值由#5和#6 BFM計算),結果存入PLC的數據寄存器D0、D1中。程序如圖8-124所示。圖8-124 FX2N-4AD模擬輸入模塊4 次采樣平均值程序 第十節 FX2N系列PLC外部串行口設備指令 FX2N系列PLC外部串行口設備指令是對連接串行口的特殊附件進行控制的指令。運用RS232、RS422/RS485通道,可以很容易配置一個與外部計算機進行通訊的系統,在系統中,PLC接受系統中各種控制信息,處理后轉換為PLC中軟元件的狀態和數據;PLC又可以將所有軟元件的數據和狀態送往計算機,由計算機采集這些數據進行分析及運行狀態監
34、測,用計算機改變PLC的初始值和設定值,從而實現計算機對PLC的直接控制。這部分指令代碼范圍為FNC80FNC86、另外還包括FNC88(PID運算)指令,共八條。一、串行通訊傳送指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表875。表875串行通訊傳送指令的要素指令名稱指令代碼位數助記符操作數程序步S()mD()n串行通訊傳送FNC 80(16)RSDK、H、D(m=0256)DK、H、D(n=0256)RS9步 該指令可以與所使用的功能擴展板進行發送接收串行數據。RS指令的使用說明如圖8-125。 圖8-125中,S()指定發送數據單元的首地址;m指定發送數據的長度(也稱點數);
35、D()指定接收數據的首地址;n指定接收數據的長度。1RS指令傳送數據格式的設定 RS指令傳送數據的格式是通過特殊數據寄存器D8120來設定的。D8120中存放著兩個串行通訊設備數據傳送的波特率、停止位和奇偶校驗等參數,通過D8120中位組合來選擇數據傳送格式的設定。D8120通訊格式如表8-76 。 數據傳送格式的設定可用傳送指令對D8120內容修改,如圖8-126。 圖中設定參數后三位的含義是:E表示數據長度為7位,偶校驗,2位停止位;9表示傳送波特率為19200 bps;F表示有起始字符STX、結束字符ETX,控制線信號為硬件握手(H/W)信號,調制解調(MODEM)模式。 表8-76 D
36、8120 通訊格式 D8120各位說明位狀態01b 0數據長度7位8位b 1b 2奇偶校驗(00):無校驗;(01):奇校驗;(11):偶校驗b 3停止位1位2位b 4b 5b 6b 7波特率(bps)(0011):300 (0111):4800(0100):600 (1000):9600(0101):1200 (1001):19200(0110):2400b 8起始字符無有(D8124) *1b 9結束字符無有(D8125) *2b10 控制線無H/W *3B11 模式一般模式調制解調模式b12b15未使用注意事項: (1)在指定起始字符和結束字符發送時它們自動加到發送信息的兩端。 (2)在
37、接收信息過程中,若接收不到起始字符,數據將被忽略; (3)由于數據傳送直到收到結束字符或接收緩沖區全部占滿為止,因此接收緩沖區長度應與接收的信息長度要一致。 (4)RS指令執行中,修改D8120參數,指令不接收新的傳送格式。 (5)若不進行數據發送/接收,可將指令的發送和接收點數設為K 0。2RS指令自動定義的軟元件 串行通訊傳送指令執行時,會自動定義一些特殊標志繼電器和數據寄存器,根據它們中的內容來控制數據的傳送。指令定義的這些軟元件及功能如表8-77所示。3指令執行說明 現結合圖8-127中M8161=OFF,16位數據傳送過程及動作時序對RS指令執行進行說明。 表8-77 RS指令自動定
38、義的軟元件 數據元件說 明操作標志說 明D8120存放傳送格式參數M8121ON時,傳送延遲,直到接收數據完成D8122存放當前發送的信息中尚未發出的字節M8122ON時,用來觸發數據的傳送D8123存放已接收到的字節數M8123ON時,表示一條信息已被完全接收D8124存放信息起始字符串的ASCII碼,缺省值為“STX”。M8124載波檢測標志,用于調制解調的通訊中D8125存放一條信息結束字符串的ASCII碼,缺省值為“ETX”。M81618位或16位操作模式。ON時,為8位操作模式,源或目標元件中只有低8位有效;OFF時為16位操作模式,即源或目標元件中全部16位有效。圖8-127 M8
39、161=OFF,RS指令傳送16位數據過程及動作時序4指令應用舉例 圖8-128是將數據寄存器D200D204中的10個數據按16位數據傳送模式發送出去;并將接收的數據存入D70D74中的程序。二、八進制位并行傳送指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表878。圖8-128 串行通訊傳送指令的應用 表878八進制位并行傳送指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()八進制位 并行傳送FNC 81(16/32)PRUN(D)PRUN(P)KnX、KnM、(n=18)指定元件號最低位為0KnY、KnM、(n=18)指定元件號最低位為0PRUN,PRUNP5步DPRU
40、N,DPRUNP9步該指令可將源操作數元件號和目標操作數元件號以八進制位為單位,將源操作數并行傳送到指定的位元件區域。指令使用說明如圖8-129。圖8-129 八進制位傳送指令使用說明三、HEX與ASCII碼變換指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表879。 表879HEX與ASCI變換指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()n HEXASCI變換FNC 82(16)ASCIASCI(P)K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z KnY、KnM、KnS、T、C、DK、H(1256)ASCI,ASCIP7步 A SCIHEX變換FNC 83
41、(16)HEXHEX(P)KnY、KnM、KnS、T、C、D、V、ZHEX,HEXP7步 HEXASCI變換指令可將每個十六進制數轉換為八位的ASCII碼數據傳送到指定單元存放;而ASCIHEX變換是將每個八位ASCII碼數據轉換為四位十六進制數據傳送到指定單元存放。變換模式在M8161(M8161與RS,HEX,CCD指令共用)的狀態下有16位變換模式和8位變換模式兩種。 1HEXASCI變換指令使用說明 圖8-130是HEXASCII變換指令的16位轉換模式,n=4的位構成舉例說明。 2ASCIIHEX變換指令使用說明 圖8-132是ASCIIHEX指令的16位轉換模式,n=K4的位構成舉
42、例。圖8-133是ASCIIHEX指令的8位轉換模式, n=K2的位構成舉例。 注意事項: (1)使用打印等輸出BCD碼時,在執行HEXASCII指令前,需要進行BINBCD轉換。同理,輸入數據為BCD碼時,在ASCIIHEX指令執行后,需要BCDBIN轉換 (2)在ASCIIHEX指令中,若S()指定元件中不是ASCII碼,則轉換出錯。尤其是在M8161=OFF,16位轉換模式時,S()的高8位也需要是ASCII碼,請注意。四、校驗碼指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表880。表880校驗碼指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()n校驗碼FNC 84(
43、16)CCDCCD(P)KnX、KnY、KnM、KnS、T、C、DKnM、KnS、T、C、DK、H(n=1256)CCD,CCDP7步 該指令可用于通信數據的校檢。指令在M8161(M8161與RS,HEX,CCD指令共用)的狀態下也有16位變換模式和8位變換模式兩種校驗操作。指令使用說明如圖8-134。圖8-134 校驗碼指令使用說明五、模擬量輸入和模擬量開關指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表881。表881模擬量輸入和模擬量開關指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()模擬量輸入(模擬電位器值讀出)FNC 85(16)VRRDVRRD(P)K、H(電
44、位器編號 07)KnY、KnM、KnS、T、C、D、V、ZVRRD、VRRDP 5步模擬量開關設定(模擬電位器刻度讀出)FNC 86(16)VRSCVRSC(P)VRSC、VRSCP 5步1.模擬量輸入指令使用說明 模擬量輸入指令可以根據模擬電位器的模擬值(010)轉換為0255的八位BIN值讀出。指令使用說明如圖8-135(a)。2.模擬量開關設定指令使用說明 模擬量開關設定指令可以根據模擬電位器的旋轉刻度(旋轉刻度變化中應通過四舍五入化整為010的整數值)轉換成BIN值讀出。指令使用說明如圖8-135(b)。3.模擬量輸入和模擬量開關設定指令的應用 模擬量輸入和設定指令的應用程序如圖8-1
45、36所示。 圖8-135 模擬量輸入、模擬量開關設定指令使用說明圖8-136模擬量輸入和模擬量開關設定指令的應用 第十一節 浮點數運算指令及應用 FX2N系列可編程控制器可以實現浮點數運算的轉換、比較、四則運算、開方運算、三角函數等功能。浮點數運算指令共有13條。 FX2N系列可編程控制器是采用編號連續的一對數據寄存器來存放二進制浮點數的。例如(D11、D10)中存放二進制浮點數的形式如圖8-143。若b0b31全為0,浮點數為0(零標志M8020=ON)。 二進制浮點值= 例如:A22=1,A21=0,A19A0=0;E7=1,E6E1=0,E0=1,則按上式可求出二進制浮點值= 注意: 正
46、負是由b31的符號決定的,不是補碼處理。 有時候二進制浮點數對用戶難以判斷數值,因此在FX2N PLC中可使用FNC118(DEBCD)指令將其轉換為十進制浮點數值。但是PLC內部運算仍采用的是二進制浮點數。 PLC轉換的十進制浮點數也是采用編號連續的一對數據寄存器來存放的,編號小的數據寄存器為尾數段,編號大的數據寄存器為指數段。例如,用MOV指令向數據寄存器(D1,D0)寫入十進制浮點數形式為 十進制浮點數=尾數D010指數D1 尾數D0=(1,0009,999)或0 指數D1=-41+35 注意: (1)D1,D0的最高位是正負符號位,都作為2的補碼處理的。另外,在D0中的尾數不存在100
47、,要表示100時,應寫成100010-1; (2)十進制浮點數的最大絕對值為:34021035;最小絕對值是:117510-41。一、二進制浮點數比較類指令(一)二進制浮點比較指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表883。表883二進制浮點比較指令的要素指令名稱指令代碼位數助記符操作數程序步S1()S2()D()二進制浮點比較FNC110(32)(D)ECMP(P)K、H、DK、H、D Y、M、S(占3點)(D)ECMP(P),(D)ECMP13步 指令使用說明如圖8-144所示,兩個源操作數內的二進制浮點數比較,根據比較結果大、小、一致,使目標操作數內三個輸出中一個動作,即
48、(D11,D10)與(D21,D20)比較,使M0,M1,M2中一個為ON。若兩個源操作數中指定的是常數K、H,自動轉換成二進制浮點值進行比較。(二)二進制浮點區間比較指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表884。表884二進制浮點區間比較指令的要素指令名稱指令代碼位數助記符操作數程序步S1()S2()S()D()二進制浮點區間比較FNC111(32)(D)EZCP(P)K、H、KnX、KnY、KnM、KnS、T、C、DS1()S2() Y、M、S(占3點)(D)EZCP(P)(D)EZCP 17步 該指令使用說明如圖8-145。當X001=ON時,指令將S()、S()+1的
49、二進制浮點值與指定的上下2點二進制浮點設定值S1(),S2()的范圍比較,使D()指定的3點位元件中某一點動作。 二、二進制浮點與十進制浮點互換指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表885。表885二進制浮點與十進制浮點互換指令的要素 指令名稱指令代碼位數助記符操作數程序步S()D()二進制浮點 十進制浮點FNC118(32)(D)EBCD(P)D D(D)EBCD(P),(D)EBCD9步十進制浮點二進制浮點FNC119(32)(D)EBIN(P)(D)EBIN(P),(D)EBIN9步1. 二進制浮點十進制浮點指令使用說明 二進制浮點轉換為十進制浮點指令說明如圖8-146
50、(a),當驅動條件X001=ON時,將源數據S()指定單元內的二進制浮點數轉換為十進制浮點數,存入D()指定的目標地址單元中。2. 十進制浮點二進制浮點指令使用說明 十進制浮點轉換為二進制浮點指令說明如圖8-146(b),當驅動條件X001=ON時,將源數據S()指定單元內的十進制浮點數轉換為二進制浮點數,存入D()指定的目標地址單元中。 圖8-146 二進制浮點與十進制浮點互相轉換指令使用說明 3指令應用 將十進制小數3.14轉換為二進制浮點數的程序如圖8-147所示。十進制小數應轉換成十進制浮點數:3.14=31410-2, 用傳送指令送入(D1,D0)中,然后執行DEBIN指令,轉換為二
51、進制浮點數。 圖8-147 十進制小數轉換為二進制浮點數程序三、二進制浮點四則運算指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表886。表886二進制浮點四則運算指令的要素 指令名稱指令代碼位數助記符操作數程序步S1()S2()D()浮點加法FNC120(32)(D)EADD(P)K、H、D D13步浮點減法FNC121(32)(D)ESUB(P)13步浮點乘法FNC122(32)(D)EMUL(P)13步浮點除法FNC123(32)(D)EDIV(P)13步(一)二進制浮點加減法指令使用說明 1二進制浮點加法指令使用說明如圖8-148(a)所示,將兩個源數據內的二進制浮點值相加后,
52、結果以二進制浮點形式存入目標數據D()指定的數據單元中。 2二進制浮點減法指令使用說明如圖8-148(b)所示,S1()指定單元內的二進制浮點值減去S2()指定單元內的二進制浮點值,其結果以二進制浮點形式存入目標數據D()指定的數據單元中。圖8-148 二進制浮點加減法指令使用說明 3二進制浮點加減法指令使用注意事項 (1)兩個操作數若為K、H常數,指令將自動轉換成二進制浮點值處理; (2)源單元號和目標單元號可以為同一元件號,此時若用的是連續執行型指令,會在每個運算周期中進行累計性加、減。 (3)運算結果若為零,零標志M8020=ON; 運算中若有借位,則借位標志M8021=ON; 運算中若
53、有進位,則進位標志M8022=ON。(二)二進制浮點乘除法指令使用說明 1二進制浮點乘法指令使用說明如圖8-149(a)所示,將兩個源數據內的二進制浮點數相乘后,積以二進制浮點形式存入目標數據D()指定的數據單元中。 2二進制浮點除法指令使用說明如圖8-149(b)所示,S1()指定單元內的二進制浮點數被S2()指定單元內的二進制浮點數除,其結果以二進制浮點形式存入目標數據D()指定的數據單元中。圖8-149二進制浮點乘除法指令使用說明 3二進制浮點乘除法指令使用注意事項 (1)兩個源操作數若為K、H常數,指令將自動轉換成二進制浮點數處理; (2)除數S2()若為0時,出現運算錯誤,除法指令不
54、執行。四、二進制浮點數開方運算指令和二進制 浮點轉換為BIN整數指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表887。表887二進制浮點數開方指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()二進制浮點開方FNC127(32)(D)ESOR(P)K、H、D(數據恒為正才有效)D(D)ESOR(P),(D)ESOR9步二進制浮點 BIN整數FNC129(16/32)INT(D)INT(P)DDINT,INT(P)5步(D)INT,(D)INT(P)9步(一)二進制浮點開方運算指令 該指令使用說明如圖8-150。當驅動條件X001=ON時,將源操作數S()指定單元內的二進制浮點
55、數值(應恒為正,否則運算出錯,M8067=ON,指令不執行)開平方運算,結果以二進制浮點形式存入目標數據D()指定的數據單元中。圖8-150 二進制浮點開方指令使用說明 源操作數若為K、H常數,指令自動轉換成二進制浮點值處理。 若運算結果為真零時,零標志M8020=ON。(二)二進制浮點BIN整數指令 指令使用說明如圖8-151,當驅動條件為ON時,源操作數S()指定單元內的二進制浮點值轉換為BIN數,舍去小數點后的值,取其BIN整數存入目標數據D()指定的數據單元中。 該指令是FNC49(FLT)指令的逆變換操作。 若轉換的BIN整數為0,零標志M8020=ON。若轉換時不滿1而發生舍掉時,
56、借位標志M8021=ON;若轉換結果超出以下范圍溢出時,進位標志M8022=ON。 圖8-151 二進制浮點值BIN整數指令使用說明 16位轉換時:-32,76832,767; 32位轉換時:-2,147,4832,147,483 五、二進制浮點三角函數指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表888。表888二進制浮點三角函數指令的要素指令名稱指令代碼位數助記符操作數程序步S()D()二進制浮點SINFNC1307(32)(D)SIN(P)D00角度3600D00角度3600(D)SIN,(D)SIN(P)9步二進制浮點COSFNC131(32)(D)COS(P) (D)COS
57、,(D)COS(P)9步二進制浮點TANFNC132(32)(D)TAN(P)(D)TAN,(D)TAN(P) 9步1.浮點SIN運算指令使用說明 浮點SIN運算指令使用說明如圖8-152。當執行條件X000=ON時,指令根據源操作數S()指定單元內的二進制浮點弧度(RAD=角度/180)求出SIN值,以二進制浮點形式送入目標數據D()指定的數據單元中。2.浮點COS運算指令使用說明 浮點COS運算指令使用說明如圖8-153。當執行條件X000=ON時,指令根據源操作數S()指定單元內的二進制浮點弧度(RAD=角度/180)求出COS值,以二進制浮點形式送入目標數據D()指定的數據單元中。 3
58、.浮點TAN運算指令使用說明 浮點TAN運算指令使用說明如圖8-154。當執行條件X000=ON時,指令根據源操作數S()指定單元內的二進制浮點弧度(RAD=角度/180)求出TAN值,以二進制浮點形式存入目標數據D()指定的數據單元中。 4指令應用 圖8-155中X001、X002可選擇輸入不同的角度,求出指定角度SIN、COS、TAN值的程序。五、高低位交換指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表889。表889高低位交換指令的要素指令名稱指令代碼位數助記符操作數程序步S()高低 位交換FNC147(16/32)(D)SWAP(P)KnY、KnM、KnS、T、C、D、V、Z
59、 SWAP、SWAP(P)5步 (D)SWAP,(D)SWAP(P)9步 該指令的使用說明如圖8-156。圖(a)為16位高低字節交換指令,當X000=ON時,16位指令將D10中高八位與低八位字節交換。圖(b)為32位高低字節交換指令,當X001=ON時,32位指令將D11、D10中的高八位與低八位字節交換。 注意: (1)若使用連續型高低交換指令時,各運算周期都將進行變換; (2)此指令的功能與FNC17(XCH)指令的擴展功能相同,請參閱圖8-39。第十二節 時鐘運算類指令及應用 時鐘運算類指令是對時刻數據進行比較、運算的指令,也可以對可編程控制器內部計時器進行對時、時鐘數據的格式轉換。
60、這類指令的功能編號范圍為FNC160163、166167,計六種。一、時鐘數據比較類指令(一)時鐘數據比較指令 指令的名稱、助記符、指令代碼、操作數和程序步數見表890。 表890時鐘數據比較指令的要素指令名稱指令代碼位數助記符操作數程序步S1S2S3 S()D()時鐘數 據比較FNC160(16)TCMP(P)K、H、KnX、KnY、KnM、KnS、T、C、D、V、Z T、C、D、(占3點)Y、M、S(占3點) TCMP、TCMP(P)11步指令使用說明如圖8-157所示 。注意事項: (1)S1()中設定值為“時”,應在023范圍內指定;S2()中設定值為“分”,應在059范圍內指定;S3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政法學核心概念與試題及答案解析
- 石墨烯火災應急預案(3篇)
- 高考作文考試常考題目及答案總結
- 高考作文歷練成長的試題與答案
- 高考作文勇氣與擔當的試題及答案
- 行政法學中多元化的實踐方法探討試題及答案
- 消火災應急預案超聲科(3篇)
- 別墅小區火災應急預案(3篇)
- 2025年軟件設計師試題及答案重要提醒
- 行政法學法治意識培養與社會實務相聯系試題及答案
- 2023年貴州黔南州人民檢察院招考聘用派遣制檢察輔助人員筆試題庫含答案解析
- 機械制造技術基礎課程設計講課用
- CMOS反相器的與設計
- 核醫學科儀器管理操作保養維修制度
- 《祝福》配套劇本 課件
- 電源板QC工程圖
- 蘇州市初一信息技術期末復習知識點整理-葵花寶典
- 小學數學小升初小升初專題復習小升初專題復習
- GB/T 8162-2008結構用無縫鋼管
- GB/T 4942.1-2001旋轉電機外殼防護分級(IP代碼)
- GB/T 32662-2016廢橡膠廢塑料裂解油化成套生產裝備
評論
0/150
提交評論