
1、概述
西門子S7-1200PLC支持多種和談通過以太網通訊方式,如OPC、TCP、S7、MODBUS-TCP等。TCP方式相比其它和談,具有更多的天真性,更快的數據相應等優點,自己即先容LabVIEW通過TCP方式與S7-1200 PLC通訊。
S7-1200PLC的TCP通訊方式,稱之為“開放式用戶通訊”,通過以太網發送或讀取數據。
2、測試環境
2.1 硬件平臺
1) PLC:CPU 1215C 固件v4.0;
2) PC一臺;
2.2 軟件平臺
1) 博途 TIA V14
2) LabVIEW 2012 或以上版本
2.3 團體思路
1) PLC編程:配置PLC --> 增加發送和汲取數據塊 --> 發送數據程序 --> 汲取數據程序 --> 編譯下載
2) LabVIEW編程:建立TCP連接 --> 汲取或發送數據 --> 關閉連接
3、操縱步驟
3.1 CPU配置
1) 翻開 TIA Portal,建立項目,增加CPU為1215C。
2) 雙擊“建筑組態”,切換到“建筑視圖”,點擊CPU,右鍵選定屬性。
3) 在常規欄,選定PROFINET 接口[X1]/以太網地點屬性,配置CPU的IP地點,本例配置為 192.168.0.10,如下圖所示:

圖 1
4) 在常規欄,選定體系和時間存儲器屬性,啟用體系存儲器字節和時鐘存儲器字節,如下圖:

圖 2
5) 要是傳輸的數據量大,且及時性要求高,可選定通訊負載屬性,把由通訊惹起的輪回負荷由默認為20%,進步到 50%。

圖 3
3.2 增加數據塊
1) 增加發送數據塊。該數據塊用于存儲PLC向LabVIEW發送的數據。點擊程序塊/增加新塊,在翻開的對話框中選定數據塊,輸入名稱,如 PlcSendData ,類型可選定全局DB。留意要是不一次性傳輸大量數據,可以干脆使用PLC變量,單次發送一個數據,不需要建立數據塊。

圖 4
2) 翻開該數據塊PlcSendData ,增加數據,名稱如 ArySendData,選定數據類型Array of Byte,即字節數組,數組長度配置為10。

圖 5
3) 點竄數據塊屬性。選中數據塊PlcSendData ,右鍵屬性,在屬性欄去掉優化的塊走訪,以支持絕對尋址模式。

圖 6
4) 增加汲取數據塊。該數據塊用于存儲LabVIEW向PLC發送的數據。數據塊名稱PlcRecvData,數據類型Array of Byte,操縱要領同步驟1、2、3。

圖 7
3.3 編寫發送數據程序
1) 翻開 Main 程序
2) 增加指令通訊/開放式用戶通訊/TSEND_C到程序段1,調用選項的數據塊名稱接納默認。

圖 8
3) 配置 TSEND_C 的通訊參數。選中 TSEND_C,右鍵屬性,切換到組態頁,選定連接參數屬性。同伴項選定未指定,連接數據選定新建,體系會自動建立一個連接數據,如PLC_1_Send_DB。輸入同伴的IP地點,如192.168.0.12。由同伴主動確立連接,PLC的端口可保存默認的2000。連接類型為TCP,連接ID接納默認值。(注:所謂同伴即與PLC通訊的另一方,可以為上位機PC、HMI等)

圖 9
4) 配置 TSEND_C 的輸入輸出。TSEND_C在檢測到參數 REQ 上升沿時執行發送功課,因此每次發送數據時,都應在REQ上發生一個脈沖,此處為了輕便,調用體系時鐘 Clock_10Hz(每秒10次),周期性的發送數據。參數DATA為待發送的數據,此處調用數據塊 PlcSendData。留意DATA接納純符號尋址時,發送 LEN 應配置為0,而接納絕對尋址時,應配置為現實發送數據的長度。通訊狀況參數 DONE\BUSY等按需要連接。

圖 10
3.4 編寫汲取數據程序
1) 增加指令通訊/開放式用戶通訊/TRCV_C 到程序段2,調用選項的數據塊名稱接納默認。
2) 配置 TRCV_C 的通訊參數。選中 TRCV_C,右鍵屬性,切換到組態頁,選定連接參數屬性。同伴項選定未指定,連接數據選定3.3 步驟自動建立的數據,如PLC_1_Send_DB,切記不要選定新建(此例的通訊連接為自動建立,因此發送與汲取共用一個連接,必需保持一致才氣平常通訊)。

圖 11
3) 配置 TRCV_C 的輸入輸出。TRCV_C在檢測到參數 EN_R 為1時啟動汲取。參數DATA為數據汲取區,此處調用3.2步驟所建立的數據塊PlcRecvData。留意DATA接納純符號尋址時,汲取 LEN 應配置為0,而接納絕對尋址時,應配置為現實發送數據的長度。通訊狀況參數 DONE\BUSY等按需要連接。具體參數信息請查看贊助文檔。

圖 12
4) 為了校驗PLC是否精確汲取到LabVIEW所發送的數據,可通過以下兩種要領測試。
a、將第3.3 的數據發送區配置為與數據汲取區相像的數據塊,即 PlcRecvData,使PLC把汲取到數據發送回LabVIEW。
b、增加 MOVE 指令接納數據挪動的要領實現此功效,如下所示:

圖 13
3.5 編寫LabVIEW程序
1) 建立TCP連接TCPOpenConnection。輸入PLC的IP地點 192.168.0.10 和端口號2000。

圖 14
2) 讀取數據TCPRead。輸入讀取長度10(PLC程序的發送數據塊長度為10個字節)。

圖 15
3) 發送數據TCPWrite。

圖 16
4) 關閉連接TCPClose Connection。
5) 前面板如下。點擊 Write,把數據WriteData寫入PLC,同時PLC把該數據發還LabVIEW,通過 ReadData顯示。要是ReadData數據與WriteData一致,即通訊平常。
