S7-200做主站S7-300 CP341做從站的Modbus RTU通訊_第1頁(yè)
S7-200做主站S7-300 CP341做從站的Modbus RTU通訊_第2頁(yè)
S7-200做主站S7-300 CP341做從站的Modbus RTU通訊_第3頁(yè)
S7-200做主站S7-300 CP341做從站的Modbus RTU通訊_第4頁(yè)
S7-200做主站S7-300 CP341做從站的Modbus RTU通訊_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、S7-200做主站S7-300 CP341做從站的Modbus RTU通訊Modbus RTU Communication S7-200 as Master and S7-300 CP341 as SlaveGetting-Started Edition (2010年6月)摘 要 本文檔討論使用S7-200做主站,S7-300 CP341做從站的Modbus RTU通訊。關(guān)鍵詞 CP341,Modbus RTU,功能碼,S7-200Key Words CP341,Modbus RTU,F(xiàn)unction Code,S7-200目 錄1. 概述2. 軟件環(huán)境2.1 STEP7 V5.4 SP42.

2、2 CP PTP Param V5.1 SP112.3 CP PTP Modbus Slave V3.1 SP72.4 STEP7 Micro/WIN V4.0 SP62.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library3. 硬件列表和接線3.1 硬件列表3.2 硬件接線3.2.1 接口定義3.2.2 接線示意圖4. 組態(tài)設(shè)置和編程4.1 S7-200做Modbus主站的設(shè)置4.1.1 Modbus RTU主站庫(kù)4.1.2 S7-200 Modbus主站編程4.2 CP341 做Modbus 從站的硬件組態(tài)4.2.1 硬件組態(tài)4.2.2

3、 設(shè)置Modbus參數(shù)4.2.3 Modbus驅(qū)動(dòng)的下載4.2.4 CP341做Modbus從站的編程5. 通訊測(cè)試5.1 FC01/05/15功能碼5.2 FC02功能碼5.3 FC03/06/16 功能碼5.4 FC04 功能碼5.5 Limits 欄6. 總結(jié)7. 相關(guān)參考資料附錄推薦網(wǎng)址1. 概述在現(xiàn)場(chǎng)應(yīng)用中,很多儀表和設(shè)備僅支持Modbus RTU的通訊協(xié)議,第三方儀表可以做Modbus主站或從站,西門(mén)子的通訊模塊CP341 / CP441-2 通過(guò)Dongle(硬件狗)可以擴(kuò)展該協(xié)議,S7-200 集成的口可以支持自由口通訊,通過(guò)指令庫(kù)也可以方便的實(shí)現(xiàn)Modbus RTU通訊。本文

4、以S7-200作為Modbus 主站,CP341作為Modbus 從站,實(shí)現(xiàn)Modbus RTU通訊,闡述兩者在通訊方面的設(shè)置和注意事項(xiàng)。2. 軟件環(huán)境2.1 STEP7 V5.4 SP4用于編寫(xiě) S7-300/400程序,此軟件需要從西門(mén)子購(gòu)買(mǎi),本文檔中的300的程序是使用Step7 V5.4 SP4的軟件編寫(xiě)。2.2 CP PTP Param V5.1 SP11串行通訊模板的驅(qū)動(dòng)程序,安裝此驅(qū)動(dòng)后才能對(duì)PtP模板進(jìn)行參數(shù)配置,并在Step7中集成通訊編程需要使用的功能塊。此驅(qū)動(dòng)隨購(gòu)買(mǎi)模板一起提供,也可以從以下的鏈接下載。2.3 CP PTP Modbus Slave V3.1 SP7CP3

5、41或CP441-2用于Modbus從站時(shí),需要安裝此驅(qū)動(dòng)協(xié)議,但安裝之前必須先安裝PtP Driver,此驅(qū)動(dòng)可以在購(gòu)買(mǎi)Modbus Dongle時(shí)選擇購(gòu)買(mǎi),也可以從以下的鏈接下載。2.4 STEP7 Micro/WIN V4.0 SP6用于S7-200編程的軟件,本文檔中的200的程序是使用Step7 Micro/win 的軟件編寫(xiě)。此軟件可以從西門(mén)子下載中心免費(fèi)下載,也可以從以下的鏈接下載。 網(wǎng)站 自動(dòng)化系統(tǒng)S7-200軟件,文檔編號(hào)S0002。2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction LibraryS7-200實(shí)現(xiàn)Modbus RT

6、U功能,可以使用Modbus的指令庫(kù),要使用西門(mén)子的標(biāo)準(zhǔn)指令庫(kù),必須先安裝指令庫(kù)的軟件包 Instruction Library,安裝后,可以在Step 7-Micro/WIN軟件的庫(kù)中找到Modbus相關(guān)的指令,該軟件包可以從以下的鏈接下載。 網(wǎng)站 自動(dòng)化系統(tǒng)S7-200軟件,文檔編號(hào)S0010。3. 硬件列表和接線3.1 硬件列表S7-300從站CPU315-2DP6ES7 315-2AG10-0AB0CP341 RS422/4856ES7 341-1CH01-0AE0Dongle6ES7 870-1AB01-0YA0PC 適配器(USB)6ES7 972-0CB20-0XA0S7-200

7、主站CPU 224XP6ES7 214-2BD23-0XB0表1 硬件設(shè)備3.2 硬件接線3.2.1接口定義S7-200的通訊口為RS485物理口(9針口),CP341是RS422/485的接口類(lèi)型(15針口),兩種設(shè)備的接口引腳的示意圖如下所示,更詳細(xì)的信息可以參考CP341及S7-200通信接口的手冊(cè)。圖1 S7-200 CPU通信口引腳定義圖2 S7-300 CP341 RS422/485 通訊口引腳定義3.2.2接線示意圖圖3 硬件結(jié)構(gòu)和接線示意圖4. 組態(tài)設(shè)置和編程4.1 S7-200做Modbus主站的設(shè)置S7-200 CPU上的通信口在電氣上是標(biāo)準(zhǔn)的RS-485半雙工串行通信口,

8、此串行字符通信的格式:1個(gè)起始位;7/8位數(shù)據(jù)位;1位奇/偶/無(wú)校驗(yàn);1停止位。通信波特率可以設(shè)置為1200、2400、4800、9600、19200、38400、57600或112500,符合這些格式的串行通訊設(shè)備可以和S7-200進(jìn)行自由口通訊,Modbus RTU指令庫(kù)就是使用自由口編程實(shí)現(xiàn)的。4.1.1Modbus RTU主站庫(kù)使用Modbus 主站指令庫(kù)時(shí)需要注意的幾點(diǎn):l 需要S7-200的編程軟件是 Micro/WIN V4.0 SP5及以上版本;l Modbus RTU 主站庫(kù)對(duì)CPU的版本有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號(hào)為 6ES721*23-

9、0BA*);l Modbus主站可讀/寫(xiě)的最大數(shù)據(jù)量為120個(gè)字(指每一個(gè) MBUS_MSG 指令);l Modbus 主站庫(kù)支持Port0和Port1(從站庫(kù)只支持Port0口),本例中用Port0;l 使用Modbus 庫(kù)時(shí)必須對(duì)庫(kù)存儲(chǔ)區(qū)進(jìn)行分配,見(jiàn)下圖設(shè)置,而且分配的空間不能和程序中其它空間沖突,否則編譯調(diào)用會(huì)報(bào)錯(cuò)。圖4 庫(kù)存儲(chǔ)區(qū)設(shè)置l Modbus主站庫(kù)支持的功能碼和地址對(duì)應(yīng)關(guān)系:Modbus 地址讀 / 寫(xiě)Modbus 從站須支持的功能0000109999數(shù)字量輸出讀功能1:讀輸出點(diǎn)寫(xiě)功能5:寫(xiě)單個(gè)輸出點(diǎn)功能15:寫(xiě)多個(gè)輸出點(diǎn)1000119999數(shù)字量輸入讀功能2:讀輸入點(diǎn)30001

10、39999輸入寄存器讀功能4:讀輸入寄存器4000149999保持寄存器讀功能3:讀保持寄存器寫(xiě)功能6:寫(xiě)單個(gè)寄存器功能16:寫(xiě)多個(gè)寄存器表2需要從站支持的功能4.1.2S7-200 Modbus主站編程編程時(shí),使用SM0.0調(diào)用MBUS_CTRL完成主站的參數(shù)初始化,詳細(xì)見(jiàn)下表,參數(shù)的說(shuō)明也可以從子程序的局部變量表中找到。圖5 Modbus RTU 主站初始化圖中各參數(shù)含義如下編號(hào)符號(hào)/含義說(shuō) 明aEN / 使能必須保證每一掃描周期都被使能(使用SM0.0)。bMode / 模式為1時(shí)使能為Modbus協(xié)議;為0時(shí)恢復(fù)為PPI協(xié)議。cBaud / 波特率支持的通訊波特率為1200,2400,

11、4800,9600,19200,38400,57600,115200。dParity / 校驗(yàn)校驗(yàn)方式選擇:0無(wú)校驗(yàn);1奇校驗(yàn),2偶校驗(yàn)。eTimeout / 超時(shí)主站等待從站響應(yīng)的時(shí)間,以毫秒為單位,典型的設(shè)置值為 1000毫秒,允許設(shè)置的范圍為1-32767。這個(gè)值必須設(shè)置足夠大以保證從站有時(shí)間響應(yīng)。fDone / 完成位初始化完成,此位會(huì)自動(dòng)置1。gError / 錯(cuò)誤位初始化錯(cuò)誤代碼。表3調(diào)用 Modbus RTU 主站讀寫(xiě)子程序MBUS_MSG,發(fā)送一個(gè)Modbus 請(qǐng)求。圖6 調(diào)用Modbus RTU 主站讀寫(xiě)子程序圖中各參數(shù)含義如下編號(hào)符號(hào)/含義說(shuō) 明aEN / 使能同一時(shí)刻只能

12、有一個(gè)讀寫(xiě)功能使能。bFirst / 讀寫(xiě)請(qǐng)求位每一個(gè)新的讀寫(xiě)請(qǐng)求必須使用脈沖觸發(fā)。cSlave / 從站地址可選擇的范圍1247。dRW / 讀寫(xiě)操作位0讀, 1寫(xiě)。eAddr / 讀寫(xiě)從站的數(shù)據(jù)地址選擇讀寫(xiě)的數(shù)據(jù)類(lèi)型:00001 至 0xxxx - 開(kāi)關(guān)量輸出10001 至 1xxxx - 開(kāi)關(guān)量輸入30001 至 3xxxx - 模擬量輸入40001 至 4xxxx - 保持寄存器。fCount / 數(shù)據(jù)的個(gè)數(shù)通訊的數(shù)據(jù)個(gè)數(shù)(位或字的個(gè)數(shù))。gDaptPtr / 數(shù)據(jù)指針如果是讀指令,讀回的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中;如果是寫(xiě)指令,要寫(xiě)出的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中。hDone / 完成位讀寫(xiě)功能完

13、成位。iError / 錯(cuò)誤代碼只有在Done位為1時(shí),錯(cuò)誤代碼才有效。表4從上圖中可見(jiàn),S7-200作為Modbus RTU主站,波特率9.6Kb/s,偶校驗(yàn),連接從站的站地址是3,數(shù)據(jù)存儲(chǔ)區(qū)為VB2000開(kāi)始的區(qū)域。4.2 CP341 做Modbus 從站的硬件組態(tài)4.2.1硬件組態(tài)圖7 S7-300側(cè)硬件組態(tài)4.2.2設(shè)置Modbus參數(shù)圖8 消息楨字符結(jié)構(gòu)按照上述操作設(shè)置參數(shù),從上圖可以看出,本例中的傳輸波特率9.6Kb/s,1位起始位,8位數(shù)據(jù)位,偶校驗(yàn)位,1位停止位,從站站地址是3,主從通訊設(shè)備的字符幀格式和波特率等參數(shù)設(shè)置需要一致。圖9 RS422/485 接口組態(tài)RS422/4

14、85接口只能一個(gè)有效,接口的選擇只需要組態(tài)而不需要在硬件上短接。4.2.3Modbus驅(qū)動(dòng)的下載當(dāng)配置好Modbus通信的參數(shù)后,保存前需要向CP341下載Modbus Slave的驅(qū)動(dòng),一旦下載完成后無(wú)需再次下載。需要注意的是,在下載驅(qū)動(dòng)時(shí)(可以在無(wú)Dongle情況下下載),需要將CPU停機(jī),然后下載,操作過(guò)程如下所示。圖10 下載Dongle時(shí),需要CPU停機(jī)圖11 從站驅(qū)動(dòng)下載后結(jié)果4.2.4CP341做Modbus從站的編程從Step7 軟件下的EXAMPLE目錄中,找到項(xiàng)目名“zXX21_05_PtP_Com_MODSL”的項(xiàng)目,打開(kāi),然后將Modbus通訊模塊FB80傳遞到用戶(hù)項(xiàng)目

15、中,打開(kāi)路徑如下所示。圖12 Modbus Slave 例程打開(kāi)路徑OB1中調(diào)用FB80編程如下:圖13 FB80程序塊調(diào)用CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK為1信號(hào),否則CP_START_ERROR為1,同時(shí)可以從ERROR_NR察看錯(cuò)誤信息,也可以在硬件組態(tài)中在線后的CP341的診斷緩沖區(qū)察看詳細(xì)的錯(cuò)誤信息,錯(cuò)誤信息對(duì)照和處理方式可以參考S7-300以用于PtP CP Modbus 協(xié)議RTU格式S7的可裝載驅(qū)動(dòng)程序?yàn)閺恼镜氖謨?cè)。FB80的各參數(shù)含義如下LADDR硬件組態(tài)中CP341的起始邏輯地址,本例中為256START_TIMER初始化

16、超時(shí)定時(shí)器,本例中為T(mén)120START_TIME初始化定時(shí)器時(shí)間,本例中為5SOB_MASKI/O訪問(wèn)錯(cuò)誤屏蔽位,本例中為T(mén)rue(I/O訪問(wèn)錯(cuò)誤已屏蔽)CP_STARTFB初始化使能位,本例中為M0.0CP_START_FMCP_START 初始化的上升沿位,本例中為M0.1CP_NDR從CP卡寫(xiě)操作位,本例中為m0.2CP_START_OK初始化完成且無(wú)錯(cuò)誤,本例中為M0.3CP_START_ERROR初始化完成,但有錯(cuò)誤,本例中為M0.4ERROR_NR錯(cuò)誤號(hào),本例中為MW2ERROR_INFO錯(cuò)誤信息,本例中為MW4表55. 通訊測(cè)試Modbus RTU格式通信協(xié)議是以主從的方式進(jìn)行數(shù)

17、據(jù)傳輸?shù)模趥鬏數(shù)倪^(guò)程中主站是主動(dòng)方,即主站發(fā)送數(shù)據(jù)請(qǐng)求報(bào)文到從站,從站返回響應(yīng)報(bào)文。Modbus 系統(tǒng)間的數(shù)據(jù)交換是通過(guò)功能碼來(lái)控制的,以下對(duì)現(xiàn)場(chǎng)常用的功能碼進(jìn)行分類(lèi)測(cè)試,關(guān)于功能碼的詳細(xì)信息請(qǐng)參考手冊(cè)。5.1 FC01/05/15功能碼CP341從站的通訊區(qū)域配置圖14 FC01/05/15參數(shù)組態(tài)界面FC01、FC05、FC15對(duì)應(yīng)的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,可以讀寫(xiě)操作,用戶(hù)地址區(qū)為0xxxx,Modbus地址在信息傳遞中從0開(kāi)始。如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對(duì)應(yīng)的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 7對(duì)應(yīng)用戶(hù)地址區(qū)為00001 0000

18、8,對(duì)應(yīng)S7-300的M10.0 M10.7,并且以此為例說(shuō)明FC01功能碼的通訊。S7-200主站程序調(diào)用圖15 功能碼FC01使用S7-200主站,用功能碼FC01讀取從站8點(diǎn)數(shù)字量輸出,接收的數(shù)據(jù)存放在VB2000開(kāi)始的區(qū)域,測(cè)試截圖結(jié)果如下。圖16 FC01功能碼數(shù)據(jù)交換5.2 FC02功能碼CP341從站的通訊區(qū)域配置圖17 FC02 參數(shù)組態(tài)界面FC02對(duì)應(yīng)的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,只讀操作,用戶(hù)地址區(qū)為1xxxx,Modbus地址在信息傳遞中從0開(kāi)始,如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對(duì)應(yīng)的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 7對(duì)應(yīng)用戶(hù)

19、地址區(qū)為10001 10008,對(duì)應(yīng)S7-300的M20.0 M20.7,并且以此為例說(shuō)明FC02功能碼的通訊。S7-200主站程序調(diào)用圖18 功能碼FC02使用S7-200主站,用功能碼FC02讀取從站8點(diǎn)數(shù)字量輸入,接收的數(shù)據(jù)存放在VB2000開(kāi)始的區(qū)域,測(cè)試截圖結(jié)果如下。圖19 FC02功能碼數(shù)據(jù)交換5.3 FC03/06/16功能碼CP341從站的通訊區(qū)域配置圖20 FC03/06/16參數(shù)組態(tài)界面FC03/06/16對(duì)應(yīng)的數(shù)據(jù)區(qū)為寄存器,數(shù)據(jù)的傳遞以字為單位,可以讀寫(xiě)操作,用戶(hù)地址區(qū)為4xxxx,Modbus地址在信息傳遞中從0開(kāi)始。如上圖,左邊為信息傳遞地址,右邊對(duì)應(yīng)的是S7-30

20、0的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛模疫呏粚?duì)應(yīng)一個(gè)數(shù)據(jù)區(qū)。例如用戶(hù)地址區(qū)為40001 40004,對(duì)應(yīng)S7-300數(shù)據(jù)區(qū)為DB1.DBW0 DB1.DBW6,并且以此為例說(shuō)明FC03功能碼的通訊。S7-200主站程序調(diào)用圖21功能碼FC03使用S7-200主站,用功能碼FC03讀取從站4個(gè)字寄存器,接收的數(shù)據(jù)存放在VB2000開(kāi)始的區(qū)域,測(cè)試截圖結(jié)果如下。圖22 FC03功能碼數(shù)據(jù)交換5.4 FC04 功能碼CP341從站的通訊區(qū)域配置圖23 FC04參數(shù)組態(tài)界面FC04對(duì)應(yīng)的數(shù)據(jù)區(qū)為寄存器輸入,數(shù)據(jù)的傳遞也以字為單位,只讀操作,用戶(hù)地址區(qū)3xxxx,Modbus地址在信息傳送中從0開(kāi)始。如上圖,

21、左邊為信息傳遞地址,右邊對(duì)應(yīng)的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛模疫呏粚?duì)應(yīng)一個(gè)數(shù)據(jù)區(qū)。例如用戶(hù)地址區(qū)為30001 30004,對(duì)應(yīng)S7-300數(shù)據(jù)區(qū)為DB1.DBW0 DB1.DBW6,并且以此為例說(shuō)明FC04功能碼的通訊。S7-200主站程序調(diào)用圖24功能碼FC04使用S7-200主站,用功能碼FC04讀取從站4個(gè)字輸入寄存器,接收的數(shù)據(jù)存放在VB2000開(kāi)始的區(qū)域,測(cè)試截圖結(jié)果如下。圖25 FC04功能碼數(shù)據(jù)交換5.5 Limits 欄圖26 Limits 參數(shù)組態(tài)界面對(duì)于寫(xiě)功能碼FC05、06、15、16,可以禁用或限制訪問(wèn)相關(guān)S7-300存儲(chǔ)區(qū),即使用這些功能碼時(shí),S7-300存儲(chǔ)區(qū)需要在設(shè)定的最小和最大的范圍之間,如果訪問(wèn)的區(qū)域超出這個(gè)范圍,則訪問(wèn)會(huì)被拒絕,同時(shí)輸出報(bào)錯(cuò)誤信息。6. 總結(jié)本文檔以S7-200為主站和CP341為從站簡(jiǎn)單介紹了Modbus RTU通

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論