一、前言
在手上沒有真實的西門子PLC設備情況的情況下,PLC本地仿真器可以為我們進行開關量和簡單模擬量的程序仿真。但工控安全人員想在沒有真實PLC的條件下獲取S7通訊數據報文的時候,或者想測試第三方上位軟件與西門子PLC通訊的時候,這種本地的PLC仿真器就無法勝任了,本文分享一種西門子PLC的網絡仿真器搭建方法。
二、搭建方法
這里我們準備兩個虛擬機,操作系統都為win7 64位專業版:1、操作機(準備Snap7 Client Demo工具及組態王軟件,采用192.168.11.2IP地址)2、靶機(安裝了step7 v5.5及plcsim v5.4 sp5,采用192.168.11.1IP地址)。
在靶機中打開SIMATIC Manager軟件,新建項目test2,如下圖:

在新建項目test2點擊插入新對象,并選擇SIMATIC 300站點,如下圖:

分別點擊SIMATIC300(1)>硬件,進入硬件配置界面,如下圖:

在HW Config界面下選擇SIMATIC 300,并選擇RACK-300下的Rail,如下圖:

在UR(0)對話框中的序號槽1中點擊右鍵分別插入對象PS 307 2A,如下圖:

在UR(0)對話框中的序號槽2中點擊右鍵分別插入對象CPU 314C-2PN/DP V3.3,,并新建子網設置ip地址為本PC級的IP地址,如下圖:

啟動虛擬PLC,點擊開始>所有程序>Siemens Automation>SIMATIC>STEP 7>S7-PLCSIM,如下圖:

進入S7-PLCSIM界面,選擇PLCSIM(TCP/IP),如下圖:

回到HW Config對話框,選擇下載到模塊,如下圖:


待下載完成,PLCSIM會顯示PLC的地址為之前設置的IP地址,如下圖:

啟動NetToPLCSIM,點擊bin>NetToPLCSim.exe,進入如下圖:

點擊add,彈出station對話框,在Network IP Address及Plcsim IP Address中選擇IP地址為之前設置的ip地址,進入如下圖:

點擊Start Server,PLC#001進入運行狀態,表示PLC網絡仿真器搭建成功進入如下圖:

三、攻擊測試
在操作機中打開Snap7 Client Demo工具,填寫仿真PLC的IP地址如:192.168.11.1,點擊Connect,如下圖:

再在control下點擊stop按鈕即停止PLC的命令,如下圖:

查看靶機中仿真PLC的狀態從run變為stop,同時可以用wireshark抓取其數據流量如下圖:



也可以在python中構建STOP包進行測試,如下圖:

四、第三方上位軟件通訊測試
在靶機(192.168.11.1)的仿真PLC建立了這樣一段簡單圖形圖代碼,一個簡單的設備啟停控制邏輯程序,%M0.0、%M0.1是指PLC的M類型的寄存器,0.0、0.1是M寄存器的某兩個偏移地址,對應中間變量。%Q0.0是PLC的Q類型的寄存器,0.0是Q寄存器的某個偏移地址。在這個控制程序中,%M0.0(變量名為start)對應是監控畫面上的啟動按鈕,進行對設備的啟動操作,%M0.1(變量名為stop)對應是監控畫面上的停止按鈕,進行對設備的停止操作。%Q0.0(變量名為out),對應PLC的輸出,即將控制信號輸出給設備。如下圖:

程序下載到仿真PLC后,對梯形圖代碼進行在線監控,這時輸出為0,如下

在操作機(192.168.11.2)中定義仿真PLC的IP地址及寄存器的地址,如下圖:


定義監控畫面如下:

按下start按鈕,圓形顯示變為綠色,證明我們按鈕發出的指令,仿真PLC收到啟動信號,將輸出置為1,并將仿真PLC輸出的結果反饋到監控畫面,同時我們監控靶機中仿真PLC的程序,我們發現仿真PLC輸出也是為1,證明操作機中組態王上位機與靶機中的虛擬機通訊成功,如下圖


同時我們可以獲取操作機的組態王(192。168.11.2)與靶機PLC仿真器(192168.11.1)的通訊報文,各類功能碼的數據報文,根據具體的操作。

五、總結
本文通過研究西門子PLC的網絡仿真搭建方法,為工控安全人員研究西門子s7協議提供一個便捷、實惠的渠道,無需花費大量的資金采購真實的PLC設備,同時也可為PLC工程師提供一種測試第三方上位軟件與西門子通訊的方法,更為重要的是,這種西門子PLC的網絡仿真搭建方法,可以勝任多人在局域網絡中對西門子PLC的安全研究工作(例如實訓平臺),只需啟動更多的靶機和操作機即可。
審核編輯:劉清
-
plc
+關注
關注
5051文章
14594瀏覽量
486890 -
仿真器
+關注
關注
14文章
1051瀏覽量
87263 -
虛擬機
+關注
關注
1文章
972瀏覽量
30466
原文標題:西門子PLC的網絡仿真搭建方法探討
文章出處:【微信號:西北工匠PLC學習基地,微信公眾號:西北工匠PLC學習基地】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
西門子PLC如何使用Modbus 485通訊傳輸接收數據
宏集方案 | 如何輕松管理西門子S7 PLC?S7Comm: 與西門子 PLC 直接通信的關鍵
plc以太網通訊模塊:西門子 S7-300PLC 與 S7-1200、觸摸屏及變頻器通訊案例
開疆智能ModbusTCP轉Profient網關連接西門子PLC與川崎機器人配置案例
西門子變頻器維修的五種實用方法
稱重儀表接入西門子 S7 PLC:Profibus DP 轉 Profinet 網關應用
Profinet轉CAN網關模塊對實現西門子PLC與CAN變頻器協同通信的助力研究
工業智能網關可以采集西門子PLC嗎
EtherCAT轉ProfiNet西門子1200PLC與伺服電機通訊案例全解
MCGS觸摸屏與西門子S7系列PLC以太網通信
分享一種西門子PLC的網絡仿真器搭建方法
評論