輔助學(xué)習(xí)課件S7200可編程控制器指令系統(tǒng)_第1頁(yè)
輔助學(xué)習(xí)課件S7200可編程控制器指令系統(tǒng)_第2頁(yè)
輔助學(xué)習(xí)課件S7200可編程控制器指令系統(tǒng)_第3頁(yè)
輔助學(xué)習(xí)課件S7200可編程控制器指令系統(tǒng)_第4頁(yè)
輔助學(xué)習(xí)課件S7200可編程控制器指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩169頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、10/25/2021plc指令集指令集1s7-200可編程控制器可編程控制器指令集指令集plc 課程組 10/25/2021plc指令集指令集2主要內(nèi)容主要內(nèi)容u6.1用于描述指令的習(xí)慣用語(yǔ)用于描述指令的習(xí)慣用語(yǔ) u6.2s7-200存儲(chǔ)器范圍及特性存儲(chǔ)器范圍及特性u(píng)6.3位邏輯指令位邏輯指令 u6.4時(shí)鐘指令時(shí)鐘指令u6.5通訊指令通訊指令u6.6比較指令比較指令u6.7轉(zhuǎn)換指令轉(zhuǎn)換指令u6.8計(jì)數(shù)器指令計(jì)數(shù)器指令u6.9高速計(jì)數(shù)器指令高速計(jì)數(shù)器指令10/25/2021plc指令集指令集3u6.10脈沖輸出指令脈沖輸出指令 u6.11數(shù)字運(yùn)算指令數(shù)字運(yùn)算指令 u6.12比例比例/積分積分/微

2、分(微分(pid)回路控制指令)回路控制指令u6.13中斷指令中斷指令 u6.14邏輯操作指令邏輯操作指令 u6.15傳送指令傳送指令u6.16程序控制指令程序控制指令u6.17移位和循環(huán)指令移位和循環(huán)指令u6.18字符串指令字符串指令10/25/2021plc指令集指令集4u6.19表指令表指令 u6.20定時(shí)器指令定時(shí)器指令u6.21子程序指令子程序指令10/25/2021plc指令集指令集56.1用于描述指令的習(xí)慣用語(yǔ)用于描述指令的習(xí)慣用語(yǔ) u圖圖6-1給出了對(duì)一條指令的典型描述,并指出了用給出了對(duì)一條指令的典型描述,并指出了用于描述指令及其操作的不同區(qū)域。指令說(shuō)明包括于描述指令及其操作

3、的不同區(qū)域。指令說(shuō)明包括lad、fbd和和stl三種格式。操作數(shù)表列出了指三種格式。操作數(shù)表列出了指令的操作數(shù),并給出每個(gè)操作數(shù)的有效數(shù)據(jù)類型,令的操作數(shù),并給出每個(gè)操作數(shù)的有效數(shù)據(jù)類型,存儲(chǔ)區(qū)的區(qū)域及長(zhǎng)度。存儲(chǔ)區(qū)的區(qū)域及長(zhǎng)度。uen/eno操作數(shù)和數(shù)據(jù)類型沒(méi)有在指令操作數(shù)表操作數(shù)和數(shù)據(jù)類型沒(méi)有在指令操作數(shù)表中列出,因?yàn)檫@些操作數(shù)對(duì)于所有的中列出,因?yàn)檫@些操作數(shù)對(duì)于所有的lad和和fbd指令來(lái)說(shuō)都是一樣的。指令來(lái)說(shuō)都是一樣的。n對(duì)于對(duì)于lad:en和和eno是能流,為布爾數(shù)據(jù)類型。是能流,為布爾數(shù)據(jù)類型。n對(duì)于對(duì)于fbd:en和和eno是是i、q、v、m、sm、s、t、c、l或者能流,為布爾數(shù)

4、據(jù)類型?;蛘吣芰?,為布爾數(shù)據(jù)類型。10/25/2021plc指令集指令集610/25/2021plc指令集指令集76.2s7-200存儲(chǔ)器范圍及特性存儲(chǔ)器范圍及特性10/25/2021plc指令集指令集810/25/2021plc指令集指令集96.3位邏輯指令位邏輯指令 u觸點(diǎn)觸點(diǎn)n標(biāo)準(zhǔn)觸點(diǎn)標(biāo)準(zhǔn)觸點(diǎn)l常開(kāi)觸點(diǎn)指令(常開(kāi)觸點(diǎn)指令(ld、a和和o)與常閉觸點(diǎn)指令)與常閉觸點(diǎn)指令(ldn、an和和on)從存儲(chǔ)器或者過(guò)程映象寄存器)從存儲(chǔ)器或者過(guò)程映象寄存器中得到參考值。標(biāo)準(zhǔn)觸點(diǎn)指令從存儲(chǔ)器中得到參考中得到參考值。標(biāo)準(zhǔn)觸點(diǎn)指令從存儲(chǔ)器中得到參考值。(如果數(shù)據(jù)類型是值。(如果數(shù)據(jù)類型是i或或q,則也可從

5、過(guò)程映象寄,則也可從過(guò)程映象寄存器中得到參考值。)存器中得到參考值。)l當(dāng)位值為當(dāng)位值為1時(shí),常開(kāi)觸點(diǎn)閉合;當(dāng)位值為時(shí),常開(kāi)觸點(diǎn)閉合;當(dāng)位值為0時(shí),常閉時(shí),常閉觸點(diǎn)閉合。觸點(diǎn)閉合。l在在fbd中,與和或操作的輸入可以最多擴(kuò)展到中,與和或操作的輸入可以最多擴(kuò)展到32個(gè)。個(gè)。在在stl中,常開(kāi)指令中,常開(kāi)指令ld、and或或or或?qū)⑾鄳?yīng)地址或?qū)⑾鄳?yīng)地址位的位值存入棧頂;而常閉指令位的位值存入棧頂;而常閉指令 ld、and或或or則則將相應(yīng)地址位的位值取反,再存入棧頂。將相應(yīng)地址位的位值取反,再存入棧頂。10/25/2021plc指令集指令集1010/25/2021plc指令集指令集1110/25/

6、2021plc指令集指令集12n立即觸點(diǎn)立即觸點(diǎn)l立即觸點(diǎn)并不依賴于立即觸點(diǎn)并不依賴于s7-200的掃描周期刷新,它會(huì)的掃描周期刷新,它會(huì)立即刷新。常開(kāi)立即觸點(diǎn)指令(立即刷新。常開(kāi)立即觸點(diǎn)指令(ldi、ai和和oi)和)和常閉立即觸點(diǎn)指令(常閉立即觸點(diǎn)指令(ldni、ani和和oni)在指令執(zhí))在指令執(zhí)行時(shí)得到物理輸入值,但過(guò)程映像寄存器并不刷新。行時(shí)得到物理輸入值,但過(guò)程映像寄存器并不刷新。l當(dāng)物理輸入點(diǎn)狀態(tài)為當(dāng)物理輸入點(diǎn)狀態(tài)為1時(shí),常開(kāi)立即觸點(diǎn)閉合;當(dāng)物時(shí),常開(kāi)立即觸點(diǎn)閉合;當(dāng)物理輸入點(diǎn)狀態(tài)為理輸入點(diǎn)狀態(tài)為0時(shí),常閉立即觸點(diǎn)閉合。常開(kāi)立即時(shí),常閉立即觸點(diǎn)閉合。常開(kāi)立即指令指令ld、and或

7、或or將物理輸入值存入棧頂,而常將物理輸入值存入棧頂,而常閉立即指令閉立即指令ld、and或或or將物理輸入的值取反,將物理輸入的值取反,再存入棧頂。再存入棧頂。10/25/2021plc指令集指令集13n取反指令(取反指令(not)l取反指令(取反指令(not)改變能流輸入的狀態(tài)(也就是說(shuō),它將棧)改變能流輸入的狀態(tài)(也就是說(shuō),它將棧頂值由頂值由0變?yōu)樽優(yōu)?,由,由1變?yōu)樽優(yōu)?)。)。n正、負(fù)跳變指令(正、負(fù)跳變指令(eu、ed)l正跳變觸點(diǎn)指令(正跳變觸點(diǎn)指令(eu)檢測(cè)到每一次正跳變(由)檢測(cè)到每一次正跳變(由0到到1),讓),讓能流接通一個(gè)掃描周期。負(fù)跳變觸點(diǎn)指令(能流接通一個(gè)掃描周期

8、。負(fù)跳變觸點(diǎn)指令(ed)檢測(cè)到每一)檢測(cè)到每一次負(fù)跳變(由次負(fù)跳變(由1到到0),讓能流接通一個(gè)掃描周期。對(duì)于正跳),讓能流接通一個(gè)掃描周期。對(duì)于正跳變指令,一旦發(fā)現(xiàn)有正跳變發(fā)生(由變指令,一旦發(fā)現(xiàn)有正跳變發(fā)生(由0到到1),該棧頂值被置),該棧頂值被置為為1,否則置,否則置0。對(duì)于負(fù)跳變指令,一旦發(fā)現(xiàn)有負(fù)跳變發(fā)生。對(duì)于負(fù)跳變指令,一旦發(fā)現(xiàn)有負(fù)跳變發(fā)生(由(由1到到0),該棧頂值被置為),該棧頂值被置為1,否則置,否則置0。l對(duì)于運(yùn)行模式下編輯(在對(duì)于運(yùn)行模式下編輯(在run模式下編輯應(yīng)用程序),必須模式下編輯應(yīng)用程序),必須為正跳變指令和負(fù)跳變指令輸入?yún)?shù)。為正跳變指令和負(fù)跳變指令輸入?yún)?shù)。

9、l關(guān)于在關(guān)于在run模式下編輯程序的更多信息參見(jiàn)模式下編輯程序的更多信息參見(jiàn)siemens的詳細(xì)的詳細(xì)資料。資料。10/25/2021plc指令集指令集1410/25/2021plc指令集指令集15u如圖如圖6-2中所示,中所示,s7-200用邏輯堆棧來(lái)決用邏輯堆棧來(lái)決定控制邏輯。在本例中,定控制邏輯。在本例中,“iv0”到到“iv7”表表示邏輯堆棧的初始值,示邏輯堆棧的初始值,“nv”表示指令提供表示指令提供的一個(gè)新值,的一個(gè)新值,s0表示邏輯堆棧中存儲(chǔ)的計(jì)表示邏輯堆棧中存儲(chǔ)的計(jì)算值。算值。10/25/2021plc指令集指令集1610/25/2021plc指令集指令集1710/25/202

10、1plc指令集指令集1810/25/2021plc指令集指令集19u線圈線圈n輸出(輸出(=)l輸出指令(輸出指令(=)將新值寫(xiě)入輸出點(diǎn)的過(guò)程映象寄存)將新值寫(xiě)入輸出點(diǎn)的過(guò)程映象寄存器。當(dāng)輸出指令執(zhí)行時(shí),器。當(dāng)輸出指令執(zhí)行時(shí),s7-200將輸出過(guò)程映象將輸出過(guò)程映象寄存器中的位接通或者斷開(kāi)。在寄存器中的位接通或者斷開(kāi)。在lad和和fbd中,指中,指定點(diǎn)的值等于能流。在定點(diǎn)的值等于能流。在stl中,棧頂?shù)闹祻?fù)制到指中,棧頂?shù)闹祻?fù)制到指定位。定位。n立即輸出(立即輸出(=i)l當(dāng)指令執(zhí)行時(shí),立即輸出指令(當(dāng)指令執(zhí)行時(shí),立即輸出指令(=i)將新值同時(shí)寫(xiě))將新值同時(shí)寫(xiě)到物理輸出點(diǎn)和相應(yīng)的過(guò)程映象寄存器

11、中。到物理輸出點(diǎn)和相應(yīng)的過(guò)程映象寄存器中。10/25/2021plc指令集指令集2010/25/2021plc指令集指令集2110/25/2021plc指令集指令集22l當(dāng)立即輸出指令執(zhí)行時(shí),物理輸出點(diǎn)立即被置為能當(dāng)立即輸出指令執(zhí)行時(shí),物理輸出點(diǎn)立即被置為能流值。在流值。在stl中,立即指令將棧頂?shù)闹盗⒓磸?fù)制到中,立即指令將棧頂?shù)闹盗⒓磸?fù)制到物理輸出點(diǎn)的指定位上。物理輸出點(diǎn)的指定位上?!癷”表示立即,當(dāng)指令執(zhí)表示立即,當(dāng)指令執(zhí)行時(shí),新值會(huì)同時(shí)被寫(xiě)到物理輸出和相應(yīng)的過(guò)程映行時(shí),新值會(huì)同時(shí)被寫(xiě)到物理輸出和相應(yīng)的過(guò)程映象寄存器。這一點(diǎn)不同于非立即指令,只把新值寫(xiě)象寄存器。這一點(diǎn)不同于非立即指令,只把

12、新值寫(xiě)入過(guò)程映象寄存器。入過(guò)程映象寄存器。n置位(置位(s)和復(fù)位()和復(fù)位(r)l置位(置位(s)和復(fù)位()和復(fù)位(r)指令將從指定地址開(kāi)始的)指令將從指定地址開(kāi)始的n個(gè)點(diǎn)置位或者復(fù)位??梢砸淮沃梦换蛘邚?fù)位個(gè)點(diǎn)置位或者復(fù)位??梢砸淮沃梦换蛘邚?fù)位1-255個(gè)點(diǎn)。個(gè)點(diǎn)。10/25/2021plc指令集指令集23n如果復(fù)位指令指定的是一個(gè)定時(shí)器位(如果復(fù)位指令指定的是一個(gè)定時(shí)器位(t)或)或計(jì)數(shù)器位(計(jì)數(shù)器位(c),指令不但復(fù)位定時(shí)器或計(jì)數(shù)),指令不但復(fù)位定時(shí)器或計(jì)數(shù)器位,而且清除定時(shí)器或計(jì)數(shù)器的當(dāng)前值。器位,而且清除定時(shí)器或計(jì)數(shù)器的當(dāng)前值。10/25/2021plc指令集指令集24n立即置位和立

13、即復(fù)位立即置位和立即復(fù)位l立即置位和立即復(fù)位指令將從指定地址開(kāi)始的立即置位和立即復(fù)位指令將從指定地址開(kāi)始的n個(gè)個(gè)點(diǎn)立即置位或者立即復(fù)位??梢砸淮沃梦换驈?fù)位點(diǎn)立即置位或者立即復(fù)位??梢砸淮沃梦换驈?fù)位1到到128個(gè)點(diǎn)。個(gè)點(diǎn)。l“i”表示立即,當(dāng)指令執(zhí)行時(shí),新值會(huì)同時(shí)被寫(xiě)到表示立即,當(dāng)指令執(zhí)行時(shí),新值會(huì)同時(shí)被寫(xiě)到物理輸出和相應(yīng)的過(guò)程映象寄存器。這一點(diǎn)不同于物理輸出和相應(yīng)的過(guò)程映象寄存器。這一點(diǎn)不同于非立即指令,只把新值寫(xiě)入過(guò)程映像寄存器。非立即指令,只把新值寫(xiě)入過(guò)程映像寄存器。10/25/2021plc指令集指令集2510/25/2021plc指令集指令集2610/25/2021plc指令集指令集2

14、710/25/2021plc指令集指令集28u邏輯堆棧指令邏輯堆棧指令n棧裝載與(棧裝載與(ald)l棧裝載與指令(棧裝載與指令(ald)對(duì)堆棧中第一層和第二層的)對(duì)堆棧中第一層和第二層的值進(jìn)行邏輯與操作,結(jié)果放入棧頂。執(zhí)行完棧裝載值進(jìn)行邏輯與操作,結(jié)果放入棧頂。執(zhí)行完棧裝載與指令之后,棧深度減與指令之后,棧深度減1。n棧裝載或(棧裝載或(old)l棧裝載或指令(棧裝載或指令(old)對(duì)堆棧中第一層和第二層的)對(duì)堆棧中第一層和第二層的值進(jìn)行邏輯或操作,結(jié)果放入棧頂。執(zhí)行完棧裝載值進(jìn)行邏輯或操作,結(jié)果放入棧頂。執(zhí)行完棧裝載或指令之后,棧深度減或指令之后,棧深度減1。10/25/2021plc指令

15、集指令集29n邏輯推入棧(邏輯推入棧(lps)l邏輯推入棧指令(邏輯推入棧指令(lps)復(fù)制棧頂?shù)闹?,并將這個(gè))復(fù)制棧頂?shù)闹担⑦@個(gè)值推入棧。棧底的值被推出并消失。值推入棧。棧底的值被推出并消失。n邏輯讀棧(邏輯讀棧(lrd)l邏輯讀棧指令(邏輯讀棧指令(lrd)復(fù)制堆棧中的第二個(gè)值到棧)復(fù)制堆棧中的第二個(gè)值到棧頂。堆棧沒(méi)有推入?;蛘邚棾鰲2僮?,但舊的棧頂頂。堆棧沒(méi)有推入?;蛘邚棾鰲2僮?,但舊的棧頂值被新的復(fù)制值取代。值被新的復(fù)制值取代。n邏輯彈出棧(邏輯彈出棧(lpp)l邏輯彈出棧指令(邏輯彈出棧指令(lpp)彈出棧頂?shù)闹?,堆棧的第)彈出棧頂?shù)闹?,堆棧的第二個(gè)棧值成為新的棧頂值。二個(gè)棧值成

16、為新的棧頂值。10/25/2021plc指令集指令集30neno與(與(aeno)leno與指令(與指令(aeno)對(duì))對(duì)eno位和棧頂?shù)闹颠M(jìn)行邏輯與操作,位和棧頂?shù)闹颠M(jìn)行邏輯與操作,其產(chǎn)生的效果與其產(chǎn)生的效果與lad或者或者fbd中盒指令的中盒指令的eno位相同。與操位相同。與操作結(jié)果成為新的棧頂。作結(jié)果成為新的棧頂。leno是是lad和和fbd中盒指令的布爾輸出。如果盒指令的中盒指令的布爾輸出。如果盒指令的en輸輸入有能流并且執(zhí)行沒(méi)有錯(cuò)誤,則入有能流并且執(zhí)行沒(méi)有錯(cuò)誤,則eno將能流傳遞給下一元素。將能流傳遞給下一元素。您可以把您可以把eno作為指令成功完成的使能標(biāo)志位。作為指令成功完成的使

17、能標(biāo)志位。eno位被用位被用作棧頂,影響能流和后續(xù)指令的執(zhí)行。作棧頂,影響能流和后續(xù)指令的執(zhí)行。stl中沒(méi)有中沒(méi)有en輸入。輸入。條件指令要想執(zhí)行,棧頂值必須為邏輯條件指令要想執(zhí)行,棧頂值必須為邏輯1。在。在stl中也沒(méi)有中也沒(méi)有eno輸出。但是在輸出。但是在stl中,那些與中,那些與lad和和fbd中具有中具有eno輸輸出的指令相應(yīng)的指令,存在一個(gè)特殊的出的指令相應(yīng)的指令,存在一個(gè)特殊的eno位。它可以被位。它可以被aeno指令訪問(wèn)。指令訪問(wèn)。n裝入堆棧(裝入堆棧(lds)l裝入堆棧指令(裝入堆棧指令(lds)復(fù)制堆棧中的第)復(fù)制堆棧中的第n個(gè)值到棧頂。棧底的個(gè)值到棧頂。棧底的值被推出并消失

18、。值被推出并消失。10/25/2021plc指令集指令集31u如圖如圖6-3中所示,中所示,s7-200用邏輯堆棧來(lái)決用邏輯堆棧來(lái)決定控制邏輯。在本例中,定控制邏輯。在本例中,“iv0”到到“iv7”表表示邏輯堆棧的初始值,示邏輯堆棧的初始值,“nv”表示指令提供表示指令提供的一個(gè)新值,而的一個(gè)新值,而“s0”表示邏輯堆棧中存儲(chǔ)表示邏輯堆棧中存儲(chǔ)的計(jì)算值。的計(jì)算值。10/25/2021plc指令集指令集3210/25/2021plc指令集指令集3310/25/2021plc指令集指令集34urs觸發(fā)器指令觸發(fā)器指令n置位優(yōu)先觸發(fā)器是一個(gè)置位優(yōu)先的鎖存器。當(dāng)置位優(yōu)先觸發(fā)器是一個(gè)置位優(yōu)先的鎖存器。

19、當(dāng)置位信號(hào)(置位信號(hào)(s1)和復(fù)位信號(hào)()和復(fù)位信號(hào)(r)都為真時(shí),)都為真時(shí),輸出為真。輸出為真。n復(fù)位優(yōu)先觸發(fā)器是一個(gè)復(fù)位優(yōu)先的鎖存器。當(dāng)復(fù)位優(yōu)先觸發(fā)器是一個(gè)復(fù)位優(yōu)先的鎖存器。當(dāng)置位信號(hào)(置位信號(hào)(s)和復(fù)位信號(hào)()和復(fù)位信號(hào)(r1)都為真時(shí),)都為真時(shí),輸出為假。輸出為假。nbit參數(shù)用于指定被置位或者復(fù)位的布爾參數(shù)。參數(shù)用于指定被置位或者復(fù)位的布爾參數(shù)??蛇x的輸出反映可選的輸出反映bit參數(shù)的信號(hào)狀態(tài)。參數(shù)的信號(hào)狀態(tài)。n表表6-7中給出了例子程序的真值表。中給出了例子程序的真值表。10/25/2021plc指令集指令集3510/25/2021plc指令集指令集3610/25/2021p

20、lc指令集指令集376.4時(shí)鐘指令時(shí)鐘指令u讀實(shí)時(shí)時(shí)鐘(讀實(shí)時(shí)時(shí)鐘(todr)和寫(xiě)實(shí)時(shí)時(shí)鐘)和寫(xiě)實(shí)時(shí)時(shí)鐘(todw)n讀實(shí)時(shí)時(shí)鐘(讀實(shí)時(shí)時(shí)鐘(todr)指令從硬件時(shí)鐘中讀當(dāng))指令從硬件時(shí)鐘中讀當(dāng)前時(shí)間和日期,并把它裝載到一個(gè)前時(shí)間和日期,并把它裝載到一個(gè)8字節(jié),起字節(jié),起始地址為始地址為t的時(shí)間緩沖區(qū)中。的時(shí)間緩沖區(qū)中。n寫(xiě)實(shí)時(shí)時(shí)鐘(寫(xiě)實(shí)時(shí)時(shí)鐘(todw)指令將當(dāng)前時(shí)間和日期)指令將當(dāng)前時(shí)間和日期寫(xiě)入硬件時(shí)鐘,當(dāng)前時(shí)鐘存儲(chǔ)在以地址寫(xiě)入硬件時(shí)鐘,當(dāng)前時(shí)鐘存儲(chǔ)在以地址t開(kāi)始開(kāi)始的的8字節(jié)時(shí)間緩沖區(qū)中。字節(jié)時(shí)間緩沖區(qū)中。n您必須按照您必須按照bcd碼的格式編碼所有的日期和時(shí)碼的格式編碼所有的日期和時(shí)

21、間值(例如:用間值(例如:用1697表示表示1997年)。圖年)。圖6-4給出了時(shí)間緩沖區(qū)(給出了時(shí)間緩沖區(qū)(t)的格式。)的格式。10/25/2021plc指令集指令集38n時(shí)間日期(時(shí)間日期(tod)時(shí)鐘在電源掉電或內(nèi)存丟失)時(shí)鐘在電源掉電或內(nèi)存丟失后,初始化為下列日期和時(shí)間:后,初始化為下列日期和時(shí)間:n日期:日期: 01-jan-90n時(shí)間:時(shí)間: 00:00:00n星期:星期: 星期日星期日10/25/2021plc指令集指令集3910/25/2021plc指令集指令集4010/25/2021plc指令集指令集41n日期:日期: 01-jan-90n時(shí)間時(shí)間: 00:00:00n星期

22、:星期: 星期日星期日10/25/2021plc指令集指令集4210/25/2021plc指令集指令集436.5通訊指令通訊指令u通訊指令通訊指令n網(wǎng)絡(luò)讀寫(xiě)指令網(wǎng)絡(luò)讀寫(xiě)指令l網(wǎng)絡(luò)讀指令網(wǎng)絡(luò)讀指令(netr)初始化一個(gè)通訊操作,根據(jù)表()初始化一個(gè)通訊操作,根據(jù)表(tbl)的定義,通過(guò)指定端口從遠(yuǎn)程設(shè)備上采集數(shù)據(jù)。的定義,通過(guò)指定端口從遠(yuǎn)程設(shè)備上采集數(shù)據(jù)。l網(wǎng)絡(luò)寫(xiě)指令網(wǎng)絡(luò)寫(xiě)指令(netw)初始化一個(gè)通訊操作,根據(jù)表()初始化一個(gè)通訊操作,根據(jù)表(tbl)的定義,通過(guò)指定端口向遠(yuǎn)程設(shè)備寫(xiě)數(shù)據(jù)。的定義,通過(guò)指定端口向遠(yuǎn)程設(shè)備寫(xiě)數(shù)據(jù)。l網(wǎng)絡(luò)讀指令可以從遠(yuǎn)程站點(diǎn)讀取最多網(wǎng)絡(luò)讀指令可以從遠(yuǎn)程站點(diǎn)讀取最多1

23、6個(gè)字節(jié)的信息,網(wǎng)絡(luò)個(gè)字節(jié)的信息,網(wǎng)絡(luò)寫(xiě)指令可以向遠(yuǎn)程站點(diǎn)寫(xiě)最多寫(xiě)指令可以向遠(yuǎn)程站點(diǎn)寫(xiě)最多16個(gè)字節(jié)的信息。個(gè)字節(jié)的信息。l在程序中,可以使用任意條網(wǎng)絡(luò)讀寫(xiě)指令,但是在同一時(shí)間,在程序中,可以使用任意條網(wǎng)絡(luò)讀寫(xiě)指令,但是在同一時(shí)間,最多只能有最多只能有8條網(wǎng)絡(luò)讀寫(xiě)指令被激活。例如,在所給的條網(wǎng)絡(luò)讀寫(xiě)指令被激活。例如,在所給的s7-200 cpu中,可以有中,可以有4條網(wǎng)絡(luò)讀指令和條網(wǎng)絡(luò)讀指令和4條網(wǎng)絡(luò)寫(xiě)指令,或者條網(wǎng)絡(luò)寫(xiě)指令,或者2條網(wǎng)絡(luò)讀指令和條網(wǎng)絡(luò)讀指令和6條網(wǎng)絡(luò)寫(xiě)指令在同一時(shí)間被激活。條網(wǎng)絡(luò)寫(xiě)指令在同一時(shí)間被激活。l可以使用網(wǎng)絡(luò)讀寫(xiě)向?qū)С绦?。要啟?dòng)網(wǎng)絡(luò)讀寫(xiě)向?qū)С绦颍诿梢允褂镁W(wǎng)絡(luò)讀寫(xiě)向

24、導(dǎo)程序。要啟動(dòng)網(wǎng)絡(luò)讀寫(xiě)向?qū)С绦?,在命令菜單中選擇令菜單中選擇tools instructionwizard,并且在指令向?qū)?,并且在指令向?qū)Т翱谥羞x擇網(wǎng)絡(luò)讀寫(xiě)。窗口中選擇網(wǎng)絡(luò)讀寫(xiě)。10/25/2021plc指令集指令集4410/25/2021plc指令集指令集4510/25/2021plc指令集指令集46u發(fā)送(發(fā)送(xmt)和接收()和接收(rcv)指令)指令n發(fā)送指令(發(fā)送指令(xmt)用于在自由口模式下依靠通)用于在自由口模式下依靠通訊口發(fā)送數(shù)據(jù)。訊口發(fā)送數(shù)據(jù)。n接收指令(接收指令(rcv)啟動(dòng)或者終止接收信息功能。)啟動(dòng)或者終止接收信息功能。必須為接收操作指定開(kāi)始和結(jié)束條件。從指定必須為

25、接收操作指定開(kāi)始和結(jié)束條件。從指定的通訊口接收到的信息被存儲(chǔ)在數(shù)據(jù)緩沖區(qū)的通訊口接收到的信息被存儲(chǔ)在數(shù)據(jù)緩沖區(qū)(tbl)中。數(shù)據(jù)緩沖區(qū)的第一個(gè)數(shù)據(jù)指明了)中。數(shù)據(jù)緩沖區(qū)的第一個(gè)數(shù)據(jù)指明了接收到的字節(jié)數(shù)。接收到的字節(jié)數(shù)。10/25/2021plc指令集指令集4710/25/2021plc指令集指令集48u使用自由口模式控制串行通訊口使用自由口模式控制串行通訊口n通過(guò)編程,可以選擇自由口模式來(lái)控制通過(guò)編程,可以選擇自由口模式來(lái)控制s7-200的串行的串行通訊口。當(dāng)選擇了自由口模式,用戶程序通過(guò)使用接通訊口。當(dāng)選擇了自由口模式,用戶程序通過(guò)使用接收中斷、發(fā)送中斷、發(fā)送指令和接收指令來(lái)控制通訊收中斷、

26、發(fā)送中斷、發(fā)送指令和接收指令來(lái)控制通訊口的操作。當(dāng)處于自由口模式時(shí),通訊協(xié)議完全由梯口的操作。當(dāng)處于自由口模式時(shí),通訊協(xié)議完全由梯形圖程序控制。形圖程序控制。smb30(對(duì)于端口(對(duì)于端口0)和)和smb130(對(duì)(對(duì)于端口于端口1,如果您的,如果您的s7-200有兩個(gè)端口的話)被用于有兩個(gè)端口的話)被用于選擇波特率和校驗(yàn)類型。選擇波特率和校驗(yàn)類型。n當(dāng)當(dāng)s7-200處于處于stop模式時(shí),自由口模式被禁止,重模式時(shí),自由口模式被禁止,重新建立正常的通訊(例如:編程設(shè)備的訪問(wèn))。新建立正常的通訊(例如:編程設(shè)備的訪問(wèn))。10/25/2021plc指令集指令集49n在最簡(jiǎn)單的情況下,可以只用發(fā)送

27、指令(在最簡(jiǎn)單的情況下,可以只用發(fā)送指令(xmt)向打印機(jī)或者顯示器發(fā)送信息。其它例子包括向打印機(jī)或者顯示器發(fā)送信息。其它例子包括與條碼閱讀器、稱重計(jì)和焊機(jī)的連接。在每種與條碼閱讀器、稱重計(jì)和焊機(jī)的連接。在每種情況下,您都必須編寫(xiě)程序,來(lái)支持在自由口情況下,您都必須編寫(xiě)程序,來(lái)支持在自由口模式下與模式下與s7-200通訊的設(shè)備所使用的協(xié)議。通訊的設(shè)備所使用的協(xié)議。n只有當(dāng)只有當(dāng)s7-200處于處于run模式時(shí),才能進(jìn)行自模式時(shí),才能進(jìn)行自由口通訊。要使能自由口模式,應(yīng)該在由口通訊。要使能自由口模式,應(yīng)該在smb30(端口(端口0)或者)或者smb130(端口(端口1)的協(xié)議選擇)的協(xié)議選擇區(qū)中

28、設(shè)置區(qū)中設(shè)置01。處于自由口通訊模式時(shí),不能與。處于自由口通訊模式時(shí),不能與編程設(shè)備通訊。編程設(shè)備通訊。10/25/2021plc指令集指令集5010/25/2021plc指令集指令集51n發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)l發(fā)送指令使您能夠發(fā)送一個(gè)字節(jié)或多個(gè)字節(jié)的緩沖發(fā)送指令使您能夠發(fā)送一個(gè)字節(jié)或多個(gè)字節(jié)的緩沖區(qū),最多為區(qū),最多為255個(gè)。個(gè)。n接收數(shù)據(jù)接收數(shù)據(jù)l接收指令使您能夠接收一個(gè)字節(jié)或多個(gè)字節(jié)的緩沖接收指令使您能夠接收一個(gè)字節(jié)或多個(gè)字節(jié)的緩沖區(qū),最多為區(qū),最多為255個(gè)。個(gè)。n接收指令的啟動(dòng)和結(jié)束條件接收指令的啟動(dòng)和結(jié)束條件l接收指令使用接收信息控制字節(jié)(接收指令使用接收信息控制字節(jié)(smb87或或s

29、mb187)中的位來(lái)定義信息起始和結(jié)束條件。)中的位來(lái)定義信息起始和結(jié)束條件。10/25/2021plc指令集指令集52u使用字符中斷控制接收數(shù)據(jù)使用字符中斷控制接收數(shù)據(jù)n為了完全適應(yīng)對(duì)各種協(xié)議的支持,也可以使用字符中為了完全適應(yīng)對(duì)各種協(xié)議的支持,也可以使用字符中斷控制的方式接收數(shù)據(jù)。接收每個(gè)字符時(shí)都會(huì)產(chǎn)生中斷控制的方式接收數(shù)據(jù)。接收每個(gè)字符時(shí)都會(huì)產(chǎn)生中斷。在執(zhí)行與接收字符事件相連的中斷服務(wù)程序之前,斷。在執(zhí)行與接收字符事件相連的中斷服務(wù)程序之前,接收到的字符存入接收到的字符存入smb2中,校驗(yàn)狀態(tài)(如果使能的話)中,校驗(yàn)狀態(tài)(如果使能的話)存入存入sm3.0。smb2是自由口接收字符緩沖區(qū)。

30、在自由是自由口接收字符緩沖區(qū)。在自由口模式下,每一個(gè)接收到的字符都會(huì)存放到這一位置,口模式下,每一個(gè)接收到的字符都會(huì)存放到這一位置,便于用戶程序訪問(wèn)。便于用戶程序訪問(wèn)。smb3用于自由口模式。它包含一用于自由口模式。它包含一個(gè)校驗(yàn)錯(cuò)誤標(biāo)志位。當(dāng)接收字符的同時(shí)檢測(cè)到校驗(yàn)錯(cuò)個(gè)校驗(yàn)錯(cuò)誤標(biāo)志位。當(dāng)接收字符的同時(shí)檢測(cè)到校驗(yàn)錯(cuò)誤時(shí),該位被置位。該字節(jié)的其它位被保留。利用校誤時(shí),該位被置位。該字節(jié)的其它位被保留。利用校驗(yàn)位去丟棄信息或向該信息發(fā)送否定應(yīng)答。驗(yàn)位去丟棄信息或向該信息發(fā)送否定應(yīng)答。10/25/2021plc指令集指令集5310/25/2021plc指令集指令集5410/25/2021plc指令集

31、指令集556.6比較指令比較指令u數(shù)值比較數(shù)值比較n比較指令用于比較兩個(gè)數(shù)值:比較指令用于比較兩個(gè)數(shù)值:nin1 = in2 in1 = in2 in1 in2 in1 in2 in1 in2n字節(jié)比較操作是無(wú)符號(hào)的。字節(jié)比較操作是無(wú)符號(hào)的。n整數(shù)比較操作是有符號(hào)的。整數(shù)比較操作是有符號(hào)的。n雙字比較操作是有符號(hào)的。雙字比較操作是有符號(hào)的。n實(shí)數(shù)比較操作是有符號(hào)的。實(shí)數(shù)比較操作是有符號(hào)的。10/25/2021plc指令集指令集56n對(duì)于對(duì)于lad和和 fbd:當(dāng)比較結(jié)果為真時(shí),比較指:當(dāng)比較結(jié)果為真時(shí),比較指令使觸點(diǎn)閉合(令使觸點(diǎn)閉合(lad)或者輸出接通()或者輸出接通(fbd)。)。n對(duì)于

32、對(duì)于stl:當(dāng)比較結(jié)果為真時(shí),對(duì):當(dāng)比較結(jié)果為真時(shí),對(duì)1進(jìn)行進(jìn)行l(wèi)d,a或或o操作,并置入棧頂。操作,并置入棧頂。10/25/2021plc指令集指令集5710/25/2021plc指令集指令集5810/25/2021plc指令集指令集59u字符串比較字符串比較n字符串比較指令比較兩個(gè)字符串的字符串比較指令比較兩個(gè)字符串的ascii碼字碼字符:符:nin1=in2 in1in2n當(dāng)比較結(jié)果為真時(shí),比較指令使觸點(diǎn)閉合當(dāng)比較結(jié)果為真時(shí),比較指令使觸點(diǎn)閉合(lad)或者輸出接通()或者輸出接通(fbd),或者對(duì)),或者對(duì)1進(jìn)進(jìn)行行l(wèi)d,a或或o操作,并置入棧頂(操作,并置入棧頂(stl)。)。10/

33、25/2021plc指令集指令集606.7轉(zhuǎn)換指令轉(zhuǎn)換指令u標(biāo)準(zhǔn)轉(zhuǎn)換指令標(biāo)準(zhǔn)轉(zhuǎn)換指令n數(shù)字轉(zhuǎn)換數(shù)字轉(zhuǎn)換l字節(jié)轉(zhuǎn)為整數(shù)(字節(jié)轉(zhuǎn)為整數(shù)(bti)、整數(shù)轉(zhuǎn)為字節(jié)()、整數(shù)轉(zhuǎn)為字節(jié)(itb)、整)、整數(shù)轉(zhuǎn)為雙整數(shù)(數(shù)轉(zhuǎn)為雙整數(shù)(itd)、雙整數(shù)轉(zhuǎn)為整數(shù)()、雙整數(shù)轉(zhuǎn)為整數(shù)(dti)、)、雙整數(shù)轉(zhuǎn)為實(shí)數(shù)(雙整數(shù)轉(zhuǎn)為實(shí)數(shù)(dtr)、)、bcd碼轉(zhuǎn)為整數(shù)碼轉(zhuǎn)為整數(shù)(bcdi)和整數(shù)轉(zhuǎn)為)和整數(shù)轉(zhuǎn)為bcd碼(碼(ibcd)。以上指令)。以上指令將輸入值將輸入值in轉(zhuǎn)換為指定的格式并存儲(chǔ)到由轉(zhuǎn)換為指定的格式并存儲(chǔ)到由out指定指定的輸出值存儲(chǔ)區(qū)中。例如:可以將雙整數(shù)值轉(zhuǎn)為實(shí)的輸出值存儲(chǔ)區(qū)中。例如:可以將雙整數(shù)值

34、轉(zhuǎn)為實(shí)數(shù)值;也可以在整數(shù)和數(shù)值;也可以在整數(shù)和bcd碼格式之間相互轉(zhuǎn)換。碼格式之間相互轉(zhuǎn)換。10/25/2021plc指令集指令集61n四舍五入(四舍五入(round)和取整()和取整(trunc)l四舍五入指令(四舍五入指令(round)將一個(gè)實(shí)數(shù)轉(zhuǎn)為一個(gè)雙)將一個(gè)實(shí)數(shù)轉(zhuǎn)為一個(gè)雙整數(shù)值,并將四舍五入的結(jié)果存入整數(shù)值,并將四舍五入的結(jié)果存入out指定的變量指定的變量中。中。l取整指令(取整指令(trunc)將一個(gè)實(shí)數(shù)轉(zhuǎn)為一個(gè)雙整數(shù)值,)將一個(gè)實(shí)數(shù)轉(zhuǎn)為一個(gè)雙整數(shù)值,并將實(shí)數(shù)的整數(shù)部分作為結(jié)果存入并將實(shí)數(shù)的整數(shù)部分作為結(jié)果存入out指定的變量指定的變量中。中。n包絡(luò)段數(shù)包絡(luò)段數(shù)l段碼指令(段碼指令

35、(seg)允許您產(chǎn)生一個(gè)點(diǎn)陣,用于點(diǎn)亮)允許您產(chǎn)生一個(gè)點(diǎn)陣,用于點(diǎn)亮七段碼顯示器的各個(gè)段。七段碼顯示器的各個(gè)段。10/25/2021plc指令集指令集6210/25/2021plc指令集指令集63uascii碼轉(zhuǎn)換指令碼轉(zhuǎn)換指令n有效的有效的ascii碼字符為十六進(jìn)制的碼字符為十六進(jìn)制的30到到39和和41到到46。n在在ascii碼和十六進(jìn)制數(shù)之間相互轉(zhuǎn)換碼和十六進(jìn)制數(shù)之間相互轉(zhuǎn)換nascii碼轉(zhuǎn)十六進(jìn)制數(shù)指令(碼轉(zhuǎn)十六進(jìn)制數(shù)指令(ath)將一個(gè)長(zhǎng)度為)將一個(gè)長(zhǎng)度為len從從in開(kāi)始的開(kāi)始的ascii碼字符串轉(zhuǎn)換成從碼字符串轉(zhuǎn)換成從out開(kāi)始的十六進(jìn)開(kāi)始的十六進(jìn)制數(shù)。十六進(jìn)制數(shù)轉(zhuǎn)制數(shù)。十六進(jìn)

36、制數(shù)轉(zhuǎn)ascii碼指令(碼指令(hta)將從輸入字)將從輸入字節(jié)節(jié)in開(kāi)始的十六進(jìn)制數(shù),轉(zhuǎn)換成從開(kāi)始的十六進(jìn)制數(shù),轉(zhuǎn)換成從out開(kāi)始的開(kāi)始的ascii碼碼字符串。被轉(zhuǎn)換的十六進(jìn)制數(shù)的位數(shù)由長(zhǎng)度字符串。被轉(zhuǎn)換的十六進(jìn)制數(shù)的位數(shù)由長(zhǎng)度len給出。給出。n能夠被轉(zhuǎn)換的能夠被轉(zhuǎn)換的ascii碼字符串或者十六進(jìn)制數(shù)的最大數(shù)碼字符串或者十六進(jìn)制數(shù)的最大數(shù)量為量為255。有效。有效ascii碼輸入碼輸入n有效的有效的ascii碼輸入字符是碼輸入字符是0到到9的十六進(jìn)制數(shù)代碼值的十六進(jìn)制數(shù)代碼值30到到39,和大寫(xiě)字符,和大寫(xiě)字符a到到f的十六進(jìn)制數(shù)代碼值的十六進(jìn)制數(shù)代碼值41到到46這些字母數(shù)字字符。這些字

37、母數(shù)字字符。10/25/2021plc指令集指令集64n將數(shù)值轉(zhuǎn)為將數(shù)值轉(zhuǎn)為ascii碼碼l整數(shù)轉(zhuǎn)整數(shù)轉(zhuǎn)ascii碼(碼(ita)、雙整數(shù)轉(zhuǎn))、雙整數(shù)轉(zhuǎn)ascii碼(碼(dta)和實(shí)數(shù)轉(zhuǎn)和實(shí)數(shù)轉(zhuǎn)ascii碼(碼(rta)指令,分別將整數(shù)、雙)指令,分別將整數(shù)、雙整數(shù)或?qū)崝?shù)值轉(zhuǎn)換成整數(shù)或?qū)崝?shù)值轉(zhuǎn)換成ascii碼字符。碼字符。10/25/2021plc指令集指令集6510/25/2021plc指令集指令集6610/25/2021plc指令集指令集67u字符串轉(zhuǎn)換指令字符串轉(zhuǎn)換指令n將數(shù)值轉(zhuǎn)換為字符串將數(shù)值轉(zhuǎn)換為字符串n整數(shù)轉(zhuǎn)字符串(整數(shù)轉(zhuǎn)字符串(its)、雙整數(shù)轉(zhuǎn)字符串)、雙整數(shù)轉(zhuǎn)字符串(dts)

38、和實(shí)數(shù)轉(zhuǎn)字符串()和實(shí)數(shù)轉(zhuǎn)字符串(rts)指令,將整)指令,將整數(shù)、雙整數(shù)或?qū)崝?shù)值(數(shù)、雙整數(shù)或?qū)崝?shù)值(in)轉(zhuǎn)換成)轉(zhuǎn)換成ascii碼字碼字符串(符串(out)。)。10/25/2021plc指令集指令集68u將子字符串轉(zhuǎn)換為數(shù)字值將子字符串轉(zhuǎn)換為數(shù)字值n子字符串轉(zhuǎn)整數(shù)(子字符串轉(zhuǎn)整數(shù)(sti)、子字符串轉(zhuǎn)雙整數(shù))、子字符串轉(zhuǎn)雙整數(shù)(std)和子字符串轉(zhuǎn)實(shí)數(shù)()和子字符串轉(zhuǎn)實(shí)數(shù)(str)指令,將)指令,將從偏移量從偏移量indx開(kāi)始的字符串值開(kāi)始的字符串值in轉(zhuǎn)換成整數(shù)轉(zhuǎn)換成整數(shù)/雙整數(shù)或?qū)崝?shù)值雙整數(shù)或?qū)崝?shù)值out。10/25/2021plc指令集指令集6910/25/2021plc指令集指

39、令集70u編碼和解碼指令編碼和解碼指令n編碼編碼l編碼指令(編碼指令(enco)將輸入字)將輸入字in的最低有效位的位的最低有效位的位號(hào)寫(xiě)入輸出字節(jié)號(hào)寫(xiě)入輸出字節(jié)out的最低有效的最低有效“半字節(jié)半字節(jié)”(4位)位)中。中。n譯碼譯碼l譯碼指令(譯碼指令(deco)根據(jù)輸入字節(jié)()根據(jù)輸入字節(jié)(in)的低四位)的低四位所表示的位號(hào)置輸出字(所表示的位號(hào)置輸出字(out)的相應(yīng)位為)的相應(yīng)位為1,輸,輸出字的所有其他位都清出字的所有其他位都清0。10/25/2021plc指令集指令集7110/25/2021plc指令集指令集726.8計(jì)數(shù)器指令計(jì)數(shù)器指令usimatic計(jì)數(shù)器指令計(jì)數(shù)器指令n增計(jì)

40、數(shù)器增計(jì)數(shù)器l增計(jì)數(shù)指令(增計(jì)數(shù)指令(ctu)從當(dāng)前計(jì)數(shù)值開(kāi)始,在每一個(gè))從當(dāng)前計(jì)數(shù)值開(kāi)始,在每一個(gè)(cu)輸入狀態(tài)從低到高時(shí)遞增計(jì)數(shù)。當(dāng))輸入狀態(tài)從低到高時(shí)遞增計(jì)數(shù)。當(dāng)cxx的當(dāng)?shù)漠?dāng)前值大于等于預(yù)置值前值大于等于預(yù)置值pv時(shí),計(jì)數(shù)器位時(shí),計(jì)數(shù)器位cxx置位。當(dāng)置位。當(dāng)復(fù)位端(復(fù)位端(r)接通或者執(zhí)行復(fù)位指令后,計(jì)數(shù)器被)接通或者執(zhí)行復(fù)位指令后,計(jì)數(shù)器被復(fù)位。當(dāng)它達(dá)到最大值(復(fù)位。當(dāng)它達(dá)到最大值(32,767)后,計(jì)數(shù)器停)后,計(jì)數(shù)器停止計(jì)數(shù)。止計(jì)數(shù)。nstl操作:操作:nh 復(fù)位輸入:棧頂復(fù)位輸入:棧頂nh 計(jì)數(shù)輸入:其值被裝載在第二個(gè)堆棧中。計(jì)數(shù)輸入:其值被裝載在第二個(gè)堆棧中。10/25/

41、2021plc指令集指令集73n減計(jì)數(shù)器減計(jì)數(shù)器l減計(jì)數(shù)指令(減計(jì)數(shù)指令(ctd)從當(dāng)前計(jì)數(shù)值開(kāi)始,在每一個(gè))從當(dāng)前計(jì)數(shù)值開(kāi)始,在每一個(gè)(cd)輸入狀態(tài)的低到高時(shí)遞減計(jì)數(shù)。當(dāng))輸入狀態(tài)的低到高時(shí)遞減計(jì)數(shù)。當(dāng)cxx的當(dāng)?shù)漠?dāng)前值等于前值等于0時(shí),計(jì)數(shù)器位時(shí),計(jì)數(shù)器位cxx置位。當(dāng)裝載輸入端置位。當(dāng)裝載輸入端(ld)接通時(shí),計(jì)數(shù)器位被復(fù)位,并將計(jì)數(shù)器的當(dāng))接通時(shí),計(jì)數(shù)器位被復(fù)位,并將計(jì)數(shù)器的當(dāng)前值設(shè)為預(yù)置值前值設(shè)為預(yù)置值pv。當(dāng)計(jì)數(shù)值到。當(dāng)計(jì)數(shù)值到0時(shí),計(jì)數(shù)器停止時(shí),計(jì)數(shù)器停止計(jì)數(shù),計(jì)數(shù)器位計(jì)數(shù),計(jì)數(shù)器位cxx接通。接通。nstl操作:操作:lh 裝載輸入:棧頂裝載輸入:棧頂lh 計(jì)數(shù)輸入:其值被裝

42、載在第二個(gè)堆棧中。計(jì)數(shù)輸入:其值被裝載在第二個(gè)堆棧中。10/25/2021plc指令集指令集74n增增/減計(jì)數(shù)器減計(jì)數(shù)器l增增/減計(jì)數(shù)指令(減計(jì)數(shù)指令(ctud),在每一個(gè)增計(jì)數(shù)輸入),在每一個(gè)增計(jì)數(shù)輸入(cu)的低到高時(shí)增計(jì)數(shù),在每一個(gè)減計(jì)數(shù)輸入)的低到高時(shí)增計(jì)數(shù),在每一個(gè)減計(jì)數(shù)輸入(cd)的低到高時(shí)減計(jì)數(shù)。計(jì)數(shù)器的當(dāng)前值)的低到高時(shí)減計(jì)數(shù)。計(jì)數(shù)器的當(dāng)前值cxx保保存當(dāng)前計(jì)數(shù)值。在每一次計(jì)數(shù)器執(zhí)行時(shí),預(yù)置值存當(dāng)前計(jì)數(shù)值。在每一次計(jì)數(shù)器執(zhí)行時(shí),預(yù)置值pv與當(dāng)前值作比較。與當(dāng)前值作比較。l當(dāng)達(dá)到最大值(當(dāng)達(dá)到最大值(32767)時(shí),在增計(jì)數(shù)輸入處的下)時(shí),在增計(jì)數(shù)輸入處的下一個(gè)上升沿導(dǎo)致當(dāng)前計(jì)數(shù)

43、值變?yōu)樽钚≈担ㄒ粋€(gè)上升沿導(dǎo)致當(dāng)前計(jì)數(shù)值變?yōu)樽钚≈担?32768)。)。當(dāng)達(dá)到最小值(當(dāng)達(dá)到最小值(-32768)時(shí),在減計(jì)數(shù)輸入端的下)時(shí),在減計(jì)數(shù)輸入端的下一個(gè)上升沿導(dǎo)致當(dāng)前計(jì)數(shù)值變?yōu)樽畲笾担ㄒ粋€(gè)上升沿導(dǎo)致當(dāng)前計(jì)數(shù)值變?yōu)樽畲笾担?2767)。)。l當(dāng)當(dāng)cxx的當(dāng)前值大于等于預(yù)置值的當(dāng)前值大于等于預(yù)置值pv時(shí),計(jì)數(shù)器位時(shí),計(jì)數(shù)器位cxx置位。否則,計(jì)數(shù)器位關(guān)斷。當(dāng)復(fù)位端(置位。否則,計(jì)數(shù)器位關(guān)斷。當(dāng)復(fù)位端(r)接通或者執(zhí)行復(fù)位指令后,計(jì)數(shù)器被復(fù)位。當(dāng)達(dá)到接通或者執(zhí)行復(fù)位指令后,計(jì)數(shù)器被復(fù)位。當(dāng)達(dá)到預(yù)置值預(yù)置值pv時(shí),時(shí),ctud計(jì)數(shù)器停止計(jì)數(shù)。計(jì)數(shù)器停止計(jì)數(shù)。10/25/2021plc指令集指

44、令集75nstl操作:操作:lh 復(fù)位輸入:棧頂復(fù)位輸入:棧頂lh 減計(jì)數(shù)輸入:其值被裝載在第二棧位中。減計(jì)數(shù)輸入:其值被裝載在第二棧位中。lh 增計(jì)數(shù)輸入:其值被裝載在第三棧位中。增計(jì)數(shù)輸入:其值被裝載在第三棧位中。10/25/2021plc指令集指令集7610/25/2021plc指令集指令集7710/25/2021plc指令集指令集786.9高速計(jì)數(shù)器指令高速計(jì)數(shù)器指令u定義高速計(jì)數(shù)器定義高速計(jì)數(shù)器n定義高速計(jì)數(shù)器指令(定義高速計(jì)數(shù)器指令(hdef)為指定的高速)為指定的高速計(jì)數(shù)器(計(jì)數(shù)器(hscx)選擇操作模式。模塊的選擇)選擇操作模式。模塊的選擇決定了高速計(jì)數(shù)器的時(shí)鐘、方向、啟動(dòng)和復(fù)

45、位決定了高速計(jì)數(shù)器的時(shí)鐘、方向、啟動(dòng)和復(fù)位功能。功能。n對(duì)于每一個(gè)高速計(jì)數(shù)器使用一條定義高速計(jì)數(shù)對(duì)于每一個(gè)高速計(jì)數(shù)器使用一條定義高速計(jì)數(shù)器指令。器指令。u高速計(jì)數(shù)器高速計(jì)數(shù)器n高速計(jì)數(shù)器指令(高速計(jì)數(shù)器指令(hsc)在)在hsc特殊存儲(chǔ)器位特殊存儲(chǔ)器位狀態(tài)的基礎(chǔ)上配置和控制高速計(jì)數(shù)器。參數(shù)狀態(tài)的基礎(chǔ)上配置和控制高速計(jì)數(shù)器。參數(shù)n指定高速計(jì)數(shù)器的標(biāo)號(hào)。指定高速計(jì)數(shù)器的標(biāo)號(hào)。10/25/2021plc指令集指令集79n高速計(jì)數(shù)器可以被配置為高速計(jì)數(shù)器可以被配置為12種模式中的任意一種模式中的任意一種,詳細(xì)情況可參考種,詳細(xì)情況可參考siemens s7-200系統(tǒng)手系統(tǒng)手冊(cè)。冊(cè)。n每一個(gè)計(jì)數(shù)器都有

46、時(shí)鐘、方向控制、復(fù)位、啟每一個(gè)計(jì)數(shù)器都有時(shí)鐘、方向控制、復(fù)位、啟動(dòng)的特定輸入。對(duì)于雙相計(jì)數(shù)器,兩個(gè)時(shí)鐘都動(dòng)的特定輸入。對(duì)于雙相計(jì)數(shù)器,兩個(gè)時(shí)鐘都可以運(yùn)行在最高頻率。在正交模式下,您可以可以運(yùn)行在最高頻率。在正交模式下,您可以選擇一倍速(選擇一倍速(1x)或者四倍速()或者四倍速(4x)計(jì)數(shù)速率。)計(jì)數(shù)速率。所有計(jì)數(shù)器都可以運(yùn)行在最高頻率下而互不影所有計(jì)數(shù)器都可以運(yùn)行在最高頻率下而互不影響。響。10/25/2021plc指令集指令集80u高速計(jì)數(shù)器編程高速計(jì)數(shù)器編程n可以使用指令向?qū)?lái)配置計(jì)數(shù)器。向?qū)С绦蚴箍梢允褂弥噶钕驅(qū)?lái)配置計(jì)數(shù)器。向?qū)С绦蚴褂孟铝行畔ⅲ河?jì)數(shù)器的類型和模式、計(jì)數(shù)器的用下列信息

47、:計(jì)數(shù)器的類型和模式、計(jì)數(shù)器的預(yù)置值、計(jì)數(shù)器的初始值和計(jì)數(shù)的初始方向。預(yù)置值、計(jì)數(shù)器的初始值和計(jì)數(shù)的初始方向。要啟動(dòng)要啟動(dòng)hsc指令向?qū)?,可以在命令菜單窗口中指令向?qū)?,可以在命令菜單窗口中選擇選擇tools instruction wizard ,然后在向?qū)?,然后在向?qū)Т翱谥羞x擇窗口中選擇hsc指令。指令。10/25/2021plc指令集指令集81n對(duì)高速計(jì)數(shù)器編程,必須完成下列基本操對(duì)高速計(jì)數(shù)器編程,必須完成下列基本操l 定義計(jì)數(shù)器和模式定義計(jì)數(shù)器和模式l 設(shè)置控制字節(jié)設(shè)置控制字節(jié)l 設(shè)置初始值設(shè)置初始值l 設(shè)置預(yù)置值設(shè)置預(yù)置值l 指定并使能中斷服務(wù)程序指定并使能中斷服務(wù)程序l 激活高速計(jì)數(shù)

48、器激活高速計(jì)數(shù)器n高速計(jì)數(shù)器的編程示例省略。高速計(jì)數(shù)器的編程示例省略。10/25/2021plc指令集指令集826.10脈沖輸出指令脈沖輸出指令 u脈沖輸出指令(脈沖輸出指令(pls)用于在高速輸出)用于在高速輸出(q0.0和和q0.1)上控制脈沖串輸出()上控制脈沖串輸出(pto)和脈寬調(diào)制(和脈寬調(diào)制(pwm)功能。)功能。u請(qǐng)參閱資料光盤(pán)上應(yīng)用示例中使用請(qǐng)參閱資料光盤(pán)上應(yīng)用示例中使用pls指指令進(jìn)行令進(jìn)行pto/pwm操作的程序。見(jiàn)應(yīng)用示例操作的程序。見(jiàn)應(yīng)用示例7、22、23、30和和50。10/25/2021plc指令集指令集836.11數(shù)字運(yùn)算指令數(shù)字運(yùn)算指令 u加、減、乘、除指令加

49、、減、乘、除指令n加法加法 減法減法lin1+in2=out in1-in2=out lad和和fbdlin1+out=out out-in1=out stll整數(shù)加法(整數(shù)加法(+i)或者整數(shù)減法()或者整數(shù)減法(-i)指令,將兩個(gè))指令,將兩個(gè)16位整數(shù)相加或者相減,產(chǎn)生一個(gè)位整數(shù)相加或者相減,產(chǎn)生一個(gè)16位結(jié)果。雙整位結(jié)果。雙整數(shù)加法(數(shù)加法(+d)或者雙整數(shù)減法()或者雙整數(shù)減法(-d)指令,將兩)指令,將兩個(gè)個(gè)32位整數(shù)相加或者相減,產(chǎn)生一個(gè)位整數(shù)相加或者相減,產(chǎn)生一個(gè)32位結(jié)果。實(shí)位結(jié)果。實(shí)數(shù)加法(數(shù)加法(+r)和實(shí)數(shù)減法()和實(shí)數(shù)減法(-r)指令,將兩個(gè))指令,將兩個(gè)32位實(shí)數(shù)相

50、加或相減,產(chǎn)生一個(gè)位實(shí)數(shù)相加或相減,產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果。位實(shí)數(shù)結(jié)果。10/25/2021plc指令集指令集84n乘法乘法 除法除法lin1*in2=out in1/in2=out lad和和fbdlin1*out=out out/in1=out stll整數(shù)乘法(整數(shù)乘法(*i)或者整數(shù)除法()或者整數(shù)除法(/i)指令,將兩個(gè))指令,將兩個(gè)16位整數(shù)相乘或者相除,產(chǎn)生一個(gè)位整數(shù)相乘或者相除,產(chǎn)生一個(gè)16位結(jié)果。(對(duì)于位結(jié)果。(對(duì)于除法,余數(shù)不被保留。)雙整數(shù)乘法(除法,余數(shù)不被保留。)雙整數(shù)乘法(*d)或者雙)或者雙整數(shù)除法(整數(shù)除法(/d)指令,將兩個(gè))指令,將兩個(gè)32位整數(shù)相乘或者相位

51、整數(shù)相乘或者相除,產(chǎn)生一個(gè)除,產(chǎn)生一個(gè)32位結(jié)果。(對(duì)于除法,余數(shù)不被保位結(jié)果。(對(duì)于除法,余數(shù)不被保留。)實(shí)數(shù)乘法(留。)實(shí)數(shù)乘法(*r)或?qū)崝?shù)除法()或?qū)崝?shù)除法(/r)指令,將)指令,將兩個(gè)兩個(gè)32位實(shí)數(shù)相乘或相除,產(chǎn)生一個(gè)位實(shí)數(shù)相乘或相除,產(chǎn)生一個(gè)32位實(shí)數(shù)結(jié)果。位實(shí)數(shù)結(jié)果。10/25/2021plc指令集指令集8510/25/2021plc指令集指令集8610/25/2021plc指令集指令集8710/25/2021plc指令集指令集8810/25/2021plc指令集指令集8910/25/2021plc指令集指令集90u數(shù)學(xué)功能指令數(shù)學(xué)功能指令n正弦、余弦和正切正弦、余弦和正切l(wèi)正弦

52、(正弦(sin)、余弦()、余弦(cos)和正切()和正切(tan)指令)指令計(jì)算角度值計(jì)算角度值in的三角函數(shù)值,并將結(jié)果存放在的三角函數(shù)值,并將結(jié)果存放在out中。輸入角度值是弧度值。中。輸入角度值是弧度值。lsin(in)= out lcos(in)=out ltan(in) =outl要將角度從度數(shù)變?yōu)榛《?,可以使用要將角度從度?shù)變?yōu)榛《?,可以使用mul_r(*r)指令,將度數(shù)乘以指令,將度數(shù)乘以1.745329e-2(接近(接近/180)即)即可??伞?0/25/2021plc指令集指令集91n自然對(duì)數(shù)和自然指數(shù)自然對(duì)數(shù)和自然指數(shù)l自然對(duì)數(shù)指令(自然對(duì)數(shù)指令(ln)計(jì)算輸入值)計(jì)算輸

53、入值in的自然對(duì)數(shù),并的自然對(duì)數(shù),并將結(jié)果存放到將結(jié)果存放到out中。中。l自然指數(shù)指令(自然指數(shù)指令(exp)計(jì)算輸入值)計(jì)算輸入值in的自然指數(shù)值,的自然指數(shù)值,并將結(jié)果存放到并將結(jié)果存放到out中。中。lln (in) = out exp (in)=outn平方根平方根l平方根指令(平方根指令(sqrt)計(jì)算實(shí)數(shù)()計(jì)算實(shí)數(shù)(in)的平方根)的平方根 ,并將結(jié)果存放到并將結(jié)果存放到out中。中。lsqrt(in)=out10/25/2021plc指令集指令集92n遞增和遞減指令遞增和遞減指令l遞增遞增 in+1=out lad和和 fbd out+1=out stll遞減遞減 in -

54、1=out lad和和 fbd out - 1=out stll遞增或者遞減指令將輸入遞增或者遞減指令將輸入in加加1或者減或者減1,并將結(jié)果存放在,并將結(jié)果存放在out中。中。l字節(jié)遞增(字節(jié)遞增(incb)和字節(jié)遞減()和字節(jié)遞減(decb)操作是無(wú)符號(hào)的。)操作是無(wú)符號(hào)的。l字遞增(字遞增(incw)和字遞減()和字遞減(decw)操作是有符號(hào)的。)操作是有符號(hào)的。l雙字遞增(雙字遞增(incd)和雙字遞減()和雙字遞減(decd)操作是有符號(hào)的。)操作是有符號(hào)的。10/25/2021plc指令集指令集9310/25/2021plc指令集指令集946.12比例比例/積分積分/微分(微分(

55、pid)回路控制指令)回路控制指令upid回路控制指令(回路控制指令(pid)根據(jù)輸入和表)根據(jù)輸入和表(tbl)中的配置信息,對(duì)相應(yīng)的)中的配置信息,對(duì)相應(yīng)的loop執(zhí)執(zhí)行行pid回路計(jì)算?;芈酚?jì)算。10/25/2021plc指令集指令集956.13中斷指令中斷指令 u中斷允許(中斷允許(eni)和中斷禁止()和中斷禁止(disi)n中斷允許指令(中斷允許指令(eni)全局地允許所有被連接)全局地允許所有被連接的中斷事件。中斷禁止指令(的中斷事件。中斷禁止指令(disi)全局地禁)全局地禁止處理所有中斷事件。止處理所有中斷事件。n當(dāng)進(jìn)入當(dāng)進(jìn)入run模式時(shí),初始狀態(tài)為禁止中斷。在模式時(shí),初始狀

56、態(tài)為禁止中斷。在run模式,您可以執(zhí)行全局中斷允許指令模式,您可以執(zhí)行全局中斷允許指令(eni)允許所有中斷。全局中斷禁止指令)允許所有中斷。全局中斷禁止指令n(disi)不允許處理中斷服務(wù)程序,但中斷事)不允許處理中斷服務(wù)程序,但中斷事件仍然會(huì)排隊(duì)等候。件仍然會(huì)排隊(duì)等候。10/25/2021plc指令集指令集96u中斷條件返回(中斷條件返回(creti)n中斷條件返回指令(中斷條件返回指令(creti)用于根據(jù)前面的)用于根據(jù)前面的邏輯操作的條件,從中斷服務(wù)程序中返回。邏輯操作的條件,從中斷服務(wù)程序中返回。u中斷連接(中斷連接(atch)n中斷連接指令(中斷連接指令(atch)將中斷事件)將

57、中斷事件evnt與中與中斷服務(wù)程序號(hào)斷服務(wù)程序號(hào)int相關(guān)聯(lián),并使能該中斷事件。相關(guān)聯(lián),并使能該中斷事件。u中斷分離(中斷分離(dtch)n中斷分離指令(中斷分離指令(dtch)將中斷事件)將中斷事件evnt與中與中斷服務(wù)程序之間的關(guān)聯(lián)切斷,并禁止該中斷事斷服務(wù)程序之間的關(guān)聯(lián)切斷,并禁止該中斷事件。件。10/25/2021plc指令集指令集97u清除中斷事件(清除中斷事件(clrevent)us7-200支持的中斷類型支持的中斷類型ns7-200支持下列類型的中斷服務(wù)程序:支持下列類型的中斷服務(wù)程序:l 通訊口中斷:通訊口中斷:s7-200生成使程序可以控制通訊口生成使程序可以控制通訊口的事件

58、。的事件。l i/o中斷:中斷:s7-200對(duì)對(duì)i/o點(diǎn)狀態(tài)的各種變化產(chǎn)生中斷點(diǎn)狀態(tài)的各種變化產(chǎn)生中斷事件。這些事件可以對(duì)高速計(jì)數(shù)器、脈沖輸出或輸事件。這些事件可以對(duì)高速計(jì)數(shù)器、脈沖輸出或輸入的上升或下降狀態(tài)做出響應(yīng)。入的上升或下降狀態(tài)做出響應(yīng)。l 時(shí)基中斷:時(shí)基中斷:s7-200產(chǎn)生使程序在指定的間隔上起產(chǎn)生使程序在指定的間隔上起作用的事件。作用的事件。10/25/2021plc指令集指令集98u中斷優(yōu)先級(jí)和中斷隊(duì)列中斷優(yōu)先級(jí)和中斷隊(duì)列n在各個(gè)指定的優(yōu)先級(jí)之內(nèi),在各個(gè)指定的優(yōu)先級(jí)之內(nèi),cpu按先來(lái)先服務(wù)按先來(lái)先服務(wù)的原則處理中斷。任何時(shí)間點(diǎn)上,只有一個(gè)用的原則處理中斷。任何時(shí)間點(diǎn)上,只有一個(gè)

59、用戶中斷程序正在執(zhí)行。一旦中斷程序開(kāi)始執(zhí)行,戶中斷程序正在執(zhí)行。一旦中斷程序開(kāi)始執(zhí)行,它要一直執(zhí)行到結(jié)束。而且不會(huì)被別的中斷程它要一直執(zhí)行到結(jié)束。而且不會(huì)被別的中斷程序,甚至是更高優(yōu)先級(jí)的中斷程序所打斷。當(dāng)序,甚至是更高優(yōu)先級(jí)的中斷程序所打斷。當(dāng)另一個(gè)中斷正在處理中,新出現(xiàn)的中斷需要排另一個(gè)中斷正在處理中,新出現(xiàn)的中斷需要排隊(duì),等待處理。隊(duì),等待處理。10/25/2021plc指令集指令集9910/25/2021plc指令集指令集10010/25/2021plc指令集指令集10110/25/2021plc指令集指令集1026.14邏輯操作指令邏輯操作指令 u取反指令取反指令n字節(jié)、字和雙字取反

60、字節(jié)、字和雙字取反l字節(jié)取反(字節(jié)取反(invb)、字取反()、字取反(invw)和雙字取反)和雙字取反(invd)指令將輸入)指令將輸入in取反的結(jié)果存入取反的結(jié)果存入out中。中。n使使eno=0的錯(cuò)誤條件:的錯(cuò)誤條件:lh 0006(間接尋址)(間接尋址)n受影響的受影響的sm標(biāo)志位:標(biāo)志位:lh sm1.0(結(jié)果為(結(jié)果為0)10/25/2021plc指令集指令集10310/25/2021plc指令集指令集10410/25/2021plc指令集指令集10510/25/2021plc指令集指令集10610/25/2021plc指令集指令集107u與、或和異或指令與、或和異或指令n字節(jié)與、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論