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