回覆列表
-
1 # 控制研究控
-
2 # 星耀影片
SM1.1是西門子200系列PLC中的特殊標誌位,西門子官方已經對其作了定義,程式設計的時候我們只能引用,或者說只能讀而不能寫。
SM1.1是檢測到非法資料或者溢位結果時候,該位的狀態將由0變為1。資料非法很容易理解,溢位--水滿則溢,儲存空間裝不下了就可以說是溢位。
比如,MW0和MW2中的內容相加後,得到的資料超出了MW4的最大儲存範圍,因此程式這裡就報錯了,順便說一聲是CPU執行後才報錯的,在CPU沒有用運時候編譯檢查時候,軟體是不能發現這個錯誤的。求和的資料大於儲存區的最大範圍就叫做溢位結果,因此SM1.1此刻也就從0變成了1。
SM1.1是西門子200系列PLC中的特殊標誌位,西門子官方已經對其作了定義,程式設計的時候我們只能引用,或者說只能讀而不能寫。在其程式設計軟體的幫助檔案中,我們可以查詢到其具體含義,見下圖:
SM1.1是檢測到非法資料或者溢位結果時候,該位的狀態將由0變為1。資料非法很容易理解,溢位--水滿則溢,儲存空間裝不下了就可以說是溢位。為了顯示我研究問題是認真的,還是發程式監控圖來說明問題,呵呵。
(為何在問答裡邊發的圖片,就不能顯示作者的水印呢?)
如圖,ADD_I是整數相加指令,MW0和MW2中的內容相加後,得到的資料超出了MW4的最大儲存範圍,因此程式這裡就報錯了,順便說一聲是CPU執行後才報錯的,在CPU沒有用運時候編譯檢查時候,軟體是不能發現這個錯誤的。求和的資料大於儲存區的最大範圍就叫做溢位結果,因此SM1.1此刻也就從0變成了1,M20.0也就被寫1了。