1 內容概述
首先,這里對S7-200通訊性能做一個整體介紹,請看CPU200和擴展模塊示意圖(上圖),CPU200會集成1~2個RS485通訊口,集成的通訊口可以實現PPI、MPI和自由口通訊,在自由口方面,西門子 已經為客戶開發Modbus RTU主站和從站通訊指令庫-USS通訊指令庫。CPU200后的第一個擴展模塊是CP243-2,是ASI主站通訊模塊,使用兩個槽位資源,支持的協議版本是2.1版本。第二個擴展模塊是EM277,是標準的PROFIBUS DP從站通訊模塊,EM277后面的EM241模塊是一個模擬的電話調制解調器模塊。最后兩個模塊CP243-1、CP243-1IT是以太網通訊擴展模塊,支持西門子內部的S7協議,目前已經有新一代的CP243-1模塊來代替之前的兩個模塊。CP243-1的IT功能主要包括Email、HTML和FTP三種。
2 PPI通信
(1)PPI通信
PPI協議原為點對點通訊,是一個主站-從站協議,主站設備將通訊請求發送至從站設備,然后從站設備進行響應,隨著產品的發展,目前也支持多主站網絡。PPI協議是基于開放互聯OSI 7層模型的通訊結構的基礎上通過令牌環實現網絡。PPI使用1位起始位,1位停止位,8位數據位和偶校驗。PPI協議使用CPU200集成的RS485通訊口,可以實現編程通訊,S7-200PLC之間的通訊以及和人機界面之間的通訊。CPU200集成的通訊口有一個PG連接資源和三個OP連接資源,支持的波特率有9.6k、19.2k和187.5k,支持多主站,最遠的通訊距離為50米,一個網段內最多有32個節點,可以使用中繼器進行網段隔離以及通訊距離的擴展
(2)CPU200之間的PPI通信
我們首先介紹兩個CPU200之間的PPI通訊,這里的兩個S7-200PLC分別是PPI的主站和從站,在主站一側,用戶需要配置網絡讀寫向導,使用向導生成的子程序。在從站一側,只需要在系統塊中設置與主站相同的通訊速率和不同的通訊地址即可。
我們打開S7-200編程軟件,點擊"工具"下拉菜單,選擇指令向導,在指令向導中選擇網絡讀寫向導,然后點擊下一步(如圖1);
本界面(圖2)是向導中的第一步,用戶首先要設置一共要配置多少條網絡讀/寫操作,CPU200允許用戶最多配置24個網絡讀寫操作;
接下來(圖3)用戶選擇使用哪個通訊口進行PPI通訊,0口或者1口,一旦選定了,此向導所有的網絡讀寫操作都會經過該口,向導會為子程序定義一個缺省的名稱,默認是"NET_EXE",當然也可以修改這個名稱;
在這里(圖4)我們逐條定義每條網絡通訊讀寫內容。首先定義此操作是網絡讀還是網絡寫,從遠程PLC的什么地址范圍讀或者寫多少個字節到本地的什么地址,有效的數據存儲區為VB、IB、QB、MB,每條網絡讀寫可以傳送16個字節的數據。遠程PLC的地址必須與從站PLC系統塊里的端口地址相同。在本截圖(圖4)的例子中,主站是從從站的VB0讀到本地的VB0,一共讀16個字節的數據,配置完成后我們點擊"下一項操作"按鈕,即可編輯下一個網絡讀或者寫操作,全部操作配置完成后,點擊"下一步"按鈕即可繼續;
向導即將配置完成時,會提示用戶為其分配一段未使用的V存儲區地址范圍(圖5),配置的每一個網絡操作需要12個字節的V存儲區地址空間,如果配置了兩個網絡讀寫操作就會占用24個字節的V存儲區地址空間,用戶也可以自己定義或使用建議地址來選取V存儲區的地址范圍。需要注意的是,要保證用戶程序中已占用的V存儲區地址以及網絡操作中讀寫所占用的V存儲區區域以及向導此處所占用的V存儲區地址空間不能夠有任何重復,否則會導致程序不能正常工作;
網絡讀寫向導會自動生成一個子程序和一個全局符號表(圖6);
向導生成的"NET_EXE"需要在主程序中用SM0.0持續調用,子程序的"Timeout"輸入管腳是超時參數管腳,如果通訊中遇到問題,等待時間超過此延時時間,"NET_EXE"子程序會報錯,在這里(下圖)填0表示不啟動延時檢測,我們可以以秒為單位指定延時檢測時間,有效數據范圍為1-36767。
向導子程序內部會自動協調同一時刻只有8條網絡讀或網絡寫指令被激活。
3 MPI通信
(1)MPI通信
S7-200PLC集成的485接口可以作為MPI的從站,通過MPI通訊可以實現S7-200PLC的編程通訊,S7-200與S7-300/400集成MPI口之間的通訊,與HMI人機設備之間的通訊。作MPI通訊時,S7-200PLC支持的波特率為19.2kps和187.5kps,另外MPI通訊設備不能與作為PPI主站的S7-200PLC進行數據交換。。
S7-200與S7-300之間采用MPI通訊時,S7-200PLC不需要編寫任何與通訊有關的程序,只需要將要交換的數據整理到一個連續的V存儲區當中即可。而在S7-300PLC中需要在程序中調用系統功能"X_GET"(SFC67)和"X_PUT"(SFC68),每次讀或者寫操作由SFC的功能管腳"REQ"輸入的1信號觸發,"DEST_ID"是指S7-200PLC的MPI地址,在本例子中(上圖)是2。S7-200的V存儲區被S7-300PLC看作是DB1,因此在遠程數據地址輸入管腳"VAR_ADDR"我們填寫的"P#DB1.DBX0.0 BYTE 8"即是從S7-200PLC VB0開始的8個字節,"SD"和"RD"指向的是S7-300內部的數據存儲區,在本例子中使用的都是M存儲區。
-
RS485
+關注
關注
39文章
1156瀏覽量
82298 -
S7-200
+關注
關注
13文章
408瀏覽量
50387 -
MPI
+關注
關注
2文章
111瀏覽量
19423 -
PPI
+關注
關注
0文章
22瀏覽量
5038
原文標題:S7-200/300PPI和MPI通信
文章出處:【微信號:GKYXT1508,微信公眾號:工控云學堂】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論