S7-12006ES7331-7NF00-0AB0西門子報價單 |
![]() |
價格:10 元(人民幣) | 產地:德國 |
最少起訂量:1臺 | 發貨地:長沙 | |
上架時間:2018-12-26 13:18:28 | 瀏覽量:66 | |
長沙玥勵自動化設備有限公司
![]() |
||
經營模式:經銷商 | 公司類型:私營有限責任公司 | |
所屬行業:其他 | 主要客戶:西門子 | |
![]() ![]() |
聯系人:姚善雷 (先生) | 手機:13874941405 |
電話: |
傳真: |
郵箱:3464463681@qq.com | 地址:湖南省長沙市岳麓區天頂街道雷鋒大道金科世界城468號 |
S7-1200 西門子 6ES7331-7NF00-0AB0 報價單
Modbus TCP通信概述MODBUS/TCP是簡單的、中立廠商的用于管理和控制自動化設備的MODBUS系列通訊協議的派生產品,顯而易見,它覆蓋了使用TCP/IP協議的“Intranet”和“Internet”環境中MODBUS報文的用途。協議的最通用用途是為諸如PLC’s,I/O模塊,以及連接其它簡單域總線或I/O模塊的網關服務的。 MODBUS/TCP 使MODBUS_RTU協議運行于以太網,MODBUS TCP使用TCP/IP和以太網在站點間傳送MODBUS報文,MODBUS TCP結合了以太網物理網絡和網絡標準TCP/IP以及以MODBUS作為應用協議標準的數據表示方法。MODBUS TCP通信報文被封裝于以太網TCP/IP數據包中。與傳統的串口方式,MODBUS TCP插入一個標準的MODBUS報文到TCP報文中,不再帶有數據校驗和地址。 1. 通訊所使用的以太網參考模型Modbus TCP傳輸過程中使用了TCP/IP以太網參考模型的5層: 第一層:物理層,提供設備物理接口,與市售介質/網絡適配器相兼容 第二層:數據鏈路層,格式化信號到源/目硬件址數據幀 第三層:網絡層,實現帶有32位IP址IP報文包 第四層:傳輸層,實現可靠性連接、傳輸、查錯、重發、端口服務、傳輸調度 第五層:應用層,Modbus協議報文 2. Modbus TCP數據幀Modbus數據在TCP/IP以太網上傳輸,支持Ethernet II和802.3兩種幀格式,Modbus TCP數據幀包含報文頭、功能代碼和數據3部分,MBAP報文頭(MBAP、Modbus Application Protocol、Modbus應用協議)分4個域,共7個字節,如圖1所示:
圖1: MODBUS TCP報文 由于使用以太網TCP/IP數據鏈路層的校驗機制而保證了數據的完整性,MODBUS TCP 報文中不再帶有數據校驗”CHECKSUM”,原有報文中的“ADDRESS”也被“UNIT ID”替代而加在MODBUS應用協議報文頭中。 3. Modbus TCP使用的通訊資源端口號在Modbus服務器中按缺省協議使用Port 502 通信端口,在Modbus客戶器程序中設置任意通信端口,為避免與其他通訊協議的沖突一般建議2000開始可以使用。 4. Modbus TCP使用的功能代碼按照使用的通途區分,共有3種類型分別為: 1) 公共功能代碼:已定義好功能碼,保證其唯一性,由Modbus.org認可; 2) 用戶自定義功能代碼有兩組,分別為65~72和100~110,無需認可,但不保證代碼使用唯一性,如變為公共代碼,需交RFC認可; 3) 保留功能代碼,由某些公司使用某些傳統設備代碼,不可作為公共用途。 按照應用深淺,可分為3個類別: 1) 類別0,客戶機/服務器最小可用子集:讀多個保持寄存器(fc.3);寫多個保持寄存器(fc.16)。 2) 類別1,可實現基本互易操作常用代碼:讀線圈(fc.1);讀開關量輸入(fc.2);讀輸入寄存器(fc.4);寫線圈(fc.5);寫單一寄存器(fc.6)。 3) 類別2,用于人機界面、監控系統例行操作和數據傳送功能:強制多個線圈(fc.15);讀通用寄存器(fc.20);寫通用寄存器(fc.21);屏蔽寫寄存器(fc.22);讀寫寄存器(fc.23)。 5. Modbus TCP通訊應用舉例在讀寄存器的過程中,以Modbus TCP請求報文為例,具體的數據傳輸過程如下: 1) Modbus TCP客戶端實況,用Connect()命令建立目標設備TCP 502端口連接數據通信過程; 2) 準備Modbus報文,包括7個字節MBAP內請求; 3) 使用send()命令發送; 4) 同一連接等待應答; 5) 同recv()讀報文,完成一次數據交換過程; 6) 當通信任務結束時,關閉TCP連接,使服務器可以為其他服務。
S7-300/400 的CPx43-1 MODBUS TCP 通訊(STEP7)下面章節將介紹如何使用軟件選項包” ModbusTCP CP V4.3 "的功能塊庫配置S7-300/400單站系統通過CP343-1/CP443-1與第三方模擬軟件進行Modbus/TCP進行通訊的詳細步驟 1.“ ModbusTCP CP V4.3”塊庫使用說明1) 該功能塊庫可以用于S7-300單站通過CP343-1或S7-400單站通過CP443-1進行ModbusTCP通訊。 2) 由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,因此需要調用SIMATIC S7標準功能塊,對于S7-300/400的CP來說,需要調用FC5(AG_SEND),FC6(AG_RECV)功能塊。 3) 對于主要功能塊FB106、107和108來說,包含了V1.x和V2.x,它們管腳參數并沒有更改,只是在V2.x中增加了FC10”AG_CNTRL”功能塊用于管理TCP連接,是否支持功能塊與CP的型號和固件版本有關,如下圖1所示:
圖1 功能塊V1.x和V2.x版本區別 當將軟件選項包安裝完集成到Step7時,可以在Step7安裝文件的相應目錄中找到塊庫、例程、英文手冊,另外還可找到用CFC語言編程的功能快庫,供讀者選用,如下圖2~4所示,在實際的項目調試過程中由于例子程序的各項功能比較完善,因此可以直接使用例子程序根據項目的實際情況修改相應的參數即可,可以節省大量的參數設置時間,以下主要描述了使用軟件選項包” ModbusTCP CP V4.3 "配置S7-300/400站的詳細配置和編程步驟。
圖2 塊庫、例程、英文手冊和軟件注冊的文件夾位置
圖3 例程(注:當找不到例程時可以通過”Browse..”按鈕來進行查找)
圖4 功能塊庫(注:當找不到塊庫時可以通過”Browse..”按鈕來進行查找) 2. 配置S7-400單站系統通過CP443-1 作為Server進行Modbus TCP通訊以S7-400單站系統及Modscan32軟件為例,詳細介紹如何將S7-400單站系統通過CP443-1配置為Server,Modscan32為Client進行Modbus TCP通訊,在本例中將使用帶FC10”AG_CNTRL”版本的功能塊,下圖5為服務器功能塊庫的程序結構及各功能塊完成的功能:
圖5 服務器功能塊庫程序結構
2.1 例子中使用的硬件設備及軟件本例中所用的硬件設備如下表:
表1 服務器硬件清單 所用到軟件如下表:
表2 服務器軟件清單 2.2 S7-400系統及Modscan32軟件組態打開Step7軟件,新建一個工程項目文件,命名為“M_TCP_CP_V43(Server)”, 在項目下插入一個S7-400站,如下圖6所示:
圖6 新建S7-400 Station 雙擊插入的SIMATIC 400 Station的“Hardware”,打開硬件組態,在硬件組態界面下分別插入機架,電源PS407、CPU414-3PN/DP、CP443-1,本例中將CP的IP地址設為192.168.70.2,如下圖7所示:
圖7 硬件組態并設置CP443-1的IP地址 打開Netpro網絡組態,選中CPU414-3PN/DP,插入一個新連接,連接伙伴為Unspecified,連接類型為TCP Connection,如下圖8所示:
圖8 網絡組態-新建TCP connection 打開連接屬性對話框中的“General Information”,由于CP443-1做Server被動連接,因此不勾選“Active connection estabishment”選項,ID保持缺省即可,在“Address”欄中同樣由于CP443-1做Server,因此填入連接的Port號設置為502,組態完成后,編譯保存,將例程站點“SIMATIC 400(Server)”中的程序(System data不需要拷貝)拷貝到該項目中并下載(注意:OB100中調用的FB108的id和laddr需根據組態確認)。對于通訊伙伴Remote的IP地址可以不填,即允許任意IP地址的客戶端發起連接,如下圖9所示:
圖9 S7-400為服務器的TCP connection參數設置 對于服務器和客戶端的端口號(下述中以Port代替)的選擇需要注意以下幾點: 1)一般情況下服務器端的Port號modbus TCP規范缺省為502,客戶端的Port號設置為客戶端允許的號即可,另外各廠商產品也有一些限制,對于SIMATIC產品一般從2000之后開始。 2)對于一個系統來說,當創建多個TCP連接時,要保證IP地址和Port號不重合,即同一個IP地址下創建多個TCP連接時Port號必須不同,而不同的系統因IP地址不同可以使用相同的Port號,例如本例中如果需要創建多個TCP連接作為Server時因只有一個IP,因此Port號必須不同。 2.3 通訊測試由于“ ModbusTCP CP V4.3”選項包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測試過程中類似,因此下面以FC03(讀寫保持寄存器)為例來說明通訊測試的整個過程,對于其他功能碼的測試將不再重復描述,對于Modbus的數據類型可參考下表3:
表3 Modbus數據類型 由于服務器主功能塊FB108“MODBUSCP”的參數需要初始化,因此分別在OB100及OB1中調用FB108,在OB100中調用FB108完成相關參數的初始化,FB108的管腳分分布如下圖10所示:
注意:在圖10中已經填寫的參數不需要初始化,在OB1調用賦值;而未填寫的參數需要初始化,在OB100中調用完成。 打開Modscan32軟件,在“Connection--->connect”中打開連接屬性對話框,連接接口選擇“Remote TCP/IP Server”,IP Address分別填入CPU的IP地址 192.168.70.2,Service為遠程服務器的端口502,在協議的選擇對話框中可以定義傳輸模式、通訊超時響應時間,報文發送間隔及允許寫多個保 持寄存器等,這里分別保持缺省設置即可,如下圖11所示:
圖18:對應TCP通訊的Modscan32連接窗口 下載網絡組態及程序到CPU中,使能參數ENQ_ENR=1,在 Modscan32的“Set up->Data Definition”中設置數據掃描周期、寄存器連接類型、起始地址、長度等,如下圖11所示:
圖11 Modscan32中Modbus數據參數定義 之后在ModScan32中就可以建立和遠程CP443-1 Server的連接了,在Netpro中可以看到連接已經建立起來,如下圖12所示:
圖12 Modscan32激活與S7-400的連接 由于Modbus的內部地址編排時基于數據鏈路層和應用層有一定的映射關系,因此Modbus的地址與SIMATIC中的DB塊的地址時按照一定的地址映射關系來相對應,這樣造成了DB塊中有一定的地址偏移量,在本例中假設數據區的定義如下圖21所示,其DB偏移量、Modbus物理編址、應用層編址如下圖13所示:
圖13本例中的數據區定義
圖14 DB偏移量、Modbus物理編址、應用層編址對應關系 在Step7的項目程序中新建一個變量監控表,插入需要監控的參數和數據區變量,可以看到ModScan32軟件與CP443-1的數據通訊已經建立起來了,雙方可以進行正常的保持寄存器數據讀寫操作,如下圖15所示:
圖15 通訊連接建立 3. 配置S7-400單站系統作為Client進行Modbus TCP通訊下面以S7-400單站系統及ModSim32軟件為例,詳細介紹如何將S7-400單站系統配置為Client,ModSim32為Server進行Modbus TCP通訊,在本例中同樣使用FC10“AG_CNTRL”版本的功能塊,由于客戶端和服務器模式均使用相同的功能塊,因此客戶端功能塊庫的程序結構及各功能塊完成的功能可以參考圖5。 3.1 例子中使用的硬件設備及軟件本例中所用的硬件設備如下表:
表4 客戶端硬件清單 所用到軟件如下表:
表5 客戶端軟件清單 3.2 S7-400單站系統與ModSim32軟件組態打開Step7軟件,新建一個工程項目文件,命名為“M_TCP_CP_V43(Client)”, 在項目下插入一個S7-400站,如下圖16所示:
圖16 新建S7-400 Station 雙擊插入的SIMATIC 400 Station的“Hardware”,打開硬件組態,在硬件組態界面下分別插入機架,電源PS407、CPU414-3PN/DP、CP443-1,本例中將CP的IP地址設為192.168.70.2,如下圖17所示:
圖17 硬件組態并設置CP443-1的IP地址 打開Netpro網絡組態,選中CPU414-3PN/DP,插入一個新連接,連接伙伴為Unspecified,連接類型為TCP Connection,如下圖18所示:
圖18 網絡組態-新建TCP connection 打開連接屬性對話框中的“General Information”,由于CP443-1做Client主動發起連接,因此需要勾選“Active connection estabishment”選項,ID保持缺省即可,在“Address”欄中同樣由于CP443-1做Client,對于本地的端口號設置為2000(一般從2000以外開始以避免與別的協議資源沖突),對于通訊伙伴Remote的IP地址設置為測試PC機的IP 地址,本例中 PC機的IP設置為192.168.70.245,而Port號設置為502,如下圖19所示:
圖19 S7-400為客戶端的TCP connection參數設置 組態完成后,編譯保存,將例程站點“SIMATIC 400(Client)”中的程序(System data不需要拷貝)拷貝到該項目中并下載(注意:OB100中調用的FB108的id和laddr需根據組態確認)。 關于服務器和端口號的設置請參考本文中2.2章節說明。 3.3 通訊測試由于“ModbusTCP CP V4.3”選項包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測試過程中類似,因此下面同樣以FC03(讀寫保持寄存器)為例來說明通訊測試的整個過程,對于其他功能碼的測試將不再重復描述。 需要說明的是由于客戶端功能塊需要定義具體的功能碼,而主功能塊FB108 “MODBUSCP”并沒有直接的管腳來定義功能碼,而是由其中的兩個參數“DATA_TYPE”和“single-write”共同決定(參見后面的管腳參數說明),詳細情況如下圖20所示:
圖20 S7-400單站系統做客戶端時不同的功能碼的參數定義 由于客戶端和服務器均使用相同的功能塊FB108“MODBUSCP ”的參數需要初始化,因此分別在OB100及OB1中調用FB108,在OB100中調用FB108完成相關參數的初始化,FB108的管腳分布參見3.3章節中的圖10說明。 打開ModSim32軟件,在“Connection--->connect”中打開連接屬性對話框,連接接口選擇“Modbus/TCP svr”,TCP/IP Server Port為本地服務器的端口502,如下圖21所示:
圖21 ModSim32中設置端口號 下載硬件組態及程序到CPU中,給參數ENQ_ENR發送脈沖信號;在打開的ModSim32軟件窗口設置寄存器連接類型、起始地址、長度等,如下圖22所示:
圖22 ModSim32中Modbus數據參數定義 關于SIMATIC中DB偏移量、Modbus物理編址、應用層編址對應關系請參考本文中2.3章節圖14的說明 之后在CP443-1 Client就可以建立和遠程ModSim32 Server的連接了,在Netpro中可以看到連接已經建立起來,如下圖23所示:
圖23 Modscan32激活與S7-400的連接 在Step7的項目程序中新建一個變量監控表,插入需要監控的參數和數據區變量,可以看到ModSim32軟件與S7-400的數據通訊已經建立起來了,雙方可以進行正常的保持寄存器數據讀寫操作,如下圖24所示:
圖24 S7-400單站系統作為客戶端與ModSim32軟件通訊 4. “ ModbusTCP CP V4.3” 選項包通訊使用總結及相關注意事項由于是通過PC測試軟件模擬第三方設備與SIMATIC CPU的集成PN口進行Modbus TCP通訊,因此在實際的第三方設備與CPU的集成PN口進行通訊時需要注意以下幾點: 1) 由于訂貨號2XV9450-1MB02程序中會占用CPU 較大的裝載和工作存儲區,因此對于性能比較低特別是S7-300的低端CPU進行通訊時必須考慮一定的富余量。 2) 對于SIMATIC S7,參數DB_x的數據區建議使用不同的DB 塊,使用同一個DB的不同地址區會造成地址編排混亂,另外參數Start_x與END_x 參數不能出現地址疊加情況。 3) 第三方設備的數據區與SIMATIC S7的數據DB塊的地址對應關系可以先按照第三方的數據區域Modbus地址的偏移關系之后計算相應的偏移量。 4)建議使用項目中的樣例程序,只須修改連接ID,定義通訊雙方的IP地址、端口號及相應的數據存儲區等,能減少編程量,只須把樣例程序放到一個單獨的FC塊中即可,樣例程序中定義了足夠的數據區,連接成功及錯誤次數指示等。 5) Modbus TCP每一包的數據最多只能發送125個寄存器或2000個比特位,超過該范圍必須進行分包處理。 6) S7-300/400作為Client能與多少個Server建立通訊或者作為Server時能與多少個Client通訊取決于產品所支持的TCP連接數,Modbus/TCP協議并沒有對此進行約束和限制。 5 .“ModbusTCP CP V4.3” 軟件包授權未經授權的Modbus TCP軟件可用于測試和學習,不允許用于商業行為;未經授權的軟件測試時CPU 的INTF指示燈紅色閃爍,并在CPU故障緩沖區生成錯誤信息;同時,Modbus TCP功能塊報錯,如圖25、26所示:
圖25 CPU診斷緩沖區報錯
圖26 Modbus TCP功能塊報錯A090 每個CPU都需要對功能塊MODBUSCP進行授權。授權有兩個步驟:讀取IDENT_CODE和申請注冊碼REG_KEY。且在CPU中必須調用OB121。 5.1讀取IDENT_CODE1、下載程序并將CPU切換到RUN模式; 2、打開MODBUSCP(FB108)的背景塊DB108,確認IDENT_CODE的偏移地址為108;如圖27所示:
圖27 確認IDENT_CODE的偏移地址 3、打開變量監視表,輸入DB108.DBB108開始的20個字節,偏移地址110開始的18個字符即為IDENT_CODE,監控如圖28所示:
圖28 確認IDENT_CODE 4、按上圖方式,獲取IDENT_CODE和軟件包裝上的License-No,并按照章節5.2和5.3所描述步驟申請注冊碼。 5.2 通過撥打西門子授權服務中心申請注冊碼REG_KEY授權中心聯系方式:010-64757575 通過西門子授權服務中心申請注冊碼時,需要您提供所購買的軟件訂貨號、IDENT_CODE和軟件包裝上的License-No ,如圖28所示。 5.3 通過網站申請注冊碼REG_KEY1、通過西門子技術支持網站申請,打開如下網址,點擊“技術問題提交”: http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo2&aktprim=99&lang=zh
圖29 技術支持網站 2、請按如下示例的步驟進行操作(注意:由于步驟3搜索出來的參考信息無法解決授權問題,請直接點擊“繼續”進入步驟4),如圖30~34所示。
圖30 步驟1
圖31 步驟2
圖32 步驟4
圖33 步驟5
圖34 步驟6 5.4 使用注冊碼REG_KEY1、西門子授權中心收到技術支持申請后,將會盡快給您回復郵件; 2、當獲取到注冊碼后,在項目中打開LICENSE_DB(DB3); 3、通過菜單“View--->Data View”將DB塊切換到數據視圖模式,將獲取的17位注冊碼填寫到“Actual value”中,如圖35所示。
圖35 輸入注冊碼 4、將LICENSE_DB(DB3)下載到CPU中,CPU的INTF指示燈熄滅;并可通過查看MODBUSPN(FB102)的輸出引腳LICENSED為true且不再報A090錯誤代碼,確認注冊碼激活成功,如圖36所示。
圖36 注冊碼激活成功 6. CP進行Modbus TCP通訊FB輸出常見故障代碼及處理
硬件列表
應用CP341進行 MODBUS協議通信時需要有Dongle的支持。在使用之前先將Dongle安裝在CP341模塊的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下圖所示。
圖1 組態和配置1、打開軟件TIA PORTAL
圖2 STEP7 V13,點擊項目->新建...創建一新項目,項目名稱為341_modbus_Master。 2、用鼠標點擊“添加新設備”,選擇SIMATIC S7-300->CPU->CPU 319-3PN/DP->6ES7 318-3EL00-0AB0。
圖3 3、雙擊“設備組態”進入硬件組態界面,導軌RACK和CPU 319-3PN/DP已經存在,只需要插入PS307和CP341。
圖4 4、雙擊CP341模板,進入CP341的屬性框,配置CP341參數。
圖5 5、在“協議”選項中選擇“Modbus主站”。配置modbus通信參數,設定的通信參數要和通訊伙伴的相同。傳輸率(通信波特率):9600bps,數據位:8位,停止位:1位,奇偶校驗:無。
圖6 6、本示例選用的是RS422/485接口的CP341,還需要設置接口屬性,如下圖所示。
圖7 編寫通信程序1、雙擊“添加新塊”,創建發送數據塊DB10和接收數據塊DB11,發送數據塊的名稱為Send,接收數據塊的名稱為Rev;如下圖所示,發送數據塊中新建幾個變量,從站地址為2,功能碼為3,起始地址為0,讀4個寄存器數據,具體功能碼3 的使用參見手冊“S7串行通信模板Modbus RTU主站可裝載驅動的操作說明” 6.3章節的說明;如下圖所示,接受數據塊中新建1個數據類型Array的變量,數組元素的數據類型為Byte,數量為400。
圖8
圖9 2、進入主程序OB1,從通信->通信處理器->PtP鏈接:CP341,調用發送功能塊P_SND_RK和接收功能塊P_RCV_RK。P_SND_RK的背景數據塊為DB1,P_RCV_RK的背景數據塊為DB2。
圖10 CP341的發送功能塊P_SND_RK 的參數設置見下表。
CP341的接收功能塊P_RCV_RK 的參數設置見下表。
圖11
圖12 設備連接本文檔使用的CP341的接口是RS232C,因此需要通過標準的RS232C電纜來連接CP341和計算機的串口.
如果使用的CP341是RS485接口的模塊,需要使用RS232C/RS485轉換器(需要選購第三方設備)。 通信測試前面使用 TIA Step7 軟件已經將通信CP341的通信工作做完,下面進行通信測試。這里使用串口通訊測試軟件ModSim32軟件來測試CP341和計算機的通信,步驟如下 1、雙擊ModSim32軟件圖標,新建項目,點擊Port1,進入端口1做設置,本例計算機只有一個端口,所以就對端口1做設置,如果計算機有多個端口,要注意所選端口。
圖13 2、進入Port1設置界面,設置波特率、數據位、奇偶校驗等參數,要和CP341的參數相同。
圖14 3、點擊“OK”,選擇軟件的03功能碼界面,本例設置03功能碼的10個數據,其中前4個數據分別設置成1—4。
圖15 4、首先將硬件配置和程序下載到CPU319-3PN/DP中,時鐘脈沖信號M0.5從0跳變成1時,CP341將數據發送出去。
圖16 5、M20.0為常閉點,程序下載完成,CPU運行后,就始終處于接收狀態。在STEP7中打開接收數據塊DB11監控接收到的數據,可以看到發送的數據被正確的接收。
圖17 手冊下載更詳細的資料請參看如下手冊: S7-1200 西門子 6ES7331-7NF00-0AB0
|
版權聲明:以上所展示的信息由會員自行提供,內容的真實性、準確性和合法性由發布會員負責。機電之家對此不承擔任何責任。 友情提醒:為規避購買風險,建議您在購買相關產品前務必確認供應商資質及產品質量。 |
機電之家網 - 機電行業權威網絡宣傳媒體
關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 會員助手 | 免費鏈接Copyright 2025 jdzj.com All Rights Reserved??技術支持:機電之家 服務熱線:0571-87774297
網站經營許可證:浙B2-20080178