




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGEPAGE2SiemensPPI協(xié)議分析摘要:通過數(shù)據(jù)監(jiān)視,分析的方法,找出了PPI協(xié)議的關鍵報文格式,可用于上位機、現(xiàn)場設備與S7-200CPU之間通訊。關鍵字:PLC,PPI,協(xié)議前言西門子S7-200PLC之間或者PLC與PC之間通信有很多種方式:自由口,PPI方式,MPI方式,Profibus方式。使用自由口方式進行編程時,在上位機和PLC中都要編寫數(shù)據(jù)通信程序。使用PPI協(xié)議進行通信時,PLC可以不用編程,而且可讀寫所有數(shù)據(jù)區(qū),快捷方便。但是西門子公司沒有公布PPI協(xié)議的格式。用戶如果想使用PPI協(xié)議監(jiān)控,必須購買其監(jiān)控產(chǎn)品或第三方廠家的組態(tài)軟件。這樣給用戶自主開發(fā)帶來一定困難,特別是自行開發(fā)的現(xiàn)場設備就不能通過PPI協(xié)議接入PLC。其它通訊方式編程也存在編程復雜,需要購買軟件和授權等局限性ADDINEN.CITE<EndNote><Cite><Author>周曉平</Author><Year>2004</Year><RecNum>5</RecNum><record><databasename='longyh-Converted.enl'path='C:\ProgramFiles\EndNote8\Examples\longyh-Converted.enl'>longyh-Converted.enl</database><source-appname='EndNote'version='8.0'>EndNote</source-app><rec-number>5</rec-number><ref-typename='JournalArticle'>17</ref-type><contributors><authors><author><styleface='normal'font='default'charset='134'size='100%'>周曉平</style></author><author><styleface='normal'font='default'charset='134'size='100%'>姜建芳</style></author><author><styleface='normal'font='default'charset='134'size='100%'>蘇少鈺</style></author><author><styleface='normal'font='default'charset='134'size='100%'>陳迅</style></author></authors></contributors><auth-address><styleface='normal'font='default'charset='134'size='100%'>南京理工大學自動化系1002教研室210094.</style></auth-address><titles><title><styleface='normal'font='default'charset='134'size='100%'>S7-200系列PLC與監(jiān)控計算機通信實現(xiàn)的研究</style></title><secondary-title><styleface='normal'font='default'charset='134'size='100%'>微計算機信息</style></secondary-title></titles><periodical><full-title><styleface='normal'font='default'charset='134'size='100%'>微計算機信息</style></full-title></periodical><volume><styleface='normal'font='default'charset='134'size='100%'>1</style></volume><keywords><keyword><styleface='normal'font='default'size='100%'>PLC.通信.WINCC組態(tài)軟件.OPC.Profibus現(xiàn)場總線.PPI.</style></keyword></keywords><dates><year><styleface='normal'font='default'charset='134'size='100%'>2004</style></year></dates><urls></urls></record></Cite></EndNote>(1)。通過數(shù)據(jù)監(jiān)視、分析的方法,我們找出了PPI協(xié)議的關鍵報文格式,可用于上位機、現(xiàn)場設備與S7-200CPU之間通訊。分析方法西門子的Step7Micro/Win32是用于S7-200系列PLC的開發(fā)工具,它使用PC機上的COM口通過一條PC/PPI編程電纜連到PLC的編程口上。這說明,PC實際上是可以通過串口同S7-200CPU通訊。只是我們不知道通訊協(xié)議而已。通過截獲PC機串口上的收發(fā)數(shù)據(jù),對照Step7軟件發(fā)出的指令,我們就有可能分析出有關指令的報文和通訊方式;然后,直接通過串口向PLC發(fā)送報文,以驗證這些指令報文是否正確。本著這一思想,我們采用以下步驟獲得這些報文。首先制作一個串口的分支器,COM1的RX、TX分別接到COM2的TX、RX,即交叉接線,使得COM1發(fā)的數(shù)據(jù)COM2能收到。PC/PPI編程電纜接在COM1上,這樣,Step7Micro/Win32發(fā)給PLC的報文就可以在COM2上接收了。我們按S7-200系統(tǒng)手冊設置好兩個串口,參數(shù)要一樣,均為9600,8,偶校驗,1位停止位。然后設置好Step7軟件,使之能與S7-200CPU正常通訊。從Step7軟件中發(fā)出一個明確指令,COM2上的監(jiān)視軟件就能顯示這條報文了(用16進制顯示)。通過與Profibus標準的類比ADDINEN.CITE<EndNote><Cite><Author>SIEMENS</Author><Year>2000</Year><RecNum>6</RecNum><record><databasename="longyh-Converted.enl"path="C:\ProgramFiles\EndNote8\Examples\longyh-Converted.enl">longyh-Converted.enl</database><source-appname="EndNote"version="8.0">EndNote</source-app><rec-number>6</rec-number><ref-typename="Book">6</ref-type><contributors><authors><author><styleface="normal"font="Arial"size="100%">SIEMENS</style></author></authors></contributors><titles><title><styleface="normal"font="Arial"size="100%">SIMATICS7-200</style><styleface="normal"font="default"charset="134"size="100%">可編程序控制器系統(tǒng)手冊</style></title></titles><edition><styleface="normal"font="default"charset="134"size="100%">02</style></edition><keywords><keyword><styleface="normal"font="default"size="100%">s7-200</style></keyword><keyword><styleface="normal"font="default"size="100%">系統(tǒng)手冊</style></keyword></keywords><dates><year><styleface="normal"font="default"charset="134"size="100%">2000</style></year></dates><urls><related-urls><url><styleface="normal"font="default"charset="134"size="100%">file://C:%5C!!!PLC資料%5CS7-200系統(tǒng)手</style></url></related-urls></urls></record></Cite></EndNote>(2)我們就可以得到一些關鍵的報文了。這種方法比分析PLC中NETR,NETW指令要直接、全面ADDINEN.CITE<EndNote><Cite><Author>郝莉</Author><Year>2000</Year><RecNum>3</RecNum><record><databasename="longyh-Converted.enl"path="C:\ProgramFiles\EndNote8\Examples\longyh-Converted.enl">longyh-Converted.enl</database><source-appname="EndNote"version="8.0">EndNote</source-app><rec-number>3</rec-number><ref-typename="JournalArticle">17</ref-type><contributors><authors><author><styleface="normal"font="default"size="100%">郝莉</style></author><author><styleface="normal"font="default"size="100%">王東興</style></author></authors></contributors><auth-address><styleface="normal"font="default"size="100%">北京機械工業(yè)學院自動化系北京100085</style></auth-address><titles><title><styleface="normal"font="default"size="100%">PROFIBUS從站與S7-200PLC的通訊研究</style></title><secondary-title><styleface="normal"font="default"size="100%">北京機械工業(yè)學院學報(綜合版)</style></secondary-title></titles><periodical><full-title><styleface="normal"font="default"size="100%">北京機械工業(yè)學院學報(綜合版)</style></full-title></periodical><volume><styleface="normal"font="default"size="100%">15</style></volume><number><styleface="normal"font="default"size="100%">02</style></number><keywords><keyword><styleface="normal"font="default"size="100%">PLC</style></keyword><keyword><styleface="normal"font="default"size="100%">PPI協(xié)議</style></keyword><keyword><styleface="normal"font="default"size="100%">PROFIBUS從站</style></keyword></keywords><dates><year><styleface="normal"font="default"size="100%">2000</style></year></dates><urls></urls></record></Cite></EndNote>(3)。PPI協(xié)議分析PC與PLC采用主從方式通訊,PC按如下的格式發(fā)讀寫指令,PLC作出接收正確的響應(返回應答數(shù)據(jù)E5H或F9H見下文分析),上位機接到此響應則發(fā)出確認命令(10025C5E16),PLC再返回給上位機相應數(shù)據(jù)。SDLELErSDDASAFCDSAPSSAPDUFCSEDSD:開始符(68H) LE、Ler:長度(從DA到DU)DA:目的地址 SA:源地址FC:功能碼(6CH) DSAP:目的服務存取點SSAP:源服務存取點 DU:數(shù)據(jù)單元FCS:校驗和 ED:結束符(16H)讀命令分析一次讀一條數(shù)據(jù)對于一次讀取一個數(shù)據(jù),讀命令都是33個字節(jié)。前面的0—21字節(jié)是相同的,為: 014681B1B6802006C320100000000000E00000401120A10因為是PC上發(fā)的讀PLC數(shù)據(jù)的命令,SA=00,DA=02,如果有多個站,DA要改成相應的站號。讀命令中從DA到DU的長度為1B即27個字節(jié)。從22字節(jié)開始根據(jù)讀取數(shù)據(jù)的類型、位置不同而不同。表一是讀不同存儲器命令的Byte22—32。字節(jié)2223242526272829303132功能讀取長度數(shù)據(jù)個數(shù)*存儲器類型偏移量校驗結束讀q0.00100010000820000006416讀m0.00100010000830000006516讀M0.10100010000830000016616讀SMB34020001000005000110F916讀VB1000200010001840003208B16讀VW1000400010001840003208D16讀vd1000600010001840003208F16讀i0.50100010000810000056816"讀i0.70100010000810000076A16"表一讀命令的Byte22-32從表中我們可以得出以下結果:Byte22讀取數(shù)據(jù)的長度 01:1Bit 02:1Byte 04:1Word 06:DoubleWordByte24數(shù)據(jù)個數(shù),這里是01,一次讀多個數(shù)據(jù)時見下面的說明。Byte26存儲器類型,01:V存儲器00:其它Byte27存儲器類型04:S 05:SM 06:AI 07:AQ 1E:C81:I 82:Q 83:M 84:V 1F:TByte28,29,30存儲器偏移量指針(存儲器地址*8),如:VB100,存儲器地址為100,偏移量指針為800,轉換成16進制就是320H,則Byte28—29這三個字節(jié)就是:000320。Byte31校驗和,前面已說到這是從(DA+SA+DSAP+SSAP+DU)Mod256。一次讀多條數(shù)據(jù)對于一次讀多個數(shù)據(jù)的情況,前21Byte與上面相似只是長度LD,LDr及Byte14不同:Byte14數(shù)據(jù)塊占位字節(jié),它指明數(shù)據(jù)塊占用的字節(jié)數(shù)。與數(shù)據(jù)塊數(shù)量有關,長度=4+數(shù)據(jù)塊數(shù)*10,如:一條數(shù)據(jù)時為4+10=0E(H);同時讀M,V,Q三個不同的數(shù)據(jù)塊時為4+3*10=22(H)。Byte22總是02即以Byte為單位。Byte24 以字節(jié)為單位,連續(xù)讀取的字節(jié)數(shù)。如讀2個VD則Byte24=8Byte1930按上述一次讀一個數(shù)據(jù)的格式依次列出,Byte3142另一類型的數(shù)據(jù),也是按上述格式給出。以此類推,一次最多讀取222個字節(jié)的數(shù)據(jù)。寫命令分析一次寫一個DoubleWord類型的數(shù)據(jù),寫命令是40個字節(jié),其余為38個字節(jié)。寫一個DoubleWord類型的數(shù)據(jù),前面的0—21字節(jié)為:6823236802006C320100000000000E00000401120A10寫一個其它類型的數(shù)據(jù),前面的0—21字節(jié)為:(與上面比較,只是長度字節(jié)發(fā)生變化)6821216802006C320100000000000E00000401120A10從22字節(jié)開始根據(jù)寫入數(shù)據(jù)的值和位置不同而變化。表二是幾個寫命令的Byte22—40。字節(jié)22232425262728293031323334353637383940寫入位置及值長度個數(shù)類型偏移量位數(shù)值、校驗碼、結束符M0.0=10100010000830000000003000101007116M0.0=00100010000830000000003000100007016M0.1=10100010000830000010003000101007216vb100=10020001000184000320000400081000AE16vb100=FF02000100018400032000040008FF009D16VW100=FFFF04000100018400032000040010FFFFA616VD100=FFFFFFFF06000100018400032000040020FFFFFFFFB816表二寫命令的Byte22—40經(jīng)分析我們可以得出以下結果:Byte22--Byte30寫入數(shù)據(jù)的長度、存儲器類型、存儲器偏移量與讀命令相同。T,C等不能用寫命令寫入。 Byte32如果寫入的是位數(shù)據(jù)這一字節(jié)為03,其它則為04Byte34寫入數(shù)據(jù)的位數(shù) 01:1Bit 08:1Byte 10H:1Word20H:1DoubleWordByte35--40值、校驗碼、結束符 如果寫入的是位、字節(jié)數(shù)據(jù),Byte35就是寫入的值,Byte36=00,Byte37=檢驗碼,Byte38=16H,結束。如果寫個的是字數(shù)據(jù)(雙字節(jié)),Byte35,Byte36就是寫入的值,Byte37=檢驗碼,Byte38=16H,結束。如果寫個的是雙字數(shù)據(jù)(四字節(jié)),Byte35—38就是寫入的值,Byte39=檢驗碼,Byte40=16H,結束。其它命令分析強制寫入I、Q、S等不能使用上述的寫命令寫入數(shù)據(jù),只能用強制寫入的方式。前0—35字節(jié)值如下(長度字段要根據(jù)實際情況而定),需要注意的是Byte8=07,682B2B6802006C320700000000000C00120001120812480B0000000000FF09000E000110后面的內容如下:Byte32占位字節(jié),從下一字節(jié)開始到校驗和前的字節(jié)數(shù)。說明同讀數(shù)據(jù)的Byte14.Byte36強制寫入數(shù)據(jù)的長度 01:1Bit 02:1Byte 04:1Word 06:DoubleWordByte38數(shù)據(jù)個數(shù),這里是01,一次強制寫多個數(shù)據(jù)時見下面的說明。Byte40存儲器類型Byte41存儲器類型,見讀命令的說明。Byte42、43、44存儲器偏移量指針(存儲器地址*8)Byte45、46、47、48值、校驗碼、結束符取消強制寫強制寫入I、Q等后,這些值就不能被程序改變,除非使用”取消強制命令”。取消強制命令的格式與強制寫入相似,變化的有以下幾點:(1)是沒有”值”這一段,即沒有Byte45—48。這影響到長度字節(jié)LE,LEr;占位字節(jié)Byte32.(2)Byte16=10H,(3)Byte32=0CH,也就是第一條,沒有”值”這一段,數(shù)據(jù)塊長度變短了。對于一次強制寫入或取消多個數(shù)據(jù)的情況可以參照寫入命令寫出相應的報文,這里不再給出。STOP命令STOP命令使得S7-200CPU從RUN狀態(tài)轉換到STOP狀態(tài)(此時CPU模塊上的模式開關開應打在RUN或TERM位置)。PC發(fā)出如下命令,PLC返回F9,此時PLC已進入等待狀態(tài),PC再發(fā)確認報文(10025C5E16),完成一個命令過程。681D1D6802006C3201000000000010000029000000000009505F50524F4752414DAA16RUN命令RUN命令使得S7-200CPU從STOP狀態(tài)轉換到RUN狀態(tài)(此時CPU模塊上的模式開關開應打在RUN或TERM位置)。PC發(fā)出下命令,PLC返回F9,此時PLC已進入運行狀態(tài),PC再發(fā)確認報文(10025C5E16),完成一個命令過程。6821216802006C3201000000000014000028000000000000FD000009505F50524F4752414DAA16讀出數(shù)據(jù)分析一次讀出一條數(shù)據(jù)PLC響應的數(shù)據(jù)也是用PPI封裝的。如果用一次讀一條數(shù)據(jù)命令,響應的報文中就只包含一條數(shù)據(jù),此響應報文的Byte16<=8。Byte04:DA=00 Byte05:SA=02即從02PLC站發(fā)往PC。Byte16:數(shù)據(jù)塊占位字節(jié),從Byte21到校驗和前的字節(jié)數(shù)。一條數(shù)據(jù)時:Word=06 DoubleWord=08其它為05。Byte22:數(shù)據(jù)類型,位=3,其它=4。Byte24:數(shù)據(jù)寬度,Bit=01,Byte=08,Word=10H,DoubleWord=20HByte25—28:值。如果網(wǎng)絡上只可能有一個站會發(fā)回響應報文,那么可以簡單的根據(jù)LE長度字節(jié)判斷返回值的位置:LE=16H,返回值是字節(jié),或位類型的值,響應報文的Byte25即是返回值;LE=17H,返回值是字(雙字節(jié))類型的值,響應報文的Byte25,26即是返回值;LE=19H,返回值是雙字(四字節(jié))類型的值,響應報文的Byte25—28即是返回值。更準確的方式是要根據(jù)返回報文的SA,DA,及存儲器位置等信息識別目標地址和源地址,確認是這次申請的返回數(shù)據(jù),然后經(jīng)過校驗檢查,得到正確的數(shù)據(jù)。一次讀出多條數(shù)據(jù)如果用的是一次讀多條數(shù)據(jù)的命令,響應的報文中就包含有多條數(shù)據(jù)。這些數(shù)據(jù)只有類型參數(shù),沒有偏移量參數(shù),所以要注意根據(jù)讀命令的順序將其一一對應起來。Byte16:數(shù)據(jù)塊占位字節(jié),從Byte21到校驗和前的字節(jié)數(shù),與數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025安徽陽光采購服務平臺有限責任公司社會招聘1人(第二次)考前自測高頻考點模擬試題完整參考答案詳解
- 2025湖北荊州市石首市面向城市社區(qū)黨組織書記專項招聘事業(yè)崗位人員5人模擬試卷及完整答案詳解一套
- 2025江西數(shù)字文化產(chǎn)業(yè)有限公司誠聘數(shù)字技術部智能化工程師1人模擬試卷及答案詳解(名校卷)
- 2025福建新華發(fā)行(集團)有限責任公司漳州轄區(qū)分公司招聘考前自測高頻考點模擬試題及完整答案詳解
- 2025江西上饒市廣信區(qū)公安局招聘編制外聘用人員25人模擬試卷帶答案詳解
- 2025年春季北燃實業(yè)集團校園招聘考前自測高頻考點模擬試題及參考答案詳解
- 2025年揚中市市級機關公開遴選考試真題
- 2025年核工業(yè)四一七醫(yī)院招聘(22人)考前自測高頻考點模擬試題及答案詳解(奪冠)
- 2025年哈爾濱道里區(qū)工程社區(qū)衛(wèi)生服務中心招聘若干名考前自測高頻考點模擬試題及答案詳解(全優(yōu))
- 2025福建泉州市洛江區(qū)公辦學校專項招聘編制內新任教師9人(二)模擬試卷及1套完整答案詳解
- 資陽產(chǎn)業(yè)投資集團有限公司第三輪一般員工市場化招聘筆試參考題庫附答案解析
- 宣威課件教學課件
- 2025年淮南市大通區(qū)和壽縣經(jīng)開區(qū)公開招聘社區(qū)“兩委”后備干部30名筆試備考題庫及答案解析
- 人教版2024年新版七年級上冊英語Starter Units 1-3綜合測試卷(含答案)
- JJG 693-2011可燃氣體檢測報警器
- 蘇教版數(shù)學四年級上冊《解決問題的策略》課件
- LY/T 1571-2000國有林區(qū)營造林檢查驗收規(guī)則
- 內分泌和代謝疾病總論課件
- 教科版四年級(上)科學1.1聽聽聲音課課練習題(含答案)
- 原子物理學:第2章 第5節(jié) 索末菲理論
- 金剛經(jīng)講義江味農(nóng)居士遺著
評論
0/150
提交評論