當前位置:
首頁 > 最新 > S7-200 SMART PLC編程技巧及陷阱(2)

S7-200 SMART PLC編程技巧及陷阱(2)

累加器AC0、AC1、AC2、AC3的使用陷阱

編程時很多人習慣使用累加器作為中間變數,比如要把一個BYTE變數值賦給一個子程序的DINT輸入參數,通常需要INT、DINT兩個中間變數地址,先把BYTE轉換成INT,再把INT轉換成DINT。如果使用累加器,可以把BYTE變數值MOVE_B給AC0,然後AC0直接賦值給DINT參數。好處是顯而易見的。

但是當項目調用了外部庫功能子程序的時候,使用累加器就要注意了。

看下面一個例子:

編寫一個簡單的使用了AC0的子程序,然後生成庫,供其它項目調用。

在另外一個項目中調用該庫子程序,然後再添加一段使用AC0作為中間變數計算三個數和的程序

編譯下載運行後發現,1+2+3的結果賦值給VW10變成了94,多了88,而這個值就是調用的外部庫子程序賦值給AC0的值。

綜上所述,在調用了不確定是否使用了累加器的外部庫子程序的項目中,要避免自己使用的累加器值受到庫程序的干擾。

上面程序可以改寫成:

運行結果正確

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 工控技術FAQ 的精彩文章:

TAG:工控技術FAQ |