一、前言
在手上沒有真實(shí)的西門子PLC設(shè)備情況的情況下,PLC本地仿真器可以為我們進(jìn)行開關(guān)量和簡單模擬量的程序仿真。但工控安全人員想在沒有真實(shí)PLC的條件下獲取S7通訊數(shù)據(jù)報文的時候,或者想測試第三方上位軟件與西門子PLC通訊的時候,這種本地的PLC仿真器就無法勝任了,本文分享一種西門子PLC的網(wǎng)絡(luò)仿真器搭建方法。
二、搭建方法
這里我們準(zhǔn)備兩個虛擬機(jī),操作系統(tǒng)都為win7 64位專業(yè)版:1、操作機(jī)(準(zhǔn)備Snap7 Client Demo工具及組態(tài)王軟件,采用192.168.11.2IP地址)2、靶機(jī)(安裝了step7 v5.5及plcsim v5.4 sp5,采用192.168.11.1IP地址)。
在靶機(jī)中打開SIMATIC Manager軟件,新建項(xiàng)目test2,如下圖:
在新建項(xiàng)目test2點(diǎn)擊插入新對象,并選擇SIMATIC 300站點(diǎn),如下圖:
分別點(diǎn)擊SIMATIC300(1)>硬件,進(jìn)入硬件配置界面,如下圖:
在HW Config界面下選擇SIMATIC 300,并選擇RACK-300下的Rail,如下圖:
在UR(0)對話框中的序號槽1中點(diǎn)擊右鍵分別插入對象PS 307 2A,如下圖:
在UR(0)對話框中的序號槽2中點(diǎn)擊右鍵分別插入對象CPU 314C-2PN/DP V3.3,,并新建子網(wǎng)設(shè)置ip地址為本PC級的IP地址,如下圖:
啟動虛擬PLC,點(diǎn)擊開始>所有程序>Siemens Automation>SIMATIC>STEP 7>S7-PLCSIM,如下圖:
進(jìn)入S7-PLCSIM界面,選擇PLCSIM(TCP/IP),如下圖:
回到HW Config對話框,選擇下載到模塊,如下圖:
待下載完成,PLCSIM會顯示PLC的地址為之前設(shè)置的IP地址,如下圖:
啟動NetToPLCSIM,點(diǎn)擊bin>NetToPLCSim.exe,進(jìn)入如下圖:
點(diǎn)擊add,彈出station對話框,在Network IP Address及Plcsim IP Address中選擇IP地址為之前設(shè)置的ip地址,進(jìn)入如下圖:
點(diǎn)擊Start Server,PLC#001進(jìn)入運(yùn)行狀態(tài),表示PLC網(wǎng)絡(luò)仿真器搭建成功進(jìn)入如下圖:
三、攻擊測試
在操作機(jī)中打開Snap7 Client Demo工具,填寫仿真PLC的IP地址如:192.168.11.1,點(diǎn)擊Connect,如下圖:
再在control下點(diǎn)擊stop按鈕即停止PLC的命令,如下圖:
查看靶機(jī)中仿真PLC的狀態(tài)從run變?yōu)閟top,同時可以用wireshark抓取其數(shù)據(jù)流量如下圖:
也可以在python中構(gòu)建STOP包進(jìn)行測試,如下圖:
四、第三方上位軟件通訊測試
在靶機(jī)(192.168.11.1)的仿真PLC建立了這樣一段簡單圖形圖代碼,一個簡單的設(shè)備啟??刂七壿嫵绦颍?M0.0、%M0.1是指PLC的M類型的寄存器,0.0、0.1是M寄存器的某兩個偏移地址,對應(yīng)中間變量。%Q0.0是PLC的Q類型的寄存器,0.0是Q寄存器的某個偏移地址。在這個控制程序中,%M0.0(變量名為start)對應(yīng)是監(jiān)控畫面上的啟動按鈕,進(jìn)行對設(shè)備的啟動操作,%M0.1(變量名為stop)對應(yīng)是監(jiān)控畫面上的停止按鈕,進(jìn)行對設(shè)備的停止操作。%Q0.0(變量名為out),對應(yīng)PLC的輸出,即將控制信號輸出給設(shè)備。如下圖:
程序下載到仿真PLC后,對梯形圖代碼進(jìn)行在線監(jiān)控,這時輸出為0,如下
在操作機(jī)(192.168.11.2)中定義仿真PLC的IP地址及寄存器的地址,如下圖:
定義監(jiān)控畫面如下:
按下start按鈕,圓形顯示變?yōu)榫G色,證明我們按鈕發(fā)出的指令,仿真PLC收到啟動信號,將輸出置為1,并將仿真PLC輸出的結(jié)果反饋到監(jiān)控畫面,同時我們監(jiān)控靶機(jī)中仿真PLC的程序,我們發(fā)現(xiàn)仿真PLC輸出也是為1,證明操作機(jī)中組態(tài)王上位機(jī)與靶機(jī)中的虛擬機(jī)通訊成功,如下圖
同時我們可以獲取操作機(jī)的組態(tài)王(192。168.11.2)與靶機(jī)PLC仿真器(192168.11.1)的通訊報文,各類功能碼的數(shù)據(jù)報文,根據(jù)具體的操作。
五、總結(jié)
本文通過研究西門子PLC的網(wǎng)絡(luò)仿真搭建方法,為工控安全人員研究西門子s7協(xié)議提供一個便捷、實(shí)惠的渠道,無需花費(fèi)大量的資金采購真實(shí)的PLC設(shè)備,同時也可為PLC工程師提供一種測試第三方上位軟件與西門子通訊的方法,更為重要的是,這種西門子PLC的網(wǎng)絡(luò)仿真搭建方法,可以勝任多人在局域網(wǎng)絡(luò)中對西門子PLC的安全研究工作(例如實(shí)訓(xùn)平臺),只需啟動更多的靶機(jī)和操作機(jī)即可。
審核編輯:劉清
-
plc
+關(guān)注
關(guān)注
5004文章
13050瀏覽量
460907 -
仿真器
+關(guān)注
關(guān)注
14文章
1011瀏覽量
83554 -
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
897瀏覽量
27971
原文標(biāo)題:西門子PLC的網(wǎng)絡(luò)仿真搭建方法探討
文章出處:【微信號:西北工匠PLC學(xué)習(xí)基地,微信公眾號:西北工匠PLC學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論