新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 西門子S7-300PLC的寄存器間接尋址問題

        西門子S7-300PLC的寄存器間接尋址問題

        作者: 時間:2016-12-16 來源:網絡 收藏
        在FC1程序中,第4條指令L W [AR1,P#0.0],后面注釋是取指針第1個字內的數據塊編號,第9條指令L D [AR1,P#2.0],后面的注釋是取指針內數據區的起始地址。這2條指令格式一樣,怎么一個是取地址內的內容(數據塊編號),一個是取起始地址?

        答:下圖是參數類型Pointer的結構:

        本文引用地址:http://www.104case.com/article/201612/330762.htm

        下面是書中的程序:

        參數類型為Pointer的輸入參數Start_Addr占6個字節,P##Start_Addr是第1個字節的地址。執行第二條指令后,AR1中是輸入參數Start_Addr(指針)的首地址,所以第4條指令裝入累加器的是指針第1個字內的數據塊編號,第9條指令“L D [AR1,P#2.0]”裝入的是指針第2個字節開始的雙字,即指針內數據區的起始地址。

        如果Start_Addr的實參為DB2.DBX4.0,第9條指令裝入的就是DBX4.0的地址(即DB4的地址)。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 南漳县| 浮梁县| 班戈县| 深泽县| 鄂托克前旗| 丰都县| 襄汾县| 米泉市| 丰县| 顺昌县| 怀仁县| 安陆市| 揭阳市| 江油市| 洪江市| 赤壁市| 长垣县| 江津市| 常宁市| 陆川县| 沁阳市| 瓦房店市| 太原市| 梅州市| 肇源县| 商南县| 鹤壁市| 镇安县| 西华县| 两当县| 庆元县| 会宁县| 宁国市| 察雅县| 铁岭县| 汤原县| 都昌县| 昌江| 公主岭市| 武宁县| 赤壁市|