<bdo id="2fwpw"></bdo><noframes id="2fwpw"><delect id="2fwpw"></delect><delect id="2fwpw"></delect><noframes id="2fwpw"><rt id="2fwpw"></rt><bdo id="2fwpw"></bdo><delect id="2fwpw"></delect><delect id="2fwpw"><bdo id="2fwpw"></bdo></delect><noframes id="2fwpw"><noframes id="2fwpw"><delect id="2fwpw"><delect id="2fwpw"></delect></delect><rt id="2fwpw"></rt><delect id="2fwpw"></delect><delect id="2fwpw"></delect><bdo id="2fwpw"></bdo><bdo id="2fwpw"></bdo> <bdo id="2fwpw"><rt id="2fwpw"></rt></bdo><noframes id="2fwpw"><bdo id="2fwpw"></bdo><bdo id="2fwpw"></bdo><delect id="2fwpw"><rt id="2fwpw"></rt></delect><rt id="2fwpw"><rt id="2fwpw"></rt></rt><bdo id="2fwpw"><bdo id="2fwpw"></bdo></bdo><rt id="2fwpw"></rt><delect id="2fwpw"></delect><noframes id="2fwpw"><rt id="2fwpw"></rt><rt id="2fwpw"></rt><rt id="2fwpw"></rt><rt id="2fwpw"></rt><delect id="2fwpw"><noframes id="2fwpw"><noframes id="2fwpw"> <delect id="2fwpw"></delect><delect id="2fwpw"></delect><noframes id="2fwpw"><delect id="2fwpw"></delect><bdo id="2fwpw"></bdo><noframes id="2fwpw"><noframes id="2fwpw">
plcjiemi
微信掃一掃,加我為好友
級別: 工控俠客
精華主題: 0
發(fā)帖數量: 180 個(gè)
工控威望: 2040 點(diǎn)
下載積分: 22 分
在線(xiàn)時(shí)間: 366(小時(shí))
注冊時(shí)間: 2021-07-29
最后登錄: 2025-05-29
查看plcjiemi的 主題 / 回貼
樓主  發(fā)表于: 2021-08-20 16:49
Siemens PPI協(xié)議分析
大家好:由于前段時(shí)間的瘋狂的研究西門(mén)子PPI協(xié)議解密之故,所以無(wú)心插柳的研究出了較實(shí)用的西門(mén)子S7-200 PPI協(xié)議,今天奉獻大家。我們經(jīng)常要用于上位機、現場(chǎng)設備與S7-200CPU之間的通訊,但是西門(mén)子公司沒(méi)有公布PPI協(xié)議的格式,用戶(hù)如果想使用PPI協(xié)議監控,必須購買(mǎi)其監控產(chǎn)品或第三方廠(chǎng)家的組態(tài)軟件。大家要知道國內的組態(tài)王、紫金橋、力控等等組態(tài)公司是花了多少錢(qián)才得到的PPI的深層協(xié)議嗎?其實(shí)西門(mén)子工控產(chǎn)品的超高價(jià)壟斷掠奪行為已經(jīng)引起了我們國家及業(yè)內人士的抵制和抗議,他們的什么軟件都需要授權且對于系統的霸道性是有目共睹的。
這樣給用戶(hù)自主開(kāi)發(fā)就帶來(lái)了一定的困難,特別是想用VB、VC等語(yǔ)言自行開(kāi)發(fā),根本沒(méi)辦法接入PLC,要么你大把掏錢(qián)給他們。我是通過(guò)一個(gè)串口監視軟件的數據監視與分析,找出了PPI協(xié)議的關(guān)鍵報文格式所在。
其實(shí)西門(mén)子S7-200 PLC之間或者PLC與PC之間通信有很多種方式:自由口,PPI方式,MPI方式,Profibus方式。使用自由口方式進(jìn)行編程時(shí),在上位機和PLC中都要編寫(xiě)數據通信程序。使用PPI協(xié)議進(jìn)行通信時(shí),PLC可以不用編程,而且可讀寫(xiě)所有數據區,快捷方便。這也是我們之所以要研究、找出PPI協(xié)議的源動(dòng)力!
下面我們就要說(shuō)說(shuō)分析的方法了!
西門(mén)子的STEP 7 MicroWIN 是用于S7-200系列PLC的開(kāi)發(fā)工具,它使用PC機上的COM口通過(guò)一條PC/PPI編程電纜連到PLC的編程口上。這說(shuō)明,PC實(shí)際上是可以通過(guò)串口同S7-200 CPU通訊。只是我們不知道通訊協(xié)議而已。通過(guò)截獲PC機串口上的收發(fā)數據,對照Step 7軟件發(fā)出的指令,我們就有可能分析出有關(guān)指令的報文和通訊方式;然后,直接通過(guò)串口向PLC發(fā)送報文,以驗證這些指令報文是否正確。本著(zhù)這一思想,我們采用以下步驟獲得這些報文。
你首先下載上面那個(gè)英文的串口監控軟件,英文不好的網(wǎng)友可以使用我們?yōu)槟銤h化的漢化包,替換原文件即可,你必須使用這個(gè)軟件,因為我先前使用過(guò)很多的監控軟件,在收發(fā)數據很多的情況下都有死機現象,造成數據丟失,容易給我們錯誤分析。接下來(lái)你先打開(kāi)這個(gè)軟件,新建、選擇端口COM1,然后再將PC/PPI編程電纜接在COM1上,這樣,Step7 Micro/Win發(fā)給PLC的報文就可以在監視軟件上完全裸露的展現在你的面前了。我們按S7-200系統手冊設置好串口參數:9600,8,E偶校驗,1位停止位。然后設置好Step7軟件,使之能與S7-200 CPU正常通訊。從Step7軟件中發(fā)出一個(gè)明確指令,監視軟件就能顯示這條報文了(用16進(jìn)制顯示,ASCII碼的只能看到幾個(gè)版本號之類(lèi)的,其他都沒(méi)有意義)。
我們的破解策略就是通過(guò)軟件監視的方法,分析PLC內部固有的PPI通訊協(xié)議,然后上位機采用VB編程,遵循PPI通訊協(xié)議,讀寫(xiě)PLC數據,實(shí)現人機操作任務(wù)。這種通訊方法,與一般的自由通訊協(xié)議相比,省略了PLC的通訊程序編寫(xiě),只需編寫(xiě)上位機的通訊程序資源。S7-200的編程口物理層為RS-485結構,SIEMENS提供MicroWin軟件,采用的是PPI(Point to Point)協(xié)議,關(guān)于232串口轉485你可以采用我們網(wǎng)站開(kāi)發(fā)研制的自制PPI電纜,效果倍好哦!請點(diǎn)擊下載!還是自己動(dòng)手,豐衣足食!
不能光說(shuō)不練!下面我們就說(shuō)說(shuō)西門(mén)子PLC到底是怎么通訊的。
PC與PLC采用主從方式通訊,PC按如下文的格式發(fā)讀寫(xiě)指令,PLC作出接收正確的響應(返回應答數據E5H或F9H見(jiàn)下文分析),上位機接到此響應則發(fā)出確認命令(10 02 00 5C 5E 16),PLC再返回給上位機相應數據。一般上位機要連接PLC就要先發(fā)送如下尋呼數據 10 02 00 49 4B 16 同志們吶!我們可都是有血、有肉、有思想、有靈感的高級動(dòng)物啊,面對這么多枯燥、無(wú)味、復雜、混亂的機器數字你怎么記呢?反正我是記不住。。╚_^開(kāi)始洗腦)這時(shí)你可以閉上眼睛,安靜、靜、再靜。。。。。。想一想戰爭時(shí)期的戰地對講機通話(huà)模式,那么這個(gè)初始的尋呼指令(10 02 00 49 4B 16)就可以理解為:“洞兩洞兩(02),我是洞洞(00),聽(tīng)到請回答,聽(tīng)到請回答!over!”。
現在我們來(lái)簡(jiǎn)單的分析一下這個(gè)指令的具體含義: 10起始符,咳嗽一聲要開(kāi)始講話(huà)的意思。02是上位機要聯(lián)系的下位機PLC的地址站號,就是要找的人。 00就是上位機電腦本身自己的站號。49尋呼指令,呼叫尋找的意思。16終止符,over、完畢、結束的意思。 其中4B為校驗碼,防止數據傳輸出錯而設計的,它是這樣得來(lái)的:02+00+49和的最后兩位就是校驗碼,這就是所說(shuō)的偶校驗或稱(chēng)和校驗也稱(chēng)余校驗,因為取的是除以100后的余數。計算器在16進(jìn)制計算時(shí)公式(02+00+49)mod 100得出的數就是校驗碼,你計算一下是不是等于4B!其他的所有PPI協(xié)議校驗都是如此。假如02站號的PLC收到尋呼信號那么會(huì )回答: 10 00 02 00 02 16 意思是:“報告洞洞(00) ,洞兩(02)收到,請指示,over!” 這樣的解釋是不是很好理解!你有更好的解釋嗎?既然找到了要找的人,接下來(lái)PC上位機電腦,就是司令啦!就可以發(fā)號施令了。這時(shí)上位機發(fā)出一條指令,這個(gè)指令下面詳細解說(shuō),發(fā)號施令后如果PLC正確接收就會(huì )返回 E5 字符,意思是:“明白!”。其實(shí)啊,說(shuō)到這里PLC只說(shuō)他明白,他已經(jīng)明白了上位機PC的指示,但并沒(méi)有執行命令,那么要怎么他才執行命令呢?就是上位機PC發(fā)出確認命令后才執行。這時(shí)上位機會(huì )發(fā)出確認指令(10 02 00 5C 5E 16),這里的5C是執行指令,意思是:“請洞兩立即執行,over!”。然后PLC就干他該干的工作了!原來(lái)PLC也不容易啊,怪不得叫下位機呢!就是下人的意思!
說(shuō)了這么多亂不亂吶?目的就是要理清上下級關(guān)系、主從關(guān)系,指令的順序,用一個(gè)好的記憶方法記住枯燥無(wú)味的機器碼。
下面我們列表分析讀取PLC密碼的指令:68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05 E0 D2 16
讀命令分析:一次讀一條數據
1.開(kāi)始定界符(68H)
2.報文數據長(cháng)度
3.重復數據長(cháng)度
4.開(kāi)始定界符(68H)
5.遠程目標地址,指該地址的值,就是PLC的地址
6.本地地址,指該地址的指針,就是上位機自己的地址
7.功能碼,5CH為交替周期觸發(fā),6CH為首次信息周期觸發(fā),7CH為交替周期觸發(fā)。
8-17.目的服務(wù)存取點(diǎn)
18-22.源服務(wù)存取點(diǎn) 18位分析:01:位排列 02:字節排列 04:字排列 06:雙字排列
23-31.數據單元
32.校驗碼
33.結束分界符(16H)
報文數據長(cháng)度和重復數據長(cháng)度為自DA至DU的數據長(cháng)度,校驗碼為DA至DU數據的和校驗,只取其中的末字節值關(guān)于這個(gè)校驗碼的計算方法同上面說(shuō)明。
在讀寫(xiě)PLC的變量數據中,讀數據的功能碼為 6CH,寫(xiě)數據的功能碼為 7CH。
對于一次讀取一個(gè)數據,讀命令都是33個(gè)字節。前面的1—22字節是相同的,為
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
起始符
長(cháng)度
起始符
遠程
本地
功能碼
通訊編號
參數長(cháng)度
04讀05寫(xiě)
排列格式
68
1B
1B
68
02
00
6C
32
01
00
00
00
88
00
0E
00
00
04
01
12
0A
10
讀取PLC密碼的指令:68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05 E0 D2 16
23
24
25
26
27
28
29
30
31
32
33
讀取長(cháng)度
數據個(gè)數
存儲器類(lèi)型
偏移量
校驗碼
終止符
02
00
08
00
00
03
00
05
E0
D2
16
因為是PC上發(fā)的讀PLC數據的命令,SA=00,DA=02,如果有多個(gè)站,DA要改成相應的站號。讀命令中從DA到DU的長(cháng)度為1B即27個(gè)字節。從23字節開(kāi)始根據讀取數據的類(lèi)型、位置不同而不同。上表是讀不同存儲器命令的Byte23—33。
字節
23
24
25
26
27
28
29
30
31
32
33
功能
讀取長(cháng)度
數據個(gè)數
存儲器類(lèi)型
偏移量
校驗碼
終止符
讀Q0.1
01
00
01
00
00
82
00
00
00
64
16
讀M0.0
01
00
01
00
00
83
00
00
00
65
16
讀M0.1
01
00
01
00
00
83
00
00
01
66
16
讀SMB34
02
00
01
00
00
05
00
00
01
F9
16
讀VB100
02
00
01
00
01
84
00
03
20
8B
16
讀VW100
04
00
01
00
01
84
00
03
20
8D
16
讀VD100
06
00
01
00
01
84
00
03
20
8F
16
讀I0.5
01
00
01
00
00
81
00
00
05
68
16
讀I0.7
01
00
01
00
00
81
00
00
07
6A
16
上表讀命令的Byte23-33從表中我們可以得出以下結果:
Byte 23 讀取數據的長(cháng)度
01:1 Bit 02:1 Byte
04:1 Word 06:Double Word
Byte 25數據個(gè)數,這里是01 ,一次讀多個(gè)數據時(shí)見(jiàn)下面的說(shuō)明。
Byte 27 存儲器類(lèi)型,01:V存儲器 00:其它
Byte 28 存儲器類(lèi)型
04:S 05:SM 06:AI 07:AQ 1E: C
81:I 82:Q 83:M 84:V 1F: T
Byte 29,30,31存儲器偏移量指針(存儲器地址*8),如:VB100,存儲器地址為100,偏移量指針為800,轉換成16進(jìn)制就是320H,則Byte 29—31這三個(gè)字節就是:00 03 20。
Byte 32 校驗和,前面已說(shuō)到這是從(DA+SA+DSAP+SSAP+DU) Mod 256 。
一次讀多條數據
對于一次讀多個(gè)數據的情況,前21Byte與上面相似只是長(cháng)度LD,LDr及Byte 15不同:
Byte 15 數據塊占位字節,它指明數據塊占用的字節數。與數據塊數量有關(guān),長(cháng)度=4+數據塊數*10,如:一條數據時(shí)為4+10=0E(H);同時(shí)讀M,V,Q三個(gè)不同的數據塊時(shí)為4+3*10=22(H)。
Byte 23 總是02 即以Byte為單位。
Byte 25 以字節為單位,連續讀取的字節數。如讀2個(gè)VD則Byte25=8
Byte 19---30 按上述一次讀一個(gè)數據的格式依次列出,
Byte 31---42 另一類(lèi)型的數據,也是按上述格式給出。
以此類(lèi)推,一次最多讀取222個(gè)字節的數據。

寫(xiě)命令分析:
一次寫(xiě)一個(gè)Double Word類(lèi)型的數據,寫(xiě)命令是40個(gè)字節,其余為38個(gè)字節。寫(xiě)一個(gè)Double Word類(lèi)型的數據,前面的1—22字節為 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
15
17
18
19
20
21
22
開(kāi)始符
長(cháng)度
開(kāi)始符
遠程
本地
功能碼
68
21
21
68
02
00
7C
32
01
00
00
00
00
00
0E
00
00
04
01
12
0A
10
68 23 23 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10
寫(xiě)一個(gè)其它類(lèi)型的數據,前面的0—21字節為 :(與上面比較,只是長(cháng)度字節發(fā)生變化)
68 21 21 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
數據長(cháng)度
數據個(gè)數
存儲類(lèi)型
偏移量
數據形式
數據位數
寫(xiě)入值
校驗碼
終止符
01
00
01
00
00
82
00
00
00
00
03
00
01
01
79
16


本帖最近評分記錄:
  • 下載積分:+1(wflmg)
  • WeChat微信:plcjiemi  URL網(wǎng)址:plcjiemi.com  Email:plcjiemi@qq.com
    plcjiemi
    微信掃一掃,加我為好友
    級別: 工控俠客
    精華主題: 0
    發(fā)帖數量: 180 個(gè)
    工控威望: 2040 點(diǎn)
    下載積分: 22 分
    在線(xiàn)時(shí)間: 366(小時(shí))
    注冊時(shí)間: 2021-07-29
    最后登錄: 2025-05-29
    查看plcjiemi的 主題 / 回貼
    1樓  發(fā)表于: 2021-08-20 16:49
    從22字節開(kāi)始根據寫(xiě)入數據的值和位置不同而變化。上表是幾個(gè)寫(xiě)命令的Byte22—40。
    字 節 23 24 25 26 276 28 298 30 31 32 33 34 35 36 37 387 39 40 41
    寫(xiě)入位置及值長(cháng)度 個(gè)數 類(lèi)型 偏移量 位數 值、校驗碼、 結束符
    M0.0=1 01 00 01 00 00 82 00 00 00 00 03 00 01 01 00 71 16
    M0.0=0 01 00 01 00 00 83 00 00 00 00 03 00 01 00 00 70 16
    M0.1=1 01 00 01 00 00 83 00 00 01 00 03 00 01 01 00 72 16
    vb100=10 02 00 01 00 01 84 00 03 20 00 04 00 08 10 00 AE 16
    vb100=FF 02 00 01 00 01 84 00 03 20 00 04 00 08 FF 00 9D 16
    VW100=FFFF 04 00 01 00 01 84 00 03 20 00 04 00 10 FF FF A6 16
    VD100=FFFFFFFF 06 00 01 00 01 84 00 03 20 00 04 00 20 FF FF FF FF B8 1

    寫(xiě)命令的Byte22—最后, 經(jīng)分析我們可以得出以下結果:
    Byte 23-- Byte 31 寫(xiě)入數據的長(cháng)度、存儲器類(lèi)型、存儲器偏移量與讀命令相同。T,C等不能用寫(xiě)命令寫(xiě)入。
    Byte 33 如果寫(xiě)入的是位數據這一字節為03,其它則為04
    Byte 35 寫(xiě)入數據的位數
    01: 1 Bit 08: 1 Byte 10H: 1 Word 20H: 1 Double Word
    Byte 36--41值、校驗碼、結束符
    如果寫(xiě)入的是位、字節數據,Byte35就是寫(xiě)入的值,Byte36=00,Byte37=檢驗碼,Byte38=16H,結束。如果寫(xiě)個(gè)的是字數據(雙字節),Byte35,Byte36就是寫(xiě)入的值, Byte37=檢驗碼,Byte38=16H,結束。如果寫(xiě)個(gè)的是雙字數據(四字節),Byte35—38就是寫(xiě)入的值, Byte39=檢驗碼,Byte40=16H,結束。

    看完上面的指令分析我們現在就舉例幾個(gè)常用的PPI協(xié)議來(lái)分析一下:
    PC尋呼:10 02 00 49 4B 16
    PLC返回:10 00 02 02 04 16
    PC發(fā)送:10 02 00 5C 5E 16
    PLC返回: E5
    我們先來(lái)看看西門(mén)子S7-200PLC的讀取密碼指令:
    請用串口軟件以16進(jìn)制發(fā)送,端口設置9600;e;8;1
    發(fā)送:68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05 E0 D2 16 意思:要求傳送(03區)系統存儲區05E0位開(kāi)始的8個(gè)字符(這就是8個(gè)密碼數值)。
    如果通訊無(wú)誤,PLC會(huì )返回 E5,意思:已經(jīng)收到
    那么這時(shí)上位機再次發(fā)送確認執行指令 10 02 00 5C 5E 16 意思:請執行命令。(說(shuō)到這里打住一下,PLC返回E5指令后上位機PC要在很短的時(shí)間內發(fā)送確認指令,晚了剛才的指令就無(wú)效了具體多長(cháng)時(shí)間我也沒(méi)測準,反正1、2秒時(shí)間是沒(méi)有問(wèn)題的。這也是很多網(wǎng)友問(wèn)我通訊失敗的原因所在)那么這時(shí)PLC還就真的乖乖的執行命令,返回如下字符:68 1D 1D 68 00 02 08 32 03 00 00 00 00 00 02 00 0C 00 00 04 01 FF 04 00 40 9B 98 02 06 9D 9A 00 76 7D 16
    好了,說(shuō)到這里就此停止,大家看看密碼是多少!你如果真正明白了PPI協(xié)議就不難找出出密碼了,但是這個(gè)密碼是經(jīng)過(guò)二次加密的,并不是真正的密碼,還需要破譯,至于密碼算法在此不便公開(kāi),不過(guò)你多做實(shí)驗一定能得出結果的。
    下面再看一個(gè)讀取PLC版本號的指令:
    我們在解密中首先要確定的是PLC的版本號。就是要看看是老版本還是02版的,也好做出加解密方案。他的通訊源碼是這樣的:
    68 1B 1B 68 02 00 7C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 14 00 00 03 00 00 00 09 16
    發(fā)送完上面數據PLC返回E5.
    再次發(fā)送確認指令:10 02 00 5C 5E 16
    這時(shí)plc的版本號就返回來(lái)了?聪旅妫
    68 29 29 68 00 02 08 32 03 00 00 00 00 00 02 00 18 00 00 04 01 FF 04 00 A0 43 50 55 20 32 32 36 20 43 4E 20 20 20 20 20 20 30 32 30 31 D7 16
    你看這一段:43 50 55 20 32 32 36 20 43 4E 20 20 20 20 20 20 30 32 30 31 就是plc版本號的ASCII碼。用ASC方式顯示就會(huì )看的更明白上面數據是:C P U SP 2 2 6 SP C N 0 2 0 1 (sp就是空格)0201是版本號。
    再一個(gè)就是讀TD200密碼指令:
    68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 02 00 01 84 00 00 50 B9 16 (VW10)
    寫(xiě)M0指令:
    68 20 20 68 02 00 7C 32 01 00 00 00 00 00 0E 00 05 05 01 12 0A 10 01 00 01 00 00 83 00 00 00 00 03 00 01 01 80 16
    讀222位3區(系統區)數據指令:
    68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 DE 00 00 03 00 00 00 C3 16
    讀取密碼保護位指令:
    68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 01 00 00 03 00 05 D8 C3 16
    改寫(xiě)密碼保護位指令:(你來(lái)驗證是否可行)
    68 20 20 68 02 00 7C 32 01 00 00 00 00 00 0E 00 05 05 01 12 0A 10 08 00 01 00 00 03 00 05 D8 00 04 00 08 04 EF 16
    68 20 20 68 02 00 7C 32 01 00 00 00 00 00 0E 00 05 05 01 12 0A 10 02 00 01 00 00 03 00 05 D8 00 03 00 08 04 E8 16
    全部清除指令:
    68 21 21 68 02 00 7C 32 07 00 00 00 24 00 08 00 0C 00 01 12 04 11 45 01 00 FF 09 00 08 16 19 06 0D 01 08 18 1E EE 16

    關(guān)于此PPI協(xié)議我也是初步研究難免有失誤之處,希望眾網(wǎng)友有更好的見(jiàn)解與發(fā)現能夠到我們論壇發(fā)表,也可以給我QQ留言!
    WeChat微信:plcjiemi  URL網(wǎng)址:plcjiemi.com  Email:plcjiemi@qq.com
    tkggtdkjpl
    工欲善其事,必先利其器!
    級別: 網(wǎng)絡(luò )英雄

    精華主題: 1 篇
    發(fā)帖數量: 3457 個(gè)
    工控威望: 20996 點(diǎn)
    下載積分: 33677 分
    在線(xiàn)時(shí)間: 1803(小時(shí))
    注冊時(shí)間: 2010-01-03
    最后登錄: 2025-06-02
    查看tkggtdkjpl的 主題 / 回貼
    2樓  發(fā)表于: 2021-08-20 22:09
    報文都研究透了,歷害!
    自動(dòng)化單機,生產(chǎn)線(xiàn),項目編程調試!
    往事如風(fēng)
    科技改變制造
    級別: 網(wǎng)絡(luò )英雄

    精華主題: 0
    發(fā)帖數量: 11803 個(gè)
    工控威望: 19197 點(diǎn)
    下載積分: 14025 分
    在線(xiàn)時(shí)間: 2769(小時(shí))
    注冊時(shí)間: 2013-01-31
    最后登錄: 2025-05-29
    查看往事如風(fēng)的 主題 / 回貼
    3樓  發(fā)表于: 2021-08-22 17:37
    厲害,為樓主點(diǎn)贊!
    三人行者必有我師 ,擇其善者而從之
    renjiawonder
    級別: 家園?
    精華主題: 0
    發(fā)帖數量: 475 個(gè)
    工控威望: 579 點(diǎn)
    下載積分: 4836 分
    在線(xiàn)時(shí)間: 174(小時(shí))
    注冊時(shí)間: 2009-12-01
    最后登錄: 2023-08-01
    查看renjiawonder的 主題 / 回貼
    4樓  發(fā)表于: 2022-02-01 21:21
    很好,就是要研究報文。
    abc526938417
    級別: 正式會(huì )員
    精華主題: 0
    發(fā)帖數量: 31 個(gè)
    工控威望: 89 點(diǎn)
    下載積分: 962 分
    在線(xiàn)時(shí)間: 6(小時(shí))
    注冊時(shí)間: 2020-08-29
    最后登錄: 2025-05-05
    查看abc526938417的 主題 / 回貼
    5樓  發(fā)表于: 2022-02-01 21:24
    引用
    引用樓主plcjiemi于2021-08-20 16:49發(fā)表的 Siemens PPI協(xié)議分析 :
    Siemens PPI協(xié)議分析
    大家好:由于前段時(shí)間的瘋狂的研究西門(mén)子PPI協(xié)議解密之故,所以無(wú)心插柳的研究出了較實(shí)用的西門(mén)子S7-200 PPI協(xié)議,今天奉獻大家。我們經(jīng)常要用于上位機、現場(chǎng)設備與S7-200CPU之間的通訊,但是西門(mén)子公司沒(méi)有公布PPI協(xié)議的格式,用戶(hù)如果想使用PPI協(xié)議監控,必須購買(mǎi)其監控產(chǎn)品或第三方廠(chǎng)家的組態(tài)軟件。大家要知道國內的組態(tài)王、紫金橋、力控等等組態(tài)公司是花了多少錢(qián)才得到的PPI的深層協(xié)議嗎?其實(shí)西門(mén)子工控產(chǎn)品的超高價(jià)壟斷掠奪行為已經(jīng)引起了我們國家及業(yè)內人士的抵制和抗議,他們的什么軟件都需要授權且對于系統的霸道性是有目共睹的。
    這樣給用戶(hù)自主開(kāi)發(fā)就帶來(lái)了一定的困難,特別是想用VB、VC等語(yǔ)言自行開(kāi)發(fā),根本沒(méi)辦法接入PLC,要么你大把掏錢(qián)給他們。我是通過(guò)一個(gè)串口監視軟件的數據監視與分析,找出了PPI協(xié)議的關(guān)鍵報文格式所在。
    其實(shí)西門(mén)子S7-200 PLC之間或者PLC與PC之間通信有很多種方式:自由口,PPI方式,MPI方式,Profibus方式。使用自由口方式進(jìn)行編程時(shí),在上位機和PLC中都要編寫(xiě)數據通信程序。使用PPI協(xié)議進(jìn)行通信時(shí),PLC可以不用編程,而且可讀寫(xiě)所有數據區,快捷方便。這也是我們之所以要研究、找出PPI協(xié)議的源動(dòng)力!
    下面我們就要說(shuō)說(shuō)分析的方法了!
    西門(mén)子的STEP 7 MicroWIN 是用于S7-200系列PLC的開(kāi)發(fā)工具,它使用PC機上的COM口通過(guò)一條PC/PPI編程電纜連到PLC的編程口上。這說(shuō)明,PC實(shí)際上是可以通過(guò)串口同S7-200 CPU通訊。只是我們不知道通訊協(xié)議而已。通過(guò)截獲PC機串口上的收發(fā)數據,對照Step 7軟件發(fā)出的指令,我們就有可能分析出有關(guān)指令的報文和通訊方式;然后,直接通過(guò)串口向PLC發(fā)送報文,以驗證這些指令報文是否正確。本著(zhù)這一思想,我們采用以下步驟獲得這些報文。
    .......
    qplcer
    級別: 探索解密
    精華主題: 0
    發(fā)帖數量: 15 個(gè)
    工控威望: 110 點(diǎn)
    下載積分: 1204 分
    在線(xiàn)時(shí)間: 1(小時(shí))
    注冊時(shí)間: 2017-04-20
    最后登錄: 2025-05-27
    查看qplcer的 主題 / 回貼
    6樓  發(fā)表于: 2022-02-07 11:09
    樓主厲害,modbus報文研究透了,其實(shí)三菱老款FX2N系列PLC也需要專(zhuān)門(mén)研究報文去寫(xiě)程序

    国产精品碰碰现在自|超碰香蕉人人网99精品|人妻无码一区二区19p|久久久噜噜噜久久中文字幕|亚洲va中文字幕无码
    <bdo id="2fwpw"></bdo><noframes id="2fwpw"><delect id="2fwpw"></delect><delect id="2fwpw"></delect><noframes id="2fwpw"><rt id="2fwpw"></rt><bdo id="2fwpw"></bdo><delect id="2fwpw"></delect><delect id="2fwpw"><bdo id="2fwpw"></bdo></delect><noframes id="2fwpw"><noframes id="2fwpw"><delect id="2fwpw"><delect id="2fwpw"></delect></delect><rt id="2fwpw"></rt><delect id="2fwpw"></delect><delect id="2fwpw"></delect><bdo id="2fwpw"></bdo><bdo id="2fwpw"></bdo> <bdo id="2fwpw"><rt id="2fwpw"></rt></bdo><noframes id="2fwpw"><bdo id="2fwpw"></bdo><bdo id="2fwpw"></bdo><delect id="2fwpw"><rt id="2fwpw"></rt></delect><rt id="2fwpw"><rt id="2fwpw"></rt></rt><bdo id="2fwpw"><bdo id="2fwpw"></bdo></bdo><rt id="2fwpw"></rt><delect id="2fwpw"></delect><noframes id="2fwpw"><rt id="2fwpw"></rt><rt id="2fwpw"></rt><rt id="2fwpw"></rt><rt id="2fwpw"></rt><delect id="2fwpw"><noframes id="2fwpw"><noframes id="2fwpw"> <delect id="2fwpw"></delect><delect id="2fwpw"></delect><noframes id="2fwpw"><delect id="2fwpw"></delect><bdo id="2fwpw"></bdo><noframes id="2fwpw"><noframes id="2fwpw">