西門子模塊6ES7215-1HG40-0XB0詳細說明
西門子模塊6ES7215-1HG40-0XB0詳細說明
TIA 博途(TIA Portal)是西門子新推出的,面向工業(yè)自動化領域的新一代工程軟件平臺,主要包括三個部分:SIMATIC STEP 7、SIMATIC WINCC和SIMATIC startdrive。
其中SIMATIC STEP7是用于組態(tài)s7-1200、s7-1500、s7-300/400和winac控制器系列的工程組態(tài)軟件,也可以理解為西門子PLC的編程軟件,簡單的說TIA博途是寫代碼控制PLC的。
我們在編程中常用的塊一共有4種,分別為:
帶頭大哥 組織塊(OB塊)
搬磚小弟 函數 (FC塊)
包工頭 函數塊(FB塊)
倉庫主管 數據塊(DB塊)
一、先來說說大哥OB塊
這里我們最熟悉的就是PLC的主程序OB1,他是PLC中最先蘇醒的一個塊,一開始就存在于程序之中,在PLC啟動后,將啟動執(zhí)行OB1,PLC會不停的循環(huán)執(zhí)行OB1,來調用在OB1中的FC塊和FB塊。形象的說明就是PLC會將OB1中的程序無限的重復執(zhí)行,而OB1中我們可以調用FC塊來幫忙干活。
在主程序OB1中調用FC塊和FB塊
OB可以是組織者,也可以自己動手操作,OB1塊中可以直接編寫梯形圖進行編程,也可以達到自動控制的目的,但是利用FC塊和FB塊會使程序看上去簡潔明了,結構清晰,所以請多調用。
二、再來看搬磚的工人 函數FC塊
函數FC塊就是用戶編寫的程序塊,是不帶存儲器的代碼塊,打個比方,把編程當成做菜,編程者在FC塊中將所有的食材和調料都準備好了,切絲的切絲,切塊的切塊,所有功能都已按照預先的菜譜寫好了,但是FC塊并沒有煤氣灶,無法加熱這份準備好的食材,需要OB塊給他一個加熱食物的地方,這就是OB塊調用了FC塊,給他提供了能量,這下FC塊就可以將這道菜做出來,來實現編程者的想法。
FC塊中所有的變量和數值,都是無法存儲的,在沒東西給FC塊寫數據之前,這些變量都是沒有數值的,他就是一個平凡的操作工,只要他被OB塊調用,就會把自己內部的程序激活,開始產生一些效果。
如下圖,如果FC4被調用,程序段1就會被激活,如果此時“變量1"滿足條件的話,就可以使“線圈2"觸發(fā),這是一個的程序模型,當1被觸發(fā)時,觸發(fā)2.
FC塊的程序
三、包工頭 函數塊(FB塊)
顧名思義,FB塊是比FC塊高級一點的存在,函數塊(FB)屬于編程者可以自己編程的塊。函數塊是一種自帶內存的塊。傳送到FB的參數和靜態(tài)變量保存在實例DB中。臨時變量則保存在 本地數據堆棧中。執(zhí)行完FB時,不會丟失DB中保存的數據。但執(zhí)行完FB時,會丟失保存本地數據堆棧中的數據。
FB塊可以視為單個功能模塊,可以獨立完成編程者的想要的功能, 當然FC塊也可以完成相同的功能,只是每個人喜歡用的編程習慣不同而已,只要能達到目的就可以了~
FB塊中程序的變量可以使用自己的背景數據
只是FB塊也不能獨立自己動作,也還是需要OB塊進行調用的,FB塊被OB塊調用后顯示的和FC顯示的有差別,可以直接在上面更改參數進行控制FB塊的程序運行。如下圖。
在主程序OB1中被調用的FB塊
四、倉庫主管 數據塊(DB塊)
數據塊用于存儲用戶數據及程序中間變量。新建數據塊時,默認狀態(tài)是優(yōu)化的存儲方式,且數據塊中存儲的變量是非保持的。
我們常用的數據塊會把“優(yōu)化的塊"選項點掉,在程序中我們要用到各種變量,這些變量你要先在DB塊中進行創(chuàng)建,創(chuàng)建完成后就可以在編程時,進行使用。當然變量也有很多不同的類型,有bool,real,int,word之類的,根據編程者的需求進行創(chuàng)建。
每個變量會對應DB塊中的一個地址,每個DB塊自身都會有個編號,比如DB8,表示是第8個被創(chuàng)建的DB塊,內部的變量地址從0.0開始,然后DB塊的編號和變量的地址組合起來就是這個變量在程序中的名字。比如“變量1"的地址就為:DB8.DBX0.0,在編程中只要輸入DB8.DBX0.0就可以將變量1進行使用,十分方便。
DB塊中的變量
最后,我們的博途程序就是靠這四種塊來拼接而成的,OB塊調用FC或者FB塊來運行功能,DB塊負責將需要使用的變量提供給FB或FC塊,使程序達到某種編程者想要的效果。
就目前而言,在中國的工控市場上,西門子仍然占了很大的份額,因此對于上位機開發(fā)而言,經常會存在需要與西門子PLC進行通信的情況。然后對于西門子PLC來說,通信方式有很多,下面簡單列舉一下:
(1) S7通信:PLC作為服務器,上位機作為客戶端
(2) 開放式TCP通信:PLC作為服務器,上位機作為客戶端
(3) 開放式TCP通信:PLC作為客戶端,上位機作為服務器
(4) ModbusTCP通信:PLC作為服務器,上位機作為客戶端
(5) ModbusTCP通信:PLC作為客戶端,上位機作為服務器
(6) ModbusRTU通信:PLC作為主站,上位機作為從站
(7) ModbusRTU通信:PLC作為從站,上位機作為主站
(8) Simatic Net OPCDA通信
(9) Simatic Net OPCUA通信
(10) KepServer OPCDA通信
(11) KepServer OPCUA通信
由于篇幅有限,這次僅以西門子S7通信為例,說明下如何基于S7通信協議實現與西門子PLC之間的通信。
1. PLC軟件安裝及配置
目前西門子PLC主要使用的軟件包括STEP7-MicroWIN SMART、SIMATIC STEP7以及TIA Portal。TIA Portal已經兼容STEP 7,因此以后應該是STEP 7-MicroWIN SMART作為小型PLC的編程軟件,TIA作為中大型PLC的編程軟件,這里主要以博途為例進行說明:
如果大家需要軟件的,可以關注左上方公眾號,或者搜索微信公眾號:dotNet工控上位機,關注后發(fā)送關鍵詞:200SMART編程軟件即可獲取STEP 7-MicroWIN SMART V2.5軟件,發(fā)送關鍵詞:博圖V15即可獲取TIA V15.1編程軟件。
軟件安裝完成后,PLC的配置也很簡單,如果大家手頭沒有實際的PLC,也可以通過仿真的方式搭建PLC環(huán)境,具體可以參考文章:戳↓
基于S7-PLCSIM Advanced搭建S7通信仿真環(huán)境
無論使用何種方式,以下兩個地方需要進行配置一下:
PLC配置一:需要將PLC的允許來自遠程對象的PUT/GET通信訪問勾選。
PLC配置二:對于DB塊的訪問,需要取消勾選優(yōu)化訪問。
2. 通信平臺測試
(1)完成以上配置后,就可以通過自己開發(fā)的喜科堂通信測試平臺軟件進行測試,導航欄中選擇西門子PLC,然后輸入正確的IP地址,在CPU類型中選擇自己的CPU類型:
圖表 1新閣通信測試平臺
(1)輸入完成之后,點擊建立連接,建立連接之后,日志欄會有連接成功提示。
(2)在讀寫測試中,輸入相應的變量地址及變量類型,即可實現相關變量的通信讀寫及測試。