![西門(mén)子S7-1200plc05指令系統(tǒng)411_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/c4dece7c-d695-47c2-b9ec-c38e7d0a8309/c4dece7c-d695-47c2-b9ec-c38e7d0a83091.gif)
![西門(mén)子S7-1200plc05指令系統(tǒng)411_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/c4dece7c-d695-47c2-b9ec-c38e7d0a8309/c4dece7c-d695-47c2-b9ec-c38e7d0a83092.gif)
![西門(mén)子S7-1200plc05指令系統(tǒng)411_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/c4dece7c-d695-47c2-b9ec-c38e7d0a8309/c4dece7c-d695-47c2-b9ec-c38e7d0a83093.gif)
![西門(mén)子S7-1200plc05指令系統(tǒng)411_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/c4dece7c-d695-47c2-b9ec-c38e7d0a8309/c4dece7c-d695-47c2-b9ec-c38e7d0a83094.gif)
![西門(mén)子S7-1200plc05指令系統(tǒng)411_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/18/c4dece7c-d695-47c2-b9ec-c38e7d0a8309/c4dece7c-d695-47c2-b9ec-c38e7d0a83095.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、指令系統(tǒng)指令系統(tǒng) S7-1200的指令從功能上大致可分為三類(lèi):基的指令從功能上大致可分為三類(lèi):基本指令、擴(kuò)展指令和全局庫(kù)指令。本指令、擴(kuò)展指令和全局庫(kù)指令。 5.1 基本指令基本指令 基本指令包括位邏輯指令、定時(shí)器、計(jì)數(shù)器、基本指令包括位邏輯指令、定時(shí)器、計(jì)數(shù)器、比較指令、數(shù)學(xué)指令、移動(dòng)指令、轉(zhuǎn)換指令、程序比較指令、數(shù)學(xué)指令、移動(dòng)指令、轉(zhuǎn)換指令、程序控制指令、邏輯運(yùn)算指令以及移位和循環(huán)移位指令控制指令、邏輯運(yùn)算指令以及移位和循環(huán)移位指令等。等。 基本邏輯指令基本邏輯指令 內(nèi)部輸入觸點(diǎn)內(nèi)部輸入觸點(diǎn)(I)(I)的閉合與斷開(kāi)僅與輸入映像寄存器相應(yīng)位的狀的閉合與斷開(kāi)僅與輸入映像寄存器相應(yīng)位的狀態(tài)有關(guān),
2、與外部輸入按鈕、接觸器、繼電器的常開(kāi)態(tài)有關(guān),與外部輸入按鈕、接觸器、繼電器的常開(kāi)/ /常閉接法無(wú)關(guān)。常閉接法無(wú)關(guān)。輸入映像寄存器相應(yīng)位為輸入映像寄存器相應(yīng)位為1 1,則內(nèi)部常開(kāi)觸點(diǎn)閉合,常閉觸點(diǎn)斷開(kāi)。,則內(nèi)部常開(kāi)觸點(diǎn)閉合,常閉觸點(diǎn)斷開(kāi)。輸入映像寄存器相應(yīng)位為輸入映像寄存器相應(yīng)位為0 0,則內(nèi)部常開(kāi)觸點(diǎn)斷開(kāi),常閉觸點(diǎn)閉合。,則內(nèi)部常開(kāi)觸點(diǎn)斷開(kāi),常閉觸點(diǎn)閉合。置位域復(fù)位域指令置位域復(fù)位域指令置位域指令將指定的地址開(kāi)始的連續(xù)若干個(gè)地址置位置位域指令將指定的地址開(kāi)始的連續(xù)若干個(gè)地址置位( (變?yōu)樽優(yōu)? 1狀狀態(tài)并保持態(tài)并保持) )。復(fù)位域指令復(fù)位域指令將指定的地址開(kāi)始的連續(xù)若干個(gè)地址復(fù)位將指定的地址開(kāi)
3、始的連續(xù)若干個(gè)地址復(fù)位(變?yōu)樽優(yōu)?狀狀態(tài)并保持態(tài)并保持)。置位置位/復(fù)位指令復(fù)位指令 (1) S 、R指令中的指令中的2表示從指定的表示從指定的Q0.0開(kāi)始的兩個(gè)觸點(diǎn),即開(kāi)始的兩個(gè)觸點(diǎn),即Q0.0與與Q0.1。 (2) 在檢測(cè)到在檢測(cè)到I0.0閉合的上升沿時(shí),輸出線圈閉合的上升沿時(shí),輸出線圈Q0.0、Q0.1被置為被置為1,并保持,并保持,而不論而不論I0.0為何種狀態(tài)。為何種狀態(tài)。 (3) 在檢測(cè)到在檢測(cè)到I0.1閉合的上升沿時(shí),輸出線圈閉合的上升沿時(shí),輸出線圈Q0.0、Q0.1被復(fù)位為被復(fù)位為0,并保持,并保持,而不論,而不論I0.0為何種狀態(tài)。為何種狀態(tài)。 指令說(shuō)明指令說(shuō)明 (1) 指定
4、觸點(diǎn)一旦被置位,則保持接通狀態(tài),直到指定觸點(diǎn)一旦被置位,則保持接通狀態(tài),直到對(duì)其進(jìn)行復(fù)位操作;而指定觸點(diǎn)一旦被復(fù)位,則變?yōu)閷?duì)其進(jìn)行復(fù)位操作;而指定觸點(diǎn)一旦被復(fù)位,則變?yōu)榻油顟B(tài),直到對(duì)其進(jìn)行復(fù)位操作。接通狀態(tài),直到對(duì)其進(jìn)行復(fù)位操作。 (2) 如果對(duì)定時(shí)器和計(jì)數(shù)器進(jìn)行復(fù)位操作,則被指如果對(duì)定時(shí)器和計(jì)數(shù)器進(jìn)行復(fù)位操作,則被指定的定的T或或C的位被復(fù)位,同時(shí)其當(dāng)前值被清的位被復(fù)位,同時(shí)其當(dāng)前值被清0。 復(fù)位優(yōu)先、置位優(yōu)先鎖存器復(fù)位優(yōu)先、置位優(yōu)先鎖存器復(fù)位優(yōu)先鎖存器、置位優(yōu)先鎖存器:輸出線圈可選指令功能指令功能 RS RS 復(fù)位優(yōu)先鎖存器,當(dāng)置位信號(hào)和復(fù)位信號(hào)都有效復(fù)位優(yōu)先鎖存器,當(dāng)置位信號(hào)和復(fù)位信號(hào)
5、都有效時(shí),復(fù)位信號(hào)優(yōu)先,輸出線圈不接通。時(shí),復(fù)位信號(hào)優(yōu)先,輸出線圈不接通。 SR SR 置位優(yōu)先鎖存器,當(dāng)置位信號(hào)和復(fù)位信號(hào)都有效置位優(yōu)先鎖存器,當(dāng)置位信號(hào)和復(fù)位信號(hào)都有效時(shí),置位信號(hào)優(yōu)先,輸出線圈接通。時(shí),置位信號(hào)優(yōu)先,輸出線圈接通。 RSRS、SRSR指令均為鎖存器,一個(gè)復(fù)位優(yōu)先,一個(gè)置位優(yōu)指令均為鎖存器,一個(gè)復(fù)位優(yōu)先,一個(gè)置位優(yōu)先。先。S S連接置位輸入,連接置位輸入,R R連接復(fù)位輸入。一旦輸出線圈被置位,連接復(fù)位輸入。一旦輸出線圈被置位,則保持置位狀態(tài)直到復(fù)位輸入接通。則保持置位狀態(tài)直到復(fù)位輸入接通。 置位、復(fù)位輸入均以高電平狀態(tài)有效。置位、復(fù)位輸入均以高電平狀態(tài)有效。 例:搶答器的
6、設(shè)計(jì)例:搶答器的設(shè)計(jì)搶答器有三個(gè)輸入,分別搶答器有三個(gè)輸入,分別為為I0.0I0.0、I0.1I0.1和和I0.2I0.2,輸輸出分別為出分別為Q4.0Q4.0、Q4.1Q4.1和和Q4.2Q4.2,復(fù)位輸入是復(fù)位輸入是I0.4I0.4。要要求:三人中任意搶答,誰(shuí)先按按鈕,誰(shuí)的指示燈優(yōu)求:三人中任意搶答,誰(shuí)先按按鈕,誰(shuí)的指示燈優(yōu)先亮,且只能亮一盞燈,進(jìn)行下一問(wèn)題時(shí)主持人按先亮,且只能亮一盞燈,進(jìn)行下一問(wèn)題時(shí)主持人按復(fù)位按鈕,搶答重新開(kāi)始。復(fù)位按鈕,搶答重新開(kāi)始。 搶答器程序搶答器程序 邊沿指令邊沿指令 位邏輯指令位邏輯指令邊緣檢測(cè)觸點(diǎn)指令邊緣檢測(cè)觸點(diǎn)指令如果輸入信號(hào)如果輸入信號(hào)I0.6由由0變
7、為變?yōu)?狀態(tài)狀態(tài)(即輸入信號(hào)即輸入信號(hào)I0.6的上升沿的上升沿),則,則該觸點(diǎn)接通一個(gè)掃描周期。該觸點(diǎn)接通一個(gè)掃描周期。觸點(diǎn)下面的觸點(diǎn)下面的M4.3為邊緣存儲(chǔ)位,用來(lái)存儲(chǔ)上一個(gè)掃描循環(huán)是為邊緣存儲(chǔ)位,用來(lái)存儲(chǔ)上一個(gè)掃描循環(huán)是I0.6的狀態(tài),通過(guò)比較輸入信號(hào)的當(dāng)前狀態(tài)和上一次循環(huán)的狀態(tài)的狀態(tài),通過(guò)比較輸入信號(hào)的當(dāng)前狀態(tài)和上一次循環(huán)的狀態(tài)來(lái)檢測(cè)信號(hào)的邊沿。邊沿存儲(chǔ)位的地址只能在程序中使用一次,來(lái)檢測(cè)信號(hào)的邊沿。邊沿存儲(chǔ)位的地址只能在程序中使用一次,它的狀態(tài)不能在其他地方被改寫(xiě)。只能使用它的狀態(tài)不能在其他地方被改寫(xiě)。只能使用M、全局、全局DB和靜態(tài)和靜態(tài)局部變量來(lái)作邊沿存儲(chǔ)位,不能使用臨時(shí)局部數(shù)據(jù)或
8、局部變量來(lái)作邊沿存儲(chǔ)位,不能使用臨時(shí)局部數(shù)據(jù)或I/O變量來(lái)變量來(lái)作邊沿存儲(chǔ)位。作邊沿存儲(chǔ)位。位邏輯指令位邏輯指令P_TRIG與與N_TRIG指令指令在流進(jìn)在流進(jìn)P_TRIG指令的指令的CLK輸入端的能流的上升沿,輸入端的能流的上升沿,Q端輸出一個(gè)端輸出一個(gè)掃描周期的能流,使掃描周期的能流,使M8.1置位。置位。P_TRIG指令與指令與N_TRIG指令不能放在電路的開(kāi)始處和結(jié)束處。指令不能放在電路的開(kāi)始處和結(jié)束處。位邏輯指令位邏輯指令3種邊沿檢測(cè)指令的功能種邊沿檢測(cè)指令的功能以上升沿檢測(cè)為例:以上升沿檢測(cè)為例:在在P觸點(diǎn)指令中,觸點(diǎn)上面的地址的上升沿,該觸點(diǎn)接通一個(gè)掃觸點(diǎn)指令中,觸點(diǎn)上面的地址的
9、上升沿,該觸點(diǎn)接通一個(gè)掃描周期,因此描周期,因此P觸點(diǎn)用于檢測(cè)觸點(diǎn)上面地址的上升沿,并且直接觸點(diǎn)用于檢測(cè)觸點(diǎn)上面地址的上升沿,并且直接輸出上升沿脈沖。輸出上升沿脈沖。在在P線圈的能流的上升沿,線圈上面的地址在一個(gè)掃描周期為線圈的能流的上升沿,線圈上面的地址在一個(gè)掃描周期為1狀狀態(tài),因此態(tài),因此P線圈用于檢測(cè)能流的上升沿,并用線圈上面的地址來(lái)線圈用于檢測(cè)能流的上升沿,并用線圈上面的地址來(lái)輸出上升沿脈沖。輸出上升沿脈沖。P_TRIG指令用于檢測(cè)能流的上升沿,并且直接輸出上升沿脈沖。指令用于檢測(cè)能流的上升沿,并且直接輸出上升沿脈沖。如果如果P_TRIG指令左邊只有指令左邊只有I1.0觸點(diǎn),可以用觸點(diǎn)
10、,可以用I1.0的的P觸點(diǎn)來(lái)代替觸點(diǎn)來(lái)代替P_TRIG指令。指令。例例按動(dòng)一次瞬時(shí)按鈕按動(dòng)一次瞬時(shí)按鈕I0.0,輸出,輸出Q4.0亮,再按動(dòng)一亮,再按動(dòng)一次按鈕,輸出次按鈕,輸出Q4.0滅;重復(fù)以上。滅;重復(fù)以上。 例例 若故障信號(hào)若故障信號(hào)I0.0為為1,使,使Q4.0控制的指示燈以控制的指示燈以1Hz的頻率閃爍。操作人員按復(fù)位按鈕的頻率閃爍。操作人員按復(fù)位按鈕I0.1后,如果后,如果故障已經(jīng)消失,則指示燈熄滅,如果沒(méi)有消失,指故障已經(jīng)消失,則指示燈熄滅,如果沒(méi)有消失,指示燈轉(zhuǎn)為常亮,直至故障消失。示燈轉(zhuǎn)為常亮,直至故障消失。定時(shí)器定時(shí)器使用定時(shí)器指令可創(chuàng)建編程的時(shí)間延遲,使用定時(shí)器指令可創(chuàng)
11、建編程的時(shí)間延遲,S7-1200 PLC有有4種定種定時(shí)器:時(shí)器:TP: 脈沖定時(shí)器可生成具有預(yù)設(shè)寬度時(shí)間的脈沖。脈沖定時(shí)器可生成具有預(yù)設(shè)寬度時(shí)間的脈沖。 TON:接通延遲定時(shí)器輸出:接通延遲定時(shí)器輸出Q在預(yù)設(shè)的延時(shí)過(guò)后設(shè)置為在預(yù)設(shè)的延時(shí)過(guò)后設(shè)置為 ON。 TOF:關(guān)斷延遲定時(shí)器輸出:關(guān)斷延遲定時(shí)器輸出 Q 在預(yù)設(shè)的延時(shí)過(guò)后重置為在預(yù)設(shè)的延時(shí)過(guò)后重置為 OFF。 TONR:保持型接通延遲定時(shí)器輸出在預(yù)設(shè)的延時(shí)過(guò)后設(shè)置:保持型接通延遲定時(shí)器輸出在預(yù)設(shè)的延時(shí)過(guò)后設(shè)置為為ON。在使用。在使用 R 輸入重置經(jīng)過(guò)的時(shí)間之前,會(huì)跨越多個(gè)定時(shí)時(shí)輸入重置經(jīng)過(guò)的時(shí)間之前,會(huì)跨越多個(gè)定時(shí)時(shí)段一直累加經(jīng)過(guò)的時(shí)間。段
12、一直累加經(jīng)過(guò)的時(shí)間。 RT:通過(guò)清除存儲(chǔ)在指定定時(shí)器背景數(shù)據(jù)塊中的時(shí)間數(shù)據(jù):通過(guò)清除存儲(chǔ)在指定定時(shí)器背景數(shù)據(jù)塊中的時(shí)間數(shù)據(jù)來(lái)重置定時(shí)器。來(lái)重置定時(shí)器。 每個(gè)定時(shí)器都使用一個(gè)存儲(chǔ)在數(shù)據(jù)塊中的結(jié)構(gòu)來(lái)保存定時(shí)器數(shù)每個(gè)定時(shí)器都使用一個(gè)存儲(chǔ)在數(shù)據(jù)塊中的結(jié)構(gòu)來(lái)保存定時(shí)器數(shù)據(jù)。據(jù)。 在編輯器中放置定時(shí)器指令時(shí)可分配該數(shù)據(jù)塊。在編輯器中放置定時(shí)器指令時(shí)可分配該數(shù)據(jù)塊。 接通延遲定時(shí)器及其時(shí)序圖接通延遲定時(shí)器及其時(shí)序圖 定時(shí)器的背景數(shù)據(jù)塊結(jié)構(gòu)定時(shí)器的背景數(shù)據(jù)塊結(jié)構(gòu) 練習(xí)練習(xí) 按下按下瞬時(shí)啟動(dòng)按鈕瞬時(shí)啟動(dòng)按鈕I0.0,5秒后電動(dòng)機(jī)啟動(dòng),秒后電動(dòng)機(jī)啟動(dòng),按下按下瞬時(shí)停止按鈕瞬時(shí)停止按鈕I0.1,10秒后電動(dòng)機(jī)停止。
13、秒后電動(dòng)機(jī)停止。例例 用接通延時(shí)定時(shí)器設(shè)計(jì)一個(gè)周期振蕩電路。用接通延時(shí)定時(shí)器設(shè)計(jì)一個(gè)周期振蕩電路。用接通延時(shí)定時(shí)器設(shè)計(jì)周期和占空比可調(diào)的振蕩電路。用接通延時(shí)定時(shí)器設(shè)計(jì)周期和占空比可調(diào)的振蕩電路。振蕩電路的高、低電平時(shí)間分別由兩個(gè)定時(shí)器的振蕩電路的高、低電平時(shí)間分別由兩個(gè)定時(shí)器的PT值確定。值確定。保持型接通延遲定時(shí)器及其時(shí)序圖保持型接通延遲定時(shí)器及其時(shí)序圖 關(guān)斷延遲定時(shí)器及其時(shí)序圖關(guān)斷延遲定時(shí)器及其時(shí)序圖 脈沖定時(shí)器及其時(shí)序圖脈沖定時(shí)器及其時(shí)序圖 例:用脈沖定時(shí)器實(shí)現(xiàn)一個(gè)周期振蕩電路例:用脈沖定時(shí)器實(shí)現(xiàn)一個(gè)周期振蕩電路 復(fù)位定時(shí)器指令復(fù)位定時(shí)器指令 兩條運(yùn)輸帶順序相連,為避免運(yùn)送的物料在兩條運(yùn)
14、輸帶順序相連,為避免運(yùn)送的物料在1號(hào)運(yùn)輸帶上堆積,號(hào)運(yùn)輸帶上堆積,按下起動(dòng)按鈕按下起動(dòng)按鈕I0.3,1號(hào)帶開(kāi)始運(yùn)行,號(hào)帶開(kāi)始運(yùn)行,8s后后2號(hào)帶自動(dòng)起動(dòng)。停機(jī)號(hào)帶自動(dòng)起動(dòng)。停機(jī)的順序與起動(dòng)的順序相反,按了停止按鈕的順序與起動(dòng)的順序相反,按了停止按鈕I0.2后,先停后,先停2號(hào)帶,號(hào)帶,8s后停后停1號(hào)帶。號(hào)帶。Q1.1和和Q0.6控制兩臺(tái)電動(dòng)機(jī)控制兩臺(tái)電動(dòng)機(jī)M1和和M2。參數(shù)參數(shù) IN從從0變?yōu)樽優(yōu)?將啟動(dòng)將啟動(dòng)TP、TON 和和 TONR,從,從1變變0 將啟動(dòng)將啟動(dòng) TOF。 ET 為定時(shí)開(kāi)始后經(jīng)過(guò)的時(shí)間,或稱(chēng)為已耗時(shí)間值為定時(shí)開(kāi)始后經(jīng)過(guò)的時(shí)間,或稱(chēng)為已耗時(shí)間值(可以不為可以不為ET指指定
15、地址定地址),它們的數(shù)值類(lèi)型為,它們的數(shù)值類(lèi)型為32位的位的Time,單位為,單位為ms,最大定時(shí),最大定時(shí)時(shí)間為時(shí)間為T(mén)#24D_20H_31M_23S_647MS。IEC定時(shí)器和定時(shí)器和IEC計(jì)數(shù)器屬于功能塊,調(diào)用時(shí)需要指定配套的背計(jì)數(shù)器屬于功能塊,調(diào)用時(shí)需要指定配套的背景數(shù)據(jù)塊,定時(shí)器和計(jì)數(shù)器指令的數(shù)據(jù)保存在背景數(shù)據(jù)塊中。景數(shù)據(jù)塊,定時(shí)器和計(jì)數(shù)器指令的數(shù)據(jù)保存在背景數(shù)據(jù)塊中。在梯形圖中輸入定時(shí)器指令時(shí),打開(kāi)右邊的指令窗口將在梯形圖中輸入定時(shí)器指令時(shí),打開(kāi)右邊的指令窗口將“定時(shí)器定時(shí)器操作操作”文件夾中的定時(shí)器指令拖放到梯形圖中適當(dāng)?shù)奈恢?,在出文件夾中的定時(shí)器指令拖放到梯形圖中適當(dāng)?shù)奈恢茫?/p>
16、在出現(xiàn)的現(xiàn)的“調(diào)用選項(xiàng)調(diào)用選項(xiàng)”對(duì)話框中修改將要生成的背景數(shù)據(jù)塊的名稱(chēng),對(duì)話框中修改將要生成的背景數(shù)據(jù)塊的名稱(chēng),或采用默認(rèn)的名稱(chēng)。點(diǎn)擊或采用默認(rèn)的名稱(chēng)。點(diǎn)擊“確定確定”按鈕,自動(dòng)生成數(shù)據(jù)塊。按鈕,自動(dòng)生成數(shù)據(jù)塊。計(jì)數(shù)器計(jì)數(shù)器S7-1200有有3種計(jì)數(shù)器:加計(jì)數(shù)器種計(jì)數(shù)器:加計(jì)數(shù)器(CTU)、減計(jì)數(shù)器、減計(jì)數(shù)器(CTD)和加減計(jì)和加減計(jì)數(shù)器數(shù)器(CTUD)。它們屬于軟件計(jì)數(shù)器,其最大計(jì)數(shù)速率受到它所。它們屬于軟件計(jì)數(shù)器,其最大計(jì)數(shù)速率受到它所在的在的OB的執(zhí)行速率的限制。的執(zhí)行速率的限制。如果需要速率更高的計(jì)數(shù)器,可以使用如果需要速率更高的計(jì)數(shù)器,可以使用CPU內(nèi)置的高速計(jì)數(shù)器。內(nèi)置的高速計(jì)數(shù)器
17、。調(diào)用計(jì)數(shù)器指令時(shí),需要生成保存計(jì)數(shù)器數(shù)據(jù)的背景數(shù)據(jù)塊。調(diào)用計(jì)數(shù)器指令時(shí),需要生成保存計(jì)數(shù)器數(shù)據(jù)的背景數(shù)據(jù)塊。CU和和CD分別是加計(jì)數(shù)輸入和減計(jì)數(shù)輸入,在分別是加計(jì)數(shù)輸入和減計(jì)數(shù)輸入,在CU或或CD由由0變?yōu)樽優(yōu)?是,實(shí)際計(jì)數(shù)值是,實(shí)際計(jì)數(shù)值CV加加1或減或減1。復(fù)位輸入復(fù)位輸入R為為1時(shí),計(jì)數(shù)器被復(fù)位,時(shí),計(jì)數(shù)器被復(fù)位,CV被清被清0,計(jì)數(shù)器的輸入,計(jì)數(shù)器的輸入Q變變?yōu)闉?。 計(jì)數(shù)器指令計(jì)數(shù)器指令計(jì)數(shù)器的輸入輸出計(jì)數(shù)器的輸入輸出 參數(shù)參數(shù)加計(jì)數(shù)器及其時(shí)序圖加計(jì)數(shù)器及其時(shí)序圖 CTU: 參數(shù)參數(shù) CU 的值從的值從 0 變?yōu)樽優(yōu)?1 時(shí),時(shí),CTU 使計(jì)數(shù)值加使計(jì)數(shù)值加 1。如果。如果參數(shù)參數(shù)
18、 CV(當(dāng)前計(jì)數(shù)值當(dāng)前計(jì)數(shù)值)的值大于或等于參數(shù)的值大于或等于參數(shù) PV (預(yù)設(shè)計(jì)數(shù)值預(yù)設(shè)計(jì)數(shù)值)的值,的值,則計(jì)數(shù)器輸出參數(shù)則計(jì)數(shù)器輸出參數(shù) Q = 1。如果復(fù)位參數(shù)。如果復(fù)位參數(shù) R 的值從的值從 0 變?yōu)樽優(yōu)?1,則,則當(dāng)前計(jì)數(shù)值復(fù)位為當(dāng)前計(jì)數(shù)值復(fù)位為 0。計(jì)數(shù)器的背景數(shù)據(jù)塊結(jié)構(gòu)計(jì)數(shù)器的背景數(shù)據(jù)塊結(jié)構(gòu) 減計(jì)數(shù)器及其時(shí)序圖減計(jì)數(shù)器及其時(shí)序圖 CTD: 參數(shù)參數(shù) CD 的值從的值從 0 變?yōu)樽優(yōu)?1 時(shí),時(shí),CTD 使計(jì)數(shù)值減使計(jì)數(shù)值減 1。如果參。如果參數(shù)數(shù) CV (當(dāng)前計(jì)數(shù)值當(dāng)前計(jì)數(shù)值)的值等于或小于的值等于或小于 0,則計(jì)數(shù)器輸出參數(shù),則計(jì)數(shù)器輸出參數(shù) Q = 1。如果參數(shù)如果參數(shù) L
19、OAD 的值從的值從 0 變?yōu)樽優(yōu)?1,則參數(shù),則參數(shù)PV (預(yù)設(shè)值預(yù)設(shè)值)的值將作為的值將作為新的新的 CV (當(dāng)前計(jì)數(shù)值當(dāng)前計(jì)數(shù)值)裝載到計(jì)數(shù)器。裝載到計(jì)數(shù)器。計(jì)數(shù)器指令計(jì)數(shù)器指令加減計(jì)數(shù)器加減計(jì)數(shù)器 CTUD: 加計(jì)數(shù)加計(jì)數(shù) (CU, Count Up) 或減計(jì)數(shù)或減計(jì)數(shù) (CD, Count Down) 輸入的值從輸入的值從 0 跳變?yōu)樘優(yōu)?1時(shí),時(shí),CTUD 會(huì)使計(jì)數(shù)值加會(huì)使計(jì)數(shù)值加 1 或減或減 1。如果參數(shù)如果參數(shù) CV(當(dāng)前計(jì)數(shù)值)的值大于或等于參數(shù)(當(dāng)前計(jì)數(shù)值)的值大于或等于參數(shù)PV(預(yù)設(shè)值)(預(yù)設(shè)值)的值,則計(jì)數(shù)器輸出參數(shù)的值,則計(jì)數(shù)器輸出參數(shù) QU = 1。如果參數(shù)。如
20、果參數(shù) CV 的值小于或等的值小于或等于零,則計(jì)數(shù)器輸出參數(shù)于零,則計(jì)數(shù)器輸出參數(shù) QD = 1。如果參數(shù)如果參數(shù) LOAD 的值從的值從 0 變?yōu)樽優(yōu)?1,則參數(shù),則參數(shù) PV(預(yù)設(shè)值)的值將(預(yù)設(shè)值)的值將作為新的作為新的 CV(當(dāng)前計(jì)數(shù)值)裝載到計(jì)數(shù)器。(當(dāng)前計(jì)數(shù)值)裝載到計(jì)數(shù)器。如果復(fù)位參數(shù)如果復(fù)位參數(shù) R 的值從的值從 0 變?yōu)樽優(yōu)?1,則當(dāng)前計(jì)數(shù)值復(fù)位為,則當(dāng)前計(jì)數(shù)值復(fù)位為 0。加減計(jì)數(shù)器及其時(shí)序圖加減計(jì)數(shù)器及其時(shí)序圖 PV = 4傳送帶控制傳送帶控制 一個(gè)能夠電氣啟動(dòng)的傳送帶。在傳送帶的起點(diǎn)有兩個(gè)按鈕一個(gè)能夠電氣啟動(dòng)的傳送帶。在傳送帶的起點(diǎn)有兩個(gè)按鈕開(kāi)關(guān):用于開(kāi)關(guān):用于START
21、的的S1和用于和用于STOP的的S2。在傳送帶的尾部也。在傳送帶的尾部也有兩個(gè)按鈕開(kāi)關(guān):有兩個(gè)按鈕開(kāi)關(guān):S3用于用于START,S4用于用于STOP??梢詮娜我???梢詮娜我欢藛?dòng)或停止傳送帶。另外,當(dāng)傳送帶上的物件到達(dá)末端時(shí),端啟動(dòng)或停止傳送帶。另外,當(dāng)傳送帶上的物件到達(dá)末端時(shí),傳感器傳感器S5使傳送帶停機(jī)。使傳送帶停機(jī)。傳送帶示意圖傳送帶示意圖MOTOR_ONS1S2StartStopS3S4StartStopS5用于傳送帶系統(tǒng)符號(hào)編程的元素用于傳送帶系統(tǒng)符號(hào)編程的元素控制傳送帶程序控制傳送帶程序“S1”( S )“MOTOR_ON”網(wǎng)絡(luò)1:按任何一個(gè)啟動(dòng)開(kāi)關(guān),接通電機(jī)“S3”網(wǎng)絡(luò)1:OOS
22、S1S3MOTOR_ON“S2”( R )“MOTOR_ON”網(wǎng)絡(luò)2:按任何一個(gè)停止或打開(kāi)傳送帶 末端的常閉接點(diǎn),停止電機(jī)“S4”網(wǎng)絡(luò)2:OOONS2S4RMOTOR_ONS5“S5”風(fēng)機(jī)監(jiān)控程序風(fēng)機(jī)監(jiān)控程序 某設(shè)備有三臺(tái)風(fēng)機(jī),當(dāng)設(shè)備處于運(yùn)行狀態(tài)時(shí),如果風(fēng)機(jī)至某設(shè)備有三臺(tái)風(fēng)機(jī),當(dāng)設(shè)備處于運(yùn)行狀態(tài)時(shí),如果風(fēng)機(jī)至少有兩臺(tái)以上轉(zhuǎn)動(dòng),則指示燈常亮;如果僅有一臺(tái)風(fēng)機(jī)轉(zhuǎn)動(dòng),少有兩臺(tái)以上轉(zhuǎn)動(dòng),則指示燈常亮;如果僅有一臺(tái)風(fēng)機(jī)轉(zhuǎn)動(dòng),則指示燈以則指示燈以0.5 Hz的頻率閃爍;如果沒(méi)有任何風(fēng)機(jī)轉(zhuǎn)動(dòng),則指的頻率閃爍;如果沒(méi)有任何風(fēng)機(jī)轉(zhuǎn)動(dòng),則指示燈不亮。示燈不亮。 輸入位輸入位I0.0,I0.1,I0.2分別分別為風(fēng)
23、機(jī)為風(fēng)機(jī)1,2,3輸入端。輸入端。 通過(guò)傳送帶電機(jī)KM1帶動(dòng)傳送帶傳送物品,通過(guò)產(chǎn)品檢測(cè)器PH檢測(cè)產(chǎn)品通過(guò)的數(shù)量,傳送帶每傳送24個(gè)產(chǎn)品機(jī)械手KM2動(dòng)作1次,進(jìn)行包裝,機(jī)械手動(dòng)作后,延時(shí)2秒,機(jī)械手的電磁鐵切斷。通過(guò)傳送帶起動(dòng)按鈕、傳送帶停機(jī)按鈕控制傳送帶的運(yùn)動(dòng)。產(chǎn)品通過(guò)檢測(cè)器產(chǎn)品通過(guò)檢測(cè)器PH機(jī)械手機(jī)械手KM1KM2傳送帶電機(jī)傳送帶電機(jī)計(jì)數(shù)器應(yīng)用舉例:產(chǎn)品數(shù)量檢測(cè)計(jì)數(shù)器應(yīng)用舉例:產(chǎn)品數(shù)量檢測(cè)產(chǎn)品通過(guò)檢測(cè)器產(chǎn)品通過(guò)檢測(cè)器PH機(jī)械手機(jī)械手KM1KM2傳送帶電機(jī)傳送帶電機(jī)PLC的的I/O分配:分配:I0.0 傳送帶停機(jī)按鈕傳送帶停機(jī)按鈕I0.1傳送帶起動(dòng)按鈕傳送帶起動(dòng)按鈕I0.2 產(chǎn)品通過(guò)檢測(cè)器產(chǎn)
24、品通過(guò)檢測(cè)器PHQ0.0傳送帶電機(jī)傳送帶電機(jī)KM1Q0.1機(jī)械手機(jī)械手KM2定時(shí)器定時(shí)器,定時(shí)定時(shí)2秒秒計(jì)數(shù)器,設(shè)定值計(jì)數(shù)器,設(shè)定值24(每(每24個(gè)產(chǎn)品個(gè)產(chǎn)品機(jī)械手動(dòng)作機(jī)械手動(dòng)作1次)次)I0.0 傳送帶停傳送帶停機(jī)按鈕機(jī)按鈕I0.1傳送帶起動(dòng)傳送帶起動(dòng)按鈕按鈕I0.2 產(chǎn)品通過(guò)產(chǎn)品通過(guò)檢測(cè)器檢測(cè)器PHQ0.0傳送帶電機(jī)傳送帶電機(jī)KM1Q0.1機(jī)械手機(jī)械手KM2定時(shí)器定時(shí)器,定時(shí)定時(shí)2秒秒計(jì)數(shù)器,設(shè)定值計(jì)數(shù)器,設(shè)定值24機(jī)械手動(dòng)作后,延時(shí)機(jī)械手動(dòng)作后,延時(shí)2 2秒,秒,機(jī)械手的電磁鐵切斷機(jī)械手的電磁鐵切斷測(cè)到一個(gè)產(chǎn)品,測(cè)到一個(gè)產(chǎn)品,I0.2產(chǎn)生一個(gè)正產(chǎn)生一個(gè)正脈沖,使計(jì)一個(gè)數(shù)。脈沖,使計(jì)一個(gè)
25、數(shù)。C10每計(jì)每計(jì)24個(gè)數(shù),機(jī)械手動(dòng)作一次個(gè)數(shù),機(jī)械手動(dòng)作一次 3臺(tái)電機(jī)順序啟動(dòng)、反序停止控制臺(tái)電機(jī)順序啟動(dòng)、反序停止控制 控制要求:按下啟動(dòng)按鈕后,控制要求:按下啟動(dòng)按鈕后,3臺(tái)電機(jī)按臺(tái)電機(jī)按M1、M2、M3的順序隔的順序隔2s啟動(dòng);按下停止按鈕后,啟動(dòng);按下停止按鈕后,3臺(tái)臺(tái)電機(jī)按電機(jī)按M3、M2、M1的順序隔的順序隔2s停止。停止。3臺(tái)電機(jī)順序啟臺(tái)電機(jī)順序啟動(dòng),反序停止控動(dòng),反序停止控制程序制程序展廳人數(shù)控制系統(tǒng)展廳人數(shù)控制系統(tǒng) 控制要求:現(xiàn)有一展廳,最多可容納控制要求:現(xiàn)有一展廳,最多可容納50人同時(shí)人同時(shí)參觀。展廳進(jìn)口與出口各裝一傳感器,每有一人進(jìn)參觀。展廳進(jìn)口與出口各裝一傳感器,每
26、有一人進(jìn)出,傳感器給出一個(gè)脈沖信號(hào)。試編程實(shí)現(xiàn),當(dāng)展出,傳感器給出一個(gè)脈沖信號(hào)。試編程實(shí)現(xiàn),當(dāng)展廳內(nèi)不足廳內(nèi)不足50人時(shí),綠燈亮,表示可以進(jìn)入;當(dāng)展廳人時(shí),綠燈亮,表示可以進(jìn)入;當(dāng)展廳滿(mǎn)滿(mǎn)50人時(shí),紅燈亮,表示不準(zhǔn)進(jìn)入。人時(shí),紅燈亮,表示不準(zhǔn)進(jìn)入。 展廳人數(shù)控制系統(tǒng)展廳人數(shù)控制系統(tǒng)I/O分配表分配表展廳人數(shù)控制程序展廳人數(shù)控制程序運(yùn)料車(chē)自動(dòng)裝、卸料控制運(yùn)料車(chē)自動(dòng)裝、卸料控制 控制要求:控制要求:某運(yùn)料車(chē)如圖所示,可在某運(yùn)料車(chē)如圖所示,可在A A、B B兩地分別啟動(dòng)。運(yùn)兩地分別啟動(dòng)。運(yùn)料車(chē)啟動(dòng)后,自動(dòng)返回料車(chē)啟動(dòng)后,自動(dòng)返回A A地停止,同時(shí)控制料斗門(mén)的電磁閥地停止,同時(shí)控制料斗門(mén)的電磁閥Y1Y
27、1打開(kāi)打開(kāi),開(kāi)始裝料。,開(kāi)始裝料。1 1分鐘后,電磁閥分鐘后,電磁閥Y1Y1斷開(kāi),關(guān)閉料斗門(mén),運(yùn)料車(chē)自動(dòng)斷開(kāi),關(guān)閉料斗門(mén),運(yùn)料車(chē)自動(dòng)向向B B地運(yùn)行。到達(dá)地運(yùn)行。到達(dá)B B地后停止,小車(chē)底門(mén)由電磁閥地后停止,小車(chē)底門(mén)由電磁閥Y2Y2控制打開(kāi),開(kāi)始控制打開(kāi),開(kāi)始卸料。卸料。1 1分鐘后,運(yùn)料車(chē)底門(mén)關(guān)閉,開(kāi)始返回分鐘后,運(yùn)料車(chē)底門(mén)關(guān)閉,開(kāi)始返回A A地。之后重復(fù)運(yùn)行。地。之后重復(fù)運(yùn)行。 運(yùn)料車(chē)在運(yùn)行過(guò)程中,可用手動(dòng)開(kāi)關(guān)使其停車(chē)。再次啟動(dòng)后運(yùn)料車(chē)在運(yùn)行過(guò)程中,可用手動(dòng)開(kāi)關(guān)使其停車(chē)。再次啟動(dòng)后,可重復(fù),可重復(fù)中內(nèi)容中內(nèi)容 圖圖7.43 運(yùn)料車(chē)自動(dòng)裝、卸料控制示意圖運(yùn)料車(chē)自動(dòng)裝、卸料控制示意圖 運(yùn)料車(chē)自
28、動(dòng)裝、卸料控制運(yùn)料車(chē)自動(dòng)裝、卸料控制I/O分配表分配表比較指令比較指令 可以使用可以使用“等于等于”操作確定第一個(gè)比較值是否等于第二個(gè)比較值。操作確定第一個(gè)比較值是否等于第二個(gè)比較值。 要比較要比較的兩個(gè)值必須為相同的數(shù)據(jù)類(lèi)型。該的兩個(gè)值必須為相同的數(shù)據(jù)類(lèi)型。該 LAD 觸點(diǎn)比較結(jié)果為觸點(diǎn)比較結(jié)果為 TRUE 時(shí),則該觸時(shí),則該觸點(diǎn)會(huì)被激活。點(diǎn)會(huì)被激活。 在程序編輯器中單擊該指令后,可以從下拉菜單中選擇比較類(lèi)型在程序編輯器中單擊該指令后,可以從下拉菜單中選擇比較類(lèi)型和數(shù)據(jù)類(lèi)型。和數(shù)據(jù)類(lèi)型??梢允褂谩按笥凇辈僮鞔_定第一個(gè)比較值是否大于第二個(gè)比較值。 要比較的兩個(gè)值必須為相同的數(shù)據(jù)類(lèi)型。 如果比較
29、為真,則 RLO 為“1”。在比較字符串時(shí),通過(guò)字符 ASCII 碼比較字符(例如“a”大于“A”)。 從左到右執(zhí)行比較。 第一個(gè)不同的字符決定比較結(jié)果。 如果較長(zhǎng)字符串的左側(cè)部分和較短字符串相同,則認(rèn)為較長(zhǎng)字符串更大。使用 IN_RANGE 和 OUT_RANGE 指令可測(cè)試輸入值是在指定的值范圍之內(nèi)還是之外。 如果比較結(jié)果為 TRUE,則功能框輸出為 TRUE。輸入?yún)?shù) MIN、VAL 和 MAX 的數(shù)據(jù)類(lèi)型必須相同。在程序編輯器中單擊該指令后,可以從下拉菜單中選擇數(shù)據(jù)類(lèi)型。例:用比較和計(jì)數(shù)指令編寫(xiě)開(kāi)關(guān)燈程序,要求例:用比較和計(jì)數(shù)指令編寫(xiě)開(kāi)關(guān)燈程序,要求燈控按鈕燈控按鈕I0.0按下一次,燈
30、按下一次,燈Q4.0亮,按下兩次,亮,按下兩次,燈燈Q4.0,Q4.1全亮,按下三次燈全滅,如此循全亮,按下三次燈全滅,如此循環(huán)。環(huán)。分析:在程序中所用計(jì)數(shù)器為加法計(jì)數(shù)器,當(dāng)分析:在程序中所用計(jì)數(shù)器為加法計(jì)數(shù)器,當(dāng)加到加到3 3時(shí),必須復(fù)位計(jì)數(shù)器,這是關(guān)鍵。燈控制時(shí),必須復(fù)位計(jì)數(shù)器,這是關(guān)鍵。燈控制程序如圖所示。程序如圖所示。梯形圖程序如下:梯形圖程序如下:例:在例:在HMI設(shè)備上可以設(shè)定電動(dòng)機(jī)的轉(zhuǎn)速,設(shè)定值設(shè)備上可以設(shè)定電動(dòng)機(jī)的轉(zhuǎn)速,設(shè)定值MW20的范圍為的范圍為100-1440轉(zhuǎn)轉(zhuǎn)/分鐘,若輸入的設(shè)定值分鐘,若輸入的設(shè)定值在此范圍內(nèi),則延時(shí)在此范圍內(nèi),則延時(shí)5秒鐘啟動(dòng)電動(dòng)機(jī)秒鐘啟動(dòng)電動(dòng)機(jī)Q
31、0.0,否則,否則Q0.1長(zhǎng)亮提示。長(zhǎng)亮提示。 使用使用OK和和NOT_OK指令可測(cè)試輸入的數(shù)據(jù)是否為符合指令可測(cè)試輸入的數(shù)據(jù)是否為符合IEEE規(guī)范規(guī)范754的有的有效實(shí)數(shù)。圖中,當(dāng)效實(shí)數(shù)。圖中,當(dāng)MD0和和MD4中為有效的浮點(diǎn)數(shù)時(shí),會(huì)激活中為有效的浮點(diǎn)數(shù)時(shí),會(huì)激活“實(shí)數(shù)實(shí)數(shù)乘乘”(MUL) 運(yùn)算并置位輸出,即將運(yùn)算并置位輸出,即將MD0的值將與的值將與MD4的值相乘,結(jié)果存的值相乘,結(jié)果存儲(chǔ)在儲(chǔ)在MD10中同時(shí)中同時(shí)Q4.0輸出為輸出為1。 如果輸入 IN 的值為 123.4567則輸出 OUT 返回值 0.456722bac移動(dòng)指令移動(dòng)指令 可以使用“移動(dòng)塊”操作將一個(gè)存儲(chǔ)區(qū)(源區(qū)域)的內(nèi)
32、容復(fù)制到另一個(gè)存儲(chǔ)區(qū)(目標(biāo)區(qū)域)。 要復(fù)制到目標(biāo)區(qū)域的元素個(gè)數(shù)由參數(shù) COUNT 指定。 要復(fù)制的元素的寬度由輸入 IN 的元素寬度定義。復(fù)制操作沿地址升序方向進(jìn)行。只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。 如果運(yùn)算執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)為“1”。 如果滿(mǎn)足下列條件之一,使能輸出 ENO 將返回信號(hào)狀態(tài)“0”:輸入 EN 的信號(hào)狀態(tài)為“0”。復(fù)制的數(shù)據(jù)量超出輸出 OUT 存儲(chǔ)區(qū)所提供的數(shù)據(jù)量??梢酝ㄟ^(guò)“填充塊”操作使用輸入 IN 的值填充存儲(chǔ)區(qū)(目標(biāo)區(qū)域)。 從輸出 OUT 指定的地址開(kāi)始填充目標(biāo)區(qū)域。 重復(fù)的復(fù)制操作次數(shù)由參數(shù) COUNT 指定。 執(zhí)
33、行該操作時(shí),將選擇輸入 IN 的值并將其按照參數(shù) COUNT 指定的重復(fù)次數(shù)復(fù)制到目標(biāo)區(qū)域。 只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。 如果運(yùn)算執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)為“1”。 如果滿(mǎn)足下列條件之一,使能輸出 ENO 將返回信號(hào)狀態(tài)“0”:輸入 EN 的信號(hào)狀態(tài)為“0”。復(fù)制的數(shù)據(jù)量超出輸出 OUT 存儲(chǔ)區(qū)所提供的數(shù)據(jù)量。數(shù)據(jù)復(fù)制操作規(guī)則 要復(fù)制 Bool 數(shù)據(jù)類(lèi)型,請(qǐng)使用 SET_BF、RESET_BF、R、S 或輸出線圈 (LAD) 要復(fù)制單個(gè)基本數(shù)據(jù)類(lèi)型、結(jié)構(gòu)或要復(fù)制字符串中的單個(gè)字符,請(qǐng)使用 MOVE 要復(fù)制基本數(shù)據(jù)類(lèi)型數(shù)組,請(qǐng)使用 MOVE_
34、BLK 或 UMOVE_BLK要復(fù)制字符串,請(qǐng)使用 S_CONVMOVE_BLK 和 UMOVE_BLK 指令不能用于將數(shù)組或結(jié)構(gòu)復(fù)制到 I、Q 或 M 存儲(chǔ)區(qū)。 數(shù)據(jù)填充操作規(guī)則 要使用 BOOL 數(shù)據(jù)類(lèi)型填充,請(qǐng)使用 SET_BF、RESET_BF、R、S 或輸出線圈(LAD) 要使用單個(gè)基本數(shù)據(jù)類(lèi)型填充或要在字符串中填充單個(gè)字符,請(qǐng)使用 MOVE 要使用基本數(shù)據(jù)類(lèi)型填充數(shù)組,請(qǐng)使用 FILL_BLK 或 UFILL_BLK FILL_BLK 和 UFILL_BLK 指令不能用于將數(shù)組填充到 I、Q 或 M 存儲(chǔ)區(qū)。 轉(zhuǎn)換指令轉(zhuǎn)換指令 “轉(zhuǎn)換”操作讀取參數(shù) IN 的數(shù)據(jù),然后根據(jù)指定的數(shù)據(jù)
35、類(lèi)型對(duì)其進(jìn)行轉(zhuǎn)換。僅當(dāng)使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才能啟動(dòng)“轉(zhuǎn)換”操作。 如果執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)也為“1”。 如果滿(mǎn)足下列條件之一,使能輸出 ENO 將返回信號(hào)狀態(tài)“0”:輸入 EN 的信號(hào)狀態(tài)為“0”。處理過(guò)程中發(fā)生溢出之類(lèi)的錯(cuò)誤??梢允褂谩叭≌麛?shù)字值”運(yùn)算將輸入 IN 的值取整為最接近的整數(shù)。 該運(yùn)算將輸入 IN 的值解釋為浮點(diǎn)數(shù)并將其轉(zhuǎn)換為最接近的雙精度整數(shù)。 如果輸入值恰好是相鄰偶數(shù)和奇數(shù)的平均數(shù),則選擇偶數(shù)。 運(yùn)算結(jié)果放在輸出 OUT 中,可供查詢(xún)。只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。 如果運(yùn)算執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出
36、ENO 的信號(hào)狀態(tài)為“1”。如果滿(mǎn)足下列條件之一,使能輸出 ENO 將返回信號(hào)狀態(tài)“0”:輸入 EN 的信號(hào)狀態(tài)為“0”??梢允褂谩案↑c(diǎn)數(shù)向上取整”運(yùn)算將輸入 IN 的值向上取整為相鄰整數(shù)。 該運(yùn)算將輸入 IN 的值解釋為浮點(diǎn)數(shù)并將其向上轉(zhuǎn)換為相鄰的整數(shù)。 運(yùn)算結(jié)果放在輸出 OUT 中,可供查詢(xún)。 輸出值可以大于或等于輸入值。只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。 如果運(yùn)算執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)為“1”。如果滿(mǎn)足下列條件之一,使能輸出 ENO 將返回信號(hào)狀態(tài)“0”:輸入 EN 的信號(hào)狀態(tài)為“0”??梢允褂谩案↑c(diǎn)數(shù)向下取整”運(yùn)算將輸入 IN 的值向下取
37、整為相鄰整數(shù)。 該運(yùn)算將輸入 IN 的值解釋為浮點(diǎn)數(shù)并將其向下轉(zhuǎn)換為相鄰的整數(shù)。 運(yùn)算結(jié)果放在輸出 OUT 中,可供查詢(xún)。 輸出值可以小于或等于輸入值。只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。 如果運(yùn)算執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)為“1”。如果滿(mǎn)足下列條件之一,使能輸出 ENO 將返回信號(hào)狀態(tài)“0”:輸入 EN 的信號(hào)狀態(tài)為“0”??梢允褂谩敖厝≌麛?shù)”運(yùn)算得出整數(shù)而不對(duì)輸入 IN 的值進(jìn)行舍入。 輸入 IN 的值被視為浮點(diǎn)數(shù)。 該運(yùn)算僅選擇浮點(diǎn)數(shù)的整數(shù)部分,并將其發(fā)送到輸出 OUT 中,不帶小數(shù)位。 只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。
38、如果運(yùn)算執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)為“1”。如果滿(mǎn)足下列條件之一,使能輸出 ENO 將返回信號(hào)狀態(tài)“0”:輸入 EN 的信號(hào)狀態(tài)為“0”??梢允褂谩皹?biāo)定”運(yùn)算通過(guò)將輸入 VALUE 的值映射到指定的取值范圍對(duì)該值進(jìn)行標(biāo)定。 執(zhí)行“標(biāo)定”運(yùn)算時(shí),會(huì)將輸入 VALUE 的浮點(diǎn)數(shù)值標(biāo)定到由參數(shù) MIN 和 MAX 定義的取值范圍。 標(biāo)定結(jié)果為整數(shù),并存儲(chǔ)在輸出 OUT 中。只有使能輸入端 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行“標(biāo)定”運(yùn)算。 在這種情況下,使能輸出 ENO 的信號(hào)狀態(tài)也為“1”??梢允褂谩皹?biāo)準(zhǔn)化”運(yùn)算通過(guò)將輸入 VALUE 的變量值映射到線性標(biāo)尺對(duì)其進(jìn)行標(biāo)準(zhǔn)化。 可
39、以使用參數(shù) MIN 和 MAX 定義(應(yīng)用于該標(biāo)尺的)取值范圍的限值。 根據(jù)標(biāo)準(zhǔn)化值在該取值范圍內(nèi)的位置,計(jì)算結(jié)果并以浮點(diǎn)數(shù)形式存儲(chǔ)在輸出 OUT 中。 如果要標(biāo)準(zhǔn)化的值等于輸入 MIN 的值,輸出 OUT 將返回值“0.0”。 如果要標(biāo)準(zhǔn)化的值等于輸入 MAX 的值,輸出 OUT 將返回值“1.0”。 程序控制指令程序控制指令 可以使用“為 1 時(shí)塊中跳轉(zhuǎn)(有條件)” 目標(biāo)程序段必須標(biāo)有跳轉(zhuǎn)標(biāo)簽。 需要指定該跳轉(zhuǎn)標(biāo)簽的名稱(chēng)以便執(zhí)行該操作。 指定的跳轉(zhuǎn)標(biāo)簽位于該操作的上方。指定的跳轉(zhuǎn)標(biāo)簽必須在執(zhí)行該操作的塊中。 指定的名稱(chēng)在塊中只能出現(xiàn)一次。 如果該操作的輸入端的邏輯運(yùn)算結(jié)果 為“1”,則跳轉(zhuǎn)
40、到跳轉(zhuǎn)標(biāo)簽所標(biāo)識(shí)的程序段。 跳轉(zhuǎn)方向可以朝向更大或更小的程序段編號(hào)。 如果該操作的輸入不為真 (RLO = 0),則程序繼續(xù)在下一個(gè)程序段中執(zhí)行??梢允褂谩疤D(zhuǎn)標(biāo)簽”指定跳轉(zhuǎn)的目標(biāo)程序段,程序應(yīng)在目標(biāo)程序段中繼續(xù)執(zhí)行。 跳轉(zhuǎn)標(biāo)簽的名稱(chēng)可以包含字母、數(shù)字或下劃線。 跳轉(zhuǎn)標(biāo)簽以及指定了該跳轉(zhuǎn)標(biāo)簽的操作必須位于同一個(gè)塊中。 跳轉(zhuǎn)標(biāo)簽的名稱(chēng)在塊中只能分配一次。 可以使用“為 0 時(shí)塊中跳轉(zhuǎn)(有條件)”操作,目標(biāo)程序段必須標(biāo)有跳轉(zhuǎn)標(biāo)簽。 需要指定該跳轉(zhuǎn)標(biāo)簽的名稱(chēng)以便執(zhí)行該操作。 指定的跳轉(zhuǎn)標(biāo)簽位于該操作的上方。指定的跳轉(zhuǎn)標(biāo)簽必須在執(zhí)行該操作的塊中。 指定的名稱(chēng)在塊中只能出現(xiàn)一次。 如果該操作的輸入端的邏
41、輯運(yùn)算結(jié)果 (RLO) 為“0”,則跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)簽所標(biāo)識(shí)的程序段。 跳轉(zhuǎn)方向可以朝向更大或更小的程序段編號(hào)。 如果該操作的輸入端的邏輯運(yùn)算結(jié)果為“1”,則程序在下一個(gè)程序段中繼續(xù)執(zhí)行。 可以使用“返回”操作停止塊的執(zhí)行。 只有左側(cè)接頭的信號(hào)狀態(tài)為“1”時(shí),才會(huì)執(zhí)行該操作。 如果滿(mǎn)足該條件,將在當(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”。: 調(diào)用功能的輸出 ENO 由指定操作數(shù)的信號(hào)狀態(tài)決定
42、。如果組織塊被“返回”操作終止,則 CPU 繼續(xù)執(zhí)行系統(tǒng)程序。如果“返回”操作輸入端的信號(hào)狀態(tài)為“0”,則不執(zhí)行該操作。 在這種情況下,程序繼續(xù)在被調(diào)用塊的下一個(gè)程序段中執(zhí)行。圖圖 無(wú)條件跳轉(zhuǎn)無(wú)條件跳轉(zhuǎn)圖圖 條件跳轉(zhuǎn)條件跳轉(zhuǎn)字邏輯運(yùn)算指令字邏輯運(yùn)算指令 可以使用“AND 邏輯運(yùn)算”將輸入 IN1 的值與輸入 IN2 的值通過(guò) AND 邏輯逐位運(yùn)算,并通過(guò)輸出 OUT 查詢(xún)結(jié)果。 執(zhí)行該運(yùn)算時(shí),輸入 IN1 的值的位 0 與輸入 IN2 的值的位 0 通過(guò) AND 邏輯進(jìn)行運(yùn)算。 結(jié)果存儲(chǔ)在輸出 OUT 的位 0 中。 對(duì)指定值的所有其它位都執(zhí)行相同的邏輯運(yùn)算。僅當(dāng)該邏輯運(yùn)算中的兩個(gè)位的信號(hào)狀態(tài)
43、均為“1”時(shí),結(jié)果位的信號(hào)狀態(tài)才為“1”。 如果該邏輯運(yùn)算的兩個(gè)位中有一個(gè)位的信號(hào)狀態(tài)為“0”,則對(duì)應(yīng)的結(jié)果位將復(fù)位。只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。 在這種情況下,輸出 ENO 的信號(hào)狀態(tài)也為“1”。如果使能輸入 EN 的信號(hào)狀態(tài)為“0”,則使能輸出 ENO 的信號(hào)狀態(tài)復(fù)位為“0”??梢允褂谩敖獯a”運(yùn)算在輸出值中置位一個(gè)位,該位通過(guò)輸入值指定?!敖獯a”運(yùn)算讀取輸入 IN 的值,然后在輸出值中置位一個(gè)位,該位位置與讀取的值一致。 輸出值中的其它位以零填充。只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才能啟動(dòng)“解碼”運(yùn)算。 如果執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀
44、態(tài)也為“1”。 如果使能輸入 EN 的信號(hào)狀態(tài)為“0”,則使能輸出 ENO 的信號(hào)狀態(tài)復(fù)位為“0”。可以使用“編碼”運(yùn)算讀取輸入值中最低有效置位位的位號(hào)并將其發(fā)送到輸出 OUT。“編碼”運(yùn)算選擇輸入 IN 值的最低有效位并將該位號(hào)寫(xiě)入輸出 OUT 的變量中。 只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才能啟動(dòng)“編碼”運(yùn)算。 如果執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)也為“1”。 如果使能輸入 EN 的信號(hào)狀態(tài)為“0”,則使能輸出 ENO 的信號(hào)狀態(tài)復(fù)位為“0”?!斑x擇”操作依靠一個(gè)開(kāi)關(guān)(參數(shù) G)選擇輸入 IN0 或 IN1 中的一個(gè)并將其數(shù)據(jù)復(fù)制到輸出 OUT。 如果參數(shù) G 的信
45、號(hào)狀態(tài)為“0”,則復(fù)制輸入 IN0 的值。 如果參數(shù) G 的信號(hào)狀態(tài)為“1”,則將輸入 IN1 的值復(fù)制到輸出 OUT。只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。 如果執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)也為“1”。如果使能輸入 EN 的信號(hào)狀態(tài)為“0”或執(zhí)行該操作期間出錯(cuò),將復(fù)位使能輸出 ENO??梢允褂谩岸嗦窂?fù)用”操作將所選輸入的數(shù)據(jù)復(fù)制到輸出 OUT。 功能框 MUX 的可選輸入數(shù)可以擴(kuò)展。 輸入會(huì)在該功能框中自動(dòng)編號(hào)。 從 IN0 起開(kāi)始編號(hào),每個(gè)新輸入的編號(hào)連續(xù)遞增。 可以使用參數(shù) K 確定應(yīng)該將哪個(gè)輸入的數(shù)據(jù)復(fù)制到輸出 OUT。 如果參數(shù) K 的值大于可用
46、輸入數(shù),則將參數(shù) ELSE 的數(shù)據(jù)復(fù)制到輸出 OUT,并將使能輸出 ENO 設(shè)置為信號(hào)狀態(tài)“0”。 只有所有輸入的變量和輸出 OUT 的變量具有相同數(shù)據(jù)類(lèi)型時(shí),才能執(zhí)行“多路復(fù)用”操作。 參數(shù) K 例外,因?yàn)橹荒転槠渲付ㄕ麛?shù)。只有使能輸入 EN 的信號(hào)狀態(tài)為“1”時(shí),才執(zhí)行該操作。 如果執(zhí)行過(guò)程中未發(fā)生錯(cuò)誤,則輸出 ENO 的信號(hào)狀態(tài)也為“1”。移位和循環(huán)指令移位和循環(huán)指令 可以使用“右移”操作將輸入 IN 的變量數(shù)據(jù)逐位右移,并通過(guò)輸出 OUT 查詢(xún)結(jié)果。 使用參數(shù) N 設(shè)置指定將移位的位數(shù)。 參數(shù) N 的值為“0”時(shí),輸入 IN 的值將被復(fù)制到輸出 OUT 的變量中。當(dāng)參數(shù) N 的值大于位
47、數(shù)時(shí),輸入 IN 的變量值將按其可用位數(shù)向右移位。無(wú)符號(hào)值移位時(shí),用零填充變量左側(cè)區(qū)域中空出的位。 如果指定值有符號(hào),則用符號(hào)位的信號(hào)狀態(tài)填充空出的位可以使用“左移”操作將輸入 IN 中的變量數(shù)據(jù)逐位左移,并通過(guò)輸出 OUT 查詢(xún)結(jié)果。 使用參數(shù) N 設(shè)置指定將移位的位數(shù)。 參數(shù) N 的值為“0”時(shí),輸入 IN 的值將被復(fù)制到輸出 OUT 的變量中。當(dāng)參數(shù) N 的值大于位數(shù)時(shí),輸入 IN 的變量值將按其可用位數(shù)向左移位。用零填充變量右側(cè)部分因移位空出的位。 可以使用“循環(huán)右移”操作將輸入 IN 的變量數(shù)據(jù)逐位循環(huán)右移,并通過(guò)輸出 OUT 查詢(xún)結(jié)果。 參數(shù) N 指定將循環(huán)移位的位數(shù)。 用擠出的位
48、填充因循環(huán)移位空出的位。參數(shù) N 的值為“0”時(shí),輸入 IN 的值將被復(fù)制到輸出 OUT 的變量中。當(dāng)參數(shù) N 的值大于位數(shù)時(shí),輸入 IN 的變量值將按其可用位數(shù)進(jìn)行循環(huán)移位。可以使用“循環(huán)左移”操作將輸入 IN 的變量數(shù)據(jù)逐位循環(huán)左移,并通過(guò)輸出 OUT 查詢(xún)結(jié)果。 參數(shù) N 指定將循環(huán)移位的位數(shù)。 用擠出的位填充因循環(huán)移位空出的位。參數(shù) N 的值為“0”時(shí),輸入 IN 的值將被復(fù)制到輸出 OUT 的變量中。當(dāng)參數(shù) N 的值大于位數(shù)時(shí),輸入 IN 的變量值將按其可用位數(shù)進(jìn)行循環(huán)移位。例例 通過(guò)循環(huán)指令實(shí)現(xiàn)彩燈控制。通過(guò)循環(huán)指令實(shí)現(xiàn)彩燈控制。編寫(xiě)程序如圖編寫(xiě)程序如圖5-30所示,其中所示,其中
49、I0.0為控制開(kāi)關(guān),為控制開(kāi)關(guān),M1.5為周期為為周期為1s的時(shí)鐘存儲(chǔ)器位,實(shí)現(xiàn)的功能為當(dāng)?shù)臅r(shí)鐘存儲(chǔ)器位,實(shí)現(xiàn)的功能為當(dāng)按下按下I0.0,QD4中為中為1的輸出位每秒鐘向左移動(dòng)的輸出位每秒鐘向左移動(dòng)1位。位。第第1段程序的功能是賦初值,即將段程序的功能是賦初值,即將QD4中的中的Q7.0置置位,第位,第2段程序的功能是每秒鐘段程序的功能是每秒鐘QD4循環(huán)左移一位。循環(huán)左移一位。 5.2 擴(kuò)展指令擴(kuò)展指令 S7-1200的擴(kuò)展指令包括日期和時(shí)間指令,字的擴(kuò)展指令包括日期和時(shí)間指令,字符串和字符指令,程序控制指令,通信指令,中斷符串和字符指令,程序控制指令,通信指令,中斷指令,指令,PID控制指令
50、,運(yùn)動(dòng)控制指令,脈沖指令等??刂浦噶睿\(yùn)動(dòng)控制指令,脈沖指令等。 日期和時(shí)間指令日期和時(shí)間指令 使用 T_CONV 可將輸入 IN 的值轉(zhuǎn)換成輸出 OUT 指定的數(shù)據(jù)格式。 可實(shí)現(xiàn)下列轉(zhuǎn)換:時(shí)間 (TIME) 到數(shù)字值 (DINT) 的轉(zhuǎn)換數(shù)值 (DINT) 到時(shí)間 (TIME) 的轉(zhuǎn)換通過(guò)選擇指令輸入和輸出的數(shù)據(jù)類(lèi)型來(lái)決定轉(zhuǎn)換的類(lèi)型。 可通過(guò)輸出 OUT 查詢(xún)轉(zhuǎn)換結(jié)果。使用 T_ADD 可將輸入 IN1 的時(shí)間與輸入 IN2 的時(shí)間相加。 通過(guò)輸出 OUT 查詢(xún)結(jié)果。 可以對(duì)下列格式進(jìn)行相加操作:時(shí)間段 (TIME) 與時(shí)間段 (TIME) 相加。 結(jié)果可以輸出到 TIME 格式的變量中。時(shí)
51、間段 (TIME) 與時(shí)間點(diǎn) (DTL) 相加。 結(jié)果可以輸出到 DTL 格式的變量中。通過(guò)選擇指令輸入和輸出的數(shù)據(jù)類(lèi)型來(lái)決定輸入 IN1 和輸出 OUT 的格式。 在輸入 IN2 中,只能指定 TIME 格式的時(shí)間。 使用 T_SUB 可將輸入 IN1 的時(shí)間與輸入 IN2 的時(shí)間相減。 通過(guò)輸出 OUT 查詢(xún)差值。 可以對(duì)下列格式進(jìn)行相減操作:時(shí)間段 (TIME) 與時(shí)間段 (TIME) 相減。 結(jié)果可以輸出到 TIME 格式的變量中。從某時(shí)間點(diǎn) (DTL) 減去一個(gè)時(shí)間段 (TIME)。 結(jié)果可以輸出到 DTL 格式的變量中。通過(guò)選擇指令輸入和輸出的數(shù)據(jù)類(lèi)型來(lái)決定輸入 IN1 和輸出 O
52、UT 的格式。 在輸入 IN2 中,只能指定 TIME 格式的時(shí)間。使用 T_DIFF 可將輸入 IN1 的時(shí)間與輸入 IN2 的時(shí)間相減。 以 TIME 格式通過(guò)輸出 OUT 輸出結(jié)果。 在輸入 IN1 和 IN2 中只能指定 DTL 格式的值。 如果在輸入 IN2 中指定的時(shí)間大于在輸入 IN1 中指定的時(shí)間,則結(jié)果將以負(fù)值的形式通過(guò)輸出 OUT 輸出。 如果該指令的結(jié)果超出允許范圍,則此結(jié)果將限制為相應(yīng)的值,并且使能輸出 ENO 將設(shè)置為“0”??墒褂?WR_SYS_T 設(shè)置 CPU 時(shí)鐘的日期和時(shí)間。 在指令的輸入 IN 指定 DTL 格式的日期和時(shí)間。 在輸出 RET_VAL 中,可
53、以查詢(xún)指令執(zhí)行期間是否出錯(cuò)。不能使用“WR_SYS_T”指令發(fā)送有關(guān)本地時(shí)區(qū)或夏令時(shí)的信息??墒褂?RD_SYS_T 讀取 CPU 時(shí)鐘的當(dāng)前日期和當(dāng)前時(shí)間。 數(shù)據(jù)以 DTL 格式放在指令的輸出 OUT 中。 得出的值不包含有關(guān)本地時(shí)區(qū)或夏令時(shí)的信息。 在輸出 RET_VAL 中,可以查詢(xún)指令執(zhí)行期間是否出錯(cuò)。可使用 RD_LOC_T 從 CPU 時(shí)鐘讀取當(dāng)前本地時(shí)間,并在輸出 OUT 以 DTL 格式輸出該值。 在 CPU 時(shí)鐘的組態(tài)中設(shè)置的時(shí)區(qū)和夏令時(shí)開(kāi)始時(shí)間以及標(biāo)準(zhǔn)時(shí)間,其相關(guān)信息均包括在本地時(shí)間信息中。字符串轉(zhuǎn)換指令字符串轉(zhuǎn)換指令 使用 S_CONV 可將輸入 IN 的值轉(zhuǎn)換成在輸出
54、OUT 中指定的數(shù)據(jù)格式。 可實(shí)現(xiàn)下列轉(zhuǎn)換:字符串 (STRING) 轉(zhuǎn)換為數(shù)字值:在輸入 IN 中指定的字符串的所有字符都將進(jìn)行轉(zhuǎn)換。 允許的字符為數(shù)字 0 到 9、小數(shù)點(diǎn)以及加號(hào)和減號(hào)。 字符串的第一個(gè)字符可以是有效數(shù)字或符號(hào)。 前導(dǎo)空格和指數(shù)表示將被忽略。 無(wú)效字符可能會(huì)中斷字符轉(zhuǎn)換。 此時(shí),使能輸出 ENO 將設(shè)置為“0”。 可通過(guò)選擇輸出 OUT 的數(shù)據(jù)類(lèi)型來(lái)決定轉(zhuǎn)換的輸出格式。數(shù)字值轉(zhuǎn)換為字符串 (STRING):通過(guò)選擇輸入 IN 的數(shù)據(jù)類(lèi)型來(lái)決定要轉(zhuǎn)換的數(shù)字值格式。 必須在輸出 OUT 中指定一個(gè)有效的 STRING 數(shù)據(jù)類(lèi)型的變量。 轉(zhuǎn)換后的字符串長(zhǎng)度取決于輸入 IN 的值。
55、 由于第一個(gè)字節(jié)包含字符串的最大長(zhǎng)度,第二個(gè)字節(jié)包含字符串的實(shí)際長(zhǎng)度,因此轉(zhuǎn)換的結(jié)果從字符串的第三個(gè)字節(jié)開(kāi)始存儲(chǔ)。 輸出正數(shù)字值時(shí)不帶符號(hào)。復(fù)制字符串:如果在指令的輸入和輸出均輸入 STRING 數(shù)據(jù)類(lèi)型,則輸入 IN 的字符串將被復(fù)制到輸出 OUT。 如果輸入 IN 字符串的實(shí)際長(zhǎng)度超出輸出 OUT 字符串的最大長(zhǎng)度,則將復(fù)制 IN 字符串中完全適合 OUT 的字符串的那部分,并且使能輸出 ENO 將設(shè)置為“0”值。使用 STRG_VAL 可將字符串轉(zhuǎn)換為數(shù)字值。 在輸入 IN 中指定要轉(zhuǎn)換的字符串。 可通過(guò)選擇輸出 OUT 的數(shù)據(jù)類(lèi)型來(lái)決定輸出值的格式。 通過(guò)輸出 OUT 查詢(xún)結(jié)果。從參數(shù)
56、 P 中指定位置的字符開(kāi)始轉(zhuǎn)換。 例如,如果參數(shù) P 中指定的值為“1”,則將從指定字符串的第一個(gè)字符開(kāi)始轉(zhuǎn)換。 轉(zhuǎn)換允許的字符為數(shù)字 0 到 9、小數(shù)點(diǎn)、逗號(hào)小數(shù)點(diǎn)、符號(hào)“E”和“e”以及加號(hào)和減號(hào)字符。 無(wú)效字符可能會(huì)中斷轉(zhuǎn)換。 此時(shí),使能輸出 ENO 將設(shè)置為“0”。使用參數(shù) FORMAT 可指定要如何解釋字符串中的字符。 也可以使用“STRG_VAL”指令來(lái)轉(zhuǎn)換和表示指數(shù)值。 只能為參數(shù) FORMAT 指定 USINT 數(shù)據(jù)類(lèi)型的變量。 使用 VAL_STRG 可將數(shù)字值轉(zhuǎn)換為字符串。 在輸入 IN 中指定要轉(zhuǎn)換的值。 通過(guò)選擇數(shù)據(jù)類(lèi)型來(lái)決定數(shù)字值的格式。 通過(guò)輸出 OUT 查詢(xún)轉(zhuǎn)換結(jié)
57、果。通過(guò)參數(shù) P 可指定從字符串中的哪個(gè)字符開(kāi)始寫(xiě)入結(jié)果。 例如,如果參數(shù) P 中指定的值為“2”,則將從字符串的第二個(gè)字符開(kāi)始保存轉(zhuǎn)換值。 通過(guò)參數(shù) SIZE 可以指定字符串中寫(xiě)入的字符數(shù)。 這要從參數(shù) P 中指定的字符開(kāi)始算起。 如果由參數(shù) P 和 SIZE 定義的長(zhǎng)度不夠,則使能輸出 ENO 將設(shè)置為“0”。 如果輸出值比指定長(zhǎng)度短,則結(jié)果將以右對(duì)齊方式寫(xiě)入字符串。 空字符位置將填入空格。轉(zhuǎn)換允許的字符為數(shù)字 0 到 9、小數(shù)點(diǎn)、逗號(hào)小數(shù)點(diǎn)、符號(hào)“E”和“e”以及加號(hào)和減號(hào)字符。 無(wú)效字符可能會(huì)中斷轉(zhuǎn)換。 此時(shí),使能輸出 ENO 將設(shè)置為“0”。使用參數(shù) FORMAT 可指定在轉(zhuǎn)換期間如
58、何解釋數(shù)字值以及如何將其寫(xiě)入字符串。 只能為參數(shù) FORMAT 指定 USINT 數(shù)據(jù)類(lèi)型的變量。字符串操作指令字符串操作指令 STRING 類(lèi)型的變量包含兩個(gè)長(zhǎng)度: 最大長(zhǎng)度和當(dāng)前長(zhǎng)度(即當(dāng)前有效字符的數(shù)量)。 每個(gè)變量的字符串最大長(zhǎng)度在 STRING 關(guān)鍵字的方括號(hào)中指定。 當(dāng)前長(zhǎng)度表示實(shí)際使用的字符位置數(shù)。 當(dāng)前長(zhǎng)度必須小于或等于最大長(zhǎng)度。 字符串占用的字節(jié)數(shù)為最大長(zhǎng)度加 2??墒褂谩癓EN”指令查詢(xún)?cè)谳斎?IN 中指定的字符串的當(dāng)前長(zhǎng)度,并在輸出 OUT 以數(shù)字值的形式將其輸出。 空字符串 () 的長(zhǎng)度為零。 如果操作處理期間出錯(cuò),則將輸出空字符串。CONCAT 連接字符串參數(shù) IN1
59、 和 IN2 以形成一個(gè)字符串,并放在 OUT 中。 目標(biāo)字符串必須足夠長(zhǎng),否則結(jié)果字符串將被截短并且使能輸出 ENO 將設(shè)置為“0”值。如果指令處理期間出錯(cuò)并且可以寫(xiě)入到輸出 OUT,則將輸出空字符串??墒褂?LEFT 從輸入 IN 字符串的第一個(gè)字符開(kāi)始提取出一部分字符串。 通過(guò)參數(shù) L 指定要提取的字符數(shù)。 以 STRING 格式通過(guò)輸出 OUT 輸出提取的字符。 如果要提取的字符數(shù)大于字符串的當(dāng)前長(zhǎng)度,則輸出 OUT 將返回輸入字符串。 參數(shù) L 的值為“0”時(shí)或者輸入值為空字符串時(shí)都將返回空字符串。 如果參數(shù) L 的值為負(fù)值,則將輸出空字符串并且使能輸出 ENO 將設(shè)置為“0”值。可
60、使用 MID 將輸入 IN 字符串的一部分提取出來(lái)。 可通過(guò)參數(shù) P 指定要提取的第一個(gè)字符的位置。 通過(guò)參數(shù) L 指定要提取的字符串長(zhǎng)度。 提取的部分字符串通過(guò)輸出 OUT 輸出。執(zhí)行該指令時(shí)應(yīng)遵守以下規(guī)則: 如果要提取的字符數(shù)超出輸入 IN 字符串的當(dāng)前長(zhǎng)度,則將輸出從字符位置 P 開(kāi)始到該字符串末尾的這一部分字符串。如果通過(guò)參數(shù) P 指定的字符位置超出輸入 IN 字符串的當(dāng)前長(zhǎng)度,則將通過(guò)輸出 OUT 輸出空字符串并且使能輸出 ENO 將設(shè)置為“0”值。如果參數(shù) L 或 P 的值等于零或?yàn)樨?fù)值,則將通過(guò)輸出 OUT 輸出空字符串并且使能輸出 ENO 將設(shè)置為“0”值??墒褂?DELETE
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無(wú)錫江蘇無(wú)錫市惠山區(qū)人民法院招聘編外人員3人筆試歷年參考題庫(kù)附帶答案詳解
- 2025至2031年中國(guó)鋁制滑輪行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025至2031年中國(guó)蜂膠粉行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025至2031年中國(guó)移動(dòng)通訊運(yùn)維分析集中管理平臺(tái)行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025至2031年中國(guó)巧克力涂層糖行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025至2031年中國(guó)多功能聯(lián)合訓(xùn)練器行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025年發(fā)泡專(zhuān)用酚醛樹(shù)脂項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國(guó)2U電子節(jié)能燈行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025至2030年高效去污粉項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年中國(guó)錐密封焊接式管接頭數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- GB/T 16475-1996變形鋁及鋁合金狀態(tài)代號(hào)
- GB 4706.20-2004家用和類(lèi)似用途電器的安全滾筒式干衣機(jī)的特殊要求
- 無(wú)紙化會(huì)議系統(tǒng)解決方案
- 佛教空性與緣起課件
- 上海鐵路局勞動(dòng)安全“八防”考試題庫(kù)(含答案)
- 《愿望的實(shí)現(xiàn)》教學(xué)設(shè)計(jì)
- 效率提升和品質(zhì)改善方案
- 中山大學(xué)抬頭信紙中山大學(xué)橫式便箋紙推薦信模板a
- 義務(wù)教育學(xué)科作業(yè)設(shè)計(jì)與管理指南
- 《汽車(chē)發(fā)展史》PPT課件(PPT 75頁(yè))
- 常暗之廂(7規(guī)則-簡(jiǎn)體修正)
評(píng)論
0/150
提交評(píng)論