電氣控制及PLC技術(shù)結(jié)合了自動控制技術(shù)、計算機技術(shù)、通訊技術(shù), 是工業(yè)自動化技術(shù)的核心技術(shù), 教材在闡述電氣控制及PLC技術(shù)基本原理的基礎(chǔ)上, 從應用的角度出發(fā), 反映電氣控制及PLC技術(shù)在工業(yè)生產(chǎn)過程控制方面的廣泛應用。
第5章 Electrical Control and PLC Technology 數(shù)據(jù)處理、運算指令 PLC產(chǎn)生初期主要用于在工業(yè)控制中以邏輯控制來代替繼電器控制。隨著計算機技術(shù)與PLC技術(shù)的不斷發(fā)展與融合,PLC增加了數(shù)據(jù)處理功能,使其在工業(yè)應用中功能更強,應用范圍更廣。在當今自動化程度越來越高的加工生產(chǎn)線中,僅僅具備基本指令的功能是遠遠不夠的,還應該具備數(shù)據(jù)處理和運算的功能。
5.1數(shù)據(jù)處理指令 數(shù)據(jù)處理指令涉及對數(shù)據(jù)的非數(shù)值運算操作,主要包括傳送、移位、字節(jié)交換、循環(huán)移位和填充等指令。
5.1.1數(shù)據(jù)傳送指令 該類指令用來完成各存儲單元之間一個或者多個數(shù)據(jù)的傳送?煞譃閱我粋魉椭噶詈蛪K傳送指令。 1. 字節(jié)、字、雙字、實數(shù)單個數(shù)據(jù)傳送指令MOV 數(shù)據(jù)傳送指令MOV用來傳送單個的字節(jié)、字、雙字、實數(shù)。指令格式及功能如表51所示。 表51單個數(shù)據(jù)傳送指令MOV指令格式 LAD STLMOVB IN,OUTMOVW IN,OUTMOVD IN,OUTMOVR IN,OUT 操作數(shù)及數(shù)據(jù)類型 IN: VB,IB,QB,MB,SB,SMB,LB,AC及常量; OUT: VB,IB,QB,MB,SB,SMB,LB,AC IN: VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC及常量; OUT: VW,T,C,IW,QW,SW,MW,SMW,LW,AC,AQW IN: VD,ID,QD,MD,SD,SMD,LD,HC,AC及常量; OUT: VD,ID,QD,MD,SD,SMD,LD,AC IN: VD,ID,QD,MD,SD,SMD,LD,AC及常量; OUT: VD,ID,QD,MD,SD,SMD,LD,AC 數(shù)據(jù)類型: 字節(jié)數(shù)據(jù)類型: 字、整數(shù)數(shù)據(jù)類型: 雙字、雙整數(shù)數(shù)據(jù)類型: 實數(shù) 功能使能輸入有效時,即EN=1時,將一個輸入IN的字節(jié)、字/整數(shù)、雙字/雙整數(shù)或?qū)崝?shù)送到OUT指定的存儲器輸出。在傳送過程中不改變數(shù)據(jù)的大小。傳送后,輸入存儲器IN中的內(nèi)容不變 【提示】使ENO=0,即使能輸出斷開的錯誤條件是: SM4.3(運行時間)、0006(間接尋址錯誤)。 【例51】單個數(shù)據(jù)傳送指令MOV程序舉例。
(1) 將數(shù)據(jù)255傳送到VB1里面。程序如圖51所示。 圖51MOV_B指令(例51題圖) 設計分析: 當I0.1接通時,MOV_B指令將數(shù)據(jù)255傳給VB1,傳送后,VB1=255,此后,即使I0.1斷開,VB1里的數(shù)據(jù)保持255不變。
(2) 將變量存儲器VW10中的內(nèi)容送到VW100中。程序如圖52所示。 圖52MOV_W指令(例51題圖) (3) 在I0.1控制開關(guān)導通時,將VD100中的雙字數(shù)據(jù)傳送到VD200中。程序如圖53所示。 圖53MOV_DW指令(例51題圖) (4) 在I0.1控制開關(guān)導通時,將常數(shù)3.14傳送到雙字單元VD200中。程序如圖54所示。 圖54MOV_R指令(例51題圖) (5) 定時器及計數(shù)器當前值的讀取。程序如圖55所示。 圖55定時器及計數(shù)器當前值的讀取(例51題圖) (6) 定時器(計數(shù)器)設定值的間接指定。程序如圖56所示。 圖56定時器設定值的間接指定(例51題圖) 【提示】因定時器及計數(shù)器的數(shù)據(jù)類型都為整數(shù)型,因此使用傳送指令時一定要用MOV_W。 【提示】功能指令涉及的數(shù)據(jù)類型多,編程時應保證操作數(shù)在合法范圍內(nèi)。S7200 PLC不支持完全數(shù)據(jù)類型檢查。操作數(shù)的數(shù)據(jù)類型應與指令標識符相匹配。
2. 字節(jié)、字、雙字、實數(shù)數(shù)據(jù)塊傳送指令BLKMOV 該類指令可用來進行一次多個(*多255)數(shù)據(jù)的傳送。數(shù)據(jù)塊傳送指令將從輸入地址IN開始的N個數(shù)據(jù)傳送到輸出地址OUT開始的N個單元中,N的范圍為1~255,N的數(shù)據(jù)類型為字節(jié)。指令格式及功能如表52所示。 表52數(shù)據(jù)傳送指令BLKMOV指令格式 LAD STLBMBIN,OUTBMWIN,OUTBMDIN,OUT 續(xù)表 操作數(shù)及數(shù)據(jù)類型 IN: VB,IB,QB,MB,SB,SMB,LB; OUT: VB,IB,QB,MB,SB,SMB,LB; 數(shù)據(jù)類型: 字節(jié)IN: VW,IW,QW,MW,SW,SMW,LW,T,C,AIW; OUT: VW,IW,QW,MW,SW,SMW,LW,T,C,AQW; 數(shù)據(jù)類型: 字 IN/OUT: VD,ID,QD,MD,SD,SMD,LD; 數(shù)據(jù)類型: 雙字 N: VB,IB,QB,MB,SB,SMB,LB,AC及常量; 數(shù)據(jù)類型: 字節(jié); 數(shù)據(jù)范圍: 1~255 功能使能輸入有效時,即EN=1時,把從輸入IN開始的N個字節(jié)(字、雙字)傳送到以輸出OUT開始的N個字節(jié)(字、雙字)中 【提示】使ENO=0的錯誤條件: 0006(間接尋址錯誤)、0091(操作數(shù)超出范圍)。 【例52】塊傳送指令BLKMOV程序舉例。將變量存儲器VB1開始的3個字節(jié)(VB1~VB3)中的數(shù)據(jù)移至VB11開始的3個字節(jié)中(VB11~VB13)。程序如圖57所示。 圖57例52題圖
5.1.2字節(jié)交換、存儲器填充與字節(jié)立即讀寫指令
1. 字節(jié)交換與存儲器填充指令 字節(jié)交換指令用來交換輸入字IN的*高位字節(jié)和*低位字節(jié),交換結(jié)果仍存在輸入端(IN)指定的地址中。 存儲器填充指令在EN端口執(zhí)行條件存在時,用IN指定的輸入值填充從OUT指定的存儲單元開始的N個字的存儲空間。多用于字數(shù)據(jù)存儲區(qū)填充及對空間的清零。指令格式如表53所示。 表53字節(jié)交換指令使用格式及功能 LADSTL功能及說明 SWAP IN功能: 使能輸入EN有效時,將輸入字IN的高字節(jié)與低字節(jié)交換,結(jié)果仍放在IN中; IN: VW,IW,QW,MW,SW,SMW,T,C,LW,AC; 數(shù)據(jù)類型: 字 續(xù)表 LADSTL功能及說明 FILL IN,OUT,N功能: 將字型輸入數(shù)據(jù)從OUT開始的N個字存儲單元中; IN: VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,常數(shù),*VD,*AC,*LD; OUT: VW,IW,QW,MW,SW,SMW,LW,T,C,AQW,*VD,*AC,*LD; N: VB,IB,QB,MB,SB,SMB,LB,AC,常數(shù),*VD,*AC,*LD; 數(shù)據(jù)類型: IN、OUT為字型,N為字節(jié)型,取值范圍為1~255的整數(shù) 【提示】ENO=0的錯誤條件: 0006(間接尋址錯誤)、SM4.3(運行時間)。 【例53】字節(jié)交換和存儲器填充指令應用舉例,如圖58、圖59和圖510所示。
(1) 字節(jié)交換指令 圖58字節(jié)交換指令(例53題圖) 分析: 指令執(zhí)行之前VW50中的字為D6 C3; 指令執(zhí)行之后VW50中的字為C3 D6。
(2) 存儲器填充指令 圖59VM200~VM219中全部清0(例53題圖) 分析: 指令執(zhí)行之后,VW200~VW219中全部清0。 另外,如果將VW100開始的256個字節(jié)全部清0。N怎么給? 圖510VM100開始的256個字節(jié)全部清0(例53題圖) 分析: 在I0.1控制開關(guān)導通時,將VW100開始的256個字節(jié)全部清0。
2. 字節(jié)立即讀寫指令 字節(jié)立即讀指令(MOVBIR)在EN端口執(zhí)行條件存在時,讀取實際物理輸入端IN給出的1個字節(jié)的數(shù)值,并將結(jié)果寫入OUT所指定的存儲單元,但輸入映像寄存器未更新。 字節(jié)立即寫指令(MOVBIW)在EN端口執(zhí)行條件存在時,從輸入IN所指定的存儲單元中讀取1個字節(jié)的數(shù)值并寫入實際輸出OUT端的物理輸出點,同時刷新對應的輸出映像寄存器。指令格式及功能如表54所示。 表54字節(jié)立即讀寫指令格式