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

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

3天內(nèi)不再提示

一文知道PLC間接尋址與直接尋址

aIpM_gongkongwo ? 來源:陳翠 ? 2019-07-27 08:35 ? 次閱讀

直接尋址

直接的指出指令的確切操作地址。例如A Q10.0,對于指令A來說,Q10.0就是其直接操作的地址。

因此,相對的,間接尋址即間接的指出指令的確切操作地址。例如A Q[MD10],這里的地址不是直接給出的,而是通過MD10這個存儲地址間接給出的。

間接尋址的類型

間接尋址可分為兩大類型:存儲器間接尋址和寄存器間接尋址。如圖1所示。

圖1 尋址方式

存儲器間接尋址

存儲器間接尋址的地址給定格式是:地址標識符+指針。指針所指示存儲單元中所包含的數(shù)值,就是地址的確切數(shù)值單元。

存儲器間接尋址分為兩種指針格式:

16 位指針:

16 位地址指針用于定時器、計數(shù)器、程序塊(DB、FC、FB)的尋址,16 位指針被看作 一個無符號整數(shù)(0-65535),它表示定時器(T)、計數(shù)器(C)、數(shù)據(jù)塊(DB、DI)或程序塊 (FB、FC)的號,16 位指針的格式如下:

圖2 16位指針格式

32 位指針:

32 位地址指針用于 I、Q、M、L、數(shù)據(jù)塊等存儲器中位、字節(jié)、字及雙字的尋址,32 位 的地址指針可以使用一個雙字表示,第 0 位~ 第 2 位作為尋址操作的位地址,第 3 位~第18 位作為 尋址操作的字節(jié)地址,第 19 位~第 31 位沒有定義,32 位指針的格式如下:

圖3 32位指針格式

寄存器間接尋址

寄存器間接尋址為通過 CPU的地址寄存器AR1,AR2進行尋址。AR1,AR2 均為 32 位寄存器,寄存器間接尋址只使用 32 位指針。

分為內(nèi)部區(qū)域間接尋址和交叉區(qū)域?qū)ぶ贰?/p>

內(nèi)部區(qū)域寄存器間接尋址

指針格式與存儲器間接尋址的 32 位指針相同,第 0 位~ 第 2 位作為尋址操作的位地址,第 3 位~第 18 位作為尋址操作的字節(jié)地址,第 19 位 ~第 31 位沒有定義,32 位指針的格式如下:

圖4 內(nèi)部區(qū)域32位指針

交叉區(qū)域寄存器間接尋址

包含有存儲器區(qū)域信息的指針,稱為交叉區(qū)域指針。同樣,交叉區(qū)域指針為 32 位,寄存器間接尋址要使用地址寄存器 AR1 或 AR2。32 位交叉區(qū)域指針,左起 0~18 位格式與 32 位內(nèi)部區(qū)域指針相同,19~23 位,27~20 位未定義,31 位為交叉區(qū)域指針標識位。24~26 位是存儲區(qū)域地址標識,8 中組合表示 8 種存儲器區(qū)域:000 表示沒有地址區(qū),例如 P#12.0;001 表示輸入地址區(qū) I,例如 P#I12.0;010 表示輸出地址區(qū) Q,例如 P#Q12.0;011 表示標志位地址區(qū) M,例如 P#M12.0;100 表示數(shù)據(jù)塊(DB)中的數(shù)據(jù),例如 P#DB1.DBX12.0101 表示數(shù)據(jù)塊(DI)中的數(shù)據(jù),例如 P#DI1.DIX12.0110 表示區(qū)域地址區(qū) L,例如 P#L12.0;111 表示調(diào)用程序塊的區(qū)域地址區(qū) V,例如 P#V12.0;交叉區(qū)域指針格式如下:

P#指針與ANY指針

P#指針POINTER 是一種用于傳遞指針的形參數(shù)據(jù)類型,長度為 6 個字節(jié)。用于向被調(diào)用的函數(shù) FC 及函數(shù)塊 FB 傳遞復合數(shù)據(jù)類型(如 ARRAY、STRUCT 及 DT 等)的實參。在被調(diào)用的函數(shù) FC 及函數(shù)塊 FB 內(nèi)部可以間接訪問實參的存儲器。

圖6 P#指針

ANY指針

POINTER 是一種用于傳遞指針的形參數(shù)據(jù)類型,可視為 POINTER 類型的擴展,較 POINTER 類型為 復雜,長度為 10 個字節(jié),增加的 2 字節(jié),最高字節(jié) (Byte 0) 固定為 B#16#10,第二字節(jié) (Byte 1) 為 ANY 指針所指向區(qū)域的數(shù)據(jù)類型,而接下來的 2 字節(jié) (BYTE 3, 4) 組合為一個 INT,為 ANY 指針所指 定區(qū)域的長度,稱為重復系數(shù) Repetition factor) 。其余 6 字節(jié)作用與 POINTER 類型相同。格式如下:

圖7 ANY指針

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5004

    文章

    13048

    瀏覽量

    460888
  • 間接尋址
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    8020

原文標題:詳解PLC間接尋址與直接尋址~

文章出處:【微信號:gongkongworld,微信公眾號:工控資料窩】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    PLC里面的立即尋址、直接尋址間接尋址你都搞懂了嗎?

    我們都知道西門子200plc有三種尋址方式:立即尋址、直接尋址
    的頭像 發(fā)表于 01-04 15:20 ?1741次閱讀
    <b class='flag-5'>PLC</b>里面的立即<b class='flag-5'>尋址</b>、<b class='flag-5'>直接</b><b class='flag-5'>尋址</b>、<b class='flag-5'>間接</b><b class='flag-5'>尋址</b>你都搞懂了嗎?

    間接尋址是什么意思?

    間接尋址是什么意思?查表又是什么?EEPROM是如何定義的?
    發(fā)表于 07-14 07:46

    間接尋址的應(yīng)用

    介紹:本文介紹如何進行間接尋址,并舉例說明如何利用間接尋址來清內(nèi)存。
    發(fā)表于 07-01 11:56 ?14次下載

    寄存器間接尋址方式

    寄存器間接尋址方式   寄存器間接尋址是將指定的寄存器內(nèi)容為地址,由該地址所指定的單元內(nèi)容作為操作數(shù)。MCS-51規(guī)定R2或R1為間接
    發(fā)表于 03-14 15:29 ?5257次閱讀

    尋址方式分類及其詳解

    分類:尋址方式從大的方面可以分成直接尋址間接尋址直接尋址
    的頭像 發(fā)表于 01-30 16:03 ?3w次閱讀
    <b class='flag-5'>尋址</b>方式分類及其詳解

    如何在KEIL C中實現(xiàn)直接尋址間接尋址

    本文檔的主要內(nèi)容詳細介紹的是如何在KEIL C中實現(xiàn)直接尋址間接尋址。
    發(fā)表于 07-02 17:42 ?0次下載
    如何在KEIL C中實現(xiàn)<b class='flag-5'>直接</b><b class='flag-5'>尋址</b>和<b class='flag-5'>間接</b><b class='flag-5'>尋址</b>

    plc間接尋址方式

    間接尋址是指使用地址指針來存取存儲器中的數(shù)據(jù)。使用前,首先將數(shù)據(jù)所在單元的內(nèi)存地址放入地址指針寄存器中,然后根據(jù)此地址存取數(shù)據(jù)。
    發(fā)表于 10-24 08:47 ?6089次閱讀

    PLC間接尋址直接尋址

    存儲器間接尋址的地址給定格式是:地址標識符+指針。指針所指示存儲單元中所包含的數(shù)值,就是地址的確切數(shù)值單元。
    發(fā)表于 06-25 19:49 ?1646次閱讀
    <b class='flag-5'>PLC</b><b class='flag-5'>間接</b><b class='flag-5'>尋址</b>與<b class='flag-5'>直接</b><b class='flag-5'>尋址</b>

    plc尋址方式:立即尋址、直接尋址間接尋址

    我們都知道西門子200plc有三種尋址方式:立即尋址、直接尋址、
    的頭像 發(fā)表于 09-25 11:50 ?2.2w次閱讀
    <b class='flag-5'>plc</b>的<b class='flag-5'>尋址</b>方式:立即<b class='flag-5'>尋址</b>、<b class='flag-5'>直接</b><b class='flag-5'>尋址</b>、<b class='flag-5'>間接</b><b class='flag-5'>尋址</b>

    S7-300間接尋址中的寄存器間接尋址詳解

    寄存器間接尋址是通過使用CPU內(nèi)部集成的兩個地址寄存器AR1和AR2存儲地址指針來實現(xiàn)的尋址方式,使用時分為內(nèi)部區(qū)域間接尋址和交叉區(qū)域
    的頭像 發(fā)表于 11-20 17:38 ?1w次閱讀
    S7-300<b class='flag-5'>間接</b><b class='flag-5'>尋址</b>中的寄存器<b class='flag-5'>間接</b><b class='flag-5'>尋址</b>詳解

    地址寄存器間接尋址進行詳解

    關(guān)于間接尋址分為存儲器間接尋址和地址寄存器間接尋址,本文主要針對地址寄存器
    的頭像 發(fā)表于 01-30 15:17 ?4860次閱讀
    地址寄存器<b class='flag-5'>間接</b><b class='flag-5'>尋址</b>進行詳解

    如何區(qū)分西門子PLC直接尋址間接尋址

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

    plc間接尋址有什么用?

    plc間接尋址有什么用? PLC間接尋址個非常重
    的頭像 發(fā)表于 09-15 14:59 ?1340次閱讀

    PLC中為什么要間接尋址?直接尋址不行嗎?

    PLC中為什么要間接尋址直接尋址不行嗎? PLC,也稱程序可編程控制器,是
    的頭像 發(fā)表于 09-15 14:59 ?1552次閱讀

    什么是PLC直接尋址間接尋址?

    什么是PLC直接尋址間接尋址?? PLC直接
    的頭像 發(fā)表于 09-15 14:59 ?2284次閱讀