衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

西門子S7-200smart間接尋址使用方法簡析

blackwatching ? 來源:玩轉PLC工業機器人 ? 2023-11-15 09:56 ? 次閱讀

01 指令講解

1.創建指針

使用間接尋址就必須先創建指針,那么指針怎么創建呢?使用MOV_DW指令把指針地址存放到OUT輸出的變量,MOV_DW不是普通的32位數傳送指令嗎,怎么就是指針了呢?

其實當MOV_DW指令IN引腳使用&VBxxx、&IBxxx、&MBxxx、&QBxxx時為創建指針的格式。如圖1所示,&VB0為創建指針指向vb0,其中&為創建指針的符號,VB為V存儲區的字節,0代表指向的地址是從字節0開始的,指針地址放在OUT輸出變量地址中,VD100為創建指針存放的指針地址。

f734c83e-82e1-11ee-939d-92fbcf53809c.png

圖1

2.引用指針

引用指針使用字符“*”帶表示引用指針,如圖2所示,*VD100代表引用指針,把vd0的數據傳送到vd200中。

f751d8b6-82e1-11ee-939d-92fbcf53809c.png

圖2

那么如何判斷指向的地址使用的是字節、字、雙字呢?其實和指令有關系??梢酝ㄟ^數據類型判斷,如圖3所示,把光標放在指令塊處不動2S左右,會彈出一個指令塊引腳指令使用的數據類型。

這里可以看到IN:DWORD,輸入為DWORD的32位數據類型,也就是雙字,那么這時候引用的是VD0,指針沒有偏移過,還是指向VB0地址起始的,指令使用的是雙字,所以引用的是VD0地址中的數據,把VD0賦值給VD200。

f75b6c28-82e1-11ee-939d-92fbcf53809c.png

圖3

3.指針偏移

初學者使用指針時,對于指針偏移的理解最容易亂的。指針偏移是通過對指針存放的地址進行運算得到一個新的指針地址。

如圖4所示,按下M0.0把指針指向VB0的指針地址放在VD100中,如果這時候沒有接通I0.0,那么程序段3就會把VD0的數據傳送給VD200,如果接通了I0.0,那么程序段3就會把VD4的數據傳送給VD200。

指針地址加多少就是向上偏移多少,也可以減去一個偏移量,一般字節偏移1,字偏移2,雙字偏移4。如圖4中的程序段2,指針地址VD100+4=VD100,程序段中最開始的創建的指針是指向VB0,指針+4以后,指針指向偏移指向VB4。

f77cd368-82e1-11ee-939d-92fbcf53809c.png

圖4

02 案例應用

案例1

如表1所示,按下M0.0的按鈕,把賦值數據傳送給賦值地址,例如第一次把VB0傳送給VB100,當第四次以后,按下M0.0按鈕,指針重新指向VB0,重新開始。

次數 賦值數據 賦值地址
1 VB0 VB100
2 VB1 VB100
3 VB2 VB100
4 VB3 VB100

表1

程序編寫如圖5所示,字節與字節之間地址相差1,編寫VD1000+1=VD1000的運算程序,每次向上偏移1。

f79561d0-82e1-11ee-939d-92fbcf53809c.png

圖5

案例2

如表2所示,按下M0.0的按鈕,把賦值數據傳送給賦值地址,例如第一次把VW0傳送給VW100,當第四次以后,按下M0.0按鈕,指針重新指向VB0,重新開始。

次數 賦值數據 賦值地址
1 VW0 VBW00
2 VB2 VW100
3 VB4 VW100
4 VB6 VW100

表2

程序編寫如圖6所示,字與字之間地址相差2,編寫VD1000+2=VD1000的運算程序,每次向上偏移2。

f7b31504-82e1-11ee-939d-92fbcf53809c.png

圖6

案例3

如表3所示,按下M0.0的按鈕,把賦值數據傳送給賦值地址,例如第一次把VD0傳送給VD100,當第四次以后,按下M0.0按鈕,指針重新指向VB0,重新開始。

次數 賦值數據 賦值地址
1 VD0 VD100
2 VD4 VD100
3 VD8 VD100
4 VD12 VD100

表3

程序編寫如圖7所示,雙字與雙字之間地址相差4,編寫VD1000+4=VD1000的運算程序,每次向上偏移4。

f7da3224-82e1-11ee-939d-92fbcf53809c.png

圖7

案例4

如表4所示,按下M0.0的按鈕,把賦值數據傳送給賦值地址,例如第一次把VD0傳送給VD100,當第四次以后,按下M0.0按鈕,賦值地址清零,然后下一次重新開始賦值。

次數 賦值數據 賦值地址
1 VD0 VD100
2 VD4 VD108
3 VD8 VD116
4 VD12 VD124

表4

程序編寫如圖8所示,不管是輸入和輸出都可以通過指針做間接尋址,通過地址偏移可以給不通的地址賦值。

f7f9853e-82e1-11ee-939d-92fbcf53809c.png

圖8

03 總結

本文章舉例了簡單的IN和OUT的間接尋址,間接尋址的使用方式還有很多,可以用在形參子程序中使用,例如求多個數值的平均值,利用for循環和間接尋址就可以輕松解決這個需要多次運算的問題,現在西門子200smart v2.8的CPU支持平均值指令,可以不需要自己寫程序。







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 西門子
    +關注

    關注

    95

    文章

    3062

    瀏覽量

    116445
  • S7-200
    +關注

    關注

    13

    文章

    408

    瀏覽量

    50569
  • for循環
    +關注

    關注

    0

    文章

    61

    瀏覽量

    2537

原文標題:西門子S7-200smart間接尋址的使用方法

文章出處:【微信號:玩轉PLC工業機器人,微信公眾號:玩轉PLC工業機器人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    西門子PLC S7-200smart程序下載錯誤分析

    S7-200smart中來執行,在下載過程中,有時會出現下載錯誤的情況。  西門子PLC系列S7-200 smart程序下載問題  用戶在使用西門
    發表于 07-23 15:27 ?4795次閱讀

    西門子S7-200SMART接入BL102 PLC網關

    BL102 PLC網關設備連接設備接線示意圖如下: BL102 PLC網關的LAN口連接到西門子S7-200SMART的網口,COM口通過RS232轉RS422線連接西門子S7-200SMAR
    發表于 10-28 17:08 ?2015次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-200SMART</b>接入BL102 PLC網關

    PLC網關采集西門子S7-200SMART數據配置流程

    PLC網關采集西門子S7-200SMART數據配置流程
    發表于 11-04 11:37 ?4116次閱讀
    PLC網關采集<b class='flag-5'>西門子</b><b class='flag-5'>S7-200SMART</b>數據配置流程

    西門子S7-200SMART如何接入MQTT云平臺

    西門子S7-200SMART如何接入MQTT云平臺
    發表于 11-10 16:49 ?3472次閱讀

    工業智能物聯網網關鋇錸BL110網口LAN采集西門子PLC S7-200Smart

    工業智能物聯網網關鋇錸BL110網口LAN采集西門子PLC S7-200Smart
    的頭像 發表于 09-30 17:53 ?1093次閱讀

    西門子S7-200SMART系列PLC的比較和傳送、置位、復位等指令的使用

    本案例,利用液體混合控制程序設計,主要讓讀者練習西門子S7-200SMART系列PLC的比較和傳送、置位、復位等指令的使用。
    的頭像 發表于 10-19 10:15 ?8700次閱讀

    西門子s7-200smarts7-1200PLC通信技術

    S7-1200與S7-200SMART S7 通訊的另外一種方法S7-200SAMRT PLC做客服端,
    發表于 11-17 20:16 ?8205次閱讀

    西門子S7系列如何轉換MQTT/Modbus

    西門子S7-200 S7-200Smart S7-300 S7-400 MQTT Modbus
    的頭像 發表于 11-02 09:54 ?1718次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7</b>系列如何轉換MQTT/Modbus

    西門子S7-200Smart如何轉換Modbus

    西門子S7-200Smart Modbus網關
    的頭像 發表于 11-03 18:41 ?4228次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-200Smart</b>如何轉換Modbus

    西門子S7-200SMART PLC問題解答

    西門子S7-200SMART PLC模擬量模塊輸出有未用通道閃紅燈,如何消除? 答:首先你在系統塊有沒有組態設置模擬量通道或者有沒有選擇模擬量模塊型號,如果選擇你把它刪除就行了,或者把不使用的通道短接即可。
    發表于 07-01 11:49 ?4595次閱讀

    西門子S7-200 SMART編程技巧

    【導讀】分享一個西門子S7-200 SMART編程技巧。
    的頭像 發表于 07-10 10:10 ?2468次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>編程技巧

    如何區分西門子PLC的直接尋址間接尋址

    我們都知道西門子200plc有三種尋址方式:立即尋址、直接尋址間接
    的頭像 發表于 08-28 14:43 ?1869次閱讀
    如何區分<b class='flag-5'>西門子</b>PLC的直接<b class='flag-5'>尋址</b>和<b class='flag-5'>間接</b><b class='flag-5'>尋址</b>

    西門子S7-200smart PLC不同類型CPU的區別

    西門子S7-200smart PLC 標準CPU的代碼一般為ST XX或者SR XX,其中ST/SR表示CPU自帶的數字量輸出形式,XX為20、30、40或者60,為CPU性能參數等級。
    的頭像 發表于 11-02 17:20 ?5089次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-200smart</b> PLC不同類型CPU的區別

    PLC西門子S7-200smartS7-1200的區別?

    PLC西門子S7-200smartS7-1200的區別? 西門子S7-200 smart
    的頭像 發表于 11-17 11:41 ?1.1w次閱讀

    S7協議讀取西門子S7-200 Smart PLC數據

    西門子S7-200 Smart PLC因其穩定性和易用性而廣泛應用。通過使用S7協議,可以實現對PLC數據的高效讀取和控制。本文將詳細介紹如何使用S
    的頭像 發表于 07-11 11:55 ?6553次閱讀
    <b class='flag-5'>S7</b>協議讀取<b class='flag-5'>西門子</b><b class='flag-5'>S7-200</b> <b class='flag-5'>Smart</b> PLC數據
    百家乐官网游戏如何玩| 玩百家乐新太阳城| 缅甸百家乐网上投注| 天天百家乐的玩法技巧和规则 | 大发百家乐官网游戏| 永利百家乐官网娱乐场| 百家乐庄闲排列| 易赢百家乐官网软件| TT百家乐现金网| 竞彩足球| 万宝路百家乐官网的玩法技巧和规则| 澳门百家乐论| 百家乐官网三珠投注法| 百家乐云顶| 太阳城百家乐怎么出千| 龙都棋牌下载| 金樽百家乐官网的玩法技巧和规则 | 代理百家乐试玩| 网上玩百家乐官网好吗| 赌博百家乐判断决策| 百家乐官网天天赢钱| 百家乐园棋牌| 六合彩开奖结果直播| 百家乐官网麻将筹码币| 真博娱乐| 百家乐有作弊的吗| 双流县| 澳门百家乐秘积| 百家乐官网哪条路好| 百家乐网娱乐城| 和政县| 澳门百家乐赢钱公式不倒翁| 百家乐官网是骗人的| 时时博百家乐的玩法技巧和规则| 菠菜百家乐官网娱乐城| 百家乐作| 赌百家乐官网怎样能赢| 全讯网| 免费百家乐官网游戏下| 九龙娱乐| 百家乐赌博现金网|