




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
指令系統(tǒng)S7-1200的指令從功能上大致可分為三類:基本指令、擴展指令和全局庫指令。目前一頁\總數(shù)一百五十一頁\編于三點5.1基本指令基本指令包括位邏輯指令、定時器、計數(shù)器、比較指令、數(shù)學(xué)指令、移動指令、轉(zhuǎn)換指令、程序控制指令、邏輯運算指令以及移位和循環(huán)移位指令等。目前二頁\總數(shù)一百五十一頁\編于三點目前三頁\總數(shù)一百五十一頁\編于三點基本邏輯指令目前四頁\總數(shù)一百五十一頁\編于三點
內(nèi)部輸入觸點(I)的閉合與斷開僅與輸入映像寄存器相應(yīng)位的狀態(tài)有關(guān),與外部輸入按鈕、接觸器、繼電器的常開/常閉接法無關(guān)。輸入映像寄存器相應(yīng)位為1,則內(nèi)部常開觸點閉合,常閉觸點斷開。輸入映像寄存器相應(yīng)位為0,則內(nèi)部常開觸點斷開,常閉觸點閉合。目前五頁\總數(shù)一百五十一頁\編于三點置位域復(fù)位域指令置位域指令將指定的地址開始的連續(xù)若干個地址置位(變?yōu)?狀態(tài)并保持)。復(fù)位域指令將指定的地址開始的連續(xù)若干個地址復(fù)位(變?yōu)?狀態(tài)并保持)。目前六頁\總數(shù)一百五十一頁\編于三點置位/復(fù)位指令目前七頁\總數(shù)一百五十一頁\編于三點
(1)S、R指令中的2表示從指定的Q0.0開始的兩個觸點,即Q0.0與Q0.1。(2)在檢測到I0.0閉合的上升沿時,輸出線圈Q0.0、Q0.1被置為1,并保持,而不論I0.0為何種狀態(tài)。(3)在檢測到I0.1閉合的上升沿時,輸出線圈Q0.0、Q0.1被復(fù)位為0,并保持,而不論I0.0為何種狀態(tài)。目前八頁\總數(shù)一百五十一頁\編于三點
指令說明(1)指定觸點一旦被置位,則保持接通狀態(tài),直到對其進行復(fù)位操作;而指定觸點一旦被復(fù)位,則變?yōu)榻油顟B(tài),直到對其進行復(fù)位操作。(2)如果對定時器和計數(shù)器進行復(fù)位操作,則被指定的T或C的位被復(fù)位,同時其當(dāng)前值被清0。
目前九頁\總數(shù)一百五十一頁\編于三點復(fù)位優(yōu)先、置位優(yōu)先鎖存器復(fù)位優(yōu)先鎖存器、置位優(yōu)先鎖存器:輸出線圈可選目前十頁\總數(shù)一百五十一頁\編于三點目前十一頁\總數(shù)一百五十一頁\編于三點指令功能RS復(fù)位優(yōu)先鎖存器,當(dāng)置位信號和復(fù)位信號都有效時,復(fù)位信號優(yōu)先,輸出線圈不接通。SR置位優(yōu)先鎖存器,當(dāng)置位信號和復(fù)位信號都有效時,置位信號優(yōu)先,輸出線圈接通。RS、SR指令均為鎖存器,一個復(fù)位優(yōu)先,一個置位優(yōu)先。S連接置位輸入,R連接復(fù)位輸入。一旦輸出線圈被置位,則保持置位狀態(tài)直到復(fù)位輸入接通。置位、復(fù)位輸入均以高電平狀態(tài)有效。
目前十二頁\總數(shù)一百五十一頁\編于三點例:搶答器的設(shè)計搶答器有三個輸入,分別為I0.0、I0.1和I0.2,輸出分別為Q4.0、Q4.1和Q4.2,復(fù)位輸入是I0.4。要求:三人中任意搶答,誰先按按鈕,誰的指示燈優(yōu)先亮,且只能亮一盞燈,進行下一問題時主持人按復(fù)位按鈕,搶答重新開始。
目前十三頁\總數(shù)一百五十一頁\編于三點搶答器程序目前十四頁\總數(shù)一百五十一頁\編于三點邊沿指令目前十五頁\總數(shù)一百五十一頁\編于三點位邏輯指令——邊緣檢測觸點指令如果輸入信號I0.6由0變?yōu)?狀態(tài)(即輸入信號I0.6的上升沿),則該觸點接通一個掃描周期。觸點下面的M4.3為邊緣存儲位,用來存儲上一個掃描循環(huán)是I0.6的狀態(tài),通過比較輸入信號的當(dāng)前狀態(tài)和上一次循環(huán)的狀態(tài)來檢測信號的邊沿。邊沿存儲位的地址只能在程序中使用一次,它的狀態(tài)不能在其他地方被改寫。只能使用M、全局DB和靜態(tài)局部變量來作邊沿存儲位,不能使用臨時局部數(shù)據(jù)或I/O變量來作邊沿存儲位。目前十六頁\總數(shù)一百五十一頁\編于三點位邏輯指令——P_TRIG與N_TRIG指令在流進P_TRIG指令的CLK輸入端的能流的上升沿,Q端輸出一個掃描周期的能流,使M8.1置位。P_TRIG指令與N_TRIG指令不能放在電路的開始處和結(jié)束處。目前十七頁\總數(shù)一百五十一頁\編于三點位邏輯指令——3種邊沿檢測指令的功能以上升沿檢測為例:在P觸點指令中,觸點上面的地址的上升沿,該觸點接通一個掃描周期,因此P觸點用于檢測觸點上面地址的上升沿,并且直接輸出上升沿脈沖。在P線圈的能流的上升沿,線圈上面的地址在一個掃描周期為1狀態(tài),因此P線圈用于檢測能流的上升沿,并用線圈上面的地址來輸出上升沿脈沖。P_TRIG指令用于檢測能流的上升沿,并且直接輸出上升沿脈沖。如果P_TRIG指令左邊只有I1.0觸點,可以用I1.0的P觸點來代替P_TRIG指令。目前十八頁\總數(shù)一百五十一頁\編于三點[例]按動一次瞬時按鈕I0.0,輸出Q4.0亮,再按動一次按鈕,輸出Q4.0滅;重復(fù)以上。目前十九頁\總數(shù)一百五十一頁\編于三點[例]若故障信號I0.0為1,使Q4.0控制的指示燈以1Hz的頻率閃爍。操作人員按復(fù)位按鈕I0.1后,如果故障已經(jīng)消失,則指示燈熄滅,如果沒有消失,指示燈轉(zhuǎn)為常亮,直至故障消失。目前二十頁\總數(shù)一百五十一頁\編于三點定時器使用定時器指令可創(chuàng)建編程的時間延遲,S7-1200PLC有4種定時器:●TP:脈沖定時器可生成具有預(yù)設(shè)寬度時間的脈沖?!馮ON:接通延遲定時器輸出Q在預(yù)設(shè)的延時過后設(shè)置為ON。●TOF:關(guān)斷延遲定時器輸出Q在預(yù)設(shè)的延時過后重置為OFF?!馮ONR:保持型接通延遲定時器輸出在預(yù)設(shè)的延時過后設(shè)置為ON。在使用R輸入重置經(jīng)過的時間之前,會跨越多個定時時段一直累加經(jīng)過的時間?!馬T:通過清除存儲在指定定時器背景數(shù)據(jù)塊中的時間數(shù)據(jù)來重置定時器。每個定時器都使用一個存儲在數(shù)據(jù)塊中的結(jié)構(gòu)來保存定時器數(shù)據(jù)。在編輯器中放置定時器指令時可分配該數(shù)據(jù)塊。目前二十一頁\總數(shù)一百五十一頁\編于三點接通延遲定時器及其時序圖目前二十二頁\總數(shù)一百五十一頁\編于三點定時器的背景數(shù)據(jù)塊結(jié)構(gòu)目前二十三頁\總數(shù)一百五十一頁\編于三點練習(xí)按下瞬時啟動按鈕I0.0,5秒后電動機啟動,按下瞬時停止按鈕I0.1,10秒后電動機停止。目前二十四頁\總數(shù)一百五十一頁\編于三點目前二十五頁\總數(shù)一百五十一頁\編于三點目前二十六頁\總數(shù)一百五十一頁\編于三點例
用接通延時定時器設(shè)計一個周期振蕩電路。目前二十七頁\總數(shù)一百五十一頁\編于三點用接通延時定時器設(shè)計周期和占空比可調(diào)的振蕩電路。振蕩電路的高、低電平時間分別由兩個定時器的PT值確定。目前二十八頁\總數(shù)一百五十一頁\編于三點保持型接通延遲定時器及其時序圖目前二十九頁\總數(shù)一百五十一頁\編于三點關(guān)斷延遲定時器及其時序圖目前三十頁\總數(shù)一百五十一頁\編于三點脈沖定時器及其時序圖目前三十一頁\總數(shù)一百五十一頁\編于三點例:用脈沖定時器實現(xiàn)一個周期振蕩電路目前三十二頁\總數(shù)一百五十一頁\編于三點復(fù)位定時器指令目前三十三頁\總數(shù)一百五十一頁\編于三點兩條運輸帶順序相連,為避免運送的物料在1號運輸帶上堆積,按下起動按鈕I0.3,1號帶開始運行,8s后2號帶自動起動。停機的順序與起動的順序相反,按了停止按鈕I0.2后,先停2號帶,8s后停1號帶。Q1.1和Q0.6控制兩臺電動機M1和M2。目前三十四頁\總數(shù)一百五十一頁\編于三點目前三十五頁\總數(shù)一百五十一頁\編于三點參數(shù)數(shù)據(jù)類型說明INBool啟用定時器輸入RBool將TONR經(jīng)過的時間重置為零PT(PresetTime)Bool預(yù)設(shè)的時間值輸入QBool定時器輸出ET(ElapsedTime)Time經(jīng)過的時間值輸出定時器數(shù)據(jù)塊DB指定要使用RT指令復(fù)位的定時器參數(shù)IN從0變?yōu)?將啟動TP、TON和TONR,從1變0將啟動TOF。ET為定時開始后經(jīng)過的時間,或稱為已耗時間值(可以不為ET指定地址),它們的數(shù)值類型為32位的Time,單位為ms,最大定時時間為T#24D_20H_31M_23S_647MS。目前三十六頁\總數(shù)一百五十一頁\編于三點IEC定時器和IEC計數(shù)器屬于功能塊,調(diào)用時需要指定配套的背景數(shù)據(jù)塊,定時器和計數(shù)器指令的數(shù)據(jù)保存在背景數(shù)據(jù)塊中。在梯形圖中輸入定時器指令時,打開右邊的指令窗口將“定時器操作”文件夾中的定時器指令拖放到梯形圖中適當(dāng)?shù)奈恢?,在出現(xiàn)的“調(diào)用選項”對話框中修改將要生成的背景數(shù)據(jù)塊的名稱,或采用默認的名稱。點擊“確定”按鈕,自動生成數(shù)據(jù)塊。目前三十七頁\總數(shù)一百五十一頁\編于三點計數(shù)器S7-1200有3種計數(shù)器:加計數(shù)器(CTU)、減計數(shù)器(CTD)和加減計數(shù)器(CTUD)。它們屬于軟件計數(shù)器,其最大計數(shù)速率受到它所在的OB的執(zhí)行速率的限制。如果需要速率更高的計數(shù)器,可以使用CPU內(nèi)置的高速計數(shù)器。調(diào)用計數(shù)器指令時,需要生成保存計數(shù)器數(shù)據(jù)的背景數(shù)據(jù)塊。CU和CD分別是加計數(shù)輸入和減計數(shù)輸入,在CU或CD由0變?yōu)?是,實際計數(shù)值CV加1或減1。復(fù)位輸入R為1時,計數(shù)器被復(fù)位,CV被清0,計數(shù)器的輸入Q變?yōu)?。目前三十八頁\總數(shù)一百五十一頁\編于三點計數(shù)器指令——計數(shù)器的輸入輸出參數(shù)參數(shù)數(shù)據(jù)類型說明CU、CDBOOL加計數(shù)或減計數(shù),按加或減一計數(shù)R(CTU、CTUD)BOOL將計數(shù)值重置為零LOAD(CTD、CTUD)BOOL預(yù)設(shè)值的裝載控制PVSInt、Int、DInt、USInt、UInt、UDInt預(yù)設(shè)計數(shù)值Q、QUBOOLCV>=PV時為真QDBOOLCV<=0時為真CVSInt、Int、DInt、USInt、UInt、UDInt當(dāng)前計數(shù)值目前三十九頁\總數(shù)一百五十一頁\編于三點加計數(shù)器及其時序圖CTU:參數(shù)CU的值從0變?yōu)?時,CTU使計數(shù)值加1。如果參數(shù)CV(當(dāng)前計數(shù)值)的值大于或等于參數(shù)PV(預(yù)設(shè)計數(shù)值)的值,則計數(shù)器輸出參數(shù)Q=1。如果復(fù)位參數(shù)R的值從0變?yōu)?,則當(dāng)前計數(shù)值復(fù)位為0。目前四十頁\總數(shù)一百五十一頁\編于三點計數(shù)器的背景數(shù)據(jù)塊結(jié)構(gòu)目前四十一頁\總數(shù)一百五十一頁\編于三點減計數(shù)器及其時序圖CTD:參數(shù)CD的值從0變?yōu)?時,CTD使計數(shù)值減1。如果參數(shù)CV(當(dāng)前計數(shù)值)的值等于或小于0,則計數(shù)器輸出參數(shù)Q=1。如果參數(shù)LOAD的值從0變?yōu)?,則參數(shù)PV(預(yù)設(shè)值)的值將作為新的CV(當(dāng)前計數(shù)值)裝載到計數(shù)器。目前四十二頁\總數(shù)一百五十一頁\編于三點計數(shù)器指令——加減計數(shù)器CTUD:加計數(shù)(CU,CountUp)或減計數(shù)(CD,CountDown)輸入的值從0跳變?yōu)?時,CTUD會使計數(shù)值加1或減1。如果參數(shù)CV(當(dāng)前計數(shù)值)的值大于或等于參數(shù)PV(預(yù)設(shè)值)的值,則計數(shù)器輸出參數(shù)QU=1。如果參數(shù)CV的值小于或等于零,則計數(shù)器輸出參數(shù)QD=1。如果參數(shù)LOAD的值從0變?yōu)?,則參數(shù)PV(預(yù)設(shè)值)的值將作為新的CV(當(dāng)前計數(shù)值)裝載到計數(shù)器。如果復(fù)位參數(shù)R的值從0變?yōu)?,則當(dāng)前計數(shù)值復(fù)位為0。目前四十三頁\總數(shù)一百五十一頁\編于三點加減計數(shù)器及其時序圖PV=4目前四十四頁\總數(shù)一百五十一頁\編于三點傳送帶控制一個能夠電氣啟動的傳送帶。在傳送帶的起點有兩個按鈕開關(guān):用于START的S1和用于STOP的S2。在傳送帶的尾部也有兩個按鈕開關(guān):S3用于START,S4用于STOP??梢詮娜我欢藛踊蛲V箓魉蛶АA硗猓?dāng)傳送帶上的物件到達末端時,傳感器S5使傳送帶停機。目前四十五頁\總數(shù)一百五十一頁\編于三點傳送帶示意圖目前四十六頁\總數(shù)一百五十一頁\編于三點用于傳送帶系統(tǒng)符號編程的元素目前四十七頁\總數(shù)一百五十一頁\編于三點控制傳送帶程序目前四十八頁\總數(shù)一百五十一頁\編于三點風(fēng)機監(jiān)控程序某設(shè)備有三臺風(fēng)機,當(dāng)設(shè)備處于運行狀態(tài)時,如果風(fēng)機至少有兩臺以上轉(zhuǎn)動,則指示燈常亮;如果僅有一臺風(fēng)機轉(zhuǎn)動,則指示燈以0.5Hz的頻率閃爍;如果沒有任何風(fēng)機轉(zhuǎn)動,則指示燈不亮。目前四十九頁\總數(shù)一百五十一頁\編于三點輸入位I0.0,I0.1,I0.2分別為風(fēng)機1,2,3輸入端。目前五十頁\總數(shù)一百五十一頁\編于三點通過傳送帶電機KM1帶動傳送帶傳送物品,通過產(chǎn)品檢測器PH檢測產(chǎn)品通過的數(shù)量,傳送帶每傳送24個產(chǎn)品機械手KM2動作1次,進行包裝,機械手動作后,延時2秒,機械手的電磁鐵切斷。通過傳送帶起動按鈕、傳送帶停機按鈕控制傳送帶的運動。產(chǎn)品通過檢測器PH機械手KM1KM2傳送帶電機目前五十一頁\總數(shù)一百五十一頁\編于三點計數(shù)器應(yīng)用舉例:產(chǎn)品數(shù)量檢測產(chǎn)品通過檢測器PH機械手KM1KM2傳送帶電機PLC的I/O分配:I0.0—傳送帶停機按鈕I0.1—傳送帶起動按鈕I0.2—產(chǎn)品通過檢測器PHQ0.0—傳送帶電機KM1Q0.1—機械手KM2定時器,定時2秒計數(shù)器,設(shè)定值24(每24個產(chǎn)品機械手動作1次)目前五十二頁\總數(shù)一百五十一頁\編于三點I0.0—傳送帶停機按鈕I0.1—傳送帶起動按鈕I0.2—產(chǎn)品通過檢測器PHQ0.0—傳送帶電機KM1Q0.1—機械手KM2定時器,定時2秒計數(shù)器,設(shè)定值24機械手動作后,延時2秒,機械手的電磁鐵切斷測到一個產(chǎn)品,I0.2產(chǎn)生一個正脈沖,使計一個數(shù)。C10每計24個數(shù),機械手動作一次目前五十三頁\總數(shù)一百五十一頁\編于三點
3臺電機順序啟動、反序停止控制控制要求:按下啟動按鈕后,3臺電機按M1、M2、M3的順序隔2s啟動;按下停止按鈕后,3臺電機按M3、M2、M1的順序隔2s停止。輸入觸點功能說明輸出線圈功能說明I0.0啟動按鈕Q0.0M1控制繼電器I0.1停止按鈕Q0.1M2控制繼電器Q0.2M3控制繼電器目前五十四頁\總數(shù)一百五十一頁\編于三點3臺電機順序啟動,反序停止控制程序目前五十五頁\總數(shù)一百五十一頁\編于三點展廳人數(shù)控制系統(tǒng)控制要求:現(xiàn)有一展廳,最多可容納50人同時參觀。展廳進口與出口各裝一傳感器,每有一人進出,傳感器給出一個脈沖信號。試編程實現(xiàn),當(dāng)展廳內(nèi)不足50人時,綠燈亮,表示可以進入;當(dāng)展廳滿50人時,紅燈亮,表示不準(zhǔn)進入。
目前五十六頁\總數(shù)一百五十一頁\編于三點展廳人數(shù)控制系統(tǒng)I/O分配表輸入觸點功能說明輸出線圈功能說明I0.0系統(tǒng)啟動按鈕Q0.0綠燈輸出I0.1進口傳感器S1Q0.1紅燈輸出I0.2出口傳感器S2目前五十七頁\總數(shù)一百五十一頁\編于三點展廳人數(shù)控制程序I0.0系統(tǒng)啟動按鈕Q0.0綠燈輸出I0.1進口傳感器S1Q0.1紅燈輸出I0.2出口傳感器S2目前五十八頁\總數(shù)一百五十一頁\編于三點運料車自動裝、卸料控制控制要求:①某運料車如圖所示,可在A、B兩地分別啟動。運料車啟動后,自動返回A地停止,同時控制料斗門的電磁閥Y1打開,開始裝料。1分鐘后,電磁閥Y1斷開,關(guān)閉料斗門,運料車自動向B地運行。到達B地后停止,小車底門由電磁閥Y2控制打開,開始卸料。1分鐘后,運料車底門關(guān)閉,開始返回A地。之后重復(fù)運行。②運料車在運行過程中,可用手動開關(guān)使其停車。再次啟動后,可重復(fù)①中內(nèi)容目前五十九頁\總數(shù)一百五十一頁\編于三點圖7.43運料車自動裝、卸料控制示意圖目前六十頁\總數(shù)一百五十一頁\編于三點運料車自動裝、卸料控制I/O分配表輸入觸點功能說明輸出線圈功能說明I0.0啟動按鈕Q0.0右行I0.2A點行程開關(guān)(裝料啟動結(jié)束自鎖按鈕)Q0.1左行I0.3B點行程開關(guān)Q0.2電磁閥Y1,裝料I0.4停止按鈕Q0.3電磁閥Y2,卸料目前六十一頁\總數(shù)一百五十一頁\編于三點目前六十二頁\總數(shù)一百五十一頁\編于三點目前六十三頁\總數(shù)一百五十一頁\編于三點比較指令目前六十四頁\總數(shù)一百五十一頁\編于三點
可以使用“等于”操作確定第一個比較值是否等于第二個比較值。要比較的兩個值必須為相同的數(shù)據(jù)類型。該LAD觸點比較結(jié)果為TRUE時,則該觸點會被激活。在程序編輯器中單擊該指令后,可以從下拉菜單中選擇比較類型和數(shù)據(jù)類型。目前六十五頁\總數(shù)一百五十一頁\編于三點可以使用“大于”操作確定第一個比較值是否大于第二個比較值。要比較的兩個值必須為相同的數(shù)據(jù)類型。如果比較為真,則RLO為“1”。在比較字符串時,通過字符ASCII碼比較字符(例如“a”大于“A”)。從左到右執(zhí)行比較。第一個不同的字符決定比較結(jié)果。如果較長字符串的左側(cè)部分和較短字符串相同,則認為較長字符串更大。目前六十六頁\總數(shù)一百五十一頁\編于三點使用IN_RANGE和OUT_RANGE指令可測試輸入值是在指定的值范圍之內(nèi)還是之外。如果比較結(jié)果為TRUE,則功能框輸出為TRUE。輸入?yún)?shù)MIN、VAL和MAX的數(shù)據(jù)類型必須相同。在程序編輯器中單擊該指令后,可以從下拉菜單中選擇數(shù)據(jù)類型。目前六十七頁\總數(shù)一百五十一頁\編于三點例:用比較和計數(shù)指令編寫開關(guān)燈程序,要求燈控按鈕I0.0按下一次,燈Q4.0亮,按下兩次,燈Q4.0,Q4.1全亮,按下三次燈全滅,如此循環(huán)。分析:在程序中所用計數(shù)器為加法計數(shù)器,當(dāng)加到3時,必須復(fù)位計數(shù)器,這是關(guān)鍵。燈控制程序如圖所示。目前六十八頁\總數(shù)一百五十一頁\編于三點梯形圖程序如下:目前六十九頁\總數(shù)一百五十一頁\編于三點例:在HMI設(shè)備上可以設(shè)定電動機的轉(zhuǎn)速,設(shè)定值MW20的范圍為100-1440轉(zhuǎn)/分鐘,若輸入的設(shè)定值在此范圍內(nèi),則延時5秒鐘啟動電動機Q0.0,否則Q0.1長亮提示。目前七十頁\總數(shù)一百五十一頁\編于三點使用OK和NOT_OK指令可測試輸入的數(shù)據(jù)是否為符合IEEE規(guī)范754的有效實數(shù)。圖中,當(dāng)MD0和MD4中為有效的浮點數(shù)時,會激活“實數(shù)乘”(MUL)運算并置位輸出,即將MD0的值將與MD4的值相乘,結(jié)果存儲在MD10中同時Q4.0輸出為1。
目前七十一頁\總數(shù)一百五十一頁\編于三點目前七十二頁\總數(shù)一百五十一頁\編于三點目前七十三頁\總數(shù)一百五十一頁\編于三點目前七十四頁\總數(shù)一百五十一頁\編于三點目前七十五頁\總數(shù)一百五十一頁\編于三點目前七十六頁\總數(shù)一百五十一頁\編于三點目前七十七頁\總數(shù)一百五十一頁\編于三點如果輸入IN的值為123.4567則輸出OUT返回值0.4567目前七十八頁\總數(shù)一百五十一頁\編于三點目前七十九頁\總數(shù)一百五十一頁\編于三點移動指令目前八十頁\總數(shù)一百五十一頁\編于三點可以使用“移動塊”操作將一個存儲區(qū)(源區(qū)域)的內(nèi)容復(fù)制到另一個存儲區(qū)(目標(biāo)區(qū)域)。要復(fù)制到目標(biāo)區(qū)域的元素個數(shù)由參數(shù)COUNT指定。要復(fù)制的元素的寬度由輸入IN的元素寬度定義。復(fù)制操作沿地址升序方向進行。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。如果運算執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)為“1”。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:輸入EN的信號狀態(tài)為“0”。復(fù)制的數(shù)據(jù)量超出輸出OUT存儲區(qū)所提供的數(shù)據(jù)量。目前八十一頁\總數(shù)一百五十一頁\編于三點可以通過“填充塊”操作使用輸入IN的值填充存儲區(qū)(目標(biāo)區(qū)域)。從輸出OUT指定的地址開始填充目標(biāo)區(qū)域。重復(fù)的復(fù)制操作次數(shù)由參數(shù)COUNT指定。執(zhí)行該操作時,將選擇輸入IN的值并將其按照參數(shù)COUNT指定的重復(fù)次數(shù)復(fù)制到目標(biāo)區(qū)域。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。如果運算執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)為“1”。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:輸入EN的信號狀態(tài)為“0”。復(fù)制的數(shù)據(jù)量超出輸出OUT存儲區(qū)所提供的數(shù)據(jù)量。目前八十二頁\總數(shù)一百五十一頁\編于三點目前八十三頁\總數(shù)一百五十一頁\編于三點MOVE指令將單個數(shù)據(jù)元素從IN參數(shù)指定的源地址復(fù)制到OUT參數(shù)指定的目標(biāo)地址。MOVE_BLK和UMOVE_BLK指令具有附加的COUNT參數(shù)。COUNT指定要復(fù)制的數(shù)據(jù)元素個數(shù)。每個被復(fù)制元素的字節(jié)數(shù)取決于PLC變量表中分配給IN和OUT參數(shù)變量名稱的數(shù)據(jù)類型。MOVE_BLK和UMOVE_BLK指令在處理中斷的方式上有所不同:●在MOVE_BLK執(zhí)行期間排隊并處理中斷事件。在中斷OB子程序中未使用移動目標(biāo)地址的數(shù)據(jù)時,或者雖然使用了該數(shù)據(jù),但目標(biāo)數(shù)據(jù)不必一致時,使用MOVE_BLK指令。如果MOVE_BLK操作被中斷,則最后移動的一個數(shù)據(jù)元素在目標(biāo)地址中是完整并且一致的。MOVE_BLK操作會在中斷OB執(zhí)行完成后繼續(xù)執(zhí)行?!裨赨MOVE_BLK完成執(zhí)行前排隊但不處理中斷事件。如果在執(zhí)行中斷OB子程序前移動操作必須完成且目標(biāo)數(shù)據(jù)必須一致,則使用UMOVE_BLK指令。目前八十四頁\總數(shù)一百五十一頁\編于三點轉(zhuǎn)換指令目前八十五頁\總數(shù)一百五十一頁\編于三點“轉(zhuǎn)換”操作讀取參數(shù)IN的數(shù)據(jù),然后根據(jù)指定的數(shù)據(jù)類型對其進行轉(zhuǎn)換。僅當(dāng)使能輸入EN的信號狀態(tài)為“1”時,才能啟動“轉(zhuǎn)換”操作。如果執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)也為“1”。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:輸入EN的信號狀態(tài)為“0”。處理過程中發(fā)生溢出之類的錯誤。目前八十六頁\總數(shù)一百五十一頁\編于三點可以使用“取整數(shù)字值”運算將輸入IN的值取整為最接近的整數(shù)。該運算將輸入IN的值解釋為浮點數(shù)并將其轉(zhuǎn)換為最接近的雙精度整數(shù)。如果輸入值恰好是相鄰偶數(shù)和奇數(shù)的平均數(shù),則選擇偶數(shù)。運算結(jié)果放在輸出OUT中,可供查詢。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。如果運算執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)為“1”。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:輸入EN的信號狀態(tài)為“0”。目前八十七頁\總數(shù)一百五十一頁\編于三點可以使用“浮點數(shù)向上取整”運算將輸入IN的值向上取整為相鄰整數(shù)。該運算將輸入IN的值解釋為浮點數(shù)并將其向上轉(zhuǎn)換為相鄰的整數(shù)。運算結(jié)果放在輸出OUT中,可供查詢。輸出值可以大于或等于輸入值。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。如果運算執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)為“1”。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:輸入EN的信號狀態(tài)為“0”。目前八十八頁\總數(shù)一百五十一頁\編于三點可以使用“浮點數(shù)向下取整”運算將輸入IN的值向下取整為相鄰整數(shù)。該運算將輸入IN的值解釋為浮點數(shù)并將其向下轉(zhuǎn)換為相鄰的整數(shù)。運算結(jié)果放在輸出OUT中,可供查詢。輸出值可以小于或等于輸入值。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。如果運算執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)為“1”。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:輸入EN的信號狀態(tài)為“0”。目前八十九頁\總數(shù)一百五十一頁\編于三點可以使用“截取整數(shù)”運算得出整數(shù)而不對輸入IN的值進行舍入。輸入IN的值被視為浮點數(shù)。該運算僅選擇浮點數(shù)的整數(shù)部分,并將其發(fā)送到輸出OUT中,不帶小數(shù)位。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。如果運算執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)為“1”。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:輸入EN的信號狀態(tài)為“0”。目前九十頁\總數(shù)一百五十一頁\編于三點可以使用“標(biāo)定”運算通過將輸入VALUE的值映射到指定的取值范圍對該值進行標(biāo)定。執(zhí)行“標(biāo)定”運算時,會將輸入VALUE的浮點數(shù)值標(biāo)定到由參數(shù)MIN和MAX定義的取值范圍。標(biāo)定結(jié)果為整數(shù),并存儲在輸出OUT中。只有使能輸入端EN的信號狀態(tài)為“1”時,才執(zhí)行“標(biāo)定”運算。在這種情況下,使能輸出ENO的信號狀態(tài)也為“1”。目前九十一頁\總數(shù)一百五十一頁\編于三點可以使用“標(biāo)準(zhǔn)化”運算通過將輸入VALUE的變量值映射到線性標(biāo)尺對其進行標(biāo)準(zhǔn)化??梢允褂脜?shù)MIN和MAX定義(應(yīng)用于該標(biāo)尺的)取值范圍的限值。根據(jù)標(biāo)準(zhǔn)化值在該取值范圍內(nèi)的位置,計算結(jié)果并以浮點數(shù)形式存儲在輸出OUT中。如果要標(biāo)準(zhǔn)化的值等于輸入MIN的值,輸出OUT將返回值“0.0”。如果要標(biāo)準(zhǔn)化的值等于輸入MAX的值,輸出OUT將返回值“1.0”。目前九十二頁\總數(shù)一百五十一頁\編于三點目前九十三頁\總數(shù)一百五十一頁\編于三點目前九十四頁\總數(shù)一百五十一頁\編于三點程序控制指令目前九十五頁\總數(shù)一百五十一頁\編于三點可以使用“為1時塊中跳轉(zhuǎn)(有條件)”目標(biāo)程序段必須標(biāo)有跳轉(zhuǎn)標(biāo)簽。需要指定該跳轉(zhuǎn)標(biāo)簽的名稱以便執(zhí)行該操作。指定的跳轉(zhuǎn)標(biāo)簽位于該操作的上方。指定的跳轉(zhuǎn)標(biāo)簽必須在執(zhí)行該操作的塊中。指定的名稱在塊中只能出現(xiàn)一次。如果該操作的輸入端的邏輯運算結(jié)果為“1”,則跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽所標(biāo)識的程序段。跳轉(zhuǎn)方向可以朝向更大或更小的程序段編號。如果該操作的輸入不為真(RLO=0),則程序繼續(xù)在下一個程序段中執(zhí)行??梢允褂谩疤D(zhuǎn)標(biāo)簽”指定跳轉(zhuǎn)的目標(biāo)程序段,程序應(yīng)在目標(biāo)程序段中繼續(xù)執(zhí)行。跳轉(zhuǎn)標(biāo)簽的名稱可以包含字母、數(shù)字或下劃線。跳轉(zhuǎn)標(biāo)簽以及指定了該跳轉(zhuǎn)標(biāo)簽的操作必須位于同一個塊中。跳轉(zhuǎn)標(biāo)簽的名稱在塊中只能分配一次。
目前九十六頁\總數(shù)一百五十一頁\編于三點可以使用“為0時塊中跳轉(zhuǎn)(有條件)”操作,目標(biāo)程序段必須標(biāo)有跳轉(zhuǎn)標(biāo)簽。需要指定該跳轉(zhuǎn)標(biāo)簽的名稱以便執(zhí)行該操作。指定的跳轉(zhuǎn)標(biāo)簽位于該操作的上方。指定的跳轉(zhuǎn)標(biāo)簽必須在執(zhí)行該操作的塊中。指定的名稱在塊中只能出現(xiàn)一次。如果該操作的輸入端的邏輯運算結(jié)果(RLO)為“0”,則跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽所標(biāo)識的程序段。跳轉(zhuǎn)方向可以朝向更大或更小的程序段編號。如果該操作的輸入端的邏輯運算結(jié)果為“1”,則程序在下一個程序段中繼續(xù)執(zhí)行。目前九十七頁\總數(shù)一百五十一頁\編于三點可以使用“返回”操作停止塊的執(zhí)行。只有左側(cè)接頭的信號狀態(tài)為“1”時,才會執(zhí)行該操作。如果滿足該條件,將在當(dāng)前被調(diào)用塊中終止程序執(zhí)行并在調(diào)用塊(例如,在調(diào)用OB中)中的調(diào)用功能后繼續(xù)執(zhí)行。調(diào)用功能的狀態(tài)由“返回”操作的參數(shù)決定。該參數(shù)可以為以下值:TRUE:調(diào)用功能的輸出ENO置位為“1”。FALSE:調(diào)用功能的輸出ENO復(fù)位為“0”。<操作數(shù)>:調(diào)用功能的輸出ENO由指定操作數(shù)的信號狀態(tài)決定。如果組織塊被“返回”操作終止,則CPU繼續(xù)執(zhí)行系統(tǒng)程序。如果“返回”操作輸入端的信號狀態(tài)為“0”,則不執(zhí)行該操作。在這種情況下,程序繼續(xù)在被調(diào)用塊的下一個程序段中執(zhí)行。目前九十八頁\總數(shù)一百五十一頁\編于三點圖無條件跳轉(zhuǎn)目前九十九頁\總數(shù)一百五十一頁\編于三點圖條件跳轉(zhuǎn)目前一百頁\總數(shù)一百五十一頁\編于三點字邏輯運算指令目前一百零一頁\總數(shù)一百五十一頁\編于三點可以使用“AND邏輯運算”將輸入IN1的值與輸入IN2的值通過AND邏輯逐位運算,并通過輸出OUT查詢結(jié)果。執(zhí)行該運算時,輸入IN1的值的位0與輸入IN2的值的位0通過AND邏輯進行運算。結(jié)果存儲在輸出OUT的位0中。對指定值的所有其它位都執(zhí)行相同的邏輯運算。僅當(dāng)該邏輯運算中的兩個位的信號狀態(tài)均為“1”時,結(jié)果位的信號狀態(tài)才為“1”。如果該邏輯運算的兩個位中有一個位的信號狀態(tài)為“0”,則對應(yīng)的結(jié)果位將復(fù)位。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。在這種情況下,輸出ENO的信號狀態(tài)也為“1”。如果使能輸入EN的信號狀態(tài)為“0”,則使能輸出ENO的信號狀態(tài)復(fù)位為“0”。目前一百零二頁\總數(shù)一百五十一頁\編于三點可以使用“解碼”運算在輸出值中置位一個位,該位通過輸入值指定?!敖獯a”運算讀取輸入IN的值,然后在輸出值中置位一個位,該位位置與讀取的值一致。輸出值中的其它位以零填充。只有使能輸入EN的信號狀態(tài)為“1”時,才能啟動“解碼”運算。如果執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)也為“1”。如果使能輸入EN的信號狀態(tài)為“0”,則使能輸出ENO的信號狀態(tài)復(fù)位為“0”。目前一百零三頁\總數(shù)一百五十一頁\編于三點可以使用“編碼”運算讀取輸入值中最低有效置位位的位號并將其發(fā)送到輸出OUT?!熬幋a”運算選擇輸入IN值的最低有效位并將該位號寫入輸出OUT的變量中。只有使能輸入EN的信號狀態(tài)為“1”時,才能啟動“編碼”運算。如果執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)也為“1”。如果使能輸入EN的信號狀態(tài)為“0”,則使能輸出ENO的信號狀態(tài)復(fù)位為“0”。目前一百零四頁\總數(shù)一百五十一頁\編于三點“選擇”操作依靠一個開關(guān)(參數(shù)G)選擇輸入IN0或IN1中的一個并將其數(shù)據(jù)復(fù)制到輸出OUT。如果參數(shù)G的信號狀態(tài)為“0”,則復(fù)制輸入IN0的值。如果參數(shù)G的信號狀態(tài)為“1”,則將輸入IN1的值復(fù)制到輸出OUT。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。如果執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)也為“1”。如果使能輸入EN的信號狀態(tài)為“0”或執(zhí)行該操作期間出錯,將復(fù)位使能輸出ENO。目前一百零五頁\總數(shù)一百五十一頁\編于三點可以使用“多路復(fù)用”操作將所選輸入的數(shù)據(jù)復(fù)制到輸出OUT。功能框MUX的可選輸入數(shù)可以擴展。輸入會在該功能框中自動編號。從IN0起開始編號,每個新輸入的編號連續(xù)遞增??梢允褂脜?shù)K確定應(yīng)該將哪個輸入的數(shù)據(jù)復(fù)制到輸出OUT。如果參數(shù)K的值大于可用輸入數(shù),則將參數(shù)ELSE的數(shù)據(jù)復(fù)制到輸出OUT,并將使能輸出ENO設(shè)置為信號狀態(tài)“0”。只有所有輸入的變量和輸出OUT的變量具有相同數(shù)據(jù)類型時,才能執(zhí)行“多路復(fù)用”操作。參數(shù)K例外,因為只能為其指定整數(shù)。只有使能輸入EN的信號狀態(tài)為“1”時,才執(zhí)行該操作。如果執(zhí)行過程中未發(fā)生錯誤,則輸出ENO的信號狀態(tài)也為“1”。目前一百零六頁\總數(shù)一百五十一頁\編于三點移位和循環(huán)指令目前一百零七頁\總數(shù)一百五十一頁\編于三點可以使用“右移”操作將輸入IN的變量數(shù)據(jù)逐位右移,并通過輸出OUT查詢結(jié)果。使用參數(shù)N設(shè)置指定將移位的位數(shù)。參數(shù)N的值為“0”時,輸入IN的值將被復(fù)制到輸出OUT的變量中。當(dāng)參數(shù)N的值大于位數(shù)時,輸入IN的變量值將按其可用位數(shù)向右移位。無符號值移位時,用零填充變量左側(cè)區(qū)域中空出的位。如果指定值有符號,則用符號位的信號狀態(tài)填充空出的位目前一百零八頁\總數(shù)一百五十一頁\編于三點可以使用“左移”操作將輸入IN中的變量數(shù)據(jù)逐位左移,并通過輸出OUT查詢結(jié)果。使用參數(shù)N設(shè)置指定將移位的位數(shù)。參數(shù)N的值為“0”時,輸入IN的值將被復(fù)制到輸出OUT的變量中。當(dāng)參數(shù)N的值大于位數(shù)時,輸入IN的變量值將按其可用位數(shù)向左移位。用零填充變量右側(cè)部分因移位空出的位。目前一百零九頁\總數(shù)一百五十一頁\編于三點可以使用“循環(huán)右移”操作將輸入IN的變量數(shù)據(jù)逐位循環(huán)右移,并通過輸出OUT查詢結(jié)果。參數(shù)N指定將循環(huán)移位的位數(shù)。用擠出的位填充因循環(huán)移位空出的位。參數(shù)N的值為“0”時,輸入IN的值將被復(fù)制到輸出OUT的變量中。當(dāng)參數(shù)N的值大于位數(shù)時,輸入IN的變量值將按其可用位數(shù)進行循環(huán)移位。目前一百一十頁\總數(shù)一百五十一頁\編于三點可以使用“循環(huán)左移”操作將輸入IN的變量數(shù)據(jù)逐位循環(huán)左移,并通過輸出OUT查詢結(jié)果。參數(shù)N指定將循環(huán)移位的位數(shù)。用擠出的位填充因循環(huán)移位空出的位。參數(shù)N的值為“0”時,輸入IN的值將被復(fù)制到輸出OUT的變量中。當(dāng)參數(shù)N的值大于位數(shù)時,輸入IN的變量值將按其可用位數(shù)進行循環(huán)移位。目前一百一十一頁\總數(shù)一百五十一頁\編于三點[例]通過循環(huán)指令實現(xiàn)彩燈控制。編寫程序如圖5-30所示,其中I0.0為控制開關(guān),M1.5為周期為1s的時鐘存儲器位,實現(xiàn)的功能為當(dāng)按下I0.0,QD4中為1的輸出位每秒鐘向左移動1位。第1段程序的功能是賦初值,即將QD4中的Q7.0置位,第2段程序的功能是每秒鐘QD4循環(huán)左移一位。目前一百一十二頁\總數(shù)一百五十一頁\編于三點5.2擴展指令S7-1200的擴展指令包括日期和時間指令,字符串和字符指令,程序控制指令,通信指令,中斷指令,PID控制指令,運動控制指令,脈沖指令等。目前一百一十三頁\總數(shù)一百五十一頁\編于三點日期和時間指令目前一百一十四頁\總數(shù)一百五十一頁\編于三點使用T_CONV可將輸入IN的值轉(zhuǎn)換成輸出OUT指定的數(shù)據(jù)格式??蓪崿F(xiàn)下列轉(zhuǎn)換:時間(TIME)到數(shù)字值(DINT)的轉(zhuǎn)換數(shù)值(DINT)到時間(TIME)的轉(zhuǎn)換通過選擇指令輸入和輸出的數(shù)據(jù)類型來決定轉(zhuǎn)換的類型??赏ㄟ^輸出OUT查詢轉(zhuǎn)換結(jié)果。目前一百一十五頁\總數(shù)一百五十一頁\編于三點使用T_ADD可將輸入IN1的時間與輸入IN2的時間相加。通過輸出OUT查詢結(jié)果??梢詫ο铝懈袷竭M行相加操作:時間段(TIME)與時間段(TIME)相加。結(jié)果可以輸出到TIME格式的變量中。時間段(TIME)與時間點(DTL)相加。結(jié)果可以輸出到DTL格式的變量中。通過選擇指令輸入和輸出的數(shù)據(jù)類型來決定輸入IN1和輸出OUT的格式。在輸入IN2中,只能指定TIME格式的時間。
目前一百一十六頁\總數(shù)一百五十一頁\編于三點使用T_SUB可將輸入IN1的時間與輸入IN2的時間相減。通過輸出OUT查詢差值。可以對下列格式進行相減操作:時間段(TIME)與時間段(TIME)相減。結(jié)果可以輸出到TIME格式的變量中。從某時間點(DTL)減去一個時間段(TIME)。結(jié)果可以輸出到DTL格式的變量中。通過選擇指令輸入和輸出的數(shù)據(jù)類型來決定輸入IN1和輸出OUT的格式。在輸入IN2中,只能指定TIME格式的時間。目前一百一十七頁\總數(shù)一百五十一頁\編于三點使用T_DIFF可將輸入IN1的時間與輸入IN2的時間相減。以TIME格式通過輸出OUT輸出結(jié)果。在輸入IN1和IN2中只能指定DTL格式的值。如果在輸入IN2中指定的時間大于在輸入IN1中指定的時間,則結(jié)果將以負值的形式通過輸出OUT輸出。如果該指令的結(jié)果超出允許范圍,則此結(jié)果將限制為相應(yīng)的值,并且使能輸出ENO將設(shè)置為“0”。目前一百一十八頁\總數(shù)一百五十一頁\編于三點可使用WR_SYS_T設(shè)置CPU時鐘的日期和時間。在指令的輸入IN指定DTL格式的日期和時間。在輸出RET_VAL中,可以查詢指令執(zhí)行期間是否出錯。不能使用“WR_SYS_T”指令發(fā)送有關(guān)本地時區(qū)或夏令時的信息。目前一百一十九頁\總數(shù)一百五十一頁\編于三點可使用RD_SYS_T讀取CPU時鐘的當(dāng)前日期和當(dāng)前時間。數(shù)據(jù)以DTL格式放在指令的輸出OUT中。得出的值不包含有關(guān)本地時區(qū)或夏令時的信息。在輸出RET_VAL中,可以查詢指令執(zhí)行期間是否出錯。目前一百二十頁\總數(shù)一百五十一頁\編于三點可使用RD_LOC_T從CPU時鐘讀取當(dāng)前本地時間,并在輸出OUT以DTL格式輸出該值。在CPU時鐘的組態(tài)中設(shè)置的時區(qū)和夏令時開始時間以及標(biāo)準(zhǔn)時間,其相關(guān)信息均包括在本地時間信息中。目前一百二十一頁\總數(shù)一百五十一頁\編于三點字符串轉(zhuǎn)換指令目前一百二十二頁\總數(shù)一百五十一頁\編于三點使用S_CONV可將輸入IN的值轉(zhuǎn)換成在輸出OUT中指定的數(shù)據(jù)格式??蓪崿F(xiàn)下列轉(zhuǎn)換:字符串(STRING)轉(zhuǎn)換為數(shù)字值:
在輸入IN中指定的字符串的所有字符都將進行轉(zhuǎn)換。允許的字符為數(shù)字0到9、小數(shù)點以及加號和減號。字符串的第一個字符可以是有效數(shù)字或符號。前導(dǎo)空格和指數(shù)表示將被忽略。
無效字符可能會中斷字符轉(zhuǎn)換。此時,使能輸出ENO將設(shè)置為“0”。
可通過選擇輸出OUT的數(shù)據(jù)類型來決定轉(zhuǎn)換的輸出格式。數(shù)字值轉(zhuǎn)換為字符串(STRING):
通過選擇輸入IN的數(shù)據(jù)類型來決定要轉(zhuǎn)換的數(shù)字值格式。必須在輸出OUT中指定一個有效的STRING數(shù)據(jù)類型的變量。轉(zhuǎn)換后的字符串長度取決于輸入IN的值。由于第一個字節(jié)包含字符串的最大長度,第二個字節(jié)包含字符串的實際長度,因此轉(zhuǎn)換的結(jié)果從字符串的第三個字節(jié)開始存儲。輸出正數(shù)字值時不帶符號。復(fù)制字符串:
如果在指令的輸入和輸出均輸入STRING數(shù)據(jù)類型,則輸入IN的字符串將被復(fù)制到輸出OUT。如果輸入IN字符串的實際長度超出輸出OUT字符串的最大長度,則將復(fù)制IN字符串中完全適合OUT的字符串的那部分,并且使能輸出ENO將設(shè)置為“0”值。目前一百二十三頁\總數(shù)一百五十一頁\編于三點使用STRG_VAL可將字符串轉(zhuǎn)換為數(shù)字值。在輸入IN中指定要轉(zhuǎn)換的字符串??赏ㄟ^選擇輸出OUT的數(shù)據(jù)類型來決定輸出值的格式。通過輸出OUT查詢結(jié)果。從參數(shù)P中指定位置的字符開始轉(zhuǎn)換。例如,如果參數(shù)P中指定的值為“1”,則將從指定字符串的第一個字符開始轉(zhuǎn)換。轉(zhuǎn)換允許的字符為數(shù)字0到9、小數(shù)點、逗號小數(shù)點、符號“E”和“e”以及加號和減號字符。無效字符可能會中斷轉(zhuǎn)換。此時,使能輸出ENO將設(shè)置為“0”。使用參數(shù)FORMAT可指定要如何解釋字符串中的字符。也可以使用“STRG_VAL”指令來轉(zhuǎn)換和表示指數(shù)值。只能為參數(shù)FORMAT指定USINT數(shù)據(jù)類型的變量。目前一百二十四頁\總數(shù)一百五十一頁\編于三點使用VAL_STRG可將數(shù)字值轉(zhuǎn)換為字符串。在輸入IN中指定要轉(zhuǎn)換的值。通過選擇數(shù)據(jù)類型來決定數(shù)字值的格式。通過輸出OUT查詢轉(zhuǎn)換結(jié)果。通過參數(shù)P可指定從字符串中的哪個字符開始寫入結(jié)果。例如,如果參數(shù)P中指定的值為“2”,則將從字符串的第二個字符開始保存轉(zhuǎn)換值。通過參數(shù)SIZE可以指定字符串中寫入的字符數(shù)。這要從參數(shù)P中指定的字符開始算起。如果由參數(shù)P和SIZE定義的長度不夠,則使能輸出ENO將設(shè)置為“0”。如果輸出值比指定長度短,則結(jié)果將以右對齊方式寫入字符串??兆址恢脤⑻钊肟崭?。轉(zhuǎn)換允許的字符為數(shù)字0到9、小數(shù)點、逗號小數(shù)點、符號“E”和“e”以及加號和減號字符。無效字符可能會中斷轉(zhuǎn)換。此時,使能輸出ENO將設(shè)置為“0”。使用參數(shù)FORMAT可指定在轉(zhuǎn)換期間如何解釋數(shù)字值以及如何將其寫入字符串。只能為參數(shù)FORMAT指定USINT數(shù)據(jù)類型的變量。目前一百二十五頁\總數(shù)一百五十一頁\編于三點字符串操作指令目前一百二十六頁\總數(shù)一百五十一頁\編于三點STRING類型的變量包含兩個長度:最大長度和當(dāng)前長度(即當(dāng)前有效字符的數(shù)量)。每個變量的字符串最大長度在STRING關(guān)鍵字的方括號中指定。當(dāng)前長度表示實際使用的字符位置數(shù)。當(dāng)前長度必須小于或等于最大長度。字符串占用的字節(jié)數(shù)為最大長度加2??墒褂谩癓EN”指令查詢在輸入IN中指定的字符串的當(dāng)前長度,并在輸出OUT以數(shù)字值的形式將其輸出。空字符串('')的長度為零。如果操作處理期間出錯,則將輸出空字符串。目前一百二十七頁\總數(shù)一百五十一頁\編于三點CONCAT連接字符串參數(shù)IN1和IN2以形成一個字符串,并放在OUT中。目標(biāo)字符串必須足夠長,否則結(jié)果字符串將被截短并且使能輸出ENO將設(shè)置為“0”值。如果指令處理期間出錯并且可以寫入到輸出OUT,則將輸出空字符串。目前一百二十八頁\總數(shù)一百五十一頁\編于三點可使用LEFT從輸入IN字符串的第一個字符開始提取出一部分字符串。通過參數(shù)L指定要提取的字符數(shù)。以STRING格式通過輸出OUT輸出提取的字符。如果要提取的字符數(shù)大于字符串的當(dāng)前長度,則輸出OUT將返回輸入字符串。參數(shù)L的值為“0”時或者輸入值為空字符串時都將返回空字符串。如果參數(shù)L的值為負值,則將輸出空字符串并且使能輸出ENO將設(shè)置為“0”值。目前一百二十九頁\總數(shù)一百五十一頁\編于三點可使用MID將輸入IN字符串的一部分提取出來??赏ㄟ^參數(shù)P指定要提取的第一個字符的位置。通過參數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鐵板機項目投資可行性研究分析報告
- 2024年洋娃娃行業(yè)市場發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報告
- 2024-2025學(xué)年高中歷史第二單元西方人文精神的起源及其發(fā)展第7課啟蒙運動課時作業(yè)含解析新人教版必修3
- 2024-2025學(xué)年高中生物課時分層作業(yè)14基因突變和基因重組含解析新人教版必修2
- 2024-2025學(xué)年高中語文第3單元8蘭亭集序?qū)W案新人教版必修2
- 中國直流振動流化床項目投資可行性研究報告
- 運城流量計項目可行性研究報告
- 中國水晶煙灰缸行業(yè)競爭格局及投資戰(zhàn)略規(guī)劃研究報告
- 中國內(nèi)蒙古小微金融行業(yè)投資潛力分析及行業(yè)發(fā)展趨勢報告
- 中國酒盒包裝行業(yè)全景評估及投資規(guī)劃建議報告
- 生物醫(yī)藥行業(yè)市場前景及投資研究報告:代謝相關(guān)脂肪肝炎(MASHNASH)無藥可治巨大市場需求
- 2024年醫(yī)藥衛(wèi)生考試-靜脈治療知識筆試參考題庫含答案
- 《輸變電工程三維協(xié)同設(shè)計規(guī)范》
- 保潔員崗位安全知識培訓(xùn)
- 第二單元大單元教學(xué)設(shè)計 2023-2024學(xué)年統(tǒng)編版高中語文必修上冊
- JTT513-2004 公路工程土工合成材料 土工網(wǎng)
- 2024年高考語文復(fù)習(xí):文言文斷句專項練習(xí)題匯編(含答案解析)
- 中醫(yī)科醫(yī)院感染管理制度(全新版)
- 2023廣東省廣州市一模英語真題及答案
- 屈原【六幕話劇】郭沫若
- 茶葉抖音方案
評論
0/150
提交評論