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

電子開發網

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

西門子S7-200 SMART PLC用指針存儲數據表的例子程序梯形圖實例  間接尋址

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2024/1/2

**用指針存儲數據表的例子程序**
本例中用 VD14 作為指向配方表的指針;
配方表的起始地址為 VB100,每條配方的數據長度為5字節,共定義4條配方;
VW1008 用來存儲配方號,如果每條配方的長度為 5 個字節,則用這個配方號乘以 5  就可以得到這個配方起始地址的偏移量,用指針加上此偏移量,就可以訪問表中的每一條配方。
最后將從VB1500 開始的 5 個字節數據復制到指定配方中。

梯形圖實例如下:

BLKMOV這里是傳送指令和普通的MOV_DW指令相比,它的區別在于MOV指令只能傳送一個變量,但是BLK可以批量傳送多個寄存器的值。最多傳255個。
如上圖是BLKMOV_B指令。他有3個管腳。左邊IN管腳的寄存器傳給OUT管腳的寄存器,N管腳是數量,以IN和OUT為首寄存器開始的N個寄存器。

西門子S7-200SMART PLC用指針存儲數據表的例子程序 

STL語句如下:

TITLE=**用指針存儲數據表的例子程序**
// 本例中用 VD14 作為指向配方表的指針;
// 配方表的起始地址為 VB100,每條配方的數據長度為5字節,共定義4條配方;
// VW1008 用來存儲配方號,如果每條配方的長度為 5 個字節,則用這個配方號乘以 5 
// 就可以得到這個配方起始地址的偏移量,用指針加上此偏移量,就可以訪問表中的每一條配方。
// 最后將從VB1500 開始的 5 個字節數據復制到指定配方中。


Network 1
// 網絡標題
// 創建一個指向配方表起始地址的指針
LD     SM0.0
MOVD   &VB100, VD14


Network 2
// 將配方號轉換成雙整型,這樣才可以和指針數據進行運算
LD     SM0.0
ITD    VW1008, VD18


Network 3
// 根據配方號計算偏移量,每條配方的長度為 5 個字節,用這個配方號乘以 5  就可以得到這個配方起始地址的偏移量
LD     SM0.0
MOVD   +5, VD22
*D     VD18, VD22


Network 4
// 指針加上此偏移量即可得到指向指定配方的指針
LD     SM0.0
+D     VD22, VD14


Network 5
// 將VB1500-VB1504數據傳送到指定配方中,VB1500-VB1504由用戶在狀態表中定義。
LD     SM0.0
BMB    VB1500, *VD14, 5

Tags:指針,間接尋址,西門子PLC,梯形圖實例  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

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