S7-1200指令講解(內部培訓教程)_第1頁
S7-1200指令講解(內部培訓教程)_第2頁
S7-1200指令講解(內部培訓教程)_第3頁
S7-1200指令講解(內部培訓教程)_第4頁
S7-1200指令講解(內部培訓教程)_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

內部培訓名稱:S7-1200指令講解所屬部門:XX匯報人:xxXS7-1200指令講解(內部培訓教程)全文共88頁,當前為第1頁。2.1數(shù)據(jù)處理指令.1.1比較指令S7-1200指令講解(內部培訓教程)全文共88頁,當前為第2頁。31.比較指令2.范圍內與范圍外比較指令S7-1200指令講解(內部培訓教程)全文共88頁,當前為第3頁。例-1用接通延時定時器和比較指令組成占空比可調的脈沖發(fā)生器S7-1200指令講解(內部培訓教程)全文共88頁,當前為第4頁。53.OK與NOT_OK指令S7-1200指令講解(內部培訓教程)全文共88頁,當前為第5頁。6.1.2使能輸入和使能輸出1.BCD碼:BCD(Binary-codedDecimal)是二進制編碼的十進制數(shù)的縮寫,BCD碼用4位二進制數(shù)表示一位十進制數(shù),每一位BCD碼允許的數(shù)值范圍為2#0000~2#1001;對應于十進制數(shù)0-9。4位二進制數(shù)共有16種組合,有6種組合(2#1010~2#1111)沒有在BCD碼中使用。

BCD碼的最高位二進制數(shù)用來表示符號、負數(shù)為1,正數(shù)為0;一般令負數(shù)和正數(shù)的最高4位二進制數(shù)分別為1111和0000。16位BCD碼的范圍為999十999、32位BCD碼的范圍為-999999~+9999999。-862S7-1200指令講解(內部培訓教程)全文共88頁,當前為第6頁。7撥碼開關譯碼芯片PLC的四個輸出點后接一個譯碼芯片用PLC的輸入點讀取撥碼開關的輸出S7-1200指令講解(內部培訓教程)全文共88頁,當前為第7頁。82.EN與ENO令MW32=F983,則輸出MW34=-983下列指令使用EN/ENO:數(shù)學運算指令、傳送與轉換指令、位移與循環(huán)指令、字邏輯運算指令等。下列指令不使用EN/ENO:位邏輯指令、比較指令、計數(shù)器指令、定時器指令和程序控制指令。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第8頁。9.1.3數(shù)據(jù)轉換指令1.CONV指令2.浮點數(shù)轉換為雙整數(shù)指令3.SCAL_X指令OUT=VALUE(MAX-MIN)+MIN例如:如果MAX=1000,MIN=200,則0.4→20;1.2→11604.NORM_X指令OUT=(VALUE-MIN)/(MAX-MIN)S7-1200指令講解(內部培訓教程)全文共88頁,當前為第9頁。10.1.4數(shù)據(jù)傳送指令1.MOV指令輸入輸出數(shù)據(jù)類型可以不一樣,如:MB0→MW2低字節(jié)中;MW4→MB6,但是如果MW4超過2,則只傳送低字節(jié)中的數(shù)值。2.SWAP指令IN和OUT為數(shù)據(jù)類型Word時,SWAP指令交換輸入IN的高、低字節(jié)后,保存到OUT指定的地址。

IN和OUT為數(shù)據(jù)類型Dword時,交換4個字節(jié)中數(shù)據(jù)的順序,交換后保存到OUT指定的地址。如:16#AABBCCDD→16#DDCCBBAAS7-1200指令講解(內部培訓教程)全文共88頁,當前為第10頁。113.全局數(shù)據(jù)塊和數(shù)組數(shù)組由相同數(shù)據(jù)類型的多個元素組成,數(shù)組元素的數(shù)據(jù)類型可以是所有的基本數(shù)據(jù)類型。全局數(shù)據(jù)塊的生成方法:演示S7-1200指令講解(內部培訓教程)全文共88頁,當前為第11頁。124.FILL_BLK與UFILL_BLK指令FILLBLK指令將輸入?yún)?shù)取設置的值填充到輸出參數(shù)OUT指定起始地址的目標數(shù)據(jù)區(qū)。IN和OUT必須是D、L(數(shù)據(jù)塊或塊的局部數(shù)據(jù))中的數(shù)組元素,IN還可以是常數(shù)。COUNT為填充的數(shù)組元素的個數(shù),數(shù)據(jù)類型為DInt或常數(shù)。.MOVE_BLK與UMOVE_BLK指令6.塊填充和快傳送指令的實驗(演示)S7-1200指令講解(內部培訓教程)全文共88頁,當前為第12頁。13.1.位移與循環(huán)位移指令1.位移指令移位指令SHR和SHL將輸入?yún)?shù)IN指定的存儲單元的整個內容逐位右移或左移若干位,移位的位數(shù)用輸入?yún)?shù)N來定義,移位的結果保存在輸出參數(shù)OUT指定的地址。無符號數(shù)移位和有符號數(shù)左移后空出來的位用0填充。有符號數(shù)右移后空出來的位用符號位(原來的最高位)填充,正數(shù)的符號位為0.節(jié)負數(shù)的符號位為1。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第13頁。142.循環(huán)移位指令循環(huán)移位指令ROR和ROL將輸入?yún)?shù)IN指定的存儲單元的整個內容逐位循環(huán)右移或循環(huán)左移若干位,即移出來的位又送回存儲單元另一端空出來的位,原始的位不會丟失。N為移位的位數(shù),移位的結果保存在輸出參數(shù)OUT指定的地址。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第14頁。153.使用循環(huán)移位指令的彩燈控制器S7-1200指令講解(內部培訓教程)全文共88頁,當前為第15頁。16.2數(shù)學運算指令.2.1數(shù)學運算指令數(shù)學運算包括數(shù)學運算指令、浮點數(shù)函數(shù)運算指令、邏輯運算指令。1.四則運算指令S7-1200指令講解(內部培訓教程)全文共88頁,當前為第16頁。17數(shù)學運算指令中的ADD、SUB、MUL和DIV分別是加、減、乘、除指令、它們執(zhí)行的操作數(shù)的數(shù)據(jù)類型可選SInt,Int,DInt,USInt,UInt,UDInt和Real,IN1和IN2可以是常數(shù)。IN1、IN2和OUT的數(shù)據(jù)類型應該相同。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第17頁。18【例】壓力變送器的量程為0~10MPa,輸出信號為0~10V,被CPU集成的模擬量輸入的通道0(地址為IW64)轉換為0~27648的數(shù)字。假設轉換后的數(shù)字為N,試求以kPa為單位的壓力值。解:0~10MPa(0~10000kPa)對應于轉換后的數(shù)字0~27648,轉換公式為

P=(10000×N)/27648(kPa)注意:在運算時一定要先乘后除,否則會損失原始數(shù)據(jù)的精度。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第18頁。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第19頁。20【例】使用浮點數(shù)運算計算上例以kPa為單位的壓力值。將上例改寫為:p=(10000xN)/27648=0.361690XN(kPa)S7-1200指令講解(內部培訓教程)全文共88頁,當前為第20頁。212.其它整數(shù)數(shù)學運算指令(1)MOD指令用MOD指令來求除法的余數(shù)。(2)NEG指令NEG(negation)將輸入IN的值的符號取反后,保存在輸出OUT中,IN和OUT的數(shù)據(jù)類型可以是SInt,Int,DInt和Real,輸入IN還可以是常數(shù)。(3)INC與DEC指令執(zhí)行指令INC與DEC時,參數(shù)IN/OUT的值分別被加1和減1。IN/OUT的數(shù)據(jù)類型可選SInt,USInt,Int,UInt,DInt和UDInt(有符號或無符號的整數(shù))。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第21頁。22(4)絕對值指令ABS

ABS指令用來求輸入IN中的有符號整數(shù)(SInt,Int寧DInt或實數(shù)(Real)的絕對值,將結果保存在輸出OUT中。IN和OUT的數(shù)據(jù)類型應相同。()MIN與MAX指令MIN(minimum)指令比較輸入IN1和IN2的值,將其中較小的值送給輸出OUT。MAX(maximum)指令比較輸入IN1和IN2的值,將其中較大的值送給輸出OUT。INI和IN2的數(shù)據(jù)類型相同才能執(zhí)行指定的操作。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第22頁。23(6)LIMIT指令

LIMIT指令檢查輸入IN的值是否在參數(shù)MIN和MAX指定的范圍內,如果IN的值沒有超出該范圍,將它直接保存在OUT指定的地址中。如果IN的值小于MIN的值或大于MAX的值,將MIN或MAX的值送給輸出OUT。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第23頁。243.浮點數(shù)函數(shù)運算指令浮點數(shù)(實數(shù))數(shù)學運算指令的操作數(shù)IN和OUT的數(shù)據(jù)類型為Real。浮點數(shù)自然指數(shù)指令EXP和浮點數(shù)自然對數(shù)指令LN中的指數(shù)和對數(shù)的底數(shù)為2.71828。浮點數(shù)開平方指令SQRT和LN指令的輸入值如果小于0。輸出OUT返回一個無效的浮點數(shù)。浮點數(shù)三角函數(shù)指令和反三角函數(shù)指令中的角度均為以弧度為單位的浮點數(shù)。如果輸入值是以度為單位的浮點數(shù),使用三角函數(shù)指令之前應先將角度值乘以π/180.0,轉換為弧度值。浮點數(shù)反正弦函數(shù)指令ASIN和浮點數(shù)反余弦函數(shù)指令ACOS的輸入值的允許范圍為-1.0—1.0,ASIN和ATAN的運算結果的取值范圍為-π/2—+π/2弧度,ACOS的運算結果的取值范圍為0—π弧度。求以10為底的對數(shù)時,需要將自然對數(shù)值除以2.3028(10的自然對數(shù)值)。例如:lg100=ln100/2.3028=4.60170/2.3028=2。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第24頁。25S7-1200指令講解(內部培訓教程)全文共88頁,當前為第25頁。26S7-1200指令講解(內部培訓教程)全文共88頁,當前為第26頁。27【例】測量遠處物體的高度時,已知被測物體到測量點的距離L和以度為單位的夾角θ,求被測物體的高度H,H=Ltanθ,角度的單位為度。假設以度為單位的實數(shù)角度值在MD116,乘以π/180=0.017433得角度的弧度值,運算的中間結果保存在數(shù)據(jù)類型為Real的臨時局部變量Tempt中。L的實數(shù)值在MD128,運算結果在MD132。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第27頁。28.2.2邏輯運算指令1.邏輯運算指令邏輯運算指令對兩個輸入IN1和IN2逐位進行邏輯運算。邏輯運算的結果存放在輸出OUT指定的地址。

“與”(AND)運算時兩個操作數(shù)的同一位如果均為1,運算結果的對應位為1,否則為0。

“或”(OR)運算時兩個操作數(shù)的同一位如果均為0,運算結果的對應位為0,否則為1。

S7-1200指令講解(內部培訓教程)全文共88頁,當前為第28頁。29“異或"(XOR)運算時兩個操作數(shù)的同一位如果不相同,運算結果的對應位為1,否則為0。

以上指令的操作數(shù)IN1、IN2和OUT的數(shù)據(jù)類型為十六進制的Byte,Word和Dword。

取反指令INV將輸入IN中的二進制整數(shù)逐位取反,即各位的二進制數(shù)由0變1,由1變0,運算結果存放在輸出OUT指定的地址。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第29頁。302.解碼與編碼指令假設輸入?yún)?shù)IN的值為n,解碼(譯碼)指令DECO(Deode)將輸出參數(shù)OUT的第n位置位為1,其余各位置0,相當于數(shù)字電路中譯碼電路的功能。利用解碼指令,可以用輸入IN的值來控制OUT中某一位的狀態(tài)。

如果輸入IN的值大于31,將取的值除以32以后,用余數(shù)來進行解碼操作。

IN的數(shù)據(jù)類型為UInt,OUT的數(shù)據(jù)類型可選Byte、Word和DWord。IN的值為0-7(3位二進制數(shù))時,輸出OUT的數(shù)據(jù)類型為8位的字節(jié)。IN的值為0-1(4位二進制數(shù))時,輸出OUT的數(shù)據(jù)類型為16位的字。IN的值為0-31(位二進制數(shù))時,輸出OUT的數(shù)據(jù)類型為32位的雙字。例如IN的值為時,輸出為2#00100000(16#20),僅第位為l。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第30頁。31編碼指令ENCO(Ericode)與解碼指令相反,將IN中為1的最低位的位數(shù)送給輸出參數(shù)OUT指定的地址,IN的數(shù)據(jù)類型可選Byte、Word和Dword,OUT的數(shù)據(jù)類型為INT。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第31頁。323.SEL與MUX指令指令SEL(Select)的Bool輸入?yún)?shù)G為0時選中IN0,G為l時選中IN1,并將它們保存到輸出參數(shù)OUT指定的地址。指令MUX(Multiplex,多路開關選擇器)根據(jù)輸入?yún)?shù)K的值,選中某個輸入數(shù)據(jù),并將它傳送到輸出參數(shù)OUT指定的地址。如K=m時,將選中輸入?yún)?shù)INm。如果K的值超過允許的范圍,將選中輸入?yún)?shù)ELSE。參數(shù)K的數(shù)據(jù)類型為Uint;Inn、ELSE、OUT可以取12種數(shù)據(jù)類型,它們的數(shù)據(jù)類型應相同。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第32頁。33.3程序控制指令.3.1程序控制指令1.跳轉與標簽指令沒有執(zhí)行跳轉指令時,各個程序段按從上到下的先后順序執(zhí)行,這種執(zhí)行方式稱為線性掃描。JMP跳轉指令中止程序的線性掃描跳轉到指令中的地址標簽所在的目的地址。跳轉時不執(zhí)行跳轉指令與標簽之間的程序,跳到目的地址后,程序繼續(xù)按線性掃描的方式順序執(zhí)行。跳轉指令可以往前跳,也可以往后跳。只能在同一個代碼塊內跳轉,即跳轉指令與對應的跳轉目的地址應在同一個代碼塊內。在一個塊內,同一個跳轉目的地址只能出現(xiàn)一次。JMPN指令的線圈斷電時,將跳轉到指令給出的標簽處,執(zhí)行標簽之后的第一條指令。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第33頁。34

2.返回指令RET

RET指令的線圈通電時,停止執(zhí)行當前的塊,不再執(zhí)行該指令后面的指令,返回調用它的塊后,執(zhí)行調用指令之后的指令。RET指令的線圈斷電時,繼續(xù)執(zhí)行它下面的指令。RET線圈的上面是塊的返回值,數(shù)據(jù)類型為Bool。如果當前的塊是OB,返回值被忽視。

S7-1200指令講解(內部培訓教程)全文共88頁,當前為第34頁。35.3.2擴展指令中的程序控制指令1.RE_TRIGR指令監(jiān)控定時器又稱看門狗(Watchdog),每次掃描循環(huán)它都被自動復位一次,正常工作時最大掃描循環(huán)時間小于監(jiān)控定時器的時間設定值,它不會起作。以下情況掃描循環(huán)時間可能大于監(jiān)控定時器的設定時間,監(jiān)控定時器將會起作用:1)用戶程序很長;2)一個掃描循環(huán)內執(zhí)行中斷程序的時間很長;3)循環(huán)指令執(zhí)行的時間太長??梢栽诔绦蛑械娜我馕恢檬褂弥噶頡E_TRIGR(重新觸發(fā)循環(huán)時間監(jiān)視),來復位監(jiān)控定時器。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第35頁。362.STP指令STP指令的EN輸入為1狀態(tài)時,使PLC進入STOP模式。

STP指令使CPU集成的輸出、信號板和信號模塊的數(shù)字量輸出或模擬量輸出進入組態(tài)時設置的安全狀態(tài)??梢允馆敵鰞鼋Y在最后的狀態(tài),或用替代值設置為安全狀態(tài)。

默認的數(shù)字量輸出狀態(tài)為FALSE,默認的模擬量輸出值為0。3.GET_ERROR與GET_ERR_ID指令GET_ERROR指令用來提供有關程序塊執(zhí)行錯誤的信息,用輸出參數(shù)ERROR顯示發(fā)生的程序塊執(zhí)行錯誤,并且將詳細的錯誤信息填入預定義的ErrorStruct(錯誤結構)數(shù)據(jù)類型??梢杂贸绦騺矸治鲥e誤信息,并作出適當?shù)捻憫?。第一個錯誤消失時,指令輸出下一個錯誤的信息。GET_ERR_ID指令用來報告錯誤的ID(標識符)。如果塊執(zhí)行時出現(xiàn)錯誤,且指令的EN輸入為1狀態(tài),出現(xiàn)的第一個錯誤的標識符保存在指令的輸出參數(shù)“ID”中,ID的數(shù)據(jù)類型為Word。第一個錯誤消失時,指令輸出下一個錯誤的ID。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第36頁。374.ErrorStruct數(shù)據(jù)類型S7-1200指令講解(內部培訓教程)全文共88頁,當前為第37頁。38S7-1200指令講解(內部培訓教程)全文共88頁,當前為第38頁。39S7-1200指令講解(內部培訓教程)全文共88頁,當前為第39頁。40.4字符串指令.4.1字符串轉換指令1.字符串的結構

STRING(字符串)數(shù)據(jù)有2B的頭部,后面是最多24B的ASCII字符代碼。字符串的首字節(jié)是字符串的最大長度,第2個字節(jié)是當前長度,即當前實際使用的字符數(shù)。當前長度必須小于等于最大長度。字符串占用的字節(jié)數(shù)為最大長度加2。字符串默認的最大長度為24個字符,定義字符串的長度可以減少它占用的存儲空間。2.定義字符串執(zhí)行字符串指令之前,首先應定義字符串。不能在變量表中定義字符串,只能在代碼塊的界面區(qū)或全局數(shù)據(jù)塊中定義它。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第40頁。413.使用S_CONV指令將字符串轉換為數(shù)值S_CONY指令用于將輸入的字符串轉換為對應的數(shù)值,或將數(shù)值轉換為對應的字符串。需要在指令方框中設置轉換前后的操作數(shù)IN和OUT的數(shù)據(jù)類型。使用S_CONV將字符串轉換為數(shù)值時,輸入?yún)?shù)取的數(shù)據(jù)類型為String,輸出參數(shù)OUT的數(shù)據(jù)類型可以是SInt,Int,DInt,USInt,Uintl,UDInt和Real。允許轉換的字符包括0-9,加減號和小數(shù)點對應的字符。字符串IN的轉換從第一個字符開始,直到最后一個字符。如果遇到允許的字符之外的字符,轉換停止,ENO被設置為0。轉換后的數(shù)值用參數(shù)OUT指定的地址保存。如果輸出的數(shù)值超出OUT的數(shù)據(jù)類型允許的范圍,OUT為0,ENO被置為0狀態(tài)。反之,OUT內為有效的值,ENO被置為1狀態(tài)。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第41頁。42輸入字符串的格式規(guī)則:

1)如果字符串IN使用了十進制數(shù)的小數(shù)點,應使用字符“.”。

2)允許使用分隔每3位十進制數(shù)的逗號字符“,”轉換時忽略它。

3)忽略字符前面的空格。

4)只支持定點表示法,不會將字符e和E視為指數(shù)計數(shù)法。4.使用S_CONY指令將數(shù)值轉換為字符串

可以用指令S_CONY將參數(shù)IN指定的整數(shù)、無符號整數(shù)或浮點數(shù)轉換為輸出OUT對應的字符串。轉換執(zhí)行之前,應定義參數(shù)OUT指定的字符串。輸入數(shù)據(jù)值可以是有符號和無符號的整數(shù)以及實數(shù)。各種數(shù)據(jù)類型需要的最大的字符串長度S7-1200指令講解(內部培訓教程)全文共88頁,當前為第42頁。43輸出字符串的格式規(guī)則如下:1)輸出的正數(shù)沒有符號位,字符串IN的十進制數(shù)小數(shù)點使用字符“.”。2)只支持定點表示法,不使用指數(shù)計數(shù)法。3)參數(shù)IN為數(shù)據(jù)類型Real時,使用英支的句號作十進制數(shù)的小數(shù)點。.復制字符串如果S_CONV指令輸入、輸出的數(shù)據(jù)類型均為String,輸入IN指定的字符串將復制到輸出OUT指定的地址。如果字符串IN的實際長度超過了字符串OUT的最大長度,只復制OUT允許的部分,ENO將被設置為0狀態(tài)。6.使用STRG_VAL指令將字符串轉換為數(shù)值STRG_VAL指令將數(shù)值字符串轉換為對應的整數(shù)或浮點數(shù)。從參數(shù)IN指定的字符串的第P個字符開始轉換,直到字符串結束。允許的字符包括數(shù)字0-9、加減號、英語的逗號或小數(shù)點、字符e和E。遇到非法的字符時將停止轉換,ENO被設置為0。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第43頁。44表示:從字符串“ZZ”的第第P個字符開始轉換,輸出MD164中的數(shù)值用定點數(shù)表示法,用英文的句號做小數(shù)點。參數(shù)P是要轉換的第一個字符的編號,其參數(shù)類型為IN/OUT,數(shù)據(jù)類型為Ulnt,P為1時,從字符串的第一個字符開始轉換。參數(shù)FORMAT是輸出格式選項,數(shù)據(jù)類型為Word,、第0位r為1和0時分別為指數(shù)表示法和定點數(shù)表示法。第1位f為1和0時,分別用英語的逗號和句號作十進制數(shù)的小數(shù)點,高位為0。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第44頁。45STRG_VAL指令的轉換規(guī)則:1)如果使用英語的句號作十進制數(shù)的小數(shù)點,允許使用英語的逗號作分隔每3位十進制數(shù)的字符,轉換時忽略它。2)忽略字符前面的空格。7.使用VAL_STRG指令將數(shù)值轉換為字符串VAL_STRG將輸入?yún)?shù)IN中的整數(shù)、無符號整數(shù)或浮點數(shù)轉換為輸出參數(shù)OUT中對應的字符串。被轉換的字符串將取代OUT字符串從參數(shù)P提供的字符偏移量開始、到參數(shù)SIZE指定的字符數(shù)結束的字符。如果參數(shù)P和SIZE指定的替代字符超過OUT允許的最大字符數(shù)的范圍,ENO為0狀態(tài)。如果輸出值小于指定的長度,寫入字符串的字符采用“右對齊”的方式,字符左邊空出來的位添加空格字符。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第45頁。467.使用VAL_STRG指令將數(shù)值轉換為字符串允許的字符包括數(shù)字。0-9、加減號、英語的逗號或小數(shù)點、字符e和E。遇到非法的字符時將停止轉換,ENO被設置為0。參數(shù)FORMAT的數(shù)據(jù)類型、第0位r和第1位f的意義與指令STRG_VAL的相同。第2位s是符號字符,為1和為0時,分別對應于符易字符'+'和’-’。參數(shù)PREC用來設置精度或字符串的小數(shù)部分的位數(shù)。如果參數(shù)IN的值為整數(shù),PREC指定小數(shù)點的位置。實數(shù)類型支持最高精度為7位有效數(shù)字。例如:數(shù)據(jù)值為1234和PREC為2時,轉換結果為字符串‘123.4’。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第46頁。47.4.2字符串指令LEN指令(求字符串長度)指令LEN用輸出參數(shù)OUT:(整數(shù))提供輸入?yún)?shù)IN指定的字符串的當前長度,空字符串(‘’)的長度為0。2.CONCAT指令(合并字符串)指令CONCAT將輸入?yún)?shù)IN1和IN2指定的兩個字符串連接在一起,然后用參數(shù)OUT輸出連接后的字符串。合并后字符串IN1和IN2分別是連接后的字符串的左部分和右部分。如果連接后的字符串的長度大于允許的最大長度,則將它限制在最大長度,并將ENO設置為0。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第47頁。483.LEFT指令(左子字符串):指令LEFT‘用參數(shù)OUT指定的字符串來輸出參數(shù)IN指定的字符串的前L個字符、L的數(shù)據(jù)類型為Int。執(zhí)行圖中的LEFT指令后,輸出OUT中是IN輸入的字符串左邊的個字符。4.RIGHT指令(右子字符串):指令RIGHT用參數(shù)OUT指定的字符串輸出字符串IN的最后L個字符。L的數(shù)據(jù)類型為Int。執(zhí)行圖中的RIGHT指令后,輸出OUT中是IN輸入的字符串右邊的4個字符。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第48頁。49.MID指令(提供字符串的中間部分):指令MID用參數(shù)OUT指定的字符串輸出字符串IN從第P個字符開始的L個字符。執(zhí)行圖中的MID指令后,輸出OUT中是IN輸入的字符串從第2個字符開始的中間4個字符。6.DELETE指令(刪除子字符串)指令DELETE從字符串加中第P個字符開始,刪除L個字符。參數(shù)OUT輸出剩余的子字符串。執(zhí)行圖中的DELETE指令后,IN輸入的字符串被刪除從第3個字符開始的2個字符后,然后輸出到OUT指定的字符串。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第49頁。507.INSERT指令(插入字符串)指令INSERT將字符串IN2插入到字符串INl中第P個字符之后。執(zhí)行圖中的INSERT指令后,IN2指定的字符串'ABC'被插入到INI指定的字符串'abode'第3個字符之后。

8.REPLACE指令(子字符串替換)指令REPLACE用字符串IN2替換字符串INl中從字符位置P開始的L個字符,替換的結果用參數(shù)OUT輸出。執(zhí)行圖中的REPLACE指令后,字符串INl中從第3個字符開始的3個字符('CDE')被IN2指定的字符串'1234'代替。9.FIND指令(查找子字符串)指令FIND提供字符串IN2在字符串IM中的位置。查找從字符串IN1的左側開始,輸出參數(shù)OUT(整數(shù))返回第一次出現(xiàn)字符串IN2的位置。如果在字符串IN1中未找到字符串IN2,則返回零。執(zhí)行圖中的FIND指令后,查找到IN2指定的字符串'DEF'從IN1指定的字符串'ABCDEFGHP’的第4個字符開始。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第50頁。51.高速脈沖輸出與高速計數(shù)器..1高速脈沖輸出脈沖寬度與脈沖周期之比稱為占空比,脈沖列輸出(PTO)功能提供占空比為0%的方波脈沖列輸出。脈沖寬度調制(PWM)功能提供連續(xù)的、脈沖寬度可以用程序控制的脈沖列輸出。每個CPU有兩個PTO/PWM發(fā)生器,分別通過CPU集成的QO.O-Q0.3或信號板上的Q4.0-Q4.3輸出PTO或PWM脈沖。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第51頁。522.PWM的組態(tài)PWM功能提供可變占空比的脈沖輸出,時間基準可以設置為us或ms。脈沖寬度為0時占空比為0%,沒有脈沖輸出,輸出一直為0狀態(tài)。脈沖寬度等于脈沖周期時,占空比為100%,沒有脈沖輸出,輸出一直為1狀態(tài)。PWM的高頻輸出波形經(jīng)濾波后得到與占空比成正比的模擬量輸出電壓,可以用來控制變頻器的轉速和閥門的開度等物理量。使用PWM之前,首先應對脈沖發(fā)生器組態(tài),具體步驟:1)打開PLC的設備視圖,選中其中的CPU。2)打開下面的巡視窗口的“屬性”選項卡,選中左邊的"PTO1/PWM1(Pulse1)”中的“常規(guī)”參數(shù)組,用復選框選中右邊窗口的復選框“允許使用該脈沖發(fā)生器”,激活該脈沖發(fā)生器。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第52頁。533)選中左邊窗口的“參數(shù)分配”組,在右邊的窗口可以設置下列參數(shù):使用“脈沖發(fā)生器用作”下拉式列表,可選脈沖發(fā)生器為PWM或PTO。使用“輸出源”下拉式列表,可選“板載CPU輸出”(CPU集成的輸出點)或“信號板輸出”。使用“時基”(時間基準)下拉式列表,可選毫秒或微秒。使用“脈沖寬度格式”下拉式列表,可選4種脈沖寬度格式:百分數(shù)、千分數(shù)(0-1000)、萬分數(shù)(0-10000)和S7模擬量格式(0-27648)。用輸入域“循環(huán)時間”設置脈沖的周期為2ms,采用“時基”選擇的時間單位。用輸入域“初始脈沖寬度”,設置脈沖的占空比為0%,即脈沖周期為2ms,脈沖寬度為lms。脈沖寬度采用“脈沖寬度格式”設置的單位(百分數(shù)〕。4)選中左邊窗口的“IO地址/硬件標識符”參數(shù)組,在右邊的窗口可以看到PWM1的起始地址、結束地址和硬件標識符??梢孕薷钠淦鹗嫉刂?,在運行時用這個地址來修改脈沖寬度。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第53頁。543.PWM的編程將右邊的“擴展指令”窗口的文件夾“脈沖”中的CTR卜少WM指令拖放到OB1,點擊出現(xiàn)的“調用選項”對話框中的“確定”按鈕,生成該指令的背景數(shù)據(jù)塊。點擊參數(shù)PWM左邊的問號,再點擊出現(xiàn)的按鈕,用下拉式列表選中"Pulse_1”,其硬件標識符(HWID)為9。IN輸入信號為1狀態(tài)時,用參數(shù)ENABLE(10.4)來啟動或停止脈沖發(fā)生器,用PWM1的輸出地址來修改脈沖寬度。6..2編碼器高速計數(shù)器一般與增量式編碼器一起使用,后者每圈發(fā)出一定數(shù)量的計數(shù)脈沖和一個復位脈沖,作為高速計數(shù)器的輸入。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第54頁。55編碼器有以下幾種類型:1.增量式編碼器光電增量式編碼器的碼盤上有均勻刻制的光柵考碼盤旋轉時,輸出與轉角的增量成正比的脈沖,需要用計數(shù)器來計脈沖數(shù)。有3種增量式編碼器:1)單通道增量式編碼器內部只有1對光耦合器,只能產(chǎn)生一個脈沖列。2)雙通道增量式編碼器又稱為A/B一相型編碼器內部有兩對光耦合器,輸出相位差為900的兩組獨立脈沖列。正轉和反轉時兩路脈沖的超前、滯后關系相反,如果使用A、B相型編碼器,PLC可以識別出轉軸旋轉的方向。正轉反轉S7-1200指令講解(內部培訓教程)全文共88頁,當前為第55頁。56A/B相正交計數(shù)可以選擇1倍速模式和4倍速模式,1倍速模式在時鐘脈沖的每一個周期計1一次數(shù),4倍速模式在對鐘脈沖的每一個周期計4次數(shù)。1倍速正交模式操作舉例4倍速正交模式操作舉例S7-1200指令講解(內部培訓教程)全文共88頁,當前為第56頁。3)三通道增量式編碼器內部除了有雙通道增量式編碼器的兩對光耦合器外,在脈沖碼盤的另外一個通道內還有一個透光段,每轉1圈輸出一個脈沖,該脈沖稱為Z相零位脈沖,用于系統(tǒng)清零信號,或作為坐標的原點,以減少測量的積累誤差。2、絕對式編碼器N位絕對式編碼器有N個碼道,最外層的碼道對應于編碼的最低位。每一丫碼道有一個光耦合器,用來讀取該碼道的0、1數(shù)據(jù)。絕對式編碼器輸出的N位二進制數(shù)反映了運動物體所處的絕對位置,根據(jù)位置的變化情況,可以判別出旋轉的方向。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第57頁。58..3高速計數(shù)器1.高速計數(shù)器的功能S7-1200PLC集成有6個高速計數(shù)器(HSC)。HSC1~HSC3的最高計數(shù)頻率為100KHz。CPU1211C可以使用HSC1~HSC3,CPU1212C可以使用HSC1~HSC4,使用信號板DI2/DO2后,它們還可以使用HSC。CPU1212C可以使用HSC1~HSC6。在用戶程序使用HSC之前,應為HSC組態(tài),設置HSC的計數(shù)模式。大多數(shù)HSC的參數(shù)只能在項目的設備組態(tài)中設置,某些HSC的參數(shù)在設備組態(tài)中初始化,以后可以用程序來修改。HSC有4種工作模式:內部方向控制的單相計數(shù)器,外部方向控制的單相計數(shù)器,兩路計數(shù)脈沖輸入的計數(shù)器和A/B相計數(shù)器。高速計數(shù)器有兩種功能:頻率測量功能和計數(shù)功能。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第58頁。592.高速計數(shù)器使用的輸入點表給出了用于高速計數(shù)器的計數(shù)脈沖、方向控制和復位的輸入點的地址。同一個輸入點不能同時用于兩種不同的功能,但是高速計數(shù)器當前模式未使用的輸入點可以用于其他功能。

高速計數(shù)器的輸入點S7-1200指令講解(內部培訓教程)全文共88頁,當前為第59頁。60HSC1和HSC2可以分別用來監(jiān)視脈沖列輸出PTO1和PTO2。HSC1~HSC6的實際計數(shù)的數(shù)據(jù)類型為Dint,默認地址為ID1000~ID1020,可以在組態(tài)時修改地址。3.高速計數(shù)器的組態(tài)步驟1)打開PLC的設備視圖,選中其中的CPU。2)選中巡視窗口的“屬性”選項卡左邊的高速計數(shù)器HSC1的“常規(guī)”參數(shù)組,用復選框選中“允許使用該高速計數(shù)器”,激活該HSC。如果激活了脈沖發(fā)生器PTO1或PT02,它們分別使用HSC1和HSC2的“運動軸”模式,來監(jiān)視硬件輸出。如果組態(tài)HSC1或HSC2用于其他任務,它們不能被脈沖發(fā)生器PTO1或PT02使用。3)選中左邊的“功能”參數(shù)組,在右邊的窗口可以設置參數(shù)。4)選中窗口的“重置為初始值”參數(shù)組,可以設置“初始計數(shù)器值”和“初始參考值”。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第60頁。61)選中窗口的設置高速計數(shù)器的初始值與復位信號“事件組態(tài)”參數(shù)組,可以用右邊窗口的復選框激活下列事件出現(xiàn)時是否產(chǎn)生中斷:計數(shù)值等于參考值、出現(xiàn)外部復位事件和出現(xiàn)計數(shù)方向變化事件。6)選中窗口的“硬件輸入”參數(shù)組,可以看到該HSC使用的硬件輸入點和可用的最高頻率。7)選中窗口的“I/O地址/標識符參數(shù)組,可以在右邊窗口修改HSC的起始地址。..4高速脈沖輸出與高速計數(shù)器的計數(shù)實驗1.實驗的基本要求用高速脈沖輸出功能產(chǎn)生周期為2ms,占空比為0%的PWM脈沖列,送給高速計數(shù)器HSC1計數(shù)。通過設置不同的參考值,在計數(shù)值分別為2000,3000和100時產(chǎn)生中斷。在中斷程序中修改計數(shù)值、參考值和計數(shù)方向,同時改變Q0.4-Q0.6的狀態(tài)。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第61頁。622.硬件接線高速計數(shù)器的實際計數(shù)值波形圖硬件接線圖S7-1200指令講解(內部培訓教程)全文共88頁,當前為第62頁。633.PWM的組態(tài)和編程組態(tài)PTO1/PWMl產(chǎn)生PWM脈沖,輸出源為信號板上的輸出點,時間單位為ms,脈沖寬度的格式為百分數(shù),脈沖的周期為2ms;初始脈沖寬度為0%。在OB1中調用CTRL_PWM指令,用10.4啟動脈沖發(fā)生器。4.高速計數(shù)器的組態(tài)組態(tài)時設置HSC1的工作方式為單相脈沖計數(shù),使用CPU集成的輸入點10.0,通過用戶程序改變計數(shù)的方向。設置HSC的初始狀態(tài)為加計數(shù),初始計數(shù)值為0,初始計數(shù)參考值為2000。出現(xiàn)計數(shù)值等于參考值的事件時,調用硬件中斷組織塊OB200。HSC默認的地址為ID1000,在運行時可以用該地址監(jiān)視HSC的計數(shù)。.高速計數(shù)器控制指令CTRL_HSC是高速計數(shù)器控制指令。輸入?yún)?shù)HSC為高速計數(shù)器的硬件標識符(HWID)。EN為1時,參數(shù)BUSY為1,STATUS是執(zhí)行指令的狀態(tài)代碼。

DIR為1時,計數(shù)方向NEW_DIR被裝載;CV為1時,32位計數(shù)值NEW_CV被裝載到HSC。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第63頁。64S7-1200指令講解(內部培訓教程)全文共88頁,當前為第64頁。65S7-1200指令講解(內部培訓教程)全文共88頁,當前為第65頁。66S7-1200指令講解(內部培訓教程)全文共88頁,當前為第66頁。67S7-1200指令講解(內部培訓教程)全文共88頁,當前為第67頁。68S7-1200指令講解(內部培訓教程)全文共88頁,當前為第68頁。69S7-1200指令講解(內部培訓教程)全文共88頁,當前為第69頁。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第70頁。71S7-1200指令講解(內部培訓教程)全文共88頁,當前為第71頁。72S7-1200指令講解(內部培訓教程)全文共88頁,當前為第72頁。73S7-1200指令講解(內部培訓教程)全文共88頁,當前為第73頁。74S7-1200指令講解(內部培訓教程)全文共88頁,當前為第74頁。75..用高速計數(shù)器測量頻率的實驗1.項目簡介在STEP7Basic中生成項目“頻率測量例程”,CPU為繼電器輸出的CPU121C。為了輸出高頻脈沖,使用了一塊2DI/2D0信號板。用信號板的輸出點Q4.0發(fā)出PWM脈沖,送給HSC1的高速脈沖輸入點10.0測量頻率。

2.PWM的組態(tài)與編程打開PLC的設備視圖,選中其中的CPU。打開下面的巡視窗口的“屬性”選項卡,選中左邊的PTO1/PWMl(Pulse_1)文件夾中的“常規(guī)’,選中右邊窗口的復選框“允許使用該脈沖發(fā)生器”。3.高速計數(shù)器的組態(tài)設置HSCI的工作方式為“頻率”(頻率測量),使用CPU集成的輸入點10.0。在組態(tài)時設置HSC的初始狀態(tài)為加計數(shù),頻率測量周期為1.0s。HSCI默認的地址為ID1000,在運行時可以用該地址監(jiān)視HSC的頻率測量值。S7-1200指令講解(內部培訓教程)全文共88頁,當前為第75頁。76S7-1200指令講解(內部培訓教程)全文共88頁,當前為第76頁。77.6其它指令與庫.6.1實時時鐘指令打開在線與診斷視圖,可以設置實時時鐘的時間值。也可以用時鐘指令來讀、寫實時時鐘。1、日期時間的數(shù)據(jù)類型1)數(shù)據(jù)類型Time的長度為4B;取值范圍為T#-24d_20h_31m_23S_648ms~T#24d_20h_31m_23s_647ms(-2147483648ms~2147483647ms)。2)數(shù)據(jù)結構DTL如表所示,可以在全局數(shù)據(jù)塊或塊的界面區(qū)中定義DTL變量

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論