日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 梯形圖實例 >> 正文

|分享| S7-200SMART常用指令(二)

作者:佚名    文章來源:網絡整理    點擊數:    更新時間:2024/12/13

內容較長請耐心閱讀(全是干貨哦)

在上一期|分享| S7-200SMART常用指令(一)的加法指令后,接著減法指令也是一樣,都有為零 、溢出及結果為負的特殊寄存器,同樣分別是SM1.0 /SM1.1 /SM1.2 三個

減法指令

減法指令分別有整數型、雙整數型及實數型,如下圖所示

 

乘法指令乘法指令同樣可以使用常數,也可以使用寄存器;對于乘法指令來說,MUL指令表示兩個16位存儲空間的數相乘得到一個32位的結果
 

MUL_DI表示兩個32位存儲空間的數相乘得到一個32位的結果MDL_I表示兩個16位存儲空間的數相乘得到一個16位的結果MUL_R表示兩個實數相乘得到一個實數的結果MUL表示兩個16位存儲空間的數相乘得到一個32位的結果除法指令除法指令和乘法指令一樣,有實數型、整數型、雙整數型

 

DIV表示兩個16位數相除,結果為32位的存儲空間;其中商存儲在高16位中,余數在低16位中DIV_I表示兩個16位數相除,結果為16位的存儲空間DIV_DI表示兩個32位數相除,結果為32位的存儲空間DIV_R表示兩個實數相除,結果為實數遞增、遞減指令遞增和遞減指令在IN端加1或減1 ,并將結果存儲在OUT端;常和比較指令及傳送指令配合使用。需要注意的是EN端最好采用沿脈沖檢測

 

 

(5)邏輯運算指令
邏輯運算對邏輯數進行處理,在這是指無符號數;根據運算性質可分為邏輯與、或、異或及取反等;根據數據類型可分為字節、字、雙字的運算邏輯取反指令
是把參與運算的數據分別轉換成二進制按位取反,若位為0 則變為1 ,若位為1 則變為0 注意:取反結果的輸入輸出為同一個地址時,則在EN端應使用沿脈沖檢測觸發,不然會出現一個掃描周期內取反多次的情況!另外此指令和遞增指令INC類似,切勿混淆

 

邏輯與指令簡單的說就是把參與運算的數據分別轉換成二進制后進行位與位的邏輯與運算,只有兩個數均為1時,輸出結果才會為1 

 

邏輯或運算指令
把參與運算的數據分別轉換成二進制后進行位與位的邏輯與運算,只要有一個數為1時輸出結果為1,兩個數為1 時,輸出也為1;兩個數為0 時,輸出為0,也就是有1為1 ,有0為0  

 

邏輯異或運算指令把參與運算的數據分別轉換成二進制后進行位與位的邏輯異或運算,只有兩個數不同時輸出結果為1,反之為0  ;也就是同為0 ,異為1

 

(6)移位循環指令
移位循環指令分為三種:分別是左移位指令(SHL)/右移位指令(SHR)、循環左移位指令(ROL)/循環右移位指令(ROR)、及移位寄存器指令(SHRB),對于移位指令來說,根據移位的方向分為左右移位,根據數據類型的不同,可分為字節、字和雙字的方式

 

左/右移位指令字節型移位指令為無符號數,字及雙字型指令當為有符號數時,符號位也會一并移動,另一端移出的位自動補零;如果移位次數大于0 ,則將溢出特殊寄存器SM1.1會置位為移出的最后一位的值;如果移位操作的結果為0 ,則SM1.0標志位將置位

 

 

循環移位指令循環移位指令是將IN端數中各位的值向左或右移循環移動N位后,傳送至OUT端指定的地址中;如果執行循環移位指令,則溢出標志位SM1.1將置位為循環移出的最后一個位的值

 

移位寄存器指令
移位寄存器指令可參考我們原來分享的內容,這里不再闡述?牲c擊→【干貨】S7-200SMART 功能指令應用

(7)表格指令
注意:表格指令針對的是16位的存儲空間,也就是所有的表格指令管腳只能是16位的存儲空間填表指令(AD_T_TBL)     添表指令向表格 TBL 中添加字值 DATA。表格中的第一個值為最大表格長度 TL(最大行/列數)第二個值是條目計數 EC,用于存儲表格中的條目數,并自動更新;新數據填加到表格中最后一個條目之后;每次向表格中填加新數據時,條目計數將加 1。當條目計數等于最大表格長度時則無法再進行數據的存儲,只要當數據讀取后騰出空間后才能繼續存儲數據;一個表格最多可有 100 個數據條目;填表指令通常配合先進先出或后進先出指令一起使用。DATA端只能是16位的存儲空間,不能是實數、32位的數據等

 

圖中VW200表示表格的最大行/列數,自行設定最大數;所需地址為VW200的值+2VW202表示當前表格存儲數量,無需設定(已使用的表格數量);VW204后為實際存儲數據地址(剩余表格空間大。
先進先出指令(FIFO)
先進先出指令將表中的最早(或第一個)條目移動到輸出存儲器地址(指令中DATA端的地址),具體操作是移走指定表格 (TBL) 中的第一個條目并將該值移動到 DATA 指定的位置。表格中的所有其它條目向上移動一個位置。每次執行 FIFO 指令時,表中的條目計數值減 1。當再次執行填表指令后,數據會存儲在第一個條目中

 

后進先出指令(LIFO)
后進先出指令將表中的最新(或最后一個)條目移動到輸出存儲器地址,具體操作是移走表格 (TBL) 中的最后一個條目并將該值移動到 DATA 指定的位置。每次執行 LIFO 指令時,表中的條目計數值減 1。當再次執行填表指令后,數據會存儲在最后一個條目中

 

填充存儲器指令(FILL_N)存儲器填充指令使用地址 IN 中存儲的字值填充從地址 OUT 開始的 N 個連續字;N 取值范圍是 1 到 255

 

表示把10 填充到vw10開始的16個存儲地址中,常用于初始化的使用,IN可為常數也允許是變量查表指令(TBL_FIND)      用于從表格內查找與我們定義條件相同的數據      查表指令在表格中搜索與搜索條件匹配的數據。查表指令由表格條目 INDX 開始,在表格 TBL 中搜索與 CMD 定義的搜索標準相匹配的數據值或模式 PTN。指令參數 CMD 的 1 到 4 的數字值分別對應于 =、<>、< 和 >(沒有≥及≤)。      如果找到匹配條目,INDX 將指向表中的該匹配條目,顯示查找和定義相同條件數據的條目數。      只要查找到和條件相符的值后就不會再往下查找,要查找下一個匹配條目值,在再次調用查表指令之前,必須先使 INDX 增加 1。如果未找到匹配的條目值,則 INDX 值等于條目總數。       一個表格最多可有 100 個數據條目。數據條目(搜索區域)編號為 0 到 99(最大值)。

 

TBL表示表格的起始地址,就是最大表格長度的地址(指定對哪個表格的數據進行查找)PTN表示需要和表格內數據進行搜索對比的值,此管腳可使用常數或16位存儲空間的存儲器,注意不能用BYTEINDX表示的是顯示查找和定義相同條件數據的條目數CMD表示表格內數據和PTN指定數值的比較方式;1表示=,2表示≠ 3表示<,4 表示>指令表示從表格(VW0開始)中查找與VW100的值相等的數據,相符數據在表格中的位置存儲在VW200中
Tags:常用指令,200SMART,西門子PLC  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢