選單

西門子S7-12001500 PLC新的程式架構

今天這篇文章,我們來聊聊西門子PLC的程式架構,重點介紹下S7-1200/1500的新架構。

西門子S7-12001500 PLC新的程式架構

與個人計算機類似,PLC中也執行兩類程式:作業系統和使用者程式。

①作業系統是PLC各種資源的大管家,負責管理儲存區、處理各種中斷、執行使用者程式等。

②使用者程式是由PLC軟體工程師編寫的、完成特定任務的程式。使用者程式必須被作業系統呼叫才能執行,在西門子PLC中,作業系統呼叫使用者程式的介面被稱為組織塊。

組織塊有很多型別,但總體上可以分為兩類:程式迴圈組織塊和中斷組織塊。程式迴圈組織塊是一種優先順序最低的組織塊,使用者程式多數放在該組織塊中執行;中斷組織塊包括迴圈中斷、時間中斷、硬體中斷等各種型別,一般用來執行特定的任務;

早期的西門子PLC程式架構就是程式迴圈組織塊+中斷組織塊。中斷組織塊可以有多個,但程式迴圈組織塊只有一個,即OB1。對於一個很大的專案,大量的程式碼都在OB1中被呼叫,會有一種架構不清晰的感覺。

西門子S7-1200/1500系列PLC允許建立一種更清晰的程式架構,總的來看,它也是採用程式迴圈組織塊+中斷組織塊的方式。但是與之前只有一個OB1不同,新架構允許建立多個程式迴圈組織塊,新的程式迴圈組織塊的編號大於等於123即可。

舉個例子,假設某專案有3個不同的任務,我們可以在專案樹中新建三個組:Task1、Task2和Task3,在每個任務組中都新增一個程式迴圈組織塊,如下圖添加了名稱為Main_Task1(OB123)、Main_Task2(OB1000)和Main_Task3(OB1100)三個程式迴圈組織塊:

西門子S7-12001500 PLC新的程式架構

每個任務所需要的函式、函式塊和資料塊可以新增到該組中,並被該組的程式迴圈組織塊呼叫即可,如下圖所示:

西門子S7-12001500 PLC新的程式架構

你可能會有一個問題:這種有多個程式迴圈組織塊的程式是怎樣執行的呢?

答案是作業系統會按照程式迴圈組織塊的編號依次呼叫它們。比如上述例程中有4個程式迴圈組織塊:OB1、OB123、OB1000和OB1100,作業系統會先呼叫OB1、接下來呼叫OB123、OB1000,最後呼叫OB1100。這樣,所有的程式迴圈組織塊都會被呼叫,其內部呼叫的使用者程式就得以執行。

再次說明一下:所有的程式迴圈組織塊的優先順序都是最低的,也就是它們都可以被中斷。

好了,關於S7-1200/1500的新程式架構就介紹到這裡。