2009西門子S7-300和S7-400語(yǔ)旬表編程手冊(cè)_第1頁(yè)
2009西門子S7-300和S7-400語(yǔ)旬表編程手冊(cè)_第2頁(yè)
2009西門子S7-300和S7-400語(yǔ)旬表編程手冊(cè)_第3頁(yè)
2009西門子S7-300和S7-400語(yǔ)旬表編程手冊(cè)_第4頁(yè)
2009西門子S7-300和S7-400語(yǔ)旬表編程手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩240頁(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)介

simatic前言,目錄位邏輯指令前言,目錄位邏輯指令1比較指令2轉(zhuǎn)換指令3計(jì)數(shù)器指令4數(shù)據(jù)塊指令5邏輯控制指令6整數(shù)算術(shù)運(yùn)算指令7浮點(diǎn)數(shù)運(yùn)算指令8裝載和傳送指令9程序控制指令10移位和循環(huán)移位指令11定時(shí)器指令12字邏輯指令13累加器操作指令14附錄所有語(yǔ)句表指令一覽A編程舉例B參數(shù)傳遞CS7-300S7-400語(yǔ)句表(STL)編程參考手冊(cè)iiiiiivivi前言前言前言目的本使用手冊(cè)旨在指導(dǎo)您如何用語(yǔ)句表編程語(yǔ)言(STL)編制用戶程序。本手冊(cè)中還包含對(duì)描述STL語(yǔ)言元素的語(yǔ)法和功能的參考部分。所需基本知識(shí)為了很好理解本手冊(cè),需要具有自動(dòng)化技術(shù)的一般知識(shí)。除此之外,還需要具備計(jì)算機(jī)知識(shí)以及收悉操作系統(tǒng)MSWindows2000Profes-sional、MSWindowsServer2003或XPProfessional。本手冊(cè)的應(yīng)用范圍本手冊(cè)適用于STEP7編程軟件包的5.4版。符合標(biāo)準(zhǔn)STL符合國(guó)際電工委員會(huì)標(biāo)準(zhǔn)IEC1131-3中定義的“指令表”編程語(yǔ)言,但在STEP7文件NORM_TBL.WRI中的標(biāo)準(zhǔn)列表。前言前言要求STEP7在線幫助中S7編程理STEP7本手冊(cè)是“STEP7參考資料”整套資料的一部分。下表所示為STEP7的整套資料:資料用途訂貨號(hào)STEP7基本信息STEP7V5.STEP7V5.3編程配置硬件和通訊連接,STEP7向技術(shù)人員解釋關(guān)于使用STEP7以及S7-300/400可編程控制器實(shí)現(xiàn)控制任務(wù)的方法的基本信息。V5.3S5S7轉(zhuǎn)換手冊(cè)》STEP7參考資料《S7-300/400梯形邏輯介紹一些參考信息以及編程語(yǔ)言LAD、FBDSTLSTEP7(/(/語(yǔ)基本信息的擴(kuò)展標(biāo)準(zhǔn)功能和系統(tǒng)句表(STL)使用手冊(cè)》S7-300/400標(biāo)準(zhǔn)和系統(tǒng)功能功能。手冊(cè)在線幫助用 途訂貨號(hào)STEP7幫助以在線幫助的形式提供關(guān)于使用STEP7編程和組態(tài)硬件的基本信息。STL/LAD/FBD參考幫助系統(tǒng)功能塊/系統(tǒng)功能(SFBSFC)參考幫助組織塊參考幫助上下文相關(guān)信息前言在線幫助

集成在軟件中的在線幫助是本手冊(cè)的補(bǔ)充。在線幫助的目的是為你提供詳細(xì)的軟件使用幫助。幫助系統(tǒng)通過(guò)多個(gè)界面集成在軟件中:上下文相關(guān)幫助可以提供關(guān)于當(dāng)前的文本信息,例如,一個(gè)打開的對(duì)話框或一個(gè)激活的窗口。你可以按動(dòng)F1HelpContext-SensitiveHelp,打開文本相關(guān)的幫助。HelpContents或文本相關(guān)幫助窗口中的“HelponSTEP7STEP7中的一般幫助信息。你也可以通過(guò)“Glossary(術(shù)語(yǔ))”按鈕,調(diào)用所有STEP7應(yīng)用的術(shù)語(yǔ)。本手冊(cè)是“語(yǔ)句表中的幫助信息”摘選。由于手冊(cè)和在線幫助的結(jié)構(gòu)一樣,所以能夠很容易地在手冊(cè)和在線幫助之間進(jìn)行轉(zhuǎn)換。其它支持

如果你有任何技術(shù)問題,你可以與當(dāng)?shù)氐奈鏖T子代表處或代理商聯(lián)系。\h/automation/partnerPAGE\*romanPAGE\*romanvii前言前言PAGE\*romanPAGE\*romanviA&D技術(shù)支持總部(紐倫堡)技術(shù)支持一天24小時(shí),一年365天全天候服務(wù)電話:+49(0)1805050-222傳真:+49(0)1805050-223E-Mail:\hadsupport@GMT: +1:00歐洲/非洲(紐倫堡)美國(guó)(約翰森城)亞洲/澳大利亞(北京)授權(quán)技術(shù)支持和授權(quán)技術(shù)支持和授權(quán)當(dāng)?shù)貢r(shí)間:星期一到星期五當(dāng)?shù)貢r(shí)間:星期一到星期五當(dāng)?shù)貢r(shí)間:星期一到星期五08:00:00-17:0008:00:00-17:0008:30-17:30電話:+49(0)1805050-222電話:+1(0)7707403505電話:+861064757575傳真:+49(0)1805050-223傳真:+1(0)7707403699傳真:+861064747474E-Mail:E-Mail:isd-callcenter@sea.E-Mail:\hadsupport@\hadsupport.asia@GMT: +1:00GMT: -5:00GMT: +8:00SIMATIC熱線和授權(quán)熱線的使用語(yǔ)言一般為德語(yǔ)和英語(yǔ)。網(wǎng)上服務(wù)和技術(shù)支持除了紙文件資料以外,我們?cè)诰W(wǎng)上還提供有在線資料:\h/automation/service&support(英文網(wǎng)站)\h/service(中文網(wǎng)站)在網(wǎng)上你可以找到:新聞列表可以向你提供不斷更新的最新產(chǎn)品信息。通過(guò)網(wǎng)上服務(wù)和技術(shù)支持部分的搜索功能,可以找到所需文件。在論壇部分,全世界的用戶和專家都可交流其經(jīng)驗(yàn)。處。有關(guān)現(xiàn)場(chǎng)服務(wù)、修理、備件等更多信息,可參見“服務(wù)”。目錄目錄 vii位邏輯指目錄 vii位邏輯指令 1-1位邏輯指令概述 A“與” AN“與非” O“或” ON“或非” X“異或” XN“異或非” O先“與”后“或” A(“與”運(yùn)算嵌套開始 AN(“與非”運(yùn)算嵌套開始 O(“或”運(yùn)算嵌套開始 ON(“或非”運(yùn)算嵌套開始 X(“異或”運(yùn)算嵌套開始 XN(“異或非”運(yùn)算嵌套開始 )嵌套結(jié)束 =賦值 R復(fù)位 S置位 取反 SET 置位(=1) CLR 清零(=0) 把存入BR寄存器 FN下降沿 比較指令 2-1比較指令概述 2-1比較指令 2-1比較指令概述 2-12.2 ?I整數(shù)比較位) 2-22.3 ?D雙整數(shù)比較(32位) 2-3轉(zhuǎn)換指令 3-1轉(zhuǎn)換指令概述 3-12.4 ?R轉(zhuǎn)換指令 3-1轉(zhuǎn)換指令概述 3-1BTIBCD轉(zhuǎn)成整數(shù)位) 3-2ITB整數(shù)位)轉(zhuǎn)成BCD 3-3BTD BCD轉(zhuǎn)成整數(shù)(32位) 3-4目錄目錄PAGE\*romanPAGE\*romanix目錄目錄PAGE\*romanPAGE\*romanviiiITD整數(shù)位)轉(zhuǎn)成雙整數(shù)(32位) 3-5DTB雙整數(shù)(32位)轉(zhuǎn)成BCD 3-6DTR雙整數(shù)(32位)轉(zhuǎn)成浮點(diǎn)數(shù)(32位,IEEE-FP) 3-7INVI對(duì)整數(shù)位)求反碼 3-8INVD對(duì)雙整數(shù)(32位)求反碼 3-9NEGI對(duì)整數(shù)位)求補(bǔ)碼 NEGD對(duì)雙整數(shù)(32位)求補(bǔ)碼 NEGR對(duì)浮點(diǎn)數(shù)(32位,IEEE-FP)求反 交換累加器1低字位)中的字節(jié)順序 CAD交換累加器1(32位)中的字節(jié)順序 RND取整 TRUNC截尾取整 RND+向上取整為雙整數(shù) 計(jì)數(shù)器指令 4-1計(jì)數(shù)器指令概述 4-1RND-計(jì)數(shù)器指令 4-1計(jì)數(shù)器指令概述 4-1FR使能計(jì)數(shù)器(任意) 4-2L 將當(dāng)前計(jì)數(shù)器值裝入累加器1 4-3LC將當(dāng)前計(jì)數(shù)器值以BCD碼形式裝入累加器1 4-4R計(jì)數(shù)器復(fù)位 4-5S設(shè)置計(jì)數(shù)器預(yù)設(shè)值 4-6CU加計(jì)數(shù)器 4-7數(shù)據(jù)塊指令 5-1數(shù)據(jù)塊指令概述 5-1CD數(shù)據(jù)塊指令 5-1數(shù)據(jù)塊指令概述 5-1OPN打開數(shù)據(jù)塊 5-2CDB 交換共享數(shù)據(jù)塊和背景數(shù)據(jù)塊 5-3LDBLG 將共享數(shù)據(jù)塊的長(zhǎng)度裝入累加器1中 5-3LDBNO將共享數(shù)據(jù)塊的編號(hào)裝入累加器1中 5-4LDILG將背景數(shù)據(jù)塊的長(zhǎng)度裝入累加器1中 5-4邏輯控制指令 6-1邏輯控制指令概述 6-1LDINO將背景數(shù)據(jù)塊的編號(hào)裝入累加器1邏輯控制指令 6-1邏輯控制指令概述 6-1JU無(wú)條件跳轉(zhuǎn) 6-3JL跳轉(zhuǎn)到標(biāo)號(hào) 6-4JC若=1,則跳轉(zhuǎn) 6-5JCN若=0,則跳轉(zhuǎn) 6-6JCB若=1則跳轉(zhuǎn),同時(shí)對(duì)BR置位 6-7JNB若=0則跳轉(zhuǎn),同時(shí)對(duì)BR復(fù)位 6-8JBI若BR=1,則跳轉(zhuǎn) 6-9JNBI若BR=0,則跳轉(zhuǎn) JO若=1,則跳轉(zhuǎn) JOS若OS=1,則跳轉(zhuǎn) JZ若零,則跳轉(zhuǎn) JN若非零,則跳轉(zhuǎn) JP若正,則跳轉(zhuǎn) JM若負(fù),則跳轉(zhuǎn) JPZ若大于或等于零,則跳轉(zhuǎn) JMZ 若小于或等于零,則跳轉(zhuǎn) JUO若運(yùn)算無(wú)效,則跳轉(zhuǎn) 循環(huán)控制 6-20整數(shù)算術(shù)運(yùn)算指令 7-1整數(shù)算術(shù)運(yùn)算指令概述 7.2判斷整數(shù)算術(shù)運(yùn)算指令后狀態(tài)字的位 7.3+I將累加器1和累加器2中的內(nèi)容相加位整數(shù)運(yùn)算) 7.4–I將累加器2的內(nèi)容減累加器1的內(nèi)容位整數(shù)運(yùn)算). 7.5*I將累加器1和累加器2中的內(nèi)容相乘位整數(shù)運(yùn)算) 7.6/I 將累加器2的內(nèi)容除以累加器1的內(nèi)容位整數(shù)運(yùn)算) 7.7+ 加整型常數(shù)位,32位) 7.8+D將累加器1和累加器2的內(nèi)容相加(32位雙整數(shù)運(yùn)算) 7.9–D累加器2的內(nèi)容減累加器1的內(nèi)容(32位雙整數(shù)運(yùn)算) *D將累加器1和累加器2的內(nèi)容相乘(32位雙整數(shù)運(yùn)算) /D累加器2的內(nèi)容除以累加器1的內(nèi)容(32位雙整數(shù)運(yùn)算) 浮點(diǎn)數(shù)運(yùn)算指令 8-1浮點(diǎn)數(shù)運(yùn)算指令概述 8-1浮點(diǎn)數(shù)運(yùn)算指令 8-1浮點(diǎn)數(shù)運(yùn)算指令概述 8-18.2 判斷浮點(diǎn)數(shù)運(yùn)算指令后狀態(tài)字的位 8-28.3 浮點(diǎn)數(shù)運(yùn)算指令:基本指令 8-3+R將累加器1和累加器2中的內(nèi)容相加(32位浮點(diǎn)數(shù),IEEE-FP) 8-38.3.2 –R將累加器2中的內(nèi)容減去累加器1中的內(nèi)容(32位浮點(diǎn)數(shù),IEEE-FP) 8-48.3.3 *R將累加器1和累加器2中的內(nèi)容相乘(32位浮點(diǎn)數(shù),IEEE-FP) 8-58.3.4 /R累加器2的內(nèi)容除以累加器1的內(nèi)容(32位浮點(diǎn)數(shù),IEEE-FP) 8-68.3.5 ABS取絕對(duì)值(32位浮點(diǎn)數(shù),IEEE-FP) 8-78.4 浮點(diǎn)數(shù)運(yùn)算指令:擴(kuò)展指令 8-8SQR平方運(yùn)算(32位) 8-88.4.2 SQRT開方運(yùn)算(32位) 8-98.4.3 EXP指數(shù)運(yùn)算(32位) 8.4.4 LN自然對(duì)數(shù)運(yùn)算(32位) 8.4.5 SIN正弦運(yùn)算(32位) 8.4.6 COS余弦運(yùn)算(32位) 8.4.7 正切運(yùn)算(32位) 8.4.8 ASIN反正弦運(yùn)算(32位) 8.4.9 ACOS 反余弦運(yùn)算(32位) 反正切運(yùn)算(32位) 裝載和傳送指令 9-1裝載和傳送指令概述 9-19.2 L 裝載 9-2LSTW將狀態(tài)字裝入累加器1 9-4LAR1將累加器1中的內(nèi)容裝入地址寄存器1 9-5LAR1<D>將雙整數(shù)(32位指針)裝入地址寄存器1 9-6LAR1AR2 將地址寄存器2的內(nèi)容裝入地址寄存器1. 9-7LAR2將累加器1中的內(nèi)容裝入地址寄存器2 9-7LAR2<D>將雙整數(shù)(32位指針)裝入地址寄存器2 9-89.9 T 傳送 9-9TSTW將累加器1中的內(nèi)容傳送到狀態(tài)字 CAR 交換地址寄存器1和地址寄存器2的內(nèi)容 將地址寄存器1中的內(nèi)容傳送到累加器1 <D>將地址寄存器1的內(nèi)容傳送到目的地(32位指針) AR2 將地址寄存器1的內(nèi)容傳送到地址寄存器2 將地址寄存器2中的內(nèi)容傳送到累加器1 程序控制指令 10-1程序控制指令概述 <D>將地址寄存器2程序控制指令 10-1程序控制指令概述 BE塊結(jié)束 BEC塊有條件結(jié)束 BEU塊無(wú)條件結(jié)束 CALL塊調(diào)用 調(diào)用功能塊 調(diào)用功能 調(diào)用系統(tǒng)功能塊 調(diào)用系統(tǒng)功能 調(diào)用多背景塊 從庫(kù)中調(diào)用塊 CC條件調(diào)用 UC無(wú)條件調(diào)用 使用MCR功能的重要注意事項(xiàng) 使用MCR功能的重要注意事項(xiàng) MCR(將存入MCR堆棧,開始MCR )MCR結(jié)束MCR MCRA激活MCR程序段 MCRD取消激活MCR程序段 移位和循環(huán)移位指令 移位指令 11.1.1移位指令概述 11.1.2SSI移位有符號(hào)整數(shù)位) 11.1.3SSD移位有符號(hào)雙整數(shù)(32位) 11.1.4字位)左移 11.1.5SRW字位)右移 11.1.6SLD雙字(32位)左移 11.1.7SRD雙字(32位)右移 循環(huán)移位指令 循環(huán)移位指令概述 RLD雙字(32位)循環(huán)左移 RRD雙字(32位)循環(huán)右移 通過(guò)CC1(32位)對(duì)累加器1循環(huán)左移 通過(guò)CC1(32位)對(duì)累加器1循環(huán)右移 定時(shí)器指令 12-1定時(shí)器指令概述 存儲(chǔ)器中定時(shí)器的位置和定時(shí)器的組件 FR使能定時(shí)器(任意) L將當(dāng)前定時(shí)值作為整數(shù)裝入累加器1 LC將當(dāng)前定時(shí)器值作為BCD碼裝入累加器1 R復(fù)位定時(shí)器 SP脈沖定時(shí)器 SE擴(kuò)展脈沖定時(shí)器 SD延時(shí)接通定時(shí)器 SS保持型延時(shí)接通定時(shí)器 字邏輯指令 13-1字邏輯指令概述 SF字邏輯指令 13-1字邏輯指令概述 32 W字“與(6 333 W字“或(6 334 W字“或6位) 335 AD雙字“(2位) 336 OD雙字或32位) 3累加器操作指令 14-1累加器和地址寄存器操作指令概述 37 D雙字異或(2累加器操作指令 14-1累加器和地址寄存器操作指令概述 累加器1與累加器2進(jìn)行互換 POP帶有兩個(gè)累加器的CPU POP帶有四個(gè)累加器的CPU PUSH帶有兩個(gè)累加器的CPU PUSH帶有四個(gè)累加器的CPU ENT進(jìn)入累加器堆棧 離開累加器堆棧 INC增加累加器1低字的低字節(jié)內(nèi)容 DEC減少累加器1低字的低字節(jié)內(nèi)容 +AR1將累加器1加到地址寄存器1 +AR2將累加器1加到地址寄存器2 BLD程序顯示指令(空) NOP0空操作指令 NOP1空操作指令 A 所有語(yǔ)句表指令一覽 按德文助記符分類的語(yǔ)句表指令 A-1A.2 按英文助記符分類的語(yǔ)句表指令(國(guó)際) A-6B 編程舉例 B-1編程舉例概述 B-1例如:位邏輯指令 B-2例如:定時(shí)器指令 B-5例如:計(jì)數(shù)器和比較指令 B-8例如:整數(shù)算術(shù)運(yùn)算指令 例如:字邏輯指令 C 參數(shù)傳遞 C-11-1-1-PAGE10位邏輯指令位邏輯指令位邏輯指令位邏輯指令概述說(shuō)明位邏輯指令使用兩個(gè)數(shù)字:“1”和“0”。這兩個(gè)數(shù)字構(gòu)成二進(jìn)制數(shù)字系統(tǒng)的基礎(chǔ)。“1”和“0”稱為二進(jìn)制數(shù)字或二進(jìn)制位。對(duì)觸點(diǎn)與線圈而言,“1”表示動(dòng)作或通電,“0”表示未動(dòng)作或未通電。位邏輯指令解釋信號(hào)狀態(tài)1和10,稱為“邏輯運(yùn)算結(jié)果(RLO)”。布爾位邏輯使用下列基本指令:A “與”AN “與非”O(jiān) “或”O(jiān)N “或非”X “異或”XN “異或非”O(jiān) “先與后或”可使用以下指令執(zhí)行嵌套表達(dá)式:A( “與”運(yùn)算嵌套開始AN( “與非”運(yùn)算嵌套開始O( “或”運(yùn)算嵌套開始ON( “或非”運(yùn)算嵌套開始X( “異或”運(yùn)算嵌套開始XN( “異或非”運(yùn)算嵌套開始) 嵌套結(jié)束位邏輯指令位邏輯指令位邏輯指令位邏輯指令使用以下指令,可以結(jié)束一個(gè)布爾位邏輯串: = 賦值R 復(fù)位S 置位可使用下述指令之一,更改邏輯運(yùn)算的結(jié)果(RLO):NOT RLO取反SET RLO置位(=1)CLR RLO清零(=0)SAVE RLOBR寄存器其它指令對(duì)上升沿和下降沿有反應(yīng):FN 下降沿FP 上升沿1-1-1-PAGE4A “與”格式A<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、D、T、C說(shuō)明狀態(tài)字位檢查:“與”指令也可通過(guò)使用以下地址直接檢查狀態(tài)字:==0、<>0、>0、<0、>=0、<=0、OV、OS、UO、BR。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xxx1舉例語(yǔ)句表程序語(yǔ)句表程序繼電器邏輯圖電力線A I1.0I1.0信號(hào)狀態(tài)“1”常開觸點(diǎn)A I1.1I1.1信號(hào)狀態(tài)“1”常開觸點(diǎn)= Q4.0Q4.0信號(hào)狀態(tài)“1”線圈顯示為開關(guān)閉合AN “與非”格式N<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、D、T、C說(shuō)明“與非”指令也可通過(guò)使用以下地址直接檢查狀態(tài)字:==0、<>0、>0、<0、>=0、<=0、OV、OS、UO、BR。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xxx1舉例語(yǔ)句表程序語(yǔ)句表程序電力線A I1.0I1.0信號(hào)狀態(tài)“0”常開觸點(diǎn)ANI1.1I1.1信號(hào)狀態(tài)“1”常閉觸點(diǎn)= Q4.0Q4.0信號(hào)狀態(tài)“0”線圈O “或”格式O<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、D、T、C說(shuō)明狀態(tài)字位檢查:“或”指令也可通過(guò)使用以下地址直接檢查狀態(tài)字:==0、<>0、>0、<0、>=0、<=0、OV、OS、UO、BR。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0xx1舉例語(yǔ)句表程序語(yǔ)句表程序繼電器邏輯圖電力線信號(hào)狀態(tài)“1”常開觸點(diǎn)信號(hào)狀態(tài)“0”常開觸點(diǎn)線圈顯示為開關(guān)閉合ON “或非”格式ON<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、D、T、C說(shuō)明狀態(tài)字位檢查:“或非”指令也可通過(guò)使用以下地址直接檢查狀態(tài)字:==0、<>0、>0、<0、>=0、<=0、OV、OS、UO、BR。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0xx1語(yǔ)句表程序繼電器邏輯圖語(yǔ)句表程序繼電器邏輯圖電力線O I1.0I1.00常開觸點(diǎn)ONI1.1= Q4.0I1.1信號(hào)狀態(tài)1Q4.0信號(hào)狀態(tài)“1”線圈X “異或”格式X<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、D、T、C說(shuō)明運(yùn)算的交互結(jié)果為“1”。狀態(tài)字位檢查:“異或”指令也可通過(guò)使用以下地址直接檢查狀態(tài)字:==0、<>0、>0、<0、>=0、<=0、OV、OS、UO、BR。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0xx1語(yǔ)句表程序繼電器邏輯圖語(yǔ)句表程序繼電器邏輯圖電力線觸點(diǎn)觸點(diǎn)線圈XN “異或非”格式XN<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、D、T、C說(shuō)明狀態(tài)字位檢查:“異或非”指令也可通過(guò)使用以下地址直接檢查狀態(tài)字:==0、<>0、>0、<0、>=0、<=0、OV、OS、UO、BR。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0xx1語(yǔ)句表程序繼電器邏輯圖語(yǔ)句表程序繼電器邏輯圖電力線觸點(diǎn)觸點(diǎn)線圈O 先“與”后“或”格式O說(shuō)明狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:x1-x語(yǔ)句表程序繼電器邏輯圖語(yǔ)句表程序繼電器邏輯圖電力線線圈A( “與”運(yùn)算嵌套開始格式A(說(shuō)明可以將RLO和OR位以及一個(gè)函數(shù)代碼保存到嵌套7個(gè)嵌套堆棧輸入項(xiàng)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:01-0語(yǔ)句表程序繼電器邏輯圖語(yǔ)句表程序繼電器邏輯圖電力線線圈AN( “與非”運(yùn)算嵌套開始格式AN(說(shuō)明AN((“與非”運(yùn)算嵌套開始)可以將RLO和OR位以及一個(gè)函數(shù)代碼保存到嵌套堆棧中。最多可有7個(gè)嵌套堆棧輸入項(xiàng)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:01-0O( “或”運(yùn)算嵌套開始格式O(說(shuō)明可以將RLO和OR位以及一個(gè)函數(shù)代碼保存到嵌套7個(gè)嵌套堆棧輸入項(xiàng)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:01-0ON( “或非”運(yùn)算嵌套開始格式ON(說(shuō)明ON((RLOOR位以及一個(gè)函數(shù)代碼保存到7個(gè)嵌套堆棧輸入項(xiàng)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:01-0X( “異或”運(yùn)算嵌套開始格式X(說(shuō)明可以將RLO和OR位以及一個(gè)函數(shù)代碼保存到嵌7個(gè)嵌套堆棧輸入項(xiàng)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:01-0XN( “異或非”運(yùn)算嵌套開始格式XN(說(shuō)明XN((“異或非”運(yùn)算嵌套開始)可以將RLO和OR位以及一個(gè)函數(shù)代碼保存到嵌套堆棧中。最多可有7個(gè)嵌套堆棧輸入項(xiàng)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:01-0) 嵌套結(jié)束格式)說(shuō)明使用)(嵌套結(jié)束ORRLO與當(dāng)前RLORLO如果函數(shù)代碼為“AND(與)”或“ANDNOT(與非)”,則也包括OR位。打開括號(hào)組的語(yǔ)句::A( “與”運(yùn)算嵌套開始AN( “與非”運(yùn)算嵌套開始O( “或”運(yùn)算嵌套開始ON( “或非”運(yùn)算嵌套開始X( “異或”運(yùn)算嵌套開始XN( “異或非”運(yùn)算嵌套開始狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:x1x1語(yǔ)句表程序繼電器邏輯圖語(yǔ)句表程序繼電器邏輯圖電力線線圈1.16 = 賦值格式<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、D說(shuō)明如果MCR=1,使用賦值指令(=<位>),可以將RLO寫入尋址位,以接通主控繼電器。如果MCR=0,則將數(shù)值“0”而不是RLO寫入尋址位。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0x-0舉例信號(hào)狀態(tài)圖信號(hào)狀態(tài)圖繼電器邏輯圖電力線信號(hào)狀態(tài)圖線圈R 復(fù)位格式R<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、D說(shuō)明RLOMCR可以將尋址位復(fù)位為“0MCR0,則尋址位不變。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0x-0語(yǔ)句表程序繼電器邏輯圖語(yǔ)句表程序繼電器邏輯圖電力線常開觸點(diǎn)信號(hào)狀態(tài)圖常閉觸點(diǎn)線圈S 置位格式指令說(shuō)明

S<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)<位>BOOLI、Q、M、L、DRLOMCR可以將尋址位置位為“1MCR0,則尋址位不變。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0x-0語(yǔ)句表程序繼電器邏輯圖語(yǔ)句表程序繼電器邏輯圖電力線常開觸點(diǎn)信號(hào)狀態(tài)圖常閉觸點(diǎn)線圈線圈取反格式NOT說(shuō)明使用取反(NOT)指令,可以對(duì)RLO取反。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:1x-SET 置位(=1)格式SET說(shuō)明使用RLO置位(SET)指令,可以將RLO的信號(hào)狀態(tài)置為“1”。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0110語(yǔ)句表程序信號(hào)狀態(tài)語(yǔ)句表程序信號(hào)狀態(tài)邏輯運(yùn)算結(jié)果(RLO)CLR 清零(=0)格式CLR說(shuō)明使用RLO清零(CLR)指令,可以將RLO的信號(hào)狀態(tài)置為“0”。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0000舉例語(yǔ)句表程序語(yǔ)句表程序信號(hào)狀態(tài)邏輯運(yùn)算結(jié)果(RLO)BR寄存器格式SAVE指令說(shuō)明

使用SAVERLO存入BR/FCBR位的狀態(tài)包括在下一程序段的“與”(AND)邏輯運(yùn)算中。建議不要在同一個(gè)塊或二級(jí)塊中對(duì)BR位使用SAVEBR位可SAVE指令的意義在于,此操作將ENO輸出(=BR位)設(shè)置為RLO位的值,從而可以將該塊的出錯(cuò)處理添加至此。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xFN 下降沿格式FN<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<位>BOOLI、Q、M、L、D沿標(biāo)志,存儲(chǔ)RLO的上一信號(hào)狀態(tài)。說(shuō)明使用RLO下降沿檢測(cè)指令(FN<位>)可以在RLO從“1”變?yōu)椤?”時(shí)檢測(cè)到下降沿,并以RLO=1顯示。在每一個(gè)程序掃描周期內(nèi),RLO位的信號(hào)狀態(tài)將與上一個(gè)周期中獲得的RLO位信號(hào)狀態(tài)進(jìn)行比較,看是否有變化。上一個(gè)周期的RLO信號(hào)狀態(tài)必須保存在沿標(biāo)志位地址(<位>)中,以便進(jìn)行比較。如果在當(dāng)前和先前的RLO“1”狀態(tài)之間發(fā)生變化(檢測(cè)到下降沿),則在該指令執(zhí)行后,RLO位將為“1”。注意由于一個(gè)塊的本地?cái)?shù)據(jù)只在塊運(yùn)行期間有效,如果想要監(jiān)視的位在過(guò)程映像中,則該指令就不起作用。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0xx1定義脈沖上升沿脈沖上升沿脈沖下降沿RLO10時(shí)間舉例如果可編程控制器在觸點(diǎn)I1.0檢測(cè)到一個(gè)下降沿,則它會(huì)在一個(gè)OB1掃描周期內(nèi)使Q4.0線圈得電。語(yǔ)句表語(yǔ)句表信號(hào)狀態(tài)圖OB1掃描周期編號(hào):FP 上升沿格式FP<位>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<位>BOOLI、Q、M、L、D沿標(biāo)志,存儲(chǔ)RLO的上一信號(hào)狀態(tài)。說(shuō)明使用RLO上升沿檢測(cè)指令(FP<位>)可以在RLO從“0”變?yōu)椤?”時(shí)檢測(cè)到一個(gè)上升沿,并以RLO=1顯示。在每一個(gè)程序掃描周期內(nèi),RLO位的信號(hào)狀態(tài)將與上一個(gè)周期中獲得的RLO位信號(hào)狀態(tài)進(jìn)行比較,看是否有變化。上一個(gè)周期的RLO信號(hào)狀態(tài)必須保存在沿標(biāo)志位地址(<位>)中,以便進(jìn)行比較。如果在當(dāng)前和先前的RLO“0”狀態(tài)之間發(fā)生變化(檢測(cè)到上升沿),則在該指令執(zhí)行后,RLO位將為“1”。注意由于一個(gè)塊的本地?cái)?shù)據(jù)只在塊運(yùn)行期間有效,如果想要監(jiān)視的位在過(guò)程映像中,則該指令就不起作用。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0xx1脈沖上升沿脈沖下降沿脈沖上升沿脈沖下降沿RLO10時(shí)間舉例如果可編程控制器在觸點(diǎn)I1.0檢測(cè)到一個(gè)下降沿,則它會(huì)在一個(gè)OB1掃描周期內(nèi)使Q4.0線圈得電。語(yǔ)句表語(yǔ)句表信號(hào)狀態(tài)圖OB1掃描周期編號(hào):2-2-PAGE1PAGE2比較指令比較指令比較指令比較指令概述說(shuō)明1(ACCU1)2(ACCU2)進(jìn)行比較:== 12<> 12> 12< 12>= 12<= 12RLOCC1和CC0可執(zhí)行下列比較指令:I 整數(shù)比較(16位)?D (32位)?R (32位)比較指令比較指令?I 整數(shù)比較(16位)格式==I,<>I,>I,<I,>=I,<=I指令說(shuō)明

使用整數(shù)(16位)比較指令,可以將累加器2中低字的內(nèi)容與累加器1中低字的內(nèi)容進(jìn)行比較。累加器2和累加器1低字的內(nèi)容都作為16位整數(shù)。比較的結(jié)果以RLO以及相關(guān)狀態(tài)字位的設(shè)置來(lái)表示。RLO=1表示比較的結(jié)果為“真”;RLO=0表示比較的結(jié)果為“假”。狀態(tài)字位CC1和CC0表示“小于”、“等于”或“大于”關(guān)系。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:-xx0-0xx1RLO值執(zhí)行的比較指令A(yù)CCU2>ACCU1時(shí)的RLO結(jié)果ACCU2=ACCU1時(shí)的RLO結(jié)果ACCU2<ACCU1時(shí)的RLO結(jié)果==I010<>I101>I100<I001>=I110<=I011舉例STL解釋LMW10//裝載MW10的內(nèi)容(16位整數(shù))。L>I=IW24M2.0//裝載IW24的內(nèi)容(16位整數(shù))。//2(MW1(。//如果MW10>IW24,則RLO=1。比較指令?D 雙整數(shù)比較(32位)格式==D,<>D,>D,<D,>=D,<=D指令說(shuō)明

使用雙整數(shù)(32位)比較指令,可以將累加器2中的內(nèi)容與累加器1中的內(nèi)容進(jìn)行比較。累加器2和累加器1的內(nèi)容都作為32位整數(shù)。比較的結(jié)果以RLORLO=10CC1CC0狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:-xx0-0xx1RLO值執(zhí)行的比較指令A(yù)CCU2>ACCU1時(shí)的RLO結(jié)果ACCU2=ACCU1時(shí)的RLO結(jié)果ACCU2<ACCU1時(shí)的RLO結(jié)果==D010<>D101>D100<D001>=D110<=D011舉例STL解釋LMD10//裝載MD10的內(nèi)容(32位雙整數(shù))。L>D=ID24M2.0//裝載ID24的內(nèi)容(32位雙整數(shù))。//比較累加器2中的內(nèi)容(MD10)是否大于累加器1中的內(nèi)容(ID24)。//如果MD10>ID24,則RLO=1。3-3-PAGE1比較指令比較指令2-2-PAGE4?R 浮點(diǎn)數(shù)比較(32位)格式==R,<>R,>R,<R,>=R,<=R指令說(shuō)明

(322中的內(nèi)容與累加器1中的內(nèi)容進(jìn)行比較。累加器1和累加器2的內(nèi)容都作為32位浮點(diǎn)數(shù)RLORLO1表0CC1和CC0表示“小于”、“等于”或“大于”關(guān)系。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:-xxxx0xx1RLO值執(zhí)行的比較指令A(yù)CCU2>ACCU1時(shí)的RLO結(jié)果ACCU2=ACCU1時(shí)的RLO結(jié)果ACCU2<ACCU1時(shí)的RLO結(jié)果==R010<>R101>R100<R001>=R110<=R011STL解釋LMD10//裝載MD10的內(nèi)容(浮點(diǎn)數(shù))。L>R=1.359E+02M2.0//裝載常數(shù)1.359E+02。//21。//如果MD10>1.359E+02,則RLO=1。轉(zhuǎn)換指令轉(zhuǎn)換指令轉(zhuǎn)換指令轉(zhuǎn)換指令概述說(shuō)明你可以使用以下指令將二進(jìn)制編碼的十進(jìn)制數(shù)(BCD)和整數(shù)轉(zhuǎn)換為其它類型的數(shù)字:BTI BCD轉(zhuǎn)成整數(shù)(16位)ITB 整數(shù)(16位)BCDBTD BCD轉(zhuǎn)成雙整數(shù)(32位)ITD 整數(shù)(16位)轉(zhuǎn)成雙整數(shù)(32位)DTB 雙整數(shù)(32位)BCDDTR 雙整數(shù)(32位)轉(zhuǎn)成浮點(diǎn)數(shù)(32位,IEEE-FP)你可以使用下述指令之一,求一個(gè)整數(shù)的補(bǔ)碼,或改變一個(gè)浮點(diǎn)數(shù)的符號(hào):INVI 對(duì)整數(shù)求反碼(16位)INVD 對(duì)雙整數(shù)求反碼(32位)NEGI 對(duì)整數(shù)求補(bǔ)碼(16位)NEGD 對(duì)雙整數(shù)求補(bǔ)碼(32位)NEGR 對(duì)浮點(diǎn)數(shù)求反(32位,IEEE-FP)你可以使用以下“改變累加器1中的位順序”指令,交換累加器1低字中或整個(gè)累加器中的字節(jié)順序:CAW 1低字中的字節(jié)順序(16位)CAD 1中的字節(jié)順序(32位)你可以使用以下任一指令,將累加器1中的32位IEEE浮點(diǎn)數(shù)轉(zhuǎn)換成32位整數(shù)(雙整數(shù))。各條指令的取整方法略有不同:RND 取整TRUNC 截尾取整RND+ 向上取整為雙整數(shù)RND- 向下取整為雙整數(shù)轉(zhuǎn)換指令轉(zhuǎn)換指令3-3-PAGE11轉(zhuǎn)換指令轉(zhuǎn)換指令3-3-PAGE10BTI BCD轉(zhuǎn)成整數(shù)(16位)格式BTI說(shuō)明BTI(3BCD–二進(jìn)制轉(zhuǎn)換1低字中的內(nèi)容解釋為一個(gè)3并將其轉(zhuǎn)換為一個(gè)16位整數(shù)。轉(zhuǎn)換結(jié)果保存在累加器1的低字中。累加器1的高字和累加器2的內(nèi)容保持不變。累加器1低字中的BCD數(shù)的允許范圍為-999至+9990到位11為BCD15為BCD(0負(fù)數(shù)。位12到位14在轉(zhuǎn)換時(shí)不使用。如果是轉(zhuǎn)換一個(gè)4位BCD數(shù),并占用了無(wú)效的位10至位,則轉(zhuǎn)換時(shí)會(huì)出現(xiàn)BCDFSTOP(停機(jī))”狀態(tài)。但是,可以通過(guò)編寫OB121出錯(cuò)響應(yīng)程序,來(lái)處理該同步編程錯(cuò)誤。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STLSTLLBTITMW10MW20解釋//將BCD數(shù)裝入累加器1低字中。//BCD1低字中。//將結(jié)果(整數(shù))傳送到MW20。"+915"BCD"+915"BCDBCD碼轉(zhuǎn)換為整數(shù)"+915"整數(shù)ITB 整數(shù)(16位)BCD格式ITB說(shuō)明ITB指令(16十進(jìn)制轉(zhuǎn)換),1低字中163位二進(jìn)制編碼的十進(jìn)制數(shù)1011BCD數(shù)的數(shù)值部1215BCD(0000=正數(shù),1111=負(fù)數(shù)2的內(nèi)容保持不變。BCD數(shù)的范圍在–999和+999之間。如果超出允許范圍,則狀態(tài)位OV(溢出位)和OS(存儲(chǔ)溢出位)被置位為“1”。指令的執(zhí)行與RLO無(wú)關(guān),也不會(huì)影響RLO。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xxSTL解釋LMW10//將整數(shù)裝入累加器1低字中。ITB//將整數(shù)轉(zhuǎn)換為BCD數(shù)(16位);結(jié)果保存到累加器1低字中。TMW20//將結(jié)果(BCD數(shù))傳送到MW20。"-413""-413"整數(shù)整數(shù)轉(zhuǎn)換為BCD碼"-413"BCDBTD BCD轉(zhuǎn)成整數(shù)(32位)格式BTD說(shuō)明BTD指令(7BCD–二進(jìn)制轉(zhuǎn)換),1中的732位雙整數(shù)。轉(zhuǎn)換結(jié)果保存在累加器1中。累加器2保持不變。1BCD-9,999,999+9,999,999027BCD31BCD(0=負(fù)數(shù))2830在轉(zhuǎn)換時(shí)不使用。如果需轉(zhuǎn)換的BCD數(shù)的任何一位十進(jìn)制數(shù)(BCD編碼,4位一組)在無(wú)效的1015BCDF錯(cuò)誤。通常,CPU會(huì)進(jìn)入“STOP(停機(jī))”狀態(tài)。但是,可以通過(guò)編寫OB121出錯(cuò)響應(yīng)程序,來(lái)處理該同步編程錯(cuò)誤。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋LMD10//將BCD數(shù)裝入累加器1。BTD//將BCD數(shù)轉(zhuǎn)換為雙整數(shù);結(jié)果保存到累加器1中。TMD20//將結(jié)果(雙整數(shù))傳送到MD20。BCDBCD碼轉(zhuǎn)換為雙整數(shù)"+157821""+157821"ITD 整數(shù)(16位)轉(zhuǎn)成雙整數(shù)(32位)格式ITD說(shuō)明使用ITD指令(16位整數(shù)轉(zhuǎn)換成為32位整數(shù)),可以將累加器1低字中的內(nèi)容解釋為一個(gè)1632累加器1中。累加器2保持不變。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋LMW12//將整數(shù)裝入累加器1。ITD//將整數(shù)(16位)轉(zhuǎn)換為雙整數(shù)(32位);結(jié)果保存到累加器1中。TMD20//將結(jié)果(雙整數(shù))傳送到MD20。例如:MW12=“-10”(整數(shù),16位)內(nèi)容累加器1高字累加器1低字位3116150ITD執(zhí)行前XXXXXXXXXXXXXXXX1111111111110110ITD執(zhí)行后11111111111111111111111111110110(X=0或1,這些位不用于轉(zhuǎn)換)DTB 雙整數(shù)(32位)BCD格式DTB說(shuō)明DTB(32–十進(jìn)制轉(zhuǎn)換1中的內(nèi)32位雙整數(shù),并將其轉(zhuǎn)換為一個(gè)7位二進(jìn)制編碼的十進(jìn)制數(shù)1027BCD31BCD(0000==負(fù)數(shù)2保持不變。BCD-9,999,999+9,999,999OV(溢出位)OS(存儲(chǔ)溢出位)被置位為“1”。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xx舉例STLLDTBSTLLDTBTMD10MD20解釋//將32位整數(shù)裝入累加器1。//將整數(shù)(32位)BCD1中。//將結(jié)果(BCD數(shù))傳送到MD20。整數(shù)轉(zhuǎn)換為整數(shù)轉(zhuǎn)換為BCD碼"-701"整數(shù)"-701"BCDDTR 雙整數(shù)(32位)轉(zhuǎn)成浮點(diǎn)數(shù)(32位,IEEE-FP)格式DTR說(shuō)明使用DTR(32位整數(shù)轉(zhuǎn)換成為32位IEEE浮點(diǎn)數(shù)1中的內(nèi)容解釋為一個(gè)3232位IEEE(一個(gè)32位整數(shù)要比一個(gè)32位浮點(diǎn)數(shù)精度高)。結(jié)果保存在累加器1中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋LMD10//將32位整數(shù)裝入累加器1。DTR//將雙整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)(32位,IEEEFP);結(jié)果保存到累加器1中。TMD20//將結(jié)果(BCD數(shù))傳送到MD20。整數(shù)(整數(shù)(32位)轉(zhuǎn)換成IEEE浮點(diǎn)數(shù)(32位)"+500"整數(shù)1位尾數(shù)符號(hào)位8位指數(shù)23位尾數(shù)"+500"IEE-FPINVI 對(duì)整數(shù)(16位)求反碼格式INVI說(shuō)明使用對(duì)整數(shù)求反碼指令(INVI),可以對(duì)累加器1低字中的16位數(shù)值求反碼。求反碼指令為逐位轉(zhuǎn)換,即“0”變?yōu)椤?”,“1”變?yōu)椤?”。其結(jié)果保存在累加器1的低字中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋LIW8//將數(shù)值裝入累加器1低字中。INVI//對(duì)16位數(shù)求反碼。TMW10//將結(jié)果傳送到MW10。內(nèi)容累加器1低字位150INVI執(zhí)行前0110001110101110INVI執(zhí)行后1001110001010001INVD 對(duì)雙整數(shù)(32位)求反碼格式INVD說(shuō)明使用對(duì)雙整數(shù)求反碼指令(INVD),可以對(duì)累加器1中的32位數(shù)值求反碼。1中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋LID8//將數(shù)值裝入累加器1中。INVD//對(duì)32位數(shù)求反碼。TMD10//將結(jié)果傳送到MD10。內(nèi)容累加器1高字累加器1低字位3116150INVD執(zhí)行前01101111100011000110001110101110INVD執(zhí)行后10010000011100111001110001010001對(duì)整數(shù)(16位)求補(bǔ)碼格式NEGI說(shuō)明1低字中的16位數(shù)值求補(bǔ)碼。0”變?yōu)椤?”,“1”變?yōu)椤?”;然后對(duì)累加器中的內(nèi)容加“1”。轉(zhuǎn)換結(jié)果保存在累加器1的低字中。求補(bǔ)碼指令相當(dāng)于該數(shù)乘以“-1”。狀態(tài)位CC1、CC0、OS和OV將根據(jù)運(yùn)算的結(jié)果進(jìn)行設(shè)置。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:-xxxx狀態(tài)字生成CC1CC0OVOS結(jié)果=0000--32768≤結(jié)果≤-1010-32767≥結(jié)果≥1100-結(jié)果=27680111舉例STL解釋LIW8//將數(shù)值裝入累加器1低字中。NEGI//對(duì)16位數(shù)求補(bǔ)碼。TMW10//將結(jié)果傳送到MW10。內(nèi)容累加器1低字位150NEGI執(zhí)行前0101110100111000NEGI執(zhí)行后1010001011001000對(duì)雙整數(shù)(32位)求補(bǔ)碼格式NEGD說(shuō)明使用對(duì)雙整數(shù)(NEGD)求補(bǔ)碼指令,可以對(duì)累加器1中的32位數(shù)值求補(bǔ)碼。0”變?yōu)椤?”,“1”變?yōu)椤?”;然后對(duì)累加器中1指令的執(zhí)行與RLORLO。狀態(tài)位CC1CC0OS和OV將根據(jù)運(yùn)算的結(jié)果進(jìn)行設(shè)置。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:-xxxx狀態(tài)字生成CC1CC0OVOS結(jié)果=0000--2,147,483,648≤結(jié)果≤-1010-2,147,483,647≥結(jié)果≥1100-結(jié)果=2,147,483,6480111舉例STLSTLL NEGDT MD10解釋//將數(shù)值裝入累加器1中。//對(duì)32位數(shù)求補(bǔ)碼。//將結(jié)果傳送到MD10。內(nèi)容累加器1高字累加器1低字位3116150NEGD執(zhí)行前01011111011001000101110100111000NEGD執(zhí)行后10100000100110111010001011001000對(duì)浮點(diǎn)數(shù)(32位,IEEE-FP)求反格式NEGR指令說(shuō)明

使用NEGR(對(duì)32位IEEE浮點(diǎn)數(shù)求反)指令,可以對(duì)累加器1中的浮點(diǎn)數(shù)(32位,IEEE-FP)求反。該指令將對(duì)累加器1中位31(尾數(shù)的符號(hào)位)取反。結(jié)果保存在累加器1中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STLSTLL NEGRT MD10解釋//將數(shù)值裝入累加器1中(例如:ID8=1.5E+02)。//將浮點(diǎn)數(shù)(32位,IEEEFP)取反;結(jié)果保存到累加器1中。//將結(jié)果傳送到MD10(例如:結(jié)果=-1.5E+02)。1低字(16位)中的字節(jié)順序格式CAW說(shuō)明使用CAW指令,可以反轉(zhuǎn)累加器1低字中的字節(jié)順序。結(jié)果保存在累加器1的低字中。累加器1的高字和累加器2保持不變。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋LMW10//將MW10的數(shù)值裝入累加器1。CAW//反轉(zhuǎn)累加器1低字中的字節(jié)順序。TMW20//將結(jié)果傳送到MW20。內(nèi)容累加器1高字中的高字節(jié)累加器1高字中的低字節(jié)累加器1低字中的高字節(jié)累加器1低字中的低字節(jié)CAW執(zhí)行前數(shù)值A(chǔ)數(shù)值B數(shù)值C數(shù)值DCAW執(zhí)行后數(shù)值A(chǔ)數(shù)值B數(shù)值D數(shù)值CCAD 1(32位)中的字節(jié)順序格式CAD說(shuō)明使用CAD指令,可以反轉(zhuǎn)累加器1中的字節(jié)順序。結(jié)果保存在累加器1中。累加器2保持不變。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋LMD10//將MD10的數(shù)值裝入累加器1。CAD//反轉(zhuǎn)累加器1中的字節(jié)順序。TMD20//將結(jié)果傳送到MD20。內(nèi)容累加器1高字中的高字節(jié)累加器1高字中的低字節(jié)累加器1低字中的高字節(jié)累加器1低字中的低字節(jié)CAD執(zhí)行前數(shù)值A(chǔ)數(shù)值B數(shù)值C數(shù)值DCAD執(zhí)行后數(shù)值D數(shù)值C數(shù)值B數(shù)值A(chǔ)RND 取整格式RND說(shuō)明RND指令(32IEEE32位整數(shù))1中的內(nèi)容解32IEEE(3232IEEE浮點(diǎn)數(shù)轉(zhuǎn)換成為一個(gè)32位整數(shù)(雙整數(shù))允許范圍,則狀態(tài)位溢出位和OS(存儲(chǔ)溢出位11中。出現(xiàn)錯(cuò)誤(使用了不能表示為32位整數(shù)的NaN或浮點(diǎn)數(shù))時(shí)不執(zhí)行轉(zhuǎn)換并顯示溢出。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xx舉例STL解釋LMD10//將浮點(diǎn)數(shù)裝入累加器1中。RND//將浮點(diǎn)數(shù)(32位,IEEEFP)轉(zhuǎn)換為整數(shù),并將結(jié)果取整。TMD20//將結(jié)果(雙整數(shù))傳送到MD20。轉(zhuǎn)換前的數(shù)值轉(zhuǎn)換后的數(shù)值MD10="100.5"=>RND=>MD20="+100"MD10="-100.5"=>RND=>MD20="-100"TRUNC 截尾取整格式TRUNC說(shuō)明TRUNC(32位IEEE浮點(diǎn)數(shù)轉(zhuǎn)換成為32位整數(shù)將累加器1中的內(nèi)容解釋為一個(gè)32位IEEE浮點(diǎn)數(shù)。該指令將32位IEEE浮點(diǎn)數(shù)轉(zhuǎn)換成為一個(gè)32(雙整數(shù)(IEEE。如果數(shù)值超出允許范圍,則狀態(tài)位OV(溢出位)和OS(存儲(chǔ)溢出位)被置位為“11中。出現(xiàn)錯(cuò)誤(使用了不能表示為32位整數(shù)的NaN或浮點(diǎn)數(shù))時(shí)不執(zhí)行轉(zhuǎn)換并顯示溢出。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xx舉例STLSTLL TRUNCT MD20解釋//將浮點(diǎn)數(shù)裝入累加器1中。//將浮點(diǎn)數(shù)(32位,IEEE-FP)轉(zhuǎn)換為整數(shù)(32位)并對(duì)結(jié)果取整。結(jié)果保存在累加器1中。//將結(jié)果(雙整數(shù))傳送到MD20。轉(zhuǎn)換之前的數(shù)值轉(zhuǎn)換之后的數(shù)值MD10="100.5"=>TRUNC=>MD20="+100"MD10="-100.5"=>TRUNC=>MD20="-100"RND+ 向上取整為雙整數(shù)格式RND+說(shuō)明RND+(32位IEEE浮點(diǎn)數(shù)轉(zhuǎn)換成為32位整數(shù)將累加器1中的內(nèi)容解釋為一個(gè)32位IEEE浮點(diǎn)數(shù)。該指令將32位IEEE浮點(diǎn)數(shù)轉(zhuǎn)換成為一個(gè)32(雙整數(shù)(IEEE取整方式“向上取整”)。如果數(shù)值超出允許范圍,則狀態(tài)位OV(溢出位)和OS(存儲(chǔ)溢出位)被置位為“1”。結(jié)果保存在累加器1中。出現(xiàn)錯(cuò)誤(使用了不能表示為32位整數(shù)的NaN或浮點(diǎn)數(shù))時(shí)不執(zhí)行轉(zhuǎn)換并顯示溢出。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xx舉例STLSTLL RND+T MD20解釋//將浮點(diǎn)數(shù)(32位,IEEE-FP)裝入累加器1中。//將浮點(diǎn)數(shù)(32位,IEEEFP)轉(zhuǎn)換為整數(shù)(32位),并將結(jié)果取整。結(jié)果保存在累加器1中。//將結(jié)果(雙整數(shù))傳送到MD20。轉(zhuǎn)換前的數(shù)值轉(zhuǎn)換后的數(shù)值MD10="100.5"=>RND+=>MD20="+101"MD10="-100.5"=>RND+=>MD20="-100"RND- 向下取整為雙整數(shù)格式RND-說(shuō)明RND-指令(32位IEEE浮點(diǎn)數(shù)轉(zhuǎn)換成為32位整數(shù))將累加器1中的內(nèi)容解釋為一個(gè)32位IEEE浮點(diǎn)數(shù)。該指令將32位IEEE浮點(diǎn)數(shù)轉(zhuǎn)換成為一個(gè)32(雙整數(shù)(IEEE取溢出位和OS(存儲(chǔ)溢出位)被置位為“1”。結(jié)果保存在累加器1中。出現(xiàn)錯(cuò)誤(使用了不能表示為32位整數(shù)的NaN或浮點(diǎn)數(shù))時(shí)不執(zhí)行轉(zhuǎn)換并顯示溢出。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:xx舉例STL解釋LRND-TMD10MD20//將浮點(diǎn)數(shù)裝入累加器1中。//將浮點(diǎn)數(shù)(32位,IEEEFP)轉(zhuǎn)換為整數(shù)(32位),并將結(jié)果取整。結(jié)果保存在累加器1中。//將結(jié)果(雙整數(shù))傳送到MD20。轉(zhuǎn)換前的數(shù)值轉(zhuǎn)換后的數(shù)值MD10="100.5"=>RND-=>MD20="+100"MD10="-100.5"=>RND-=>MD20="-101"4-14-14-24-2計(jì)數(shù)器指令計(jì)數(shù)器指令概述說(shuō)明計(jì)數(shù)器是STEP7CPU存儲(chǔ)區(qū)中留有一塊計(jì)數(shù)器區(qū)域。該存儲(chǔ)區(qū)為每一計(jì)數(shù)器保留一個(gè)16供了256個(gè)計(jì)數(shù)器。你所使用的CPU能提供多少個(gè)計(jì)數(shù)器,請(qǐng)參見相應(yīng)CPU的技術(shù)數(shù)據(jù)。計(jì)數(shù)器指令是訪問計(jì)數(shù)器存儲(chǔ)區(qū)的唯一功能。通過(guò)以下計(jì)數(shù)器指令,可以在此范圍內(nèi)改變計(jì)數(shù)值:FR 使能計(jì)數(shù)器(任意)L 1LC 將當(dāng)前計(jì)數(shù)器值作為BCD碼裝入累加器1R 計(jì)數(shù)器復(fù)位S 設(shè)置計(jì)數(shù)器預(yù)設(shè)值CU 加計(jì)數(shù)器CD 減計(jì)數(shù)器計(jì)數(shù)器指令計(jì)數(shù)器指令計(jì)數(shù)器指令計(jì)數(shù)器指令FR 使能計(jì)數(shù)器(任意)格式FR<計(jì)數(shù)器>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<計(jì)數(shù)器>COUNTERC計(jì)數(shù)器、計(jì)數(shù)范圍取決于CPU說(shuō)明當(dāng)RLO從“0”變?yōu)椤?”時(shí),該指令將清出沿檢測(cè)標(biāo)志,該標(biāo)志用于設(shè)置和選RLO是否為“1”,在使能計(jì)數(shù)器后將不能再執(zhí)行這些指令。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0--0舉例STL解釋AI2.0//檢查輸入I2.0的信號(hào)狀態(tài)。FRC3//當(dāng)RLO從“0”變?yōu)椤?”時(shí),使能計(jì)數(shù)器C3。4-4-4-PAGE4L 將當(dāng)前計(jì)數(shù)器值裝入累加器1格式L<計(jì)數(shù)器>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<計(jì)數(shù)器>COUNTERC計(jì)數(shù)器、計(jì)數(shù)范圍取決于CPU說(shuō)明使用該指令,可以在累加器1的內(nèi)容保存到累加器2中之后,將所尋址計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值以整數(shù)形式裝入累加器1的低字中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STLSTLL C3解釋//將計(jì)數(shù)器C3的計(jì)數(shù)值以二進(jìn)制格式裝入累加器1低字。存儲(chǔ)器中計(jì)數(shù)存儲(chǔ)器中計(jì)數(shù)器C3的計(jì)數(shù)器字二進(jìn)制編碼計(jì)數(shù)數(shù)值(0L C3裝載指令LC3執(zhí)行后累加器1低字中的內(nèi)容全為“0”二進(jìn)制編碼計(jì)數(shù)數(shù)值(0-999)LC 將當(dāng)前計(jì)數(shù)器值以BCD碼形式裝入累加器1格式LC<計(jì)數(shù)器>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<計(jì)數(shù)器>COUNTERC計(jì)數(shù)器,計(jì)數(shù)范圍取決于CPU說(shuō)明使用該指令,可以在累加器1的內(nèi)容保存到累加器2中之后,將所尋址計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值以BCD形式裝入累加器1中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STLSTLLCC3解釋//C3的計(jì)數(shù)值以二進(jìn)制編碼的十進(jìn)制格式(BCD)1低字。存儲(chǔ)器中計(jì)數(shù)存儲(chǔ)器中計(jì)數(shù)器C3的計(jì)數(shù)器字二進(jìn)制編碼計(jì)數(shù)數(shù)值(0-999)LCZ3裝載指令LCC3執(zhí)行后累加器1低字中的內(nèi)容102百101十100個(gè)BCD碼計(jì)數(shù)值R 計(jì)數(shù)器復(fù)位格式R<計(jì)數(shù)器>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<計(jì)數(shù)器>COUNTERC計(jì)數(shù)器、計(jì)數(shù)范圍取決于CPU說(shuō)明如果RLO=1,該指令將對(duì)所尋址的計(jì)數(shù)器進(jìn)行復(fù)位。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0--0舉例STL解釋AI2.3//檢查輸入I2.3的信號(hào)狀態(tài)。RC3//當(dāng)RLO從“0”變?yōu)椤?”時(shí),對(duì)計(jì)數(shù)器C3復(fù)位為“0”。S 設(shè)置計(jì)數(shù)器預(yù)設(shè)值格式S<計(jì)數(shù)器>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<計(jì)數(shù)器>COUNTERC計(jì)數(shù)器、計(jì)數(shù)范圍取決于CPU說(shuō)明當(dāng)RLO從“0”變?yōu)椤?”時(shí),該指令將計(jì)數(shù)值從累加器1低字中裝入計(jì)數(shù)器。10999BCD數(shù)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0--0舉例STL解釋AI2.3//檢查輸入I2.3的信號(hào)狀態(tài)。LC#3//將計(jì)數(shù)數(shù)值“3”裝入累加器1低字中。SC1//當(dāng)RLO從“0”變?yōu)椤?”時(shí),設(shè)置計(jì)數(shù)器C1的計(jì)數(shù)數(shù)值。CU 加計(jì)數(shù)器格式CU<計(jì)數(shù)器>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<計(jì)數(shù)器>COUNTERC計(jì)數(shù)器、計(jì)數(shù)范圍取決于CPU說(shuō)明當(dāng)RLO從“0”變?yōu)椤?”時(shí),該指令將使所尋址計(jì)數(shù)器的計(jì)數(shù)值加“1”,并且計(jì)數(shù)小于“999”。當(dāng)計(jì)數(shù)到達(dá)其上限“999”時(shí),停止加計(jì)數(shù)。其它RLO狀態(tài)跳變對(duì)該指令無(wú)影響;不會(huì)對(duì)溢出標(biāo)志(OV)置位。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0--0舉例STLSTLA I2.1CUC3解釋//如果在輸入I2.1有上升沿變化。//當(dāng)RLO從“0”變?yōu)椤?”時(shí),計(jì)數(shù)器C3加“1”。CD 減計(jì)數(shù)器格式CD<計(jì)數(shù)器>地址數(shù)據(jù)類型存儲(chǔ)區(qū)說(shuō)明<計(jì)數(shù)器>COUNTERC計(jì)數(shù)器、計(jì)數(shù)范圍取決于CPU說(shuō)明當(dāng)RLO從“0”變?yōu)椤?”時(shí),該指令將使所尋址計(jì)數(shù)器的計(jì)數(shù)值減“1”,并且計(jì)數(shù)大于“0”。當(dāng)計(jì)數(shù)到達(dá)其下限“0”時(shí),停止計(jì)數(shù)。其它RLO狀態(tài)跳變對(duì)該指令無(wú)影響;計(jì)數(shù)器不會(huì)出現(xiàn)負(fù)值。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0--0舉例STL解釋LC#14//裝載計(jì)數(shù)器預(yù)置值。AI0.1//檢測(cè)到I0.1的上升沿后預(yù)置計(jì)數(shù)器。SC1//如果啟用的話,裝入計(jì)數(shù)器1預(yù)置值。AI0.0//每個(gè)I0.0的上升沿進(jìn)行一次減計(jì)數(shù)。CDC1//根據(jù)輸入I0.0RLOC1ANC1//使用C1位檢測(cè)是否為“0”。=Q.0//如果計(jì)數(shù)器1為“0”,則Q0.0=1。5-5-5-PAGE2數(shù)據(jù)塊指令數(shù)據(jù)塊指令概述說(shuō)明可以使用“打開數(shù)據(jù)塊”(OPN)指令打開一個(gè)數(shù)據(jù)塊作為共享數(shù)據(jù)塊或背景數(shù)據(jù)塊。程序本身可同時(shí)可打開一個(gè)共享數(shù)據(jù)塊和一個(gè)背景數(shù)據(jù)塊。下述數(shù)據(jù)塊指令可供使用:OPN 打開數(shù)據(jù)塊CDB 交換共享數(shù)據(jù)塊和背景數(shù)據(jù)塊LDBLG 將共享數(shù)據(jù)塊的長(zhǎng)度裝入累加器1中LDBNO 將共享數(shù)據(jù)塊的編號(hào)裝入累加器1中LDILG 將背景數(shù)據(jù)塊的長(zhǎng)度裝入累加器1中LDINO 將背景數(shù)據(jù)塊的編號(hào)裝入累加器1中數(shù)據(jù)塊指令數(shù)據(jù)塊指令數(shù)據(jù)塊指令數(shù)據(jù)塊指令OPN 打開數(shù)據(jù)塊格式指令說(shuō)明

OPN<數(shù)據(jù)塊>地址數(shù)據(jù)塊類型源地址<數(shù)據(jù)塊>DB、DI1-65535使用打開數(shù)據(jù)塊指令,可以將數(shù)據(jù)塊作為共享數(shù)據(jù)塊或背景數(shù)據(jù)塊打開??梢酝瑫r(shí)打開一個(gè)共享數(shù)據(jù)塊和一個(gè)背景數(shù)據(jù)塊。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋OPNDB10//打開數(shù)據(jù)塊DB10作為共享數(shù)據(jù)塊。LDBW35//將所打開數(shù)據(jù)塊的數(shù)據(jù)字35裝入累加器1低字中。TMW22//將累加器1低字中的內(nèi)容傳送到MW22。OPNDI20//打開數(shù)據(jù)塊DB20作為背景數(shù)據(jù)塊。LDIB12//將所打開背景數(shù)據(jù)塊的數(shù)據(jù)字節(jié)12裝入累加器1低字中。TDBB37//將累加器1低字中的內(nèi)容傳送到已打開共享數(shù)據(jù)塊的數(shù)據(jù)字節(jié)37中。5-5-5-PAGE4CDB 交換共享數(shù)據(jù)塊和背景數(shù)據(jù)塊格式CDB指令說(shuō)明

狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:LDBLG 將共享數(shù)據(jù)塊的長(zhǎng)度裝入累加器1中格式LDBLG指令說(shuō)明

使用裝載共享數(shù)據(jù)塊長(zhǎng)度指令,可以在累加器1的內(nèi)容保存到累加器2中之后,將共享數(shù)據(jù)塊的長(zhǎng)度裝入累加器1中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋OPNDB10//打開數(shù)據(jù)塊DB10作為共享數(shù)據(jù)塊。LDBLG//裝入共享數(shù)據(jù)塊的長(zhǎng)度(DB10的長(zhǎng)度)。LMD10//比較數(shù)據(jù)塊的長(zhǎng)度是否足夠長(zhǎng)。<DJCERRO//如果長(zhǎng)度小于MD10中的數(shù)值,則跳轉(zhuǎn)至ERRO跳轉(zhuǎn)標(biāo)號(hào)。LDBNO 將共享數(shù)據(jù)塊的編號(hào)裝入累加器1中格式LDBNO指令說(shuō)明

使用裝載共享數(shù)據(jù)塊編號(hào)指令,可以在累加器1的內(nèi)容保存到累加器2中之后,將共享數(shù)據(jù)塊的編號(hào)裝入累加器1的低字中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:LDILG 將背景數(shù)據(jù)塊的長(zhǎng)度裝入累加器1中格式LDILG指令說(shuō)明

使用裝載背景數(shù)據(jù)塊長(zhǎng)度指令,可以在累加器1的內(nèi)容保存到累加器2中之后,將背景數(shù)據(jù)塊的長(zhǎng)度裝入累加器1的低字中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋OPNDI20//打開數(shù)據(jù)塊DB20作為背景數(shù)據(jù)塊。LDILG//裝載背景數(shù)據(jù)塊的長(zhǎng)度(DB20的長(zhǎng)度)。L<IJCMW10//比較數(shù)據(jù)塊的長(zhǎng)度是否足夠長(zhǎng)。//如果長(zhǎng)度小于MW10中的數(shù)值,則跳轉(zhuǎn)至ERRO跳轉(zhuǎn)標(biāo)號(hào)。LDINO 將背景數(shù)據(jù)塊的編號(hào)裝入累加器1中格式LDINO指令說(shuō)明

使用裝載背景數(shù)據(jù)塊編號(hào)指令,可以在累加器1的內(nèi)容保存到累加器2中之后,將背景數(shù)據(jù)塊的編號(hào)裝入累加器1中。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:6-6-6-PAGE10邏輯控制指令邏輯控制指令邏輯控制指令邏輯控制指令概述說(shuō)明可以使用跳轉(zhuǎn)指令來(lái)控制邏輯流,使其中斷程序控制流而從程序的不同點(diǎn)重新開始掃描。你可以使用循環(huán)控制指令(LOOP),多次調(diào)用一個(gè)程序段。跳轉(zhuǎn)指令或循環(huán)控制指令的地址是一個(gè)標(biāo)號(hào)。一個(gè)跳轉(zhuǎn)標(biāo)號(hào)最多有4個(gè)字符,第一個(gè)字符必須是字母。跳轉(zhuǎn)標(biāo)號(hào)后跟冒號(hào)“:”,且在行中必須位于程序語(yǔ)句之前。注意請(qǐng)注意,對(duì)于S7-300CPU程序,跳轉(zhuǎn)目的地總是從(不適用于318-2)跳轉(zhuǎn)指令中的布爾邏輯串開始。跳轉(zhuǎn)目的地不能包括在邏輯串中??墒褂靡韵绿D(zhuǎn)指令無(wú)條件中斷正常的程序邏輯流。JU 無(wú)條件跳轉(zhuǎn)JL 跳轉(zhuǎn)到標(biāo)號(hào)根據(jù)上一條指令產(chǎn)生的邏輯運(yùn)算結(jié)果(RLO)進(jìn)行跳轉(zhuǎn):JC RLO1,則跳轉(zhuǎn)JCN RLO0,則跳轉(zhuǎn)JCB RLO1BR置位JNB RLO0BR復(fù)位根據(jù)狀態(tài)字中的狀態(tài)位的信號(hào)狀態(tài)進(jìn)行跳轉(zhuǎn):JBI BR1,則跳轉(zhuǎn)JNBI BR0,則跳轉(zhuǎn)JO OV1,則跳轉(zhuǎn)JOS OS1,則跳轉(zhuǎn)邏輯控制指令邏輯控制指令邏輯控制指令邏輯控制指令根據(jù)計(jì)算結(jié)果進(jìn)行跳轉(zhuǎn):JZ 若零,則跳轉(zhuǎn)JN 若非零,則跳轉(zhuǎn)JP 若正,則跳轉(zhuǎn)JM 若負(fù),則跳轉(zhuǎn)JPZ 若大于或等于零,則跳轉(zhuǎn)JMZ 若小于或等于零,則跳轉(zhuǎn)JUO 若運(yùn)算無(wú)效,則跳轉(zhuǎn)6-6-6-PAGE4JU 無(wú)條件跳轉(zhuǎn)格式JU<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明距離為-32768或+32767狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋AI1.0AI1.2JCDELE//如果RLO=1,則跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)號(hào)DELE。LMB10INC1TMB10JUFORW//無(wú)條件跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)號(hào)FORW。DELE:L0FORW:TAMB10I2.1//在跳轉(zhuǎn)到跳轉(zhuǎn)標(biāo)號(hào)FORW之后繼續(xù)進(jìn)行程序掃描。JL 跳轉(zhuǎn)到標(biāo)號(hào)格式說(shuō)明狀態(tài)字

JL<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名使用該指令(通過(guò)跳轉(zhuǎn)到列表進(jìn)行跳轉(zhuǎn)),可以進(jìn)行多級(jí)跳轉(zhuǎn)。最多有255個(gè)跳(0–存儲(chǔ)在累1低字的低字節(jié)中。JLJLJU1JU1JUJL指令跳轉(zhuǎn)到目標(biāo)列表中最后一個(gè)JU指令之后的第一條指令。跳轉(zhuǎn)目標(biāo)列表必須包含JUJL指令的地址區(qū)內(nèi)進(jìn)行相應(yīng)的跳轉(zhuǎn)。跳轉(zhuǎn)列表中的任何其它指令都是非法的。BRCC1CC0OVOSORSTARLO/FC寫:舉例STL解釋LMB0//將跳轉(zhuǎn)目標(biāo)的數(shù)量裝入累加器1低字低字節(jié)中JLLSTX//如果累加器1低字低字節(jié)中的內(nèi)容大于3,則跳轉(zhuǎn)到LSTXJUSEG0//如果累加器1低字低字節(jié)中的內(nèi)容等于0,則跳轉(zhuǎn)到SEG0JUSEG1//如果累加器1低字低字節(jié)中的內(nèi)容等于1,則跳轉(zhuǎn)到SEG1JUCOMM//如果累加器1低字低字節(jié)中的內(nèi)容等于2,則跳轉(zhuǎn)到SEG2JUSEG3//如果累加器1低字低字節(jié)中的內(nèi)容等于3,則跳轉(zhuǎn)到SEG3LSTX:JUCOMMSEG0:*//允許的指令JUCOMMSEG1:*//允許的指令JUCOMMSEG3:*//允許的指令COMM:JU*COMMJC 1,則跳轉(zhuǎn)格式JC<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明如果RLO=1,則該指令可以中斷當(dāng)前線性程序掃描,并跳轉(zhuǎn)到一個(gè)跳轉(zhuǎn)目標(biāo),一個(gè)程序塊內(nèi)。跳轉(zhuǎn)目標(biāo)在該塊內(nèi)必須是唯一的。最大跳轉(zhuǎn)距離為-32768或+32767況(一個(gè)、兩個(gè)或三個(gè)字語(yǔ)句)。如果RLO=0,則不執(zhí)行跳轉(zhuǎn)。將RLO設(shè)置為1,繼續(xù)對(duì)下一個(gè)語(yǔ)句執(zhí)行程序掃描。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0110舉例STL解釋AI1.0AI1.2JCJOVR//如果RLO=1,則跳轉(zhuǎn)到JOVR。LIW8//如果沒有執(zhí)行跳轉(zhuǎn),則繼續(xù)執(zhí)行程序掃描。TMW22JOVR:AI2.1//在跳轉(zhuǎn)到JOVR之后繼續(xù)進(jìn)行程序掃描。JCN 0,則跳轉(zhuǎn)格式JCN<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明如果RLO=0,則該指令可以中斷當(dāng)前線性程序掃描,并跳轉(zhuǎn)到一個(gè)跳轉(zhuǎn)目標(biāo),同一個(gè)程序塊內(nèi)。跳轉(zhuǎn)目標(biāo)在該塊內(nèi)必須是唯一的。最大跳轉(zhuǎn)距離為-32768+32767況(一個(gè)、兩個(gè)或三個(gè)字語(yǔ)句)。如果RLO=1,則不執(zhí)行跳轉(zhuǎn),并繼續(xù)對(duì)下一個(gè)語(yǔ)句執(zhí)行程序掃描。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0110舉例STL解釋AI1.0AI1.2JCNJOVR//如果RLO=0,則跳轉(zhuǎn)到JOVRLIW8//如果沒有執(zhí)行跳轉(zhuǎn),則繼續(xù)執(zhí)行程序掃描TMW22JOVR:AI2.1//在跳轉(zhuǎn)到JOVR之后繼續(xù)進(jìn)行程序掃描JCB 1BR置位格式JCB<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明如果RLO=1,該指令將中斷當(dāng)前線性程序掃描,并跳轉(zhuǎn)到一個(gè)跳轉(zhuǎn)目標(biāo)。在跳同一個(gè)程序塊內(nèi)。跳轉(zhuǎn)目標(biāo)在該塊內(nèi)必須是唯一的。最大跳轉(zhuǎn)距離為-32768+32767況(一個(gè)、兩個(gè)或三個(gè)字語(yǔ)句)。如果RLO=0,則不執(zhí)行跳轉(zhuǎn)。將RLO置為“1”,從下一條語(yǔ)句繼續(xù)程序掃描。RLO被拷貝到該指令的BR中,而與RLO無(wú)關(guān)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:x0110舉例STL解釋AI1.0AI1.2JCBJOVR//如果RLO=1,則跳轉(zhuǎn)到JOVR。將RLO位的內(nèi)容復(fù)制到BR位LIW8//如果沒有執(zhí)行跳轉(zhuǎn),則繼續(xù)執(zhí)行程序掃描TJOVR:AMW22I2.1//在跳轉(zhuǎn)到JOVR之繼續(xù)進(jìn)行程序掃描JNB 0BR復(fù)位格式JNB<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)符號(hào)名說(shuō)明如果RLO=0,該指令將中斷當(dāng)前線性程序掃描,并跳轉(zhuǎn)到一個(gè)跳轉(zhuǎn)目標(biāo)。在跳同一個(gè)程序塊內(nèi)。跳轉(zhuǎn)目標(biāo)在該塊內(nèi)必須是唯一的。最大跳轉(zhuǎn)距離為-32768+32767況(一個(gè)、兩個(gè)或三個(gè)字語(yǔ)句)。如果RLO=1,則不執(zhí)行跳轉(zhuǎn)。將RLO置為“1”,從下一條語(yǔ)句繼續(xù)程序掃描。RLO被拷貝到該指令的BR中,而與RLO無(wú)關(guān)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:x0110舉例STL解釋AI1.0AI1.2JNBJOVR//RLO=0JOVRRLOBR位LIW8//如果沒有執(zhí)行跳轉(zhuǎn),則繼續(xù)執(zhí)行程序掃描JOVR:TAMW22I2.1//在跳轉(zhuǎn)到JOVR之后繼續(xù)進(jìn)行程序掃描JBI BR1,則跳轉(zhuǎn)格式JBI<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明如果狀態(tài)位BR=1-32768或+32767況(一個(gè)、兩個(gè)或三個(gè)字語(yǔ)句)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:01-0JNBI BR0,則跳轉(zhuǎn)格式JNBI<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明如果狀態(tài)位BR=0-32768或+32767狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:01-01,則跳轉(zhuǎn)格式JO<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明如果狀態(tài)位OV=1,該指令將中斷當(dāng)前線性程序掃描,并跳轉(zhuǎn)到一個(gè)跳轉(zhuǎn)目標(biāo)。-32768或+32767令JOS進(jìn)行檢測(cè)。狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL 解釋L MW10L 3*IJO OVERT A M4.0M4.0JU NEXTOVER:AN M4.0M4.0NEXT:NOP0

//將MW10的內(nèi)容乘以“3”//如果結(jié)果超出最大范圍(OV=1),則跳轉(zhuǎn)//如果沒有跳轉(zhuǎn),則繼續(xù)執(zhí)行程序掃描//OVER之后繼續(xù)進(jìn)行程序掃描//NEXT之后繼續(xù)進(jìn)行程序掃描OS1,則跳轉(zhuǎn)格式JOS<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明如果狀態(tài)位OS=1,該指令將中斷當(dāng)前線性程序掃描,并跳轉(zhuǎn)到一個(gè)跳轉(zhuǎn)目標(biāo)。-32768或+32767狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:0舉例STL 解釋L IW10L MW12*IL DBW25+IL MW14-IJOS OVERT MW16A M4.0M4.0JU NEXTOVER:AN M4.0M4.0NEXT:NOP0

//如果三條指令中任何一條出現(xiàn)溢出(OS=1,見注釋),則跳轉(zhuǎn)//如果沒有執(zhí)行跳轉(zhuǎn),則繼續(xù)執(zhí)行程序掃描//OVER之后繼續(xù)進(jìn)行程序掃描//NEXT之后繼續(xù)進(jìn)行程序掃描注釋在這種情況下,不要使用JO指令。當(dāng)發(fā)生溢出時(shí),JO指令只檢查上一條–I指令。JZ 若零,則跳轉(zhuǎn)格式JZ<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明如果狀態(tài)位CC1=0并且CC0跳轉(zhuǎn)距離為-32768或+32767狀態(tài)字BRCC1CC0OVOSORSTARLO/FC寫:舉例STL 解釋L MW10SRW 1JZ ZEROL MW2INC 1T MW2JU NEXTZERO:L INC 1T MW4NEXT:NOP0

//如果已移出位=0,則跳轉(zhuǎn)到ZERO。//如果沒有執(zhí)行跳轉(zhuǎn),則繼續(xù)執(zhí)行程序掃描。//ZERO之后繼續(xù)進(jìn)行程序掃描。//NEXT之后繼續(xù)進(jìn)行程序掃描。JN 若非零,則跳轉(zhuǎn)格式JN<跳轉(zhuǎn)標(biāo)號(hào)>地址說(shuō)明<跳轉(zhuǎn)標(biāo)號(hào)>跳轉(zhuǎn)目標(biāo)的符號(hào)名說(shuō)明CC1CC0(CC1=0/CC0=1CC1=1/CC同一個(gè)程序塊內(nèi)。跳轉(zhuǎn)目標(biāo)在該塊內(nèi)必須是唯一的。最大跳轉(zhuǎn)距

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論