RM新时代有限公司

歡迎光臨入喜工業(yè)控制技術(shù)(上海)有限公司
當前位置
首頁(yè) > 新聞中心
S7-200 SMART 間接尋址
2020/12/3 12:42:04

S7-200 SMART 間接尋址

間接尋址是指用指針來(lái)訪(fǎng)問(wèn)存儲區的數據。指針以雙字的形式存儲其它存儲區的地址,只能將 V 存儲單元、L 存儲單元或累加器寄存器(AC1、AC2、AC3)用作指針。

注意:S7-200 SMART CPU 允許指針訪(fǎng)問(wèn)下列存儲區: I、Q、V、M、S、AI、AQ、SM、T(僅限當前值)和 C(僅限當前值)。不能使用間接尋址訪(fǎng)問(wèn)單個(gè)位或訪(fǎng)問(wèn) HC、L 或累加器存儲區。

創(chuàng )建指針步驟

要創(chuàng )建指針,必須使用“移動(dòng)雙字”指令,將間接尋址的存儲單元地址移至指針位置。;用“&”符號加上要訪(fǎng)問(wèn)的存儲區地址可建立一個(gè)指針,當指令中的操作數是指針時(shí),應該在操作數前加上“*”號。

如下圖所示為以創(chuàng )建和使用指針示例。在該示例中,輸入*AC1 表示 AC1 存儲指向“移動(dòng)字”(MOVW) 指令引用的字長(cháng)度值的指針,在 VB200 和 VB201 中存儲的值被移至累加器 AC0。

圖1.創(chuàng )建和使用指針舉例

其中:

  • 通過(guò)將VB200的地址(VW100的初始字節)移動(dòng)到AC1創(chuàng )建指針。
  • 移動(dòng)AC1中的指針引用的字值。

注意:修改指針的值時(shí),請記住調整所訪(fǎng)問(wèn)數據的大?。涸L(fǎng)問(wèn)字節時(shí),指針值加 1;訪(fǎng)問(wèn)定時(shí)器 或計數器的字或當前值時(shí),指針值加 2;訪(fǎng)問(wèn)雙字時(shí),指針值加 4。

例程1.通過(guò)指針訪(fǎng)問(wèn)數據表

例程所需條件:

1、軟件版本:STEP 7-Micro/WIN SMART V2.3

2、SMART CPU固件版本:V1.0及以上

3、通訊硬件:TP電纜(以太網(wǎng)電纜)

所實(shí)現的功能:

索引號VW1008=0時(shí),將指定的配方0(VB100~VB104) 數據傳送到(VB1500~VB1504)

索引號VW1008=1時(shí),將指定的配方1(VB105~VB109) 數據傳送到(VB1500~VB1504)

索引號VW1008=2時(shí),將指定的配方2(VB110~VB114) 數據傳送到(VB1500~VB1504)

索引號VW1008=3時(shí),將指定的配方3(VB115~VB119) 數據傳送到(VB1500~VB1504)

依次類(lèi)推,具體的程序說(shuō)明,參考例程內的描述。

 Addressing_1

例程2.通過(guò)指針存儲數據表

例程所需條件:

1、軟件版本:STEP 7-Micro/WIN SMART V2.3

2、SMART CPU固件版本:V1.0及以上

3、通訊硬件:TP電纜(以太網(wǎng)電纜)

所實(shí)現的功能:

索引號VW1008=0時(shí),將(VB1500~VB1504)數據傳送到指定的配方0(VB100~VB104)

索引號VW1008=1時(shí),將(VB1500~VB1504)數據傳送到指定的配方1(VB105~VB109)

索引號VW1008=2時(shí),將(VB1500~VB1504)數據傳送到指定的配方2(VB110~VB114)

索引號VW1008=3時(shí),將(VB1500~VB1504)數據傳送到指定的配方3(VB115~VB119)

依次類(lèi)推,具體的程序說(shuō)明,參考例程內的描述。

 Addressing_2

例程3.通過(guò)地址偏移量來(lái)訪(fǎng)問(wèn)V存儲區數據

例程所需條件:

1、軟件版本:STEP 7-Micro/WIN SMART V2.3

2、SMART CPU固件版本:V1.0及以上

3、通訊硬件:TP電纜(以太網(wǎng)電纜)

所實(shí)現的功能:

本例程可以實(shí)現對區任意字節數據的訪(fǎng)問(wèn)。

VD1000作為指針,指向VB0,然后利用VD1004存儲的地址偏移量改變指針值,即,VD1000指向VD1000+VD1004的地址,并將該地址的數據復制到VB1008。

通過(guò)改變VD1004,可以訪(fǎng)問(wèn)V區的任意單元。

舉例:

VD1004=0時(shí),將VB0的數據傳送到VB1008,

VD1004=1時(shí),將VB1的數據傳送到VB1008,

VD1004=100時(shí),將VB100的數據傳送到VB1008,

依次類(lèi)推,具體的程序說(shuō)明,參考例程內的描述。

 Addressing_3

免責聲明

本例程僅供參考,程序中的CPU版本、類(lèi)型可能與用戶(hù)實(shí)際使用不同,用戶(hù)可能需要先對例子程序做修改和調整,才能將其用于測試。本例程的作者和擁有者對于該例程的功能性和兼容性不負任何責任,使用該例程的風(fēng)險完全由用戶(hù)自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線(xiàn)支持,用戶(hù)不必為此聯(lián)系西門(mén)子技術(shù)支持與服務(wù)部門(mén)。

聯(lián)系方式
CONTACT US

電話(huà):13818569113      15721373211

郵箱:fushidianji@139.com

網(wǎng)址:http://m.xiangtai88.cn

地址:上海青浦區北青公路7171號111-112室

用手機掃描二維碼關(guān)閉
RM新时代有限公司