這篇文章講繼續深入對間接尋址的使用,並介紹S7-200smart v2.8求平均值指令,接下來一起來看求平均值如何做吧。
一、指令調用
調用庫如圖1所示,指令庫說明如下:
Pointer為(wei) 指針引腳,指向存放數據的起始地址,數據類型為(wei) 字;
Number為(wei) 數據的長度,可以是變量也可以是常量;
INDX為(wei) FOR循環的次數地址,可以忽略,但是不能外部進行賦值幹擾;
Out為(wei) 求得平均值輸出地址,數據類型為(wei) 浮點數。
圖1
二、average_value指令庫編寫(xie)
重複調用的庫,需要變量建立的正確,否則多次調用無法正常運行,如果大家這邊對建立庫不太會(hui) ,可以先去看一下這方麵的課程學習(xi) 一下。
1、形參變量表建立
變量表建立如圖2所示。
圖2
2、Countdown形參子程序
Countdown子程序每一段程序都有注釋講解,如圖3和圖4所示,這裏不做介紹,如果有問題可以留言。
圖3
圖4
三、S7-200smart v2.8求平均值指令
對於(yu) 訂貨號位數為(wei) 0AA1的CPU可以升級為(wei) V2.8的固件版本,圖5所示。
圖5
V2.8的軟件支持平均值,指令為(wei) 浮點數中的AVG_R和整數運算中的AVG_B、AVG_W、AVG_DI,如圖6所示。
獲取源 StartAddr引腳字節、字、雙字、浮點數地址序列中所設置範圍內(nei) 的平均值,並將其寫(xie) 入到目標字節、字、雙字、浮點數地址,長度由Len引腳決(jue) 定。
圖6
如圖7所示,由於(yu) 是AVG_B是字節指令,所以會(hui) 把從(cong) VB1500(VB1500—VB1504)連續的5個(ge) 地址數據加起來,然後求平均值輸出到VB202。
圖7
總結
本文章主要介紹間接尋址的應用,對於(yu) CPU固件版本和軟件版本為(wei) 2.8的求平均值指令做了簡單的介紹,需要注意的是,訂貨號後四位為(wei) 0AA0的CPU固件最高隻能2.5,這時候隻能字節寫(xie) 求平均值了。
以上就是整個(ge) 29.西門子S7-200smart間接尋址應用—求平均值的內(nei) 容,文章內(nei) 容如有錯誤或者有不懂的問題請聯係我們(men) 。