在現代工業生產中,經常遇到上位機需要和第三方下位機通訊,比如第三方儀表,變頻器,溫度模塊,壓力變送器等等,這下就需要ModbusRTU,ModbusTCP/IP協議了,若您的第三方設備支持modbusTCP/IP協議,這時就可以采用網絡通訊了。
今天我們以博途平臺來介紹西門子1200和1500的TCP通訊,通過這個案例過后可以舉一反三,應用到實際的項目中。本案例僅供參考。
我們在做這個項目案例時需要滿足以下軟硬件要求:
1.)一臺西門子1200系列PLC(本案例是1215DCDCDC,控制器不一定和本案例的一樣,只要支持modbusTCP協議就可以);
2.)一臺西門子1500系列PLC(本案例是1513,控制器不一定和本案例的一致,支持modbusTCP協議就可以);
3.)一臺安裝上博途V16軟件電腦;
4.)通訊網線兩條即DC24V/10A開關電源一臺。
滿足以上條件后,我們打開博途開始組態等工作,這里先組態一個服務器(1513PLC),并建立一個服務器通訊數據DB塊:
建立方法:
在“程序塊”里添加一個名為“TCON_IP_V4”的數據塊,這里無需取消“訪問優化塊”。在靜態變量“Static”里添加數據名稱為“TCON”,數據類型“TCON_IP_V4”的通訊數據。
把“TCON”數據打開進行設置參數,“lnterfaceld”(通訊硬件端口)設置成“64”,ID設置為“8”,“Connection Type”(通訊協議)設置成16#0B,默認為TCP通訊協議,“ActiveEstblished”(建立連接),“1”為主動連接(客戶機),“0”為被動連接(服務器),在繼續打開“RemoteAddress”下找到“ADDR”數組來進行設置通訊IP地址,(一般作為服務器默認不設置),最后設置“LocalPort”服務器端口號為“502”。
我們調用TCP通訊指令塊“MB_SERVER”,并把它拖拽到程序端進行參數設置:
在把服務器程序寫完,我們組態一個客戶端PLC(即1215PLC),組態完畢后,也需要添加一個通訊數據DB塊,這里和服務器參數稍微有點區別,如下圖所示:
客戶機和服務器“TCON_IP_V4”的數據塊參數區別在于以下幾個參數:
1.)ActiveEstblished”(建立連接),“1”為主動連接(客戶機),“0”為被動連接(服務器),這里是客戶機了,就填寫“1”
2.)打開“RemoteAddress”下找到“ADDR”數組來進行設置通訊IP地址,(這里為客戶機,需要填寫服務器的IP地址,也就是西門子1513PLC的);
3.} Remote Addrese這里需要填寫服務器端口號(502);
4.)LocalPort”服務器端口號為“0”。
待通訊參數設置完畢后,添加一個TCP通訊指令“MB——CLAYend”如下圖:
從客戶機向服務器寫數據
我們添加一個讀取服務器的程序:
從客戶機讀取服務器數據(服務器寫入數據給客戶機)
讀取要求:
把服務器端(西門子1513)端MW20-MW28五個數據存到客戶機(西門子1215 )里的MW50-MW58里面。也可以反過來說服務器寫入到客戶機里面了。
控制器在線監控如下:
狀態監控:
1200/1500數據相互傳遞
以上簡單的介紹1200和1500PLC通過Modbus TCP通訊協議互傳數據,希望給想學習西門子PLC通訊的朋友一個參考和幫助,文章中難免有寫的不完善甚至錯誤的地方,望大神批評指正,小的在這感謝了!
-
plc
+關注
關注
5011文章
13297瀏覽量
463376 -
西門子
+關注
關注
94文章
3039瀏覽量
115881 -
變頻器
+關注
關注
251文章
6555瀏覽量
144733 -
MODBUS
+關注
關注
28文章
1805瀏覽量
77003 -
TCP
+關注
關注
8文章
1353瀏覽量
79077
發布評論請先 登錄
相關推薦
評論