(以下來源公眾號授權-更多可見-https://mp.weixin.qq.com/s/uk0QMT59wlOD1wBSfxPx5Q-蘇州穩聯)
西門子S7-200 Smart PLC因其穩定性和易用性而廣泛應用。通過使用S7協議,可以實現對PLC數據的高效讀取和控制。本文將詳細介紹如何使用S7協議讀取西門子S7-200 Smart PLC的數據。
西門子 S7協議
適配PLC:S7-200 Smart
S7-300
S7-400
S7-1200
S7-1500
西門子目前在售的PLC一般都支持S7協議通信,以下主要講解EG8200Mini使用S7協議讀取西門子S7-200 Smart PLC的數據。
1.硬件連接
S7協議采用網口通信的方式,因此,只需要保證網關的LAN口IP和西門子PLC的IP在一個網段即可(注意:特殊情況下可以不在一個網段,需要設置路由,詳詢技術支持)。本例程IP地址分配如下:
2.PLC通信參數
2.1.查看機架/槽號
a.如果PLC型號是S7-200 Smart,無需設置機架號和槽號
b.如果PLC型號是S7-300/S7-400/S7-1200/S7-1500,在設備組態頁面下,選擇常規,項目信息,查看機架號和槽號:
2.2.打開訪問權限
如果PLC型號是S7-1200/S7-1500,需打開訪問權限,才能讀取到數據,具體操作如下:
a.右鍵單擊要使用的DB快,在彈出的會話框中選擇屬性,在彈出的會話框中,取消勾選優化的塊訪問:
右鍵單擊設備名稱,在彈出的會話框中選擇屬性,如圖設置訪問級別和連接機制:
3.網關設置
3.1. PLC連接設置
地址:PLC的IP 端口:102(S7通信默認102) 連接超時:2000 通訊超時:2000 型號:S200Smart

3.2.數據點位設置
在Siemens節點的參數列表內填寫要讀取的數據點,數據點填寫完成后,會按照設定的頻率自動讀取PLC的數據。
數據點一般PLC工程師會提供,拿到點位表后,按照網關要求的格式填寫數據點,具體對應關系可以參考:
本例程讀取VD20地址的數據,通過STEP7軟件可以看到VD20存儲的浮點數是:415.64,在參數列表,依次填寫地址/名稱/數據類型/數據長度,定時2秒循環讀取,如圖所示:
3.3.測試
a.如果PLC型號是S7-200 Smart,無需設置機架號和槽號
b.如果PLC型號是S7-300/S7-400/S7-1200/S7-1500,在設備組態頁面下,選擇常規,項目信息,查看機架號和槽號:
4.將兩者連起來
將畫布的注入節點和調試節點連接在一起,具體方法是:鼠標移動到注入節點的輸出口,按住鼠標左鍵不放,拖拽到調試節點的輸入口,松開鼠標即可
5.部署
此時,節點和流程僅存在于工作區中。如果需要流程執行,必須點擊部署按鈕將程序固化到網關內
6.測試
選中調試區的日志窗口,單擊注入節點的左側按鈕,日志窗口會打印時間戳
7.添加一個函數節點
你可以在函數節點里面通過JavaScript代碼對消息進行處理
刪除現有的連線(選擇連線,在鍵盤上按Delete鍵)
在注入節點和調試節點之間連接函數節點
雙擊函數節點打開編輯對話框,將以下代碼復制到對話框中,點擊完成按鈕關閉對話框,單擊部署按鈕
// Create a Date object from the payload var date = new Date(msg.payload); // Change the payload to be a formatted Date string msg.payload = date.toString(); // Return the message so it can be sent on return msg;
現在,單擊注入節點按鈕時,日志窗口的消息已經被函數節點格式化為可讀的時間戳
總結
本章節介紹了創建流程的基本概念,展示了如何使用注入節點手動觸發流程,以及調試節點如何在日志窗口查看信息,同時還展示了如何使用函數節點對消息進行處理,S7協議為讀取和控制西門子S7-200 Smart PLC提供了高效可靠的解決方案。通過合理配置和編寫讀取程序,可以輕松實現對PLC數據的獲取和應用。
源碼
所有的流程支持以json格式導入導出,方便與其他人分享做好的流程。本章節的流程json文件如下,復制后在菜單欄右上角選擇導入粘貼即可,導出同理
[{"id":"783c29e7b877e75e","type":"inject","z":"265cd2b9785ecf45","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":190,"y":200,"wires":[["948ded5b0cd90f27"]]},{"id":"013be0bcfbabf68b","type":"debug","z":"265cd2b9785ecf45","name":"調試 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":550,"y":200,"wires":[]},{"id":"948ded5b0cd90f27","type":"function","z":"265cd2b9785ecf45","name":"函數計算 1","func":"http:// Create a Date object from the payloadnvar date = new Date(msg.payload);n// Change the payload to be a formatted Date stringnmsg.payload = date.toString();n// Return the message so it can be sent onnreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":370,"y":200,"wires":[["013be0bcfbabf68b"]]}]
注意
其他的節點都可以理解為封裝好的函數節點。
審核編輯 黃宇
-
plc
+關注
關注
5028文章
13591瀏覽量
470584 -
封裝
+關注
關注
128文章
8357瀏覽量
144406 -
西門子
+關注
關注
98文章
3113瀏覽量
117440 -
SMART
+關注
關注
3文章
228瀏覽量
45134
發布評論請先 登錄
相關推薦
西門子S7-200SMART與WINCC如何通信?老工控人這樣做!

西門子S7-200與變頻器之間無線MODBUS通訊實例

西門子PLC S7-1500系列介紹

西門子1200、200smart、LOGO實現S7通訊演示

西門子plc200編程實例詳解
西門子S7協議PLC數據采集到MQTT物聯網平臺 ?

宏集物聯網工控屏通過 S7 ETH 協議采集西門子 1200 PLC 數據

西門子PLC產品系列有哪些
干貨分享:宏集物聯網HMI通過S7 MPI協議采集西門子400PLC數據

評論