s7-200可以直接通訊modbus嗎_s7-200的特點與解密方法
S7-200是一種小型的可編程序控制器,適用于各行各業(yè),各種場合中的檢測、監(jiān)測及控制的自動化。S7-200系列的強大功能使其無論在獨立運行中,或相連成網(wǎng)絡(luò)皆能實現(xiàn)復(fù)雜控制功能。因此S7-200系列具有極高的性能/價格比。
s7-200的優(yōu)點1)極高的可靠性。
2)極豐富的指令集。
3)易于掌握。
4)便捷的操作。
5)豐富的內(nèi)置集成功能。
6)實時特性。
7)強勁的通訊能力。
8)豐富的擴展模塊。
S7-200系列PLC的特點 一:功能強
1. S7-200有6種CPU模塊,最多可以擴展7個擴展模塊,擴展到256點數(shù)字量IO或45路模擬量IO,最多有24KB程序儲存空間和10KB用戶數(shù)據(jù)存儲空間。
2.集成了6個有13種工作模式的高速計數(shù)器,以及兩點高速脈沖發(fā)生器脈沖寬度調(diào)制器。CPU 224XP的高速計數(shù)器的最高計數(shù)頻率為200kHZ,高速輸出的最高頻率為100kHZ。
二:先進的程序結(jié)構(gòu)S7-200的程序結(jié)構(gòu)簡單清晰,在編程軟件中,主程序、子程序和中斷程序分頁存放。使用各程序塊中的局部變量。易于將程序快移植到別的項目。子程序用輸入、輸出參數(shù)作軟件接口,便與實現(xiàn)結(jié)構(gòu)化編程。S7-200的指令功能強,易于掌握。
三:靈活方便的存儲器結(jié)構(gòu)S7-200的輸入(I)、輸出(Q)、位存儲器(M)、順序控制繼電器(S)、變量存儲器(V)和局部變量(L)均可以按(bit)、字節(jié)、字和雙字讀寫。
四:功能強大、使用方便的編程軟件編程軟件STEP 7-MicroWIN可以使用包括中文在內(nèi)的多種語言。有梯形圖、語句表和功能塊圖編程語言,以及SIMATIC、IEC61131-3兩種編程模式。
五:簡化復(fù)雜編程任務(wù)的向?qū)Чδ?PID控制、網(wǎng)絡(luò)通信、高速輸入、高速輸出、位置控制、數(shù)據(jù)記錄、配方和文本顯示器等編程和應(yīng)用是PLC程序設(shè)計中的難點,用普通的方法對它們編程既繁瑣又容易出錯。
六:強大的通信功能S7-200S的CPU模塊有1個或者2個標(biāo)準(zhǔn)的RS-485端口,可用于編程或通信,不需增加硬件就可以與別的S7-200、S7-300S7-400PLC、變頻器和計算機通信。S7-200可以使用PPI 、MPI、ModbusRTU從站、ModbusRTU主站和USS等通信協(xié)議,以及自由端口通信模式。
s7-200可以直接通訊modbus嗎s7-200不能直接實現(xiàn)通訊modbus。s7-200實現(xiàn)通訊modbus方法步驟如下:
要求:要使用Modbus協(xié)議必須先在STEP7Micro/Win上安裝指令庫。
Modbus主站協(xié)議只支持STEP7Micro/WinV4.0SP5及其以上版本。。
1.硬件設(shè)置
2.參數(shù)匹配
3.指令庫的存儲地址
4.保持寄存器值得傳輸
1.硬件設(shè)置例程中的Modbus通訊是在兩個S7-200CPU的0號通訊口間進行的(最好每個CPU都有兩個通訊口)。在主站側(cè)也可以選擇相應(yīng)庫文件“MBUS_CTRL_P1”和“MBUS_MSG_P1”通過1號通訊口通信。通訊口1與Micro/WIN建立PG或PC連接,兩個CPU的通訊口0通過PPI電纜進行連接(電纜的針腳連接為2,3,7,8)。
圖01
2.參數(shù)匹配對于MODBUS通訊,主站側(cè)需要程序庫“MBUS_CTRL”和“MBUS_MSG”,從站側(cè)需要程序庫“MBUS_INIT”and“MBUS_SLAVE”。
在Micro/WIN中您需要為主站和從站新建一個項目,程序與參數(shù)設(shè)置見圖.02。
必須要保證主站與從站的“Baud”和“Parity”的參數(shù)設(shè)置要一致,并且程序塊“MBUS_MSG”中的“Slave”地址要與程序塊“MBUS_INIT”中的“Addr”所設(shè)置的一致(見圖。02)。
Micro/WIN“系統(tǒng)塊”中設(shè)置的0通訊口的波特率與MODBUS協(xié)議無關(guān)(“Mode”=“1”)。
圖02
下面的表格列出了程序塊各個參數(shù)選項及其意義
主站
MBUS_CTRL
參數(shù)意義選項EN使能Mode協(xié)議選擇0=PPI,1=MODBUSBaud傳輸速率kbps1200,2400,4800,9600,19200,38400,57600,115200Parity校驗選擇0=無校驗,1=奇校驗,2=偶校驗TImeout從站的最長響應(yīng)時間msDone“完成”標(biāo)志位Error錯誤代碼1)表01
1)參看STEP7Micro/WIN幫助:“MODBUS主站執(zhí)行MBUS_MSG時的錯誤代碼MBUS_MSG”。
MBUS_MSG
參數(shù)意義選項EN使能First讀寫請求位Slave從站地址RW“讀”或“寫”0=讀,1=寫Addr讀寫從站的數(shù)據(jù)地址0。.128=數(shù)字量輸出Q0.0。.Q15.7
1001。.10128=數(shù)字量輸入I0.0。.Q15.7
30001。.30092=模擬量輸入AIW0。.AIW62
40001。.49999=保持寄存器2Count位或字的個數(shù)(0xxxx,1xxxx)/words(3xxxx,4xxxx)DataPtrV存儲區(qū)起始地址指針Done‘完成’標(biāo)志位Error錯誤代碼1)表02
1)參看STEP7Micro/WIN幫助:“MODBUS主站執(zhí)行MBUS_MSG時的錯誤代碼MBUS_MSG”。
從站
MBUS_INIT
參數(shù)意義選項EN使能Mode協(xié)議選擇0=PPI,1=MODBUSAddr從站地址Baud傳輸速率kbps1200,2400,4800,9600,19200,38400,57600,115200Parity校驗0=無校驗,1=奇校驗,2=偶校驗Delay超時時間msMaxIQ可使用的數(shù)字輸入輸出點數(shù)2)MaxAI可使用的模擬量輸入點數(shù)2)MaxHold保持寄存器字的最大數(shù)量2)HoldStart保持寄存器的起始地址(40001)Done完成標(biāo)志位Error錯誤代碼3)表03
2)最大的地址取決于所用CPU的類型及其最大值。
3)參看STEP7Micro/WIN幫助:“MODBUS從站協(xié)議的錯誤代碼”。
MBUS_SLAVE
參數(shù)意義選項EN使能Done完成標(biāo)志位Error錯誤代碼3)表04
3)參看STEP7Micro/WIN幫助:“MODBUS從站協(xié)議的錯誤代碼”。
3.庫的存儲地址項目完成后必須要在Micro/WIN中定義庫的存儲地址,當(dāng)定義完存儲區(qū)后,要保證在任何情況下不能再被其它程序所使用(主站側(cè):“DataPtr”+“Count”從站側(cè):“HoldStart”+“MaxHold”)。
圖03
4.保持寄存器值的傳輸將程序下載到相應(yīng)的CPU后,可以在狀態(tài)表中給主站側(cè)的V存儲區(qū)賦值,然后監(jiān)視從站的變化。
當(dāng)主站的I0.0使能后,VW2中的內(nèi)容就被發(fā)送到從站并寫入從站的VW2。
保持寄存器值的傳輸見圖。04。
指針“DataPtr”代表了V區(qū)被讀的起始地址。
參數(shù)“Count”表明了地址“Addr”=“4xxxx”(保持寄存器)以字為單位被讀的個數(shù)。
主站中被讀取的V存儲區(qū)被寫入地址為“Addr”=“40002”(“RW”=“1”)的保持寄存器中。
保持寄存器是以字為單位工作的,它與從站的V區(qū)地址對應(yīng)。
指針“HoldStart”明確了與保持寄存器起始地址40001相對應(yīng)的V存儲區(qū)的初始地址。
可以這樣計算從站的V區(qū)目標(biāo)指針:
2*(Addr-40001)+HoldStart=2*(40002-40001)+&VB0=&VB2
另外,要保證“MaxHold”定義的數(shù)據(jù)區(qū)能夠包含主站側(cè)所要寫入的數(shù)據(jù)區(qū):
MaxHold》=Addr-40001+Count=40002-40001+1=2
Fig.04
關(guān)于STEP7Micro/WINMOBDUS庫的更多信息可以參看S7-200系統(tǒng)手冊(EntryID1109582)和STEP7Micro/WIN幫助。
如何在STEP7Micro/WIN中找到ModbusRTU協(xié)議和USS協(xié)議操作庫?
說明:
在STEP7Micro/WIN中,ModbusRTU協(xié)議和USS協(xié)議操作庫位于操作樹的“庫”文件夾中。MODBUS函數(shù)庫要求STEP7Micro/WIN為V3.2或更高版本。
圖1:添加函數(shù)庫
這些庫是附加函數(shù)庫,并非組態(tài)軟件STEP7Micro/WIN的組成部分。
您如果需要使用ModbusRTU協(xié)議,必須購買“SIMATICSTEP7Micro/WINADDON:FuncTIonLibraryV1.1(USS+MODBUS)forSTEP7Micro/WIN32”軟件。
這個可選附加函數(shù)庫的訂貨號是6ES7830-2BC00-0YX0。
安裝順序:
先安裝“STEP7Micro/WIN32ToolboxV1.0”(包括庫),然后安裝“STEP7Micro/WIN”。
注意:
這個函數(shù)庫包含可以在STEP7Micro/WINV3.2中使用的ModbusRTU協(xié)議庫和USS協(xié)議庫。
如果您安裝了STEP7Micro/WINV4.0SP5或者更高版本,那么操作庫中就會包含下列函數(shù):
ModbusRTUMasterV1.2對應(yīng)端口0和端口1
ModbusRTUSlaveV1.0對應(yīng)端口0
USSprotocolV2.3對應(yīng)端口0和端口1
------------------------------------------------------------------------------------------------------
西門子S7-200CN解密方法及過程與本節(jié)相關(guān)的PLC解密下載地址:http://www.plcjiemi.com/200jmxs.htm
1、西門子S7-200的PLC密碼共分三個層次,我們最為關(guān)心的就是系統(tǒng)密碼,因為它直接影響到程序的上載,也是我們所要破解的關(guān)鍵一層密碼。其次就是POU密碼,對于西門子的200PLC,你雖然已經(jīng)破解了系統(tǒng)密碼,也上載了程序,但是每個POU都顯示一把小鎖,你并打不開程序,直接影響我們對程序的編輯。再一個就是項目密碼,是程序員做完項目后為保密而在編程軟件的“文件”下的“設(shè)置密碼”下而生成的。
2、首先連接好與PLC的PPI編程電纜,如果您還沒有編程電纜,那么你就自己開發(fā)一根吧!看下面的解密軟件圖,是2014年開發(fā)的不用注冊的完全授權(quán)版本,您只需下載解壓后便可使用。
3、解子程序(pou密碼)是需要替換STEP7-MicroWIN的datamanagers200.dll文件,這樣在《查看》菜單的《屬性》里面的《保護》不用輸入密碼就可以打開子程序;請看破解流程圖。
4、關(guān)于破解補丁的安裝替換方法:
如果您所使用的編程軟件是STEP7-MicroWINV4.0.6.35SP6版的。把(datamanagers200.dll)拷貝到“C:ProgramFilesSiemensSTEP7-MicroWINV4.0in文件夾下覆蓋原文件就可以了。解子程序最低需要STEP7-MicroWINV4.0.3.08SP3版,隨西門子軟件版本的更新分別為SP4、SP5、SP6,現(xiàn)在已經(jīng)達到SP7版,低版本或別的版本不行。各自的版本需要各自的破解補丁,彼此不通用。
5、關(guān)于PLC版本為02版(cn)的系統(tǒng)密碼破解說法:
新版本的plc新增加了第4級保護,就是禁止讀取和寫入,無論你是否已知密碼。所謂的新版本是怎么區(qū)分的?第一看硬件在PLC的底部標(biāo)簽的最下面一行就記錄了版本號。第二看PLC正面標(biāo)記的CPU的型號如226CN,如果帶有“CN”字符,那么版本號肯定也是02版。第三就是通訊讀版本號,你用STEP7-MicroWIN連接PLC,點擊上載按鈕,這時彈出的對話框中就清楚的顯示了PLC的CPU型號及版本號。所以說區(qū)分新舊版本看的是版本號,帶CN的只是其中的一種,還有不帶有CN的也是具有四級加密功能的。也可以這樣說凡具有四級加密功能的就稱之為新版本。破解這種版本確實有一定的難度,但也并不是象西門子公司所說的無法破解,凡事總有破綻。
現(xiàn)在CN的解密套裝已開始發(fā)售?,F(xiàn)在基本可以確定PPI協(xié)議所能破解的西門子S7-200PLC的范圍:02.00版以下的,包括部分02.00版本(確切的說是最高只有3級加密功能的plc),通過本軟件就可以輕松破解,02.00版以上的,包括02.00版(精確定位是-具備4級加密功能的2.0版本)和所有的200CN型號,只有拆機解密,迄今為止還沒有更好的辦法!關(guān)于版本號,你通過本軟件就可以探測到。