談談S7-200 Smart系列PLC的特殊存儲器(SMB0/SMB1)

S7-200 Smart系列PLC將系統相關的一些狀態(比如:CPU報錯、指令溢出、IO錯誤)存放在特殊的內存地址中,可以在編程的時候通過讀取相關內存地址的內容來獲取當前的狀態(比如:若系統存在IO錯誤,則SM5.0將被置1);也可以通過編程來修改相關內存地址的內容來達到參數配置的目的(比如:SMB30可以來配置系統串口Port0的參數)。這些特殊的內存區域,被稱為特殊存儲器(Special Memory),英文簡寫「SM」。

特殊存儲器有兩種存儲形式:SMB和SMW。「SMB」表以位元組(Byte)形式存儲的特殊存儲器;「SMW」表示以「字(Word)」的形式存儲的特殊存儲器。在編程的時候,可以"字"、"位元組"、"位"的方式對特殊存儲器進行訪問,位的方式訪問按照"SM<位元組編號>.<位編號>"的規則進行,比如前面提到的「SM5.0」。

S7-200 Smart系列PLC提供了大量的特殊存儲器,今天這篇文章,我們先來聊聊SMB0和SMB1。

SMB0稱為「系統狀態(System Status)」特殊存儲器,顧名思義,它與系統的狀態相關。SMB0提供了8個可訪問的位(SM0.0~SM0.7),CPU在每次掃描周期的結束之前都會更新這些位(bits)的狀態。

  • SM0.0(Always_ON)會被始終置1,
  • SM0.1(First_Scan_ON)在CPU的第一個掃描周期被置1,之後被複位。該位可以用來執行初始化的相關操作,類似於S7-300的OB100的功能;
  • SM0.4(Clock_60s)提供一個60秒的時鐘脈衝(30s為真,30s為假),可以用於簡單延時或者蜂鳴器的報警;
  • SM0.5(Clock_1s)提供一個1秒的時鐘脈衝(0.5s為真,0.5秒為假),可以用於簡單延時或者蜂鳴器的報警;
  • SM0.6(Clock_Scan)提供一個掃描周期時鐘,在一個掃描周期其值為真(TRUE),在下一個掃描周期其值為假(False),如此反覆。該位可以作為掃描周期計數器來使用。

更多SMB0的位信息,請看下面的表格:

SMB1稱為「指令執行狀態(Instruction execution status)」特殊存儲器,包含8個位(SM1.0~SM1.7),這些位會在指令執行期間被置位或複位。

  • SM1.0(Resut_0)當運算結果為0時,會被置位;
  • SM1.0(Overflow_Illegal)當出現運算溢出或檢測到非法數值時,被置位;
  • SM1.1(Neg_Resut)當運算結果為負數時,數學運算指令會將其置位;
  • SM1.2(Divide_By_0)當CPU檢測到除數為0時,該位被置位;

SMB1還包括關於表操作、BCD及十六進位數(HEX)的指令狀態信息位,請看下面的表格:

S7-200 smart系列PLC的特殊存儲器很多,本文介紹了其中的SMB0和SMB1,更多內容在之後的文章中繼續介紹。

歡迎登陸官網(founderchip.com)瀏覽其它技術類(機器人、單片機、工業通信)的原創文章。

推薦閱讀:

認識S7-200 Smart系列PLC的擴展模塊之數字量輸出
為什麼「電」可以讓那麼多東西運作起來?
單斷路器雙母線接線的倒閘操作是否能帶電合隔離開關?
如何評價河海大學的電氣工程及其自動化這個專業?

TAG:可编程逻辑控制器PLC | 电气工程及其自动化专业 | 电气自动化 |