玖玖玖视频-亚洲精品1卡2卡3卡-操欧美美女-真实国产乱子伦对白视频不卡-国产乱在线-大胸美女被吃奶爽死视频-久久亚洲美女精品国产精品-天堂在线www天堂在线-久久在精品线影院精品国产-国产又粗又长又大-欧美三级一区二区-超碰在线亚洲-天天cao在线-国产偷倩视频-亚洲啪

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

寫(xiě)命令分析:
一次寫(xiě)一個(gè)Double Word類(lèi)型的數(shù)據(jù),寫(xiě)命令是40個(gè)字節(jié),其余為38個(gè)字節(jié)。寫(xiě)一個(gè)Double Word類(lèi)型的數(shù)據(jù),前面的1—22字節(jié)為 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
15
17
18
19
20
21
22
開(kāi)始符
長(zhǎng)度
開(kāi)始符
遠(yuǎn)程
本地
功能碼
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)型的數(shù)據(jù),前面的0—21字節(jié)為 :(與上面比較,只是長(zhǎng)度字節(jié)發(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
數(shù)據(jù)長(zhǎng)度
數(shù)據(jù)個(gè)數(shù)
存儲(chǔ)類(lèi)型
偏移量
數(shù)據(jù)形式
數(shù)據(jù)位數(shù)
寫(xiě)入值
校驗(yàn)碼
終止符
01
00
01
00
00
82
00
00
00
00
03
00
01
01
79
16


本帖最近評(píng)分記錄:
  • 下載積分:+1(wflmg)
  • WeChat微信:plcjiemi  URL網(wǎng)址:plcjiemi.com  Email:plcjiemi@qq.com
    qplcer
    級(jí)別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 15 個(gè)
    工控威望: 110 點(diǎn)
    下載積分: 1412 分
    在線(xiàn)時(shí)間: 1(小時(shí))
    注冊(cè)時(shí)間: 2017-04-20
    最后登錄: 2026-01-20
    查看qplcer的 主題 / 回貼
    1樓  發(fā)表于: 2022-02-07 11:09
    樓主厲害,modbus報(bào)文研究透了,其實(shí)三菱老款FX2N系列PLC也需要專(zhuān)門(mén)研究報(bào)文去寫(xiě)程序

    主站蜘蛛池模板: 人人妻人人澡人人爽超污 | 看全色黄大色黄大片女图片第一次 | 久久天天躁夜夜躁狠狠躁综合 | 亚洲乱码国产乱码精品天美传媒 | 女久久| 人妻av无码一区二区三区 | 最近中文在线观看 | 午夜黄色影院 | 中文字幕第四页 | 一级特黄色片子 | 欧美日本中文字幕 | 亚洲视频国产精品 | 国产情侣大量精品视频 | 亚洲精品一卡2卡三卡4卡 | 国产精品刮毛 | 99re在线视频 | 国产一二三在线 | 亚洲精品视频在线播放 | 少妇人妻无码专用视频 | 国产超碰无码最新上传 | www精品国产 | 亚洲 欧美 激情 另类 校园 | 亚洲激情久久 | 国产黄大片在线观看 | 又色又爽又黄还免费视频 | 99久久免费只有精品国产 | 免费看国产片在线观看 | 在线91播放 | 国产精品suv一区二区69 | 国产精品国产一区二区三区四区 | 亚洲日本在线在线看片4k超清 | 久久影院中文字幕 | 伊人影视在线 | av香蕉| 求欧美精品网址 | 香蕉久久久久 | 欧美老妇胖老太xxxxx | 免费无码又爽又刺激网站 | 毛片基地在线观看 | 午夜尤物禁止18点击进入 | 日韩高清在线亚洲专区小说 | 午夜精品久久久久9999高清 | 视频免费观看在线 | 亚洲人成网站在线无码 | 不卡免费视频 | 亚洲国产精品久久久天堂麻豆宅男 | 亚洲经典一区 | 激情网站在线观看 | 欧美日韩性生活 | 天天综合网色在线观看 | 狠狠看穞片色欲天天 | 中字幕久久久人妻熟女 | 一本大道综合伊人精品热热 | 国产成人亚洲精品青草天美 | 加勒比一区二区无码视频在线 | 无码成人aⅴ免费中文字幕 四虎国产精品永久在线观看 | 国产原创在线 | 国产精品人妻 | 国产精品久久久久久欧美2021 | 永久免费精品视频 | 性做久久久久久免费观看 | 久久精品欧美一区二区三区麻豆 | 国产精品欧美一区二区三区不卡 | 精品国产免费久久久久久婷婷 | 四虎国产精品永久一区高清 | 无码人妻丝袜视频在线播免费 | 午夜亚洲一区二区 | 韩国无码无遮挡在线观看 | 精品久久中文字幕97 | 天天做天天爱天天要天天 | 人人射人人干 | 国内大量揄拍人妻精品视频 | 亚洲图女揄拍自拍区 | 超清纯白嫩大学生无码网站 | 老司机午夜免费视频 | 天天爱天天做天天爽夜夜揉 | 国产精品亚洲片在线观看不卡 | 国产亚洲精品一区在线播放 | 国产日韩另类综合11页 | 久久久久77777人人人人人 | 不卡的av在线播放 | 无码免费v片在线观看 | 免费观看的黄色网址 | 日本精品在线视频 | 中文字幕欧美在线观看 | 91伊人久久 | 男人的天堂av网站 | 少妇高清一区二区免费看 | 国内揄拍国内精品人妻浪潮av | 三级做a全过程在线观看 | 18禁裸男晨勃露j毛免费观看 | 很黄很污的视频 | 在线观看成人黄av免费 | 91啦丨九色丨刺激 | 国产高清毛片 | 午夜精品久久久久久久久久久久 | 欧美丰满少妇xxxx性 | 久久久久国产免费 | 日本a天堂|