《銷售態(tài)度》:保證、誠信服務、及時到位!
《銷售宗旨》:為客戶創(chuàng)造價值是我們永遠追求的目標!
《服務說明》:現(xiàn)貨配送至各地含稅(16%)含運費!
《產品》:原裝,全新原裝!
《產品優(yōu)勢》:銷售 薄銷 信譽好,口碑好,價格低,貨期短,大量現(xiàn)貨,服務周到!
------------------------------------------------------------------------------------------------
地址:重慶市渝北區(qū)財富大道2號12-4
line;color:#333333;?="">1. 概述 在現(xiàn)場應用中,很多儀表和設備僅支持Modbus RTU的通訊協(xié)議,第三方儀表可以做Modbus主站或從站,西門子的通訊模塊CP341 / CP441-2 通過Dongle(硬件狗)可以擴展該協(xié)議,S7-200 集成的口可以支持口通訊,通過指令庫也可以方便的實現(xiàn)Modbus RTU通訊。本文以S7-200作為Modbus 主站,CP341作為Modbus 從站,實現(xiàn)Modbus RTU通訊,闡述兩者在通訊方面的設置和注意事項。
line;color:#333333;?=""> 2.
line;color:#333333;?="">2.1 STEP7 V5.4 SP4 用于編寫 S7-300/400程序,此需要從西門子購買,本文檔中的300的程序是使用Step7 V5.4 SP4的編寫。
line;color:#333333;?="">2.2 CP PTP Param V5.1 SP11 串行通訊模板的驅動程序,安裝此驅動后才能對PtP模板進行參數(shù)配置,并在Step7中集成通訊編程需要使用的功能塊。此驅動隨購買模板一起提供,也可以從以下的鏈接下載:27013524
line;color:#333333;?="">2.3 CP PTP Modbus Sle V3.1 SP7 CP341或CP441-2用于Modbus從站時,需要安裝此驅動協(xié)議,但安裝之前必須先安裝PtP Driver,此驅動可以在購買Modbus Dongle時選擇購買,也可以從以下的鏈接下載:
line;color:#333333;?="">2.4 STEP7 Micro/WIN V4.0 SP6 用于S7-200編程的,本文檔中的200的程序是使用Step7 Micro/win 的編寫。此可以從西門子下載中心免費下載,也可以從以下的鏈接下載。 http://www.ad.siemens.com.cn/download 網(wǎng)站 自動化>>S7-200>>,文檔編號S0002。
line;color:#333333;?="">2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library S7-200實現(xiàn)Modbus RTU功能,可以使用Modbus的指令庫,要使用西門子的指令庫,必須先安裝指令庫的包 Instruction Library,安裝后,可以在Step 7-Micro/WIN的庫中找到Modbus相關的指令,該包可以從以下的鏈接下載。http://www.ad.siemens.com.cn/download 網(wǎng)站 自動化>>S7-200>>,文檔編號S0010。
line;color:#333333;?=""> 3. 硬件列表和接線
line;color:#333333;?="">3.1 硬件列表
line;color:#333333;?="">表1 硬件設備
line;color:#333333;?="">3.2 硬件接線
line;color:#333333;?="">3.2.1 接口定義 S7-200的通訊口為RS485物理口(9針口),CP341是RS422/485的接口類型(15針口),兩種設備的接口引腳的示意圖如下所示,更詳細的信息可以參考CP341及S7-200通信接口的手冊。
line;color:#333333;?=""> 圖1 S7-200 CPU通信口引腳定義
line;color:#333333;?="">
line;color:#333333;?=""> 圖2 S7-300 CP341 RS422/485 通訊口引腳定義
line;color:#333333;?="">3.2.2 接線示意圖
line;color:#333333;?=""> 圖3 硬件結構和接線示意圖
line;color:#333333;?=""> 4. 組態(tài)設置和編程
line;color:#333333;?="">4.1 S7-200做Modbus主站的設置 S7-200 CPU上的通信口在電氣上是的RS-485半雙工串行通信口,此串行字符通信的格式:1個起始位;7/8位數(shù)據(jù)位;1位奇/偶/無校驗;1停止位。通信波特率可以設置為1200、2400、4800、9600、19200、38400、57600或112500,符合這些格式的串行通訊設備可以和S7-200進行口通訊,Modbus RTU指令庫就是使用口編程實現(xiàn)的。
line;color:#333333;?="">4.1.1 Modbus RTU主站庫
line;color:#333333;?="">使用Modbus 主站指令庫時需要注意的幾點:
line;color:#333333;?=""> 圖4 庫存儲區(qū)設置
表2需要從站支持的功能
line;color:#333333;?="">4.1.2 S7-200 Modbus主站編程 編程時,使用SM0.0調用MBUS_CTRL完成主站的參數(shù)初始化,詳細見下表,參數(shù)的說明也可以從子程序的局部變量表中找到。
line;color:#333333;?=""> 圖5 Modbus RTU 主站初始化
line;color:#333333;?="">圖中各參數(shù)含義如下
line;color:#333333;?="">表3
line;color:#333333;?="">調用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求。
line;color:#333333;?=""> 圖6 調用Modbus RTU 主站讀寫子程序
line;color:#333333;?="">表4
line;color:#333333;?="">從上圖中可見,S7-200作為Modbus RTU主站,波特率9.6Kb/s,偶校驗,連接從站的站地址是3,數(shù)據(jù)存儲區(qū)為VB2000開始的區(qū)域。
line;color:#333333;?="">4.2 CP341 做Modbus 從站的硬件組態(tài)
line;color:#333333;?="">4.2.1 硬件組態(tài)
line;color:#333333;?=""> 圖7 S7-300側硬件組態(tài)
line;color:#333333;?="">4.2.2 設置Modbus參數(shù)
line;color:#333333;?=""> 圖8 消息楨字符結構
line;color:#333333;?="">按照上述操作設置參數(shù),從上圖可以看出,本例中的傳輸波特率9.6Kb/s,1位起始位,8位數(shù)據(jù)位,偶校驗位,1位停止位,從站站地址是3,主從通訊設備的字符幀格式和波特率等參數(shù)設置需要一致。
line;color:#333333;?=""> 圖9 RS422/485 接口組態(tài)
line;color:#333333;?="">RS422/485接口只能一個有效,接口的選擇只需要組態(tài)而不需要在硬件上短接。
line;color:#333333;?="">4.2.3 Modbus驅動的下載 當配置好Modbus通信的參數(shù)后,保存前需要向CP341下載Modbus Sle的驅動,一旦下載完成后無需再次下載。 需要注意的是,在下載驅動時(可以在無Dongle情況下下載),需要將CPU停機,然后下載,操作如下所示。
line;color:#333333;?="">西門子EM DT08模塊 圖10 下載Dongle時,需要CPU停機
line;color:#333333;?="">西門子EM DR08模塊 圖11 從站驅動下載后結果
line;color:#333333;?="">4.2.4 CP341做Modbus從站的編程 從Step7 下的EXAMPLE目錄中,找到項目名“zXX21_05_PtP_Com_MODSL”的項目,打開,然后將Modbus通訊模塊FB80傳遞到用戶項目中,打開路徑如下所示。
line;color:#333333;?=""> 圖12 Modbus Sle 例程打開路徑
line;color:#333333;?="">OB1中調用FB80編程如下:
line;color:#333333;?=""> 圖13 FB80程序塊調用
line;color:#333333;?="">CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK為1,否則CP_START_ERROR為1,同時可以從ERROR_NR察看錯誤信息,也可以在硬件組態(tài)中在線后的CP341的診斷緩沖區(qū)察看詳細的錯誤信息,錯誤信息對照和處理可以參考 《S7-300以用于PtP CP Modbus 協(xié)議RTU格式S7的可裝載驅動程序為從站》的手冊。
line;color:#333333;?="">FB80的各參數(shù)含義如下
line;color:#333333;?="">表5
line;color:#333333;?=""> 5. 通訊 Modbus RTU格式通信協(xié)議是以主從的進行數(shù)據(jù)傳輸?shù)?,在傳輸?shù)闹兄髡臼欠?,即主站發(fā)送數(shù)據(jù)請求報文到從站,從站返回響應報文。Modbus 間的數(shù)據(jù)交換是通過功能碼來控制的,以下對現(xiàn)場常用的功能碼進行分類,關于功能碼的詳細信息請參考手冊。
line;color:#333333;?="">5.1 FC01/05/15功能碼 CP341從站的通訊區(qū)域配置
line;color:#333333;?=""> 圖14 FC01/05/15 參數(shù)組態(tài)界面
line;color:#333333;?="">FC01、FC05、FC15對應的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,可以讀寫操作,用戶地址區(qū)為0xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對應的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對應用戶地址區(qū)為00001 ~ 00008,對應S7-300的M10.0 ~ M10.7,并且以此為例說明FC01功能碼的通訊。 S7-200主站程序調用
line;color:#333333;?=""> 圖15 功能碼FC01使用
line;color:#333333;?="">S7-200主站,用功能碼FC01讀取從站8點數(shù)字量輸出,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結果如下。
line;color:#333333;?=""> 圖16 FC01功能碼數(shù)據(jù)交換
line;color:#333333;?="">5.2 FC02功能碼 CP341從站的通訊區(qū)域配置
line;color:#333333;?=""> 圖17 FC02 參數(shù)組態(tài)界面
line;color:#333333;?="">FC02對應的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,只讀操作,用戶地址區(qū)為1xxxx,Modbus地址在信息傳遞中從0開始,如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對應的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對應用戶地址區(qū)為10001 ~ 10008,對應S7-300的M20.0 ~ M20.7,并且以此為例說明FC02功能碼的通訊。 S7-200主站程序調用
line;color:#333333;?=""> 圖18 功能碼FC02使用
line;color:#333333;?="">S7-200主站,用功能碼FC02讀取從站8點數(shù)字量輸入,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結果如下。
line;color:#333333;?=""> 圖19 FC02功能碼數(shù)據(jù)交換
line;color:#333333;?="">5.3 FC03/06/16 功能碼 CP341從站的通訊區(qū)域配置
line;color:#333333;?=""> 圖20 FC03/06/16參數(shù)組態(tài)界面
line;color:#333333;?="">FC03/06/16 對應的數(shù)據(jù)區(qū)為寄存器,數(shù)據(jù)的傳遞以字為單位,可以讀寫操作,用戶地址區(qū)為4xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址,右邊對應的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛?,右邊只對應一個數(shù)據(jù)區(qū)。例如用戶地址 區(qū)為,對應S7-300數(shù)據(jù)區(qū)為DB1.DBW0 ~ DB1.DBW6,并且以此為例說明 FC03功能碼的通訊。 S7-200主站程序調用
line;color:#333333;?=""> 圖21功能碼FC03使用
line;color:#333333;?="">S7-200主站,用功能碼FC03讀取從站4個字寄存器,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結果如下。
line;color:#333333;?=""> 圖22 FC03功能碼數(shù)據(jù)交換
line;color:#333333;?=""> 5.4 FC04 功能碼 CP341從站的通訊區(qū)域配置
line;color:#333333;?=""> 圖23 FC04參數(shù)組態(tài)界面
line;color:#333333;?="">FC04對應的數(shù)據(jù)區(qū)為寄存器輸入,數(shù)據(jù)的傳遞也以字為單位,只讀操作,用戶地址區(qū)3xxxx,Modbus地址在信息傳送中從0開始。如上圖,左邊為信息傳遞地址,右邊對應的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛?,右邊只對應一個數(shù)據(jù)區(qū)。例如用戶地址區(qū)為30001 ~ 30004,對應S7-300數(shù)據(jù)區(qū)為DB1.DBW0 ~ DB1.DBW6,并且以此為例說明FC04功能碼的通訊。 S7-200主站程序調用
line;color:#333333;?=""> 圖24功能碼FC04使用
line;color:#333333;?="">S7-200主站,用功能碼FC04讀取從站4個字輸入寄存器,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結果如下。
line;color:#333333;?=""> 圖25 FC04功能碼數(shù)據(jù)交換
line;color:#333333;?="">5.5 Limits 欄
line;color:#333333;?=""> 圖26 Limits 參數(shù)組態(tài)界面
line;color:#333333;?="">對于寫功能碼FC05、06、15、16,可以禁用或訪問相關S7-300存儲區(qū),即使用這些功能碼時,S7-300存儲區(qū)需要在設定的和的范圍之間,如果訪問的區(qū)域出這個范圍,則訪問會被拒絕,同時輸出報錯誤信息。
西門子S7-400電源模塊
6ES7 407-0DA02-0AA0 西門子電源模塊(4A)
6ES7 407-0KA02-0AA0 西門子電源模塊(10A)
6ES7 407-0KR02-0AA0 西門子電源模塊(10A)冗余
6ES7 407-0RA02-0AA0 西門子電源模塊(20A)
6ES7 405-0DA02-0AA0 西門子電源模塊(4A)
6ES7 405-0KA02-0AA0 西門子電源模塊(10A)
6ES7 405-0RA01-0AA0 西門子電源模塊(20A)
6ES7 971-0BA00 西門子備用電池
西門子S7-400CPU
6ES7 412-3HJ14-0AB0 西門子CPU 412-3H; 512KB程序內存/256KB數(shù)據(jù)內存
6ES7 414-4HM14-0AB0 西門子CPU 414-4H; 冗余熱備CPU 2.8 MB RAM
6ES7 417-4HT14-0AB0 西門子CPU 417-4H; 冗余熱備CPU 30 MB RAM
6ES7 400-0HR00-4AB0 西門子412H 套件包括 2 個CPU、1個H型機架、2個電源、2個1M 存儲卡、4個同步模塊、2根同步電纜,以及4個備用電池(PS407 10A)
6ES7 400-0HR50-4AB0 西門子412H 套件包括 2 個CPU、1個H型機架、2個電源、2個1M 存儲卡、4個同步模塊、2根同步電纜,以及4個備用電池(PS405 10A)
6ES7 412-1XJ05-0AB0 西門子CPU412-1,144KB程序內存/144KB數(shù)據(jù)內存
6ES7 412-2XJ05-0AB0 西門子CPU412-2,256KB程序內存/256KB數(shù)據(jù)內存
6ES7 414-2XK05-0AB0 西門子CPU414-2,512KB程序內存/512KB數(shù)據(jù)內存
6ES7 414-3XM05-0AB0 西門子CPU414-3,1.4M程序內存/1.4M數(shù)據(jù)內存 1個IF模板插槽
6ES7 414-3EM05-0AB0 西門子CPU414-N/DP 1.4M程序內存/1.4M數(shù)據(jù)內存 1個IF模板插槽
6ES7 416-2XN05-0AB0 西門子CPU416-2,2.8M程序內存/2.8M數(shù)據(jù)內存
6ES7 416-3XR05-0AB0 西門子CPU416-3,5.6M程序內存/5.6M數(shù)據(jù)內存 1個IF模板插槽
6ES7 416-3ER05-0AB0 西門子CPU416-N/DP 5.6M程序內存/5.6M數(shù)據(jù)內存 1個IF模板插槽
6ES7 416-2FN05-0AB0 西門子CPU416F-2,2.8M程序內存/2.8M數(shù)據(jù)內存
6ES7 416-3FR05-0AB0 西門子CPU416F-N/DP,5.6M程序內存/5.6M數(shù)據(jù)內存
6ES7 417-4XT05-0AB0 西門子CPU417-4,15M程序內存/15M數(shù)據(jù)內存
西門子S7-400內存卡
6ES7 955-2AL00-0AA0 西門子2 X 2M字節(jié) RAM
6ES7 955-2AM00-0AA0 西門子2 X 4M字節(jié) RAM
6ES7 952-0AF00-0AA0 西門子64K字節(jié) RAM
6ES7 952-1AH00-0AA0 西門子256K字節(jié) RAM
6ES7 952-1AK00-0AA0 西門子1M字節(jié) RAM
6ES7 952-1AL00-0AA0 西門子2M字節(jié) RAM
6ES7 952-1AM00-0AA0 西門子4M字節(jié) RAM
6ES7 952-1AP00-0AA0 西門子8M字節(jié) RAM
6ES7 952-1AS00-0AA0 西門子16M字節(jié) RAM
6ES7 952-1AY00-0AA0 西門子64M字節(jié) RAM
6ES7 952-0KF00-0AA0 西門子64K字節(jié) FLASH EPROM
6ES7 952-0KH00-0AA0 西門子256K字節(jié) FLASH EPROM
6ES7 952-1KK00-0AA0 西門子1M字節(jié) FLASH EPROM
6ES7 952-1KL00-0AA0 西門子2M字節(jié) FLASH EPROM
6ES7 952-1KM00-0AA0 西門子4M字節(jié) FLASH EPROM
6ES7 952-1KP00-0AA0 西門子8M字節(jié) FLASH EPROM
6ES7 952-1KS00-0AA0 西門子16M字節(jié) FLASH EPROM
6ES7 952-1KT00-0AA0 西門子32M字節(jié) FLASH EPROM
6ES7 952-1KY00-0AA0 西門子64M字節(jié) FLASH EPROM
西門子S7-400開關量輸入模板
6ES7 421-7BH01-0AB0 西門子開關量輸入模塊(16點,24VDC)中斷
6ES7 421-1BL01-0AA0 西門子開關量輸入模塊(32點,24VDC)
6ES7 421-1EL00-0AA0 西門子開關量輸入模塊(32點,120VUC)
6ES7 421-1FH20-0AA0 西門子開關量輸入模塊(16點,120/230VUC)
6ES7 421-7DH00-0AB0 西門子開關量輸入模塊(16點,24V到60VUC)
西門子S7-400開關量輸出模板
6ES7 422-1BH11-0AA0 西門子開關量輸出模塊(16點,24VDC,2A)
6ES7 422-1BL00-0AA0 西門子32點輸出,24VDC,0.5A
6ES7 422-7BL00-0AB0 西門子32點輸出,24VDC,0.5A,中斷
6ES7 422-1FH00-0AA0 西門子16點輸出,120/230VAC,2A
6ES7 422-1HH00-0AA0 西門子16點輸出,繼電器,5A
西門子S7-400功能模板
6ES7 450-1AP00-0AE0 西門子FM450-1計數(shù)器模板
6ES7 451-3AL00-0AE0 西門子FM451定位模板
6ES7 452-1AH00-0AE0 西門子FM452電子凸輪控制器
6ES7 453-3AH00-0AE0 西門子FM453定位模板
6ES7 455-0VS00-0AE0 西門子FM455C閉環(huán)控制模塊
6ES7 455-1VS00-0AE0 西門子FM455S閉環(huán)控制模塊
6DD1 607-0AA2 西門子FM 458-1DP快速處理
6ES7 953-8LJ20-0AA0 西門子用于FM458-1DP 基本模板 512KByte(MMC)
6ES7 953-8LL20-0AA0 西門子用于FM458-1DP 基本模板 2MByte(MMC)
6ES7 953-8LM20-0AA0 西門子用于FM458-1DP 基本模板 4MByte(MMC)
6DD1 607-0CA1 西門子EXM 438-1 I/O擴展模板
6DD1 607-0EA0 西門子EXM 448 通訊擴展模板
6DD1 607-0EA2 西門子EXM 448-2 通訊擴展模板
6DD1 684-0GE0 西門子SC64連接電纜
6DD1 684-0GD0 西門子SC63連接電纜
6DD1 684-0GC0 西門子SC62連接電纜
6DD1 681-0AE2 西門子SB10端子模塊
6DD1 681-0AF4 西門子SB60端子模塊
6DD1 681-0EB3 西門子SB61端子模塊
6DD1 681-0AG2 西門子SB70端子模塊
6DD1 681-0DH1 西門子SB71端子模塊
6DD1 681-0AJ1 西門子SU12端子模塊
6DD1 681-0GK0 西門子SU13端子模塊
其他推薦產品
首頁| 關于我們| 聯(lián)系我們| 友情鏈接| 廣告服務| 會員服務| 付款方式| 意見反饋| 法律聲明| 服務條款
《銷售態(tài)度》:保證、誠信服務、及時到位!
《銷售宗旨》:為客戶創(chuàng)造價值是我們永遠追求的目標!
《服務說明》:現(xiàn)貨配送至各地含稅(16%)含運費!
《產品》:原裝,全新原裝!
《產品優(yōu)勢》:銷售 薄銷 信譽好,口碑好,價格低,貨期短,大量現(xiàn)貨,服務周到!
地址:重慶市渝北區(qū)財富大道2號12-4
line;color:#333333;?="">1. 概述
在現(xiàn)場應用中,很多儀表和設備僅支持Modbus RTU的通訊協(xié)議,第三方儀表可以做Modbus主站或從站,西門子的通訊模塊CP341 / CP441-2 通過Dongle(硬件狗)可以擴展該協(xié)議,S7-200 集成的口可以支持口通訊,通過指令庫也可以方便的實現(xiàn)Modbus RTU通訊。本文以S7-200作為Modbus 主站,CP341作為Modbus 從站,實現(xiàn)Modbus RTU通訊,闡述兩者在通訊方面的設置和注意事項。
line;color:#333333;?="">
2.
line;color:#333333;?="">2.1 STEP7 V5.4 SP4
用于編寫 S7-300/400程序,此需要從西門子購買,本文檔中的300的程序是使用Step7 V5.4 SP4的編寫。
line;color:#333333;?="">2.2 CP PTP Param V5.1 SP11
串行通訊模板的驅動程序,安裝此驅動后才能對PtP模板進行參數(shù)配置,并在Step7中集成通訊編程需要使用的功能塊。此驅動隨購買模板一起提供,也可以從以下的鏈接下載:27013524
line;color:#333333;?="">2.3 CP PTP Modbus Sle V3.1 SP7
CP341或CP441-2用于Modbus從站時,需要安裝此驅動協(xié)議,但安裝之前必須先安裝PtP Driver,此驅動可以在購買Modbus Dongle時選擇購買,也可以從以下的鏈接下載:
line;color:#333333;?="">2.4 STEP7 Micro/WIN V4.0 SP6
用于S7-200編程的,本文檔中的200的程序是使用Step7 Micro/win 的編寫。此可以從西門子下載中心免費下載,也可以從以下的鏈接下載。
http://www.ad.siemens.com.cn/download 網(wǎng)站 自動化>>S7-200>>,文檔編號S0002。
line;color:#333333;?="">2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library
S7-200實現(xiàn)Modbus RTU功能,可以使用Modbus的指令庫,要使用西門子的指令庫,必須先安裝指令庫的包 Instruction Library,安裝后,可以在Step 7-Micro/WIN的庫中找到Modbus相關的指令,該包可以從以下的鏈接下載。http://www.ad.siemens.com.cn/download 網(wǎng)站 自動化>>S7-200>>,文檔編號S0010。
line;color:#333333;?="">
3. 硬件列表和接線
line;color:#333333;?="">3.1 硬件列表
line;color:#333333;?="">表1 硬件設備
line;color:#333333;?="">3.2 硬件接線
line;color:#333333;?="">3.2.1 接口定義
S7-200的通訊口為RS485物理口(9針口),CP341是RS422/485的接口類型(15針口),兩種設備的接口引腳的示意圖如下所示,更詳細的信息可以參考CP341及S7-200通信接口的手冊。
line;color:#333333;?="">
圖1 S7-200 CPU通信口引腳定義
line;color:#333333;?="">
line;color:#333333;?="">
圖2 S7-300 CP341 RS422/485 通訊口引腳定義
line;color:#333333;?="">3.2.2 接線示意圖
line;color:#333333;?="">
圖3 硬件結構和接線示意圖
line;color:#333333;?="">
4. 組態(tài)設置和編程
line;color:#333333;?="">4.1 S7-200做Modbus主站的設置
S7-200 CPU上的通信口在電氣上是的RS-485半雙工串行通信口,此串行字符通信的格式:1個起始位;7/8位數(shù)據(jù)位;1位奇/偶/無校驗;1停止位。通信波特率可以設置為1200、2400、4800、9600、19200、38400、57600或112500,符合這些格式的串行通訊設備可以和S7-200進行口通訊,Modbus RTU指令庫就是使用口編程實現(xiàn)的。
line;color:#333333;?="">4.1.1 Modbus RTU主站庫
line;color:#333333;?="">使用Modbus 主站指令庫時需要注意的幾點:
line;color:#333333;?="">
圖4 庫存儲區(qū)設置
表2需要從站支持的功能
line;color:#333333;?="">4.1.2 S7-200 Modbus主站編程
編程時,使用SM0.0調用MBUS_CTRL完成主站的參數(shù)初始化,詳細見下表,參數(shù)的說明也可以從子程序的局部變量表中找到。
line;color:#333333;?="">
圖5 Modbus RTU 主站初始化
line;color:#333333;?="">圖中各參數(shù)含義如下
line;color:#333333;?="">表3
line;color:#333333;?="">調用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求。
line;color:#333333;?="">
圖6 調用Modbus RTU 主站讀寫子程序
line;color:#333333;?="">圖中各參數(shù)含義如下
line;color:#333333;?="">表4
line;color:#333333;?="">從上圖中可見,S7-200作為Modbus RTU主站,波特率9.6Kb/s,偶校驗,連接從站的站地址是3,數(shù)據(jù)存儲區(qū)為VB2000開始的區(qū)域。
line;color:#333333;?="">4.2 CP341 做Modbus 從站的硬件組態(tài)
line;color:#333333;?="">4.2.1 硬件組態(tài)
line;color:#333333;?="">
圖7 S7-300側硬件組態(tài)
line;color:#333333;?="">4.2.2 設置Modbus參數(shù)
line;color:#333333;?="">
圖8 消息楨字符結構
line;color:#333333;?="">按照上述操作設置參數(shù),從上圖可以看出,本例中的傳輸波特率9.6Kb/s,1位起始位,8位數(shù)據(jù)位,偶校驗位,1位停止位,從站站地址是3,主從通訊設備的字符幀格式和波特率等參數(shù)設置需要一致。
line;color:#333333;?="">
圖9 RS422/485 接口組態(tài)
line;color:#333333;?="">RS422/485接口只能一個有效,接口的選擇只需要組態(tài)而不需要在硬件上短接。
line;color:#333333;?="">4.2.3 Modbus驅動的下載
當配置好Modbus通信的參數(shù)后,保存前需要向CP341下載Modbus Sle的驅動,一旦下載完成后無需再次下載。
需要注意的是,在下載驅動時(可以在無Dongle情況下下載),需要將CPU停機,然后下載,操作如下所示。
line;color:#333333;?="">西門子EM DT08模塊
圖10 下載Dongle時,需要CPU停機
line;color:#333333;?="">
line;color:#333333;?="">西門子EM DR08模塊
圖11 從站驅動下載后結果
line;color:#333333;?="">4.2.4 CP341做Modbus從站的編程
從Step7 下的EXAMPLE目錄中,找到項目名“zXX21_05_PtP_Com_MODSL”的項目,打開,然后將Modbus通訊模塊FB80傳遞到用戶項目中,打開路徑如下所示。
line;color:#333333;?="">
圖12 Modbus Sle 例程打開路徑
line;color:#333333;?="">OB1中調用FB80編程如下:
line;color:#333333;?="">
圖13 FB80程序塊調用
line;color:#333333;?="">CP卡初始化正常后,CP_START,CP_START_FM和CP_START_OK為1,否則CP_START_ERROR為1,同時可以從ERROR_NR察看錯誤信息,也可以在硬件組態(tài)中在線后的CP341的診斷緩沖區(qū)察看詳細的錯誤信息,錯誤信息對照和處理可以參考
《S7-300以用于PtP CP Modbus 協(xié)議RTU格式S7的可裝載驅動程序為從站》的手冊。
line;color:#333333;?="">FB80的各參數(shù)含義如下
line;color:#333333;?="">表5
line;color:#333333;?="">
5. 通訊
Modbus RTU格式通信協(xié)議是以主從的進行數(shù)據(jù)傳輸?shù)?,在傳輸?shù)闹兄髡臼欠?,即主站發(fā)送數(shù)據(jù)請求報文到從站,從站返回響應報文。Modbus 間的數(shù)據(jù)交換是通過功能碼來控制的,以下對現(xiàn)場常用的功能碼進行分類,關于功能碼的詳細信息請參考手冊。
line;color:#333333;?="">5.1 FC01/05/15功能碼
CP341從站的通訊區(qū)域配置
line;color:#333333;?="">
圖14 FC01/05/15 參數(shù)組態(tài)界面
line;color:#333333;?="">FC01、FC05、FC15對應的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,可以讀寫操作,用戶地址區(qū)為0xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對應的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對應用戶地址區(qū)為00001 ~ 00008,對應S7-300的M10.0 ~ M10.7,并且以此為例說明FC01功能碼的通訊。
S7-200主站程序調用
line;color:#333333;?="">
圖15 功能碼FC01使用
line;color:#333333;?="">S7-200主站,用功能碼FC01讀取從站8點數(shù)字量輸出,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結果如下。
line;color:#333333;?="">
圖16 FC01功能碼數(shù)據(jù)交換
line;color:#333333;?="">5.2 FC02功能碼
CP341從站的通訊區(qū)域配置
line;color:#333333;?="">
圖17 FC02 參數(shù)組態(tài)界面
line;color:#333333;?="">FC02對應的數(shù)據(jù)區(qū)為位輸出,數(shù)據(jù)的傳遞以位為單位,只讀操作,用戶地址區(qū)為1xxxx,Modbus地址在信息傳遞中從0開始,如上圖,左邊為信息傳遞地址(地址區(qū)不能沖突),右邊對應的是S7-300的數(shù)據(jù)區(qū)。例如左邊信息傳遞地址從0 ~ 7對應用戶地址區(qū)為10001 ~ 10008,對應S7-300的M20.0 ~ M20.7,并且以此為例說明FC02功能碼的通訊。
S7-200主站程序調用
line;color:#333333;?="">
圖18 功能碼FC02使用
line;color:#333333;?="">S7-200主站,用功能碼FC02讀取從站8點數(shù)字量輸入,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結果如下。
line;color:#333333;?="">
圖19 FC02功能碼數(shù)據(jù)交換
line;color:#333333;?="">5.3 FC03/06/16 功能碼
CP341從站的通訊區(qū)域配置
line;color:#333333;?="">
圖20 FC03/06/16參數(shù)組態(tài)界面
line;color:#333333;?="">FC03/06/16 對應的數(shù)據(jù)區(qū)為寄存器,數(shù)據(jù)的傳遞以字為單位,可以讀寫操作,用戶地址區(qū)為4xxxx,Modbus地址在信息傳遞中從0開始。如上圖,左邊為信息傳遞地址,右邊對應的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛?,右邊只對應一個數(shù)據(jù)區(qū)。例如用戶地址
區(qū)為,對應S7-300數(shù)據(jù)區(qū)為DB1.DBW0 ~ DB1.DBW6,并且以此為例說明
FC03功能碼的通訊。
S7-200主站程序調用
line;color:#333333;?="">
圖21功能碼FC03使用
line;color:#333333;?="">S7-200主站,用功能碼FC03讀取從站4個字寄存器,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結果如下。
line;color:#333333;?="">
圖22 FC03功能碼數(shù)據(jù)交換
line;color:#333333;?="">
5.4 FC04 功能碼
CP341從站的通訊區(qū)域配置
line;color:#333333;?="">
圖23 FC04參數(shù)組態(tài)界面
line;color:#333333;?="">FC04對應的數(shù)據(jù)區(qū)為寄存器輸入,數(shù)據(jù)的傳遞也以字為單位,只讀操作,用戶地址區(qū)3xxxx,Modbus地址在信息傳送中從0開始。如上圖,左邊為信息傳遞地址,右邊對應的是S7-300的數(shù)據(jù)區(qū),左邊傳輸?shù)刂凡豢筛?,右邊只對應一個數(shù)據(jù)區(qū)。例如用戶地址區(qū)為30001 ~ 30004,對應S7-300數(shù)據(jù)區(qū)為DB1.DBW0 ~ DB1.DBW6,并且以此為例說明FC04功能碼的通訊。
S7-200主站程序調用
line;color:#333333;?="">
line;color:#333333;?="">
圖24功能碼FC04使用
line;color:#333333;?="">S7-200主站,用功能碼FC04讀取從站4個字輸入寄存器,接收的數(shù)據(jù)存VB2000開始的區(qū)域,截圖結果如下。
line;color:#333333;?="">
圖25 FC04功能碼數(shù)據(jù)交換
line;color:#333333;?="">5.5 Limits 欄
line;color:#333333;?="">
圖26 Limits 參數(shù)組態(tài)界面
line;color:#333333;?="">對于寫功能碼FC05、06、15、16,可以禁用或訪問相關S7-300存儲區(qū),即使用這些功能碼時,S7-300存儲區(qū)需要在設定的和的范圍之間,如果訪問的區(qū)域出這個范圍,則訪問會被拒絕,同時輸出報錯誤信息。
西門子S7-400電源模塊
6ES7 407-0DA02-0AA0 西門子電源模塊(4A)
6ES7 407-0KA02-0AA0 西門子電源模塊(10A)
6ES7 407-0KR02-0AA0 西門子電源模塊(10A)冗余
6ES7 407-0RA02-0AA0 西門子電源模塊(20A)
6ES7 405-0DA02-0AA0 西門子電源模塊(4A)
6ES7 405-0KA02-0AA0 西門子電源模塊(10A)
6ES7 405-0RA01-0AA0 西門子電源模塊(20A)
6ES7 971-0BA00 西門子備用電池
西門子S7-400CPU
6ES7 412-3HJ14-0AB0 西門子CPU 412-3H; 512KB程序內存/256KB數(shù)據(jù)內存
6ES7 414-4HM14-0AB0 西門子CPU 414-4H; 冗余熱備CPU 2.8 MB RAM
6ES7 417-4HT14-0AB0 西門子CPU 417-4H; 冗余熱備CPU 30 MB RAM
6ES7 400-0HR00-4AB0 西門子412H 套件包括 2 個CPU、1個H型機架、2個電源、2個1M 存儲卡、4個同步模塊、2根同步電纜,以及4個備用電池(PS407 10A)
6ES7 400-0HR50-4AB0 西門子412H 套件包括 2 個CPU、1個H型機架、2個電源、2個1M 存儲卡、4個同步模塊、2根同步電纜,以及4個備用電池(PS405 10A)
6ES7 412-1XJ05-0AB0 西門子CPU412-1,144KB程序內存/144KB數(shù)據(jù)內存
6ES7 412-2XJ05-0AB0 西門子CPU412-2,256KB程序內存/256KB數(shù)據(jù)內存
6ES7 414-2XK05-0AB0 西門子CPU414-2,512KB程序內存/512KB數(shù)據(jù)內存
6ES7 414-3XM05-0AB0 西門子CPU414-3,1.4M程序內存/1.4M數(shù)據(jù)內存 1個IF模板插槽
6ES7 414-3EM05-0AB0 西門子CPU414-N/DP 1.4M程序內存/1.4M數(shù)據(jù)內存 1個IF模板插槽
6ES7 416-2XN05-0AB0 西門子CPU416-2,2.8M程序內存/2.8M數(shù)據(jù)內存
6ES7 416-3XR05-0AB0 西門子CPU416-3,5.6M程序內存/5.6M數(shù)據(jù)內存 1個IF模板插槽
6ES7 416-3ER05-0AB0 西門子CPU416-N/DP 5.6M程序內存/5.6M數(shù)據(jù)內存 1個IF模板插槽
6ES7 416-2FN05-0AB0 西門子CPU416F-2,2.8M程序內存/2.8M數(shù)據(jù)內存
6ES7 416-3FR05-0AB0 西門子CPU416F-N/DP,5.6M程序內存/5.6M數(shù)據(jù)內存
6ES7 417-4XT05-0AB0 西門子CPU417-4,15M程序內存/15M數(shù)據(jù)內存
西門子S7-400內存卡
6ES7 955-2AL00-0AA0 西門子2 X 2M字節(jié) RAM
6ES7 955-2AM00-0AA0 西門子2 X 4M字節(jié) RAM
6ES7 952-0AF00-0AA0 西門子64K字節(jié) RAM
6ES7 952-1AH00-0AA0 西門子256K字節(jié) RAM
6ES7 952-1AK00-0AA0 西門子1M字節(jié) RAM
6ES7 952-1AL00-0AA0 西門子2M字節(jié) RAM
6ES7 952-1AM00-0AA0 西門子4M字節(jié) RAM
6ES7 952-1AP00-0AA0 西門子8M字節(jié) RAM
6ES7 952-1AS00-0AA0 西門子16M字節(jié) RAM
6ES7 952-1AY00-0AA0 西門子64M字節(jié) RAM
6ES7 952-0KF00-0AA0 西門子64K字節(jié) FLASH EPROM
6ES7 952-0KH00-0AA0 西門子256K字節(jié) FLASH EPROM
6ES7 952-1KK00-0AA0 西門子1M字節(jié) FLASH EPROM
6ES7 952-1KL00-0AA0 西門子2M字節(jié) FLASH EPROM
6ES7 952-1KM00-0AA0 西門子4M字節(jié) FLASH EPROM
6ES7 952-1KP00-0AA0 西門子8M字節(jié) FLASH EPROM
6ES7 952-1KS00-0AA0 西門子16M字節(jié) FLASH EPROM
6ES7 952-1KT00-0AA0 西門子32M字節(jié) FLASH EPROM
6ES7 952-1KY00-0AA0 西門子64M字節(jié) FLASH EPROM
西門子S7-400開關量輸入模板
6ES7 421-7BH01-0AB0 西門子開關量輸入模塊(16點,24VDC)中斷
6ES7 421-1BL01-0AA0 西門子開關量輸入模塊(32點,24VDC)
6ES7 421-1EL00-0AA0 西門子開關量輸入模塊(32點,120VUC)
6ES7 421-1FH20-0AA0 西門子開關量輸入模塊(16點,120/230VUC)
6ES7 421-7DH00-0AB0 西門子開關量輸入模塊(16點,24V到60VUC)
西門子S7-400開關量輸出模板
6ES7 422-1BH11-0AA0 西門子開關量輸出模塊(16點,24VDC,2A)
6ES7 422-1BL00-0AA0 西門子32點輸出,24VDC,0.5A
6ES7 422-7BL00-0AB0 西門子32點輸出,24VDC,0.5A,中斷
6ES7 422-1FH00-0AA0 西門子16點輸出,120/230VAC,2A
6ES7 422-1HH00-0AA0 西門子16點輸出,繼電器,5A
西門子S7-400功能模板
6ES7 450-1AP00-0AE0 西門子FM450-1計數(shù)器模板
6ES7 451-3AL00-0AE0 西門子FM451定位模板
6ES7 452-1AH00-0AE0 西門子FM452電子凸輪控制器
6ES7 453-3AH00-0AE0 西門子FM453定位模板
6ES7 455-0VS00-0AE0 西門子FM455C閉環(huán)控制模塊
6ES7 455-1VS00-0AE0 西門子FM455S閉環(huán)控制模塊
6DD1 607-0AA2 西門子FM 458-1DP快速處理
6ES7 953-8LJ20-0AA0 西門子用于FM458-1DP 基本模板 512KByte(MMC)
6ES7 953-8LL20-0AA0 西門子用于FM458-1DP 基本模板 2MByte(MMC)
6ES7 953-8LM20-0AA0 西門子用于FM458-1DP 基本模板 4MByte(MMC)
6DD1 607-0CA1 西門子EXM 438-1 I/O擴展模板
6DD1 607-0EA0 西門子EXM 448 通訊擴展模板
6DD1 607-0EA2 西門子EXM 448-2 通訊擴展模板
6DD1 684-0GE0 西門子SC64連接電纜
6DD1 684-0GD0 西門子SC63連接電纜
6DD1 684-0GC0 西門子SC62連接電纜
6DD1 681-0AE2 西門子SB10端子模塊
6DD1 681-0AF4 西門子SB60端子模塊
6DD1 681-0EB3 西門子SB61端子模塊
6DD1 681-0AG2 西門子SB70端子模塊
6DD1 681-0DH1 西門子SB71端子模塊
6DD1 681-0AJ1 西門子SU12端子模塊
6DD1 681-0GK0 西門子SU13端子模塊