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