這個問題,在西門子PLC中修改變數和強制修改變數,是兩個不同的概念,題主有必要把先這兩點搞清楚!
強制變數和修改變數是不一樣的概念:
強制變數多於用除錯時候,因為變數一旦被強制就始終有效,掃描週期的每次開始結束都會直接使用強制後的值,所有的寫操作都不能改變這個強制值,只能取消取消強制才行!
而修改變數修改的值,是可以被程式中的寫操作執行後變成一個新值的!
這個圖片就是STEP7幫助檔案中的截圖,可以看到,資料塊(DB)在西門子300/400中是不支援強制的,但是支援直接修改變數值!---這裡再次說明了西門子至少是STEP7軟體中強制和修改是兩種操作,且DB塊不支援強制操作!
此時我手上沒有實際的300cpu模組,且S7-plcsim不支援強制變數(這個可以去翻看simulation的幫助文件),所以我沒法給你截圖操作的過程!
就簡單說這麼多了,其實如果你的變數不是在程式中多次的即被讀又被寫的話,那麼也不必去強制變數。
這個問題,在西門子PLC中修改變數和強制修改變數,是兩個不同的概念,題主有必要把先這兩點搞清楚!
強制變數和修改變數是不一樣的概念:
強制變數多於用除錯時候,因為變數一旦被強制就始終有效,掃描週期的每次開始結束都會直接使用強制後的值,所有的寫操作都不能改變這個強制值,只能取消取消強制才行!
而修改變數修改的值,是可以被程式中的寫操作執行後變成一個新值的!
這個圖片就是STEP7幫助檔案中的截圖,可以看到,資料塊(DB)在西門子300/400中是不支援強制的,但是支援直接修改變數值!---這裡再次說明了西門子至少是STEP7軟體中強制和修改是兩種操作,且DB塊不支援強制操作!
此時我手上沒有實際的300cpu模組,且S7-plcsim不支援強制變數(這個可以去翻看simulation的幫助文件),所以我沒法給你截圖操作的過程!
就簡單說這麼多了,其實如果你的變數不是在程式中多次的即被讀又被寫的話,那麼也不必去強制變數。