S7-12006ES7370-0AA01-0AA0西門子銷售中心

數(shù)量(臺) 價格
1 10.00元/臺
  • 最小起訂: 1臺
  • 發(fā)貨地址: 湖南 長沙市
  • 發(fā)布日期:2018-12-17
  • 訪問量:130
咨詢電話:138-7494-1405
打電話時請告知是在機電之家網(wǎng)上看到獲取更多優(yōu)惠。謝謝!
7

長沙玥勵自動化設備有限公司

實名認證 企業(yè)認證
  • 聯(lián)系人:姚善雷
  • 手機:13874941405
  • 電話:0731-526565255
  • 營業(yè)執(zhí)照:已審核 營業(yè)執(zhí)照
  • 經(jīng)營模式: 經(jīng)銷商-私營有限責任公司
  • 所在地區(qū):湖南 長沙市
  • 家家通積分:16570分
詳細參數(shù)

產(chǎn)品詳情

S7-1200   西門子   6ES7370-0AA01-0AA0   銷售中心  

 

 

 

 

Modbus TCP通信概述

MODBUS/TCP是簡單的、中立廠商的用于管理和控制自動化設備的MODBUS系列通訊協(xié)議的派生產(chǎn)品,顯而易見它覆蓋了使用TCP/IP協(xié)議的“Intranet”“Internet”環(huán)境中MODBUS報文的用途。協(xié)議的最通用用途是為諸如PLC’s,I/O模塊,以及連接其它簡單域總線或I/O模塊的網(wǎng)關服務的。

MODBUS/TCP 使MODBUS_RTU協(xié)議運行于以太網(wǎng),MODBUS TCP使用TCP/IP和以太網(wǎng)在站點間傳送MODBUS報文,MODBUS TCP結合了以太網(wǎng)物理網(wǎng)絡和網(wǎng)絡標準TCP/IP以及以MODBUS作為應用協(xié)議標準的數(shù)據(jù)表示方法。MODBUS TCP通信報文被封裝于以太網(wǎng)TCP/IP數(shù)據(jù)包中。與傳統(tǒng)的串口方式,MODBUS TCP插入一個標準的MODBUS報文到TCP報文中,不再帶有數(shù)據(jù)校驗和地址。

1. 通訊所使用的以太網(wǎng)參考模型

Modbus TCP傳輸過程中使用了TCP/IP以太網(wǎng)參考模型的5層:

第一層:物理層,提供設備物理接口,與市售介質(zhì)/網(wǎng)絡適配器相兼容

第二層:數(shù)據(jù)鏈路層,格式化信號到源/目硬件址數(shù)據(jù)幀

第三層:網(wǎng)絡層,實現(xiàn)帶有32IPIP報文包

第四層:傳輸層,實現(xiàn)可靠性連接、傳輸、查錯、重發(fā)、端口服務、傳輸調(diào)度

第五層:應用層,Modbus協(xié)議報文

2. Modbus TCP數(shù)據(jù)幀

Modbus數(shù)據(jù)在TCP/IP以太網(wǎng)上傳輸,支持Ethernet II802.3兩種幀格式,Modbus TCP數(shù)據(jù)幀包含報文頭、功能代碼和數(shù)據(jù)3部分,MBAP報文頭(MBAP、Modbus Application Protocol、Modbus應用協(xié)議)4個域,共7個字節(jié),如圖1所示

1 MODBUS TCP報文

由于使用以太網(wǎng)TCP/IP數(shù)據(jù)鏈路層的校驗機制而保證了數(shù)據(jù)的完整性,MODBUS TCP 報文中不再帶有數(shù)據(jù)校驗”CHECKSUM”,原有報文中的“ADDRESS”也被“UNIT ID”替代而加在MODBUS應用協(xié)議報文頭中。

3. Modbus TCP使用的通訊資源端口號

Modbus服務器中按缺省協(xié)議使用Port 502 通信端口,Modbus客戶器程序中設置任意通信端口,為避免與其他通訊協(xié)議的沖突一般建議2000開始可以使用。

4. Modbus TCP使用的功能代碼

按照使用的通途區(qū)分共有3種類型分別為:

1) 公共功能代碼:已定義好功能碼,保證其唯一性,由Modbus.org認可;

2) 用戶自定義功能代碼有兩組,分別為6572100110,無需認可,但不保證代碼使用唯一性,如變?yōu)楣泊a,需交RFC認可;

3) 保留功能代碼,由某些公司使用某些傳統(tǒng)設備代碼,不可作為公共用途。

按照應用深淺,可分為3個類別:

1) 類別0,客戶機/服務器最小可用子集:讀多個保持寄存器(fc.3);寫多個保持寄存器(fc.16)。

2) 類別1,可實現(xiàn)基本互易操作常用代碼:讀線圈(fc.1);讀開關量輸入(fc.2);讀輸入寄存器(fc.4);寫線圈(fc.5);寫單一寄存器(fc.6)。

3) 類別2,用于人機界面、監(jiān)控系統(tǒng)例行操作和數(shù)據(jù)傳送功能:強制多個線圈(fc.15);讀通用寄存器(fc.20);寫通用寄存器(fc.21);屏蔽寫寄存器(fc.22);讀寫寄存器(fc.23)。

5. Modbus TCP通訊應用舉例

在讀寄存器的過程中,Modbus TCP請求報文為例,具體的數(shù)據(jù)傳輸過程如下

1) Modbus TCP客戶端實況,用Connect()命令建立目標設備TCP 502端口連接數(shù)據(jù)通信過程;

2) 準備Modbus報文,包括7個字節(jié)MBAP內(nèi)請求;

3) 使用send()命令發(fā)送;

4) 同一連接等待應答;

5) recv()讀報文,完成一次數(shù)據(jù)交換過程;

6) 當通信任務結束時,關閉TCP連接,使服務器可以為其他服務。

 

S7-300/400 的CPx43-1 MODBUS TCP 通訊(STEP7)

下面章節(jié)將介紹如何使用軟件選項包” ModbusTCP CP V4.3 "的功能塊庫配置S7-300/400單站系統(tǒng)通過CP343-1/CP443-1與第三方模擬軟件進行Modbus/TCP進行通訊的詳細步驟

1.“ ModbusTCP CP V4.3”塊庫使用說明

1) 該功能塊庫可以用于S7-300單站通過CP343-1S7-400單站通過CP443-1進行ModbusTCP通訊。

2) 由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,因此需要調(diào)用SIMATIC S7標準功能塊,對于S7-300/400CP來說,需要調(diào)用FC5(AG_SEND),FC6(AG_RECV)功能塊。

3) 對于主要功能塊FB106、107108來說,包含了V1.xV2.x,它們管腳參數(shù)并沒有更改,只是在V2.x中增加了FC10”AG_CNTRL”功能塊用于管理TCP連接,是否支持功能塊與CP的型號和固件版本有關,如下圖1所示:

1 功能塊V1.xV2.x版本區(qū)別

當將軟件選項包安裝完集成到Step7時,可以在Step7安裝文件的相應目錄中找到塊庫、例程、英文手冊,另外還可找到用CFC語言編程的功能快庫,供讀者選用,如下圖2~4所示,在實際的項目調(diào)試過程中由于例子程序的各項功能比較完善,因此可以直接使用例子程序根據(jù)項目的實際情況修改相應的參數(shù)即可,可以節(jié)省大量的參數(shù)設置時間,以下主要描述了使用軟件選項包” ModbusTCP CP V4.3 "配置S7-300/400站的詳細配置和編程步驟。

2 塊庫、例程、英文手冊和軟件注冊的文件夾位置

3 例程(:當找不到例程時可以通過”Browse..”按鈕來進行查找) 

4 功能塊庫(:當找不到塊庫時可以通過”Browse..”按鈕來進行查找)

2. 配置S7-400單站系統(tǒng)通過CP443-1 作為Server進行Modbus TCP通訊

S7-400單站系統(tǒng)及Modscan32軟件為例,詳細介紹如何將S7-400單站系統(tǒng)通過CP443-1配置為Server,Modscan32Client進行Modbus TCP通訊,在本例中將使用帶FC10”AG_CNTRL”版本的功能塊,下圖5為服務器功能塊庫的程序結構及各功能塊完成的功能

5 服務器功能塊庫程序結構

注意:Modscan32軟件可以從網(wǎng)上免費下載得到,本例中使用的版本為V7.0版,由于各版本的功能不盡相同,因此需要注意版本問題。

2.1 例子中使用的硬件設備及軟件

本例中所用的硬件設備如下表:

名稱

數(shù)量

訂貨號

S7-400電源模塊PS 407 10A

1

6ES7407-0KA01-0AA0

S7-400 CPU414-3PN/DP

1

6ES7414-3EM05-0AB0(V5.2)

S7-400 CP443-1

1

6GK7443-1EX41-0XE0(V1.0)

S7-400 機架

1

6ES7400-1JA00-0AA0

網(wǎng)線

若干

 

筆記本電腦

1

 

 

 

 

 

 

 

1 服務器硬件清單

所用到軟件如下表:

名稱

訂貨號

STEP7 V5.5 組態(tài)編程軟件 英文版

 

“ ModbusTCP CP V4.3 軟件選項包

2XV9450-1MB00

Modscan32 V7.0

 

 

 

 

2 服務器軟件清單

2.2 S7-400系統(tǒng)及Modscan32軟件組態(tài)

打開Step7軟件,新建一個工程項目文件,命名為“M_TCP_CP_V43(Server)”, 在項目下插入一個S7-400站,如下圖6所示:

6 新建S7-400 Station

雙擊插入的SIMATIC 400 Station“Hardware”,打開硬件組態(tài),在硬件組態(tài)界面下分別插入機架,電源PS407、CPU414-3PN/DPCP443-1,本例中將CPIP地址設為192.168.70.2,如下圖7所示:

7 硬件組態(tài)并設置CP443-1IP地址

打開Netpro網(wǎng)絡組態(tài),選中CPU414-3PN/DP,插入一個新連接,連接伙伴為Unspecified,連接類型為TCP Connection,如下圖8所示:

8 網(wǎng)絡組態(tài)-新建TCP connection

打開連接屬性對話框中的“General Inbation”,由于CP443-1Server被動連接,因此不勾選“Active connection estabishment”選項,ID保持缺省即可,在“Address”欄中同樣由于CP443-1Server,因此填入連接的Port號設置為502,組態(tài)完成后,編譯保存,將例程站點“SIMATIC 400(Server)”中的程序(System data不需要拷貝)拷貝到該項目中并下載(注意:OB100中調(diào)用的FB108idladdr需根據(jù)組態(tài)確認)。對于通訊伙伴RemoteIP地址可以不填,即允許任意IP地址的客戶端發(fā)起連接,如下圖9所示:

9 S7-400為服務器的TCP connection參數(shù)設置

對于服務器和客戶端的端口號(下述中以Port代替)的選擇需要注意以下幾點:

1)一般情況下服務器端的Port號modbus TCP規(guī)范缺省為502,客戶端的Port號設置為客戶端允許的號即可,另外各廠商產(chǎn)品也有一些限制,對于SIMATIC產(chǎn)品一般從2000之后開始。

2)對于一個系統(tǒng)來說,當創(chuàng)建多個TCP連接時,要保證IP地址和Port號不重合,即同一個IP地址下創(chuàng)建多個TCP連接時Port號必須不同,而不同的系統(tǒng)因IP地址不同可以使用相同的Port號,例如本例中如果需要創(chuàng)建多個TCP連接作為Server時因只有一個IP,因此Port號必須不同。

2.3 通訊測試

由于“ ModbusTCP CP V4.3選項包支持功能碼FC1,2,3,4,56,1516,不同的功能碼測試過程中類似,因此下面以FC03(讀寫保持寄存器)為例來說明通訊測試的整個過程,對于其他功能碼的測試將不再重復描述,對于Modbus的數(shù)據(jù)類型可參考下表3

  

3 Modbus數(shù)據(jù)類型 

由于服務器主功能塊FB108“MODBUSCP”的參數(shù)需要初始化,因此分別在OB100OB1中調(diào)用FB108,在OB100中調(diào)用FB108完成相關參數(shù)的初始化,FB108的管腳分分布如下圖10所示:

注意:在圖10中已經(jīng)填寫的參數(shù)不需要初始化,OB1調(diào)用賦值;而未填寫的參數(shù)需要初始化,OB100中調(diào)用完成。

打開Modscan32軟件,在“Connection--->connect”中打開連接屬性對話框,連接接口選擇“Remote TCP/IP Server”,IP Address分別填入CPUIP

192.168.70.2Service為遠程服務器的端口502,在協(xié)議的選擇對話框中可以定義傳輸模式、通訊超時響應時間,報文發(fā)送間隔及允許寫多個保

持寄存器等,這里分別保持缺省設置即可,如下圖11所示:

18:對應TCP通訊的Modscan32連接窗口

下載網(wǎng)絡組態(tài)及程序到CPU中,使能參數(shù)ENQ_ENR=1,在 Modscan32“Set up->Data Definition”中設置數(shù)據(jù)掃描周期、寄存器連接類型、起始地址、長度等,如下圖11所示:

11 Modscan32Modbus數(shù)據(jù)參數(shù)定義

之后在ModScan32中就可以建立和遠程CP443-1 Server的連接了,在Netpro中可以看到連接已經(jīng)建立起來,如下圖12所示:

12 Modscan32激活與S7-400的連接

由于Modbus的內(nèi)部地址編排時基于數(shù)據(jù)鏈路層和應用層有一定的映射關系,因此Modbus的地址與SIMATIC中的DB塊的地址時按照一定的地址映射關系來相對應,這樣造成了DB塊中有一定的地址偏移量,在本例中假設數(shù)據(jù)區(qū)的定義如下圖21所示,其DB偏移量、Modbus物理編址、應用層編址如下圖13所示:

13本例中的數(shù)據(jù)區(qū)定義

14 DB偏移量、Modbus物理編址、應用層編址對應關系 

Step7的項目程序中新建一個變量監(jiān)控表,插入需要監(jiān)控的參數(shù)和數(shù)據(jù)區(qū)變量,可以看到ModScan32軟件與CP443-1的數(shù)據(jù)通訊已經(jīng)建立起來了,雙方可以進行正常的保持寄存器數(shù)據(jù)讀寫操作,如下圖15所示:

15 通訊連接建立

3. 配置S7-400單站系統(tǒng)作為Client進行Modbus TCP通訊

下面以S7-400單站系統(tǒng)及ModSim32軟件為例詳細介紹如何將S7-400單站系統(tǒng)配置為Client,ModSim32Server進行Modbus TCP通訊,在本例中同樣使用FC10AG_CNTRL”版本的功能塊,由于客戶端和服務器模式均使用相同的功能塊,因此客戶端功能塊庫的程序結構及各功能塊完成的功能可以參考圖5

3.1 例子中使用的硬件設備及軟件

   本例中所用的硬件設備如下表:

名稱

數(shù)量

訂貨號

S7-400電源模塊PS 407 10A

1

6ES7407-0KA01-0AA0

S7-400 CPU414-3PN/DP

1

6ES7414-3EM05-0AB0(V5.2)

S7-400 CP443-1

1

6GK7443-1EX41-0XE0(V1.0)

S7-400 機架

1

6ES7400-1JA00-0AA0

網(wǎng)線

若干

 

筆記本電腦

1

 

 

 

 

 

 

 

4 客戶端硬件清單

  所用到軟件如下表:

名稱

訂貨號

STEP7 V5.5 組態(tài)編程軟件 英文版

 

“ ModbusTCP CP V4.3” 軟件選項包

2XV9450-1MB00

ModSim32 免授權版本

可從網(wǎng)上免費獲取

 

 

 

5 客戶端軟件清單

3.2 S7-400單站系統(tǒng)與ModSim32軟件組態(tài)

打開Step7軟件,新建一個工程項目文件,命名為“M_TCP_CP_V43(Client)”, 在項目下插入一個S7-400站,如下圖16所示:

16 新建S7-400 Station

雙擊插入的SIMATIC 400 Station“Hardware”,打開硬件組態(tài),在硬件組態(tài)界面下分別插入機架,電源PS407、CPU414-3PN/DP、CP443-1,本例中將CPIP地址設為192.168.70.2,如下圖17所示:

 

17 硬件組態(tài)并設置CP443-1IP地址

打開Netpro網(wǎng)絡組態(tài),選中CPU414-3PN/DP,插入一個新連接,連接伙伴為Unspecified,連接類型為TCP Connection,如下圖18所示:

18 網(wǎng)絡組態(tài)-新建TCP connection

打開連接屬性對話框中的“General Inbation”,由于CP443-1Client主動發(fā)起連接,因此需要勾選“Active connection estabishment”選項,ID保持缺省即可,在“Address”欄中同樣由于CP443-1Client,對于本地的端口號設置為2000(一般從2000以外開始以避免與別的協(xié)議資源沖突)對于通訊伙伴RemoteIP地址設置為測試PC機的IP 地址,本例中 PC機的IP設置為192.168.70.245,Port號設置為502,如下圖19所示:

19 S7-400為客戶端的TCP connection參數(shù)設置

組態(tài)完成后,編譯保存,將例程站點“SIMATIC 400(Client)”中的程序(System data不需要拷貝)拷貝到該項目中并下載(注意:OB100中調(diào)用的FB108idladdr需根據(jù)組態(tài)確認)。

關于服務器和端口號的設置請參考本文中2.2章節(jié)說明。

3.3 通訊測試

由于“ModbusTCP CP V4.3”選項包支持功能碼FC1,23,4,5,6,15,16,不同的功能碼測試過程中類似,因此下面同樣以FC03(讀寫保持寄存器)為例來說明通訊測試的整個過程,對于其他功能碼的測試將不再重復描述。

需要說明的是由于客戶端功能塊需要定義具體的功能碼,而主功能塊FB108 “MODBUSCP”并沒有直接的管腳來定義功能碼,而是由其中的兩個參數(shù)“DATA_TYPE”“single-write”共同決定(參見后面的管腳參數(shù)說明),詳細情況如下圖20所示:

20 S7-400單站系統(tǒng)做客戶端時不同的功能碼的參數(shù)定義

由于客戶端和服務器均使用相同的功能塊FB108“MODBUSCP ”的參數(shù)需要初始化,因此分別在OB100OB1中調(diào)用FB108,在OB100中調(diào)用FB108完成相關參數(shù)的初始化,FB108的管腳分布參見3.3章節(jié)中的圖10說明。

打開ModSim32軟件,在“Connection--->connect”中打開連接屬性對話框,連接接口選擇“Modbus/TCP svr”TCP/IP Server Port為本地服務器的端口502,如下圖21所示:

21 ModSim32中設置端口號

下載硬件組態(tài)及程序到CPU中,給參數(shù)ENQ_ENR發(fā)送脈沖信號;在打開的ModSim32軟件窗口設置寄存器連接類型、起始地址、長度等,如下圖22所示:

22 ModSim32Modbus數(shù)據(jù)參數(shù)定義

關于SIMATICDB偏移量、Modbus物理編址、應用層編址對應關系請參考本文中2.3章節(jié)圖14的說明

之后在CP443-1 Client就可以建立和遠程ModSim32 Server的連接了,在Netpro中可以看到連接已經(jīng)建立起來,如下圖23所示:

23 Modscan32激活與S7-400的連接

Step7的項目程序中新建一個變量監(jiān)控表,插入需要監(jiān)控的參數(shù)和數(shù)據(jù)區(qū)變量,可以看到ModSim32軟件與S7-400的數(shù)據(jù)通訊已經(jīng)建立起來了,雙方可以進行正常的保持寄存器數(shù)據(jù)讀寫操作,如下圖24所示:

24 S7-400單站系統(tǒng)作為客戶端與ModSim32軟件通訊

4. “ ModbusTCP CP V4.3” 選項包通訊使用總結及相關注意事項

由于是通過PC測試軟件模擬第三方設備與SIMATIC CPU的集成PN口進行Modbus TCP通訊,因此在實際的第三方設備與CPU的集成PN口進行通訊時需要注意以下幾點:

1) 由于訂貨號2XV9450-1MB02程序中會占用CPU 較大的裝載和工作存儲區(qū),因此對于性能比較低特別是S7-300的低端CPU進行通訊時必須考慮一定的富余量。

2) 對于SIMATIC S7,參數(shù)DB_x的數(shù)據(jù)區(qū)建議使用不同的DB 塊,使用同一個DB的不同地址區(qū)會造成地址編排混亂,另外參數(shù)Start_xEND_x 參數(shù)不能出現(xiàn)地址疊加情況。

3) 第三方設備的數(shù)據(jù)區(qū)與SIMATIC S7的數(shù)據(jù)DB塊的地址對應關系可以先按照第三方的數(shù)據(jù)區(qū)域Modbus地址的偏移關系之后計算相應的偏移量。

4)建議使用項目中的樣例程序,只須修改連接ID,定義通訊雙方的IP地址、端口號及相應的數(shù)據(jù)存儲區(qū)等,能減少編程量,只須把樣例程序放到一個單獨的FC塊中即可,樣例程序中定義了足夠的數(shù)據(jù)區(qū),連接成功及錯誤次數(shù)指示等。

5) Modbus TCP每一包的數(shù)據(jù)最多只能發(fā)送125個寄存器或2000個比特位,超過該范圍必須進行分包處理。

6) S7-300/400作為Client能與多少個Server建立通訊或者作為Server時能與多少個Client通訊取決于產(chǎn)品所支持的TCP連接數(shù),Modbus/TCP協(xié)議并沒有對此進行約束和限制。 

5 .“ModbusTCP CP V4.3” 軟件包授權

未經(jīng)授權的Modbus TCP軟件可用于測試和學習,不允許用于商業(yè)行為;未經(jīng)授權的軟件測試時CPU INTF指示燈紅色閃爍,并在CPU故障緩沖區(qū)生成錯誤信息;同時,Modbus TCP功能塊報錯,如圖25、26所示:

25 CPU診斷緩沖區(qū)報錯

26 Modbus TCP功能塊報錯A090

每個CPU都需要對功能塊MODBUSCP進行授權。授權有兩個步驟:讀取IDENT_CODE和申請注冊碼REG_KEY。且在CPU中必須調(diào)用OB121。 

5.1讀取IDENT_CODE

1、下載程序并將CPU切換到RUN模式;

2、打開MODBUSCPFB108)的背景塊DB108,確認IDENT_CODE的偏移地址為108;如圖27所示:

27 確認IDENT_CODE的偏移地址

3、打開變量監(jiān)視表,輸入DB108.DBB108開始的20個字節(jié),偏移地址110開始的18個字符即為IDENT_CODE,監(jiān)控如圖28所示:

28 確認IDENT_CODE

4、按上圖方式,獲取IDENT_CODE和軟件包裝上的License-No,并按照章節(jié)5.2和5.3所描述步驟申請注冊碼。

5.2 通過撥打西門子授權服務中心申請注冊碼REG_KEY

授權中心聯(lián)系方式:010-64757575

通過西門子授權服務中心申請注冊碼時,需要您提供所購買的軟件訂貨號、IDENT_CODE和軟件包裝上的License-No ,如圖28所示。

5.3 通過網(wǎng)站申請注冊碼REG_KEY

1、通過西門子技術支持網(wǎng)站申請,打開如下網(wǎng)址,點擊“技術問題提交”:

http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo2&aktprim=99&lang=zh

29 技術支持網(wǎng)站

2、請按如下示例的步驟進行操作(注意:由于步驟3搜索出來的參考信息無法解決授權問題,請直接點擊“繼續(xù)”進入步驟4),如圖30~34所示。

30 步驟1

31 步驟2

32 步驟4

33 步驟5

34 步驟6

5.4 使用注冊碼REG_KEY

1、西門子授權中心收到技術支持申請后,將會盡快給您回復郵件;

2、當獲取到注冊碼后,在項目中打開LICENSE_DBDB3);

3、通過菜單“View--->Data View”將DB塊切換到數(shù)據(jù)視圖模式,將獲取的17位注冊碼填寫到“Actual value”中,如圖35所示。

35 輸入注冊碼

4、將LICENSE_DBDB3)下載到CPU中,CPUINTF指示燈熄滅;并可通過查看MODBUSPNFB102)的輸出引腳LICENSEDtrue且不再報A090錯誤代碼,確認注冊碼激活成功,如圖36所示。

36 注冊碼激活成功

6. CP進行Modbus TCP通訊FB輸出常見故障代碼及處理

STATUS(Hex)

故障原因

處理措施

FB MODBUS故障

A002

Modbus起始地址Start_x錯誤

由通訊伙伴確認起始地址

A003

Modbus地址映射的DB塊的數(shù)據(jù)區(qū)長度太短,最低長度:

-寄存器:

(START_ADDRESS – start_x + LENGTH) * 2

-

(START_ADDRESS – start_x + LENGTH) / 8

其他可能的原因:

·參數(shù)初始化錯誤(CPClient)

·客戶端請求報文時錯誤的地址區(qū)域(CPServer)

擴展DB區(qū)域

CPClient,修改參數(shù)START-ADDRESS或者LENGTH

CPServer,修改客戶端的請求

A004

僅在CPClient時才有此故障:

參數(shù)DATA_TYPEWRITE_READ設置不匹配,不可能對輸入寄存器或離散輸入進行寫操作

修改此兩個參數(shù)

A005

CPClient時:

參數(shù)LENGTH設置無效

CPServer時:

Client請求的寄存器號無效,合法的數(shù)據(jù)類型范圍如下:

讀線圈/離散輸入: 1 to 2000

寫線圈: 1 to 1968

讀寄存器: 1 to 125

寫保持寄存器: 1 to 123

CPClient時:

修改參數(shù)LENGTH

CPServer時:

修改Client請求的數(shù)據(jù)類型范圍

A006

CP為客戶端時:

數(shù)據(jù)區(qū)1-8中對應的Modbus地址范圍(DATA_TYPE,

START_ADDRESS LENGTH

)不存在

CP為服務器時:

客戶端請求的報文不正確

CPClient時:

修改參數(shù)DATA_TYPE,START_ADDRESS LENGTH

CPServer時:

修改Client 請求或修改數(shù)據(jù)類型data_type_x.

 

A007

CPClient時:

參數(shù)MONITOR監(jiān)控時間設置無效,值必須>20ms

修改參數(shù)MONITOR

A008

接收監(jiān)控超時,可能的原因:

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

對于MODBUSCP V1.x:

同步錯誤,報文丟失

檢查通訊伙伴的參數(shù)設置,如單元標識符等

A009

CPClient,接收標識符TI與發(fā)送不一致, 連接將終止和重新建立

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

通過抓包工具來分析和修正通訊伙伴的報文

 

A00A

CPClient時,接收參數(shù)UNIT 與發(fā)送的不一致,連接將終止和重新建立

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

A00B

CPClient時:

接收與發(fā)送功能碼不一致

CPServer時:

無效的功能碼被接收

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

對于MODBUSCP V1.x:

同步錯誤,報文丟失

CPClient時:

通過抓包工具來分析和修正通訊伙伴的數(shù)據(jù)報文格式

CPServer時:

注意FB MODBUS僅支持功能碼FC12、3、4、5、6、1516

A00C

接收到的字節(jié)長度與寄存器/位不匹配

CP為服務器時,CP將發(fā)一個響應異常給客戶端

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

通過抓包工具來分析和修正通訊伙伴的報文

 

A00D

僅在CP Client 時發(fā)生:

響應的MODBUS寄存器/位地址或長度與客戶端請求的不一致

A00E

MODBUS報文報頭的長度與寄存器/位 不匹配,FB將忽略

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

對于MODBUSCP V1.x:

同步錯誤,報文丟失

A00F

0的協(xié)議標識符報文被接收

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

對于MODBUSCP V1.x:

同步錯誤,報文丟失

A010

數(shù)據(jù)區(qū)1-8 DB塊號重復使用

確保每個Db塊號只使用一次

A011

DATA_TYPE參數(shù)設置(范圍為1-4)

修改DATA_TYPE參數(shù)

A012

數(shù)據(jù)區(qū)參數(shù)data_type_1data_type_2設置重疊

 

數(shù)據(jù)區(qū)不能有重疊的modbus地址區(qū)域

A013

數(shù)據(jù)區(qū)參數(shù)data_type_1data_type_3設置重疊

修改此參數(shù)

A014

數(shù)據(jù)區(qū)參數(shù)data_type_1data_type_4設置重疊

A015

數(shù)據(jù)區(qū)參數(shù)data_type_1data_type_5設置重疊

A016

數(shù)據(jù)區(qū)參數(shù)data_type_1data_type_6設置重疊

A017

數(shù)據(jù)區(qū)參數(shù)data_type_1data_type_7設置重疊

A018

數(shù)據(jù)區(qū)參數(shù)data_type_1data_type_8設置重疊

A019

當參數(shù)data_type_x設置不為0時,db_x被賦值0

db_x不能為0

A01A

報頭中長度錯誤:

范圍3-253字節(jié)

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

通過抓包工具來分析和修正通訊伙伴的報文

 

A01B

CPServer及使用功能碼FC05:

接收的線圈值無效

CP將發(fā)送異常報文

A01E

CP接收到無法識別的數(shù)據(jù),

對于MODBUSCP V2.x:

所有通過502端口的連接激將中斷并重新建立

對于MODBUSCP V1.x:

同步錯誤,報文丟失

分析錯誤信息,通過抓包工具來分析和修正通訊伙伴的報文

A01F

功能塊FB MBBUSCP返回一個無效的狀態(tài)

聯(lián)系產(chǎn)品供貨商

A020

參數(shù)Check_conn_cycle設置<1s時,對于功能塊AG_CNTRL過短

當為Client模式時,參數(shù)Check_conn_cycle=TRUECheck_conn_cycle設置需要>1s;

當為Server模式時,Check_conn_cycle設置需要>1s;

A023

數(shù)據(jù)區(qū)參數(shù)data_type_2data_type_3設置重疊

 

數(shù)據(jù)區(qū)不能有重疊的modbus地址區(qū)域

A024

數(shù)據(jù)區(qū)參數(shù)data_type_2data_type_4設置重疊

A025

數(shù)據(jù)區(qū)參數(shù)data_type_2data_type_5設置重疊

A026

數(shù)據(jù)區(qū)參數(shù)data_type_2data_type_6設置重疊

A027

數(shù)據(jù)區(qū)參數(shù)data_type_2data_type_7設置重疊

A028

數(shù)據(jù)區(qū)參數(shù)data_type_2data_type_8設置重疊

A034

數(shù)據(jù)區(qū)參數(shù)data_type_3data_type_4設置重疊

A035

數(shù)據(jù)區(qū)參數(shù)data_type_3data_type_5設置重疊

A036

數(shù)據(jù)區(qū)參數(shù)data_type_3data_type_6設置重疊

A037

數(shù)據(jù)區(qū)參數(shù)data_type_3data_type_7設置重疊

A038

數(shù)據(jù)區(qū)參數(shù)data_type_3data_type_8設置重疊

A045

數(shù)據(jù)區(qū)參數(shù)data_type_4data_type_5設置重疊

A046

數(shù)據(jù)區(qū)參數(shù)data_type_4data_type_6設置重疊

A047

數(shù)據(jù)區(qū)參數(shù)data_type_4data_type_7設置重疊

A048

數(shù)據(jù)區(qū)參數(shù)data_type_4data_type_8設置重疊

A056

數(shù)據(jù)區(qū)參數(shù)data_type_5data_type_6設置重疊

A057

數(shù)據(jù)區(qū)參數(shù)data_type_5data_type_7設置重疊

A058

數(shù)據(jù)區(qū)參數(shù)data_type_5data_type_8設置重疊

A067

數(shù)據(jù)區(qū)參數(shù)data_type_6data_type_7設置重疊

A068

數(shù)據(jù)區(qū)參數(shù)data_type_6data_type_8設置重疊

A068

數(shù)據(jù)區(qū)參數(shù)data_type_7data_type_8設置重疊

A07A

參數(shù)id設置無效:范圍1-64

修改參數(shù)id

A07C

參數(shù)data_type_1設置無效:范圍0-4

修改參數(shù)data_type_x

A07D

參數(shù)data_type_1未定義,data_type_1為缺省的使用數(shù)據(jù)區(qū),需要定義

修改參數(shù)data_type_1

A07E

參數(shù)db_x值與背景DB中的值不一致

修改參數(shù)db_x

A080

OB1OB100調(diào)用FB MODBUS功能塊時使用了不同的背景DB

需要使用相同的背景DB

A081

CPClient且使用FC05功能碼時:

接收的線圈狀態(tài)與發(fā)送不一致

通過抓包工具來分析和修正通訊伙伴的報文

A082

CPClient且使用FC06功能碼時:

接收的寄存器值與發(fā)送不一致

通過抓包工具來分析和修正通訊伙伴的報文

A083

僅在CPClient:在上一個請求還沒有處理完成時又發(fā)送新的請求

等待DONE =TRUE  ERROR = TRUE后再發(fā)送新請求

A085

在授權期間由于無效的寫權限導致發(fā)生錯誤

對于授權DB,確認參數(shù)REG_KEY的結構是否正確

A090

功能塊未授權,此為一狀態(tài)信息,參數(shù)ERROR并不會置1,功能塊在未授權情況仍然可以運行而不影響通訊

針對CPU讀出預授權解碼,之后按照授權操作向IT4industry.部門索取授權碼

A091

收到異常響應碼1(僅在Client模式),連接將終止和重新建立

通訊伙伴不支持請求的報文

A092

收到異常響應碼2(僅在Client模式),無效的或不存在的地址請求

確認參數(shù)LENGTH START_ADDRESS

是否正確

A093

收到異常響應碼3(僅在Client模式)

通訊伙伴無法執(zhí)行報文接收(例如請求長度不支持等)

A094

收到異常響應碼4(僅在Client模式)

通訊伙伴無法執(zhí)行報文接收

A095

收到未知的異常響應碼(僅在Client模式)

通過抓包工具來分析和修正通訊伙伴的報文

FC/SFC故障

7xxx

請參考SIMATIC的在線幫助

通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code buation可以查到相關幫助信息

8xxx

請參考SIMATIC的在線幫助

通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code buation可以查到相關幫助信息

SFC24故障

80A1

DB=0或超出了CPU允許的范圍

選擇有效的DB

80B2

DB塊在CPU中不存在

DB_x參數(shù)中的DB塊必須創(chuàng)建并下載到CPU

80B3

DB塊被創(chuàng)建為“Unbed”類型

DB塊不能創(chuàng)建為“Unbed”類型

 

硬件列表

設備名稱

設備型號

PS 307

6ES7 307-1EA01-0AA0

CPU 319-3PN/ DP

6ES7 318-3EL00-0AB0

MMC

6ES7 953-8LG30-0AA0

CP341

6ES7 341-1CH02-0AE0

Dongle

6ES7 870-1AB01-0YA0

應用CP341進行 MODBUS協(xié)議通信時需要有Dongle的支持。在使用之前先將Dongle安裝在CP341模塊的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下圖所示。

圖1

組態(tài)和配置

1、打開軟件TIA PORTAL

圖2

STEP7 V13,點擊項目->新建...創(chuàng)建一新項目,項目名稱為341_modbus_Master。

2、用鼠標點擊“添加新設備”,選擇SIMATIC S7-300->CPU->CPU 319-3PN/DP->6ES7 318-3EL00-0AB0。

圖3

3、雙擊“設備組態(tài)”進入硬件組態(tài)界面,導軌RACK和CPU 319-3PN/DP已經(jīng)存在,只需要插入PS307和CP341。

圖4

4、雙擊CP341模板,進入CP341的屬性框,配置CP341參數(shù)。

圖5

5、在“協(xié)議”選項中選擇“Modbus主站”。配置modbus通信參數(shù),設定的通信參數(shù)要和通訊伙伴的相同。傳輸率(通信波特率):9600bps,數(shù)據(jù)位:8位,停止位:1位,奇偶校驗:無。

圖6

6、本示例選用的是RS422/485接口的CP341,還需要設置接口屬性,如下圖所示。

圖7

編寫通信程序

1、雙擊“添加新塊”,創(chuàng)建發(fā)送數(shù)據(jù)塊DB10和接收數(shù)據(jù)塊DB11,發(fā)送數(shù)據(jù)塊的名稱為Send,接收數(shù)據(jù)塊的名稱為Rev;如下圖所示,發(fā)送數(shù)據(jù)塊中新建幾個變量,從站地址為2,功能碼為3,起始地址為0,讀4個寄存器數(shù)據(jù),具體功能碼3 的使用參見手冊“S7串行通信模板Modbus RTU主站可裝載驅(qū)動的操作說明” 6.3章節(jié)的說明;如下圖所示,接受數(shù)據(jù)塊中新建1個數(shù)據(jù)類型Array的變量,數(shù)組元素的數(shù)據(jù)類型為Byte,數(shù)量為400。

圖8

圖9

2、進入主程序OB1,從通信->通信處理器->PtP鏈接:CP341,調(diào)用發(fā)送功能塊P_SND_RK和接收功能塊P_RCV_RK。P_SND_RK的背景數(shù)據(jù)塊為DB1,P_RCV_RK的背景數(shù)據(jù)塊為DB2。

圖10

CP341的發(fā)送功能塊P_SND_RK 的參數(shù)設置見下表。

管腳

解釋描述

SF

‘S’為發(fā)送,此處必須為大寫的‘S’

LADDR

硬件組態(tài)中的起始邏輯地址,本例中為256,見圖11。

REQ

發(fā)送數(shù)據(jù)觸發(fā)位,上升沿觸發(fā),本例中為M0.5,為時鐘存儲器的位,見圖12。

DB_NO

發(fā)送數(shù)據(jù)塊號,本例中為10(DB10)

DBB_NO

發(fā)送數(shù)據(jù)的起始地址,本例中為0(DB10.DBB0)

LEN

發(fā)送數(shù)據(jù)的長度,本例中為6

R_TYP

‘X’為擴展的數(shù)據(jù)塊,此處必須為大寫的‘X’

R

取消通訊,本例中不用

DONE

發(fā)送完成位,發(fā)送完成后為TRUE,同時沒有錯誤

ERROR

錯誤位,為TRUE說明有錯誤

STATUS

狀態(tài)字,標識錯誤代碼,查看Modbus Master手冊獲得相應的說明

其它參數(shù)

本例中不用

 

CP341的接收功能塊P_RCV_RK 的參數(shù)設置見下表。

管腳

解釋描述

LADDR

硬件組態(tài)中的起始邏輯地址,本例中為256,見圖11。

DB_NO

發(fā)送數(shù)據(jù)塊號,本例中為11(DB11)。

DBB_NO

發(fā)送數(shù)據(jù)的起始地址,本例中為0(DB11.DBB0)。

LEN

接收數(shù)據(jù)的長度,本例中為MW22,只顯示一個掃描周期,即:只有在接收到數(shù)據(jù)的當前周期,此值不為0。

EN_R

使能接收位,本例中為M20.0,常閉點, 始終保持接收狀態(tài)。

R

取消通訊,本例中不用。

NDR

接收完成位,接收完成并沒有錯誤為TRUE,只顯示一個掃描周期。

ERROR

錯誤位,為TRUE說明有錯誤,只顯示一個掃描周期。

STATUS

狀態(tài)字,標識錯誤代碼,只顯示一個掃描周期,查看Modbus Master手冊獲得相應的說明。

其它參數(shù)

本例中不用

 

圖11

圖12

設備連接

本文檔使用的CP341的接口是RS232C,因此需要通過標準的RS232C電纜來連接CP341和計算機的串口.

 具體的電纜連接方法請查看:串口接線

如果使用的CP341是RS485接口的模塊,需要使用RS232C/RS485轉(zhuǎn)換器(需要選購第三方設備)。

通信測試

前面使用 TIA Step7 軟件已經(jīng)將通信CP341的通信工作做完,下面進行通信測試。這里使用串口通訊測試軟件ModSim32軟件來測試CP341和計算機的通信,步驟如下

1、雙擊ModSim32軟件圖標,新建項目,點擊Port1,進入端口1做設置,本例計算機只有一個端口,所以就對端口1做設置,如果計算機有多個端口,要注意所選端口。

圖13

2、進入Port1設置界面,設置波特率、數(shù)據(jù)位、奇偶校驗等參數(shù),要和CP341的參數(shù)相同。

圖14

3、點擊“OK”,選擇軟件的03功能碼界面,本例設置03功能碼的10個數(shù)據(jù),其中前4個數(shù)據(jù)分別設置成1—4。

圖15

4、首先將硬件配置和程序下載到CPU319-3PN/DP中,時鐘脈沖信號M0.5從0跳變成1時,CP341將數(shù)據(jù)發(fā)送出去。

圖16

5、M20.0為常閉點,程序下載完成,CPU運行后,就始終處于接收狀態(tài)。在STEP7中打開接收數(shù)據(jù)塊DB11監(jiān)控接收到的數(shù)據(jù),可以看到發(fā)送的數(shù)據(jù)被正確的接收。

圖17

手冊下載

更詳細的資料請參看如下手冊:

 CP341使用手冊

 MODBUS RTU主站手冊

S7-1200    西門子   6ES7370-0AA01-0AA0

 

溫馨提示

  • 還沒找到想要的產(chǎn)品嗎? 立即發(fā)布采購信息,讓供應商主動與您聯(lián)系!

免責聲明:所展示的信息由會員自行提供,內(nèi)容的真實性、準確性和合法性由發(fā)布會員負責,機電之家網(wǎng)對此不承擔任何責任。機電之家網(wǎng)不涉及用戶間因交易而產(chǎn)生的法律關系及法律糾紛,糾紛由您自行協(xié)商解決。
友情提醒:本網(wǎng)站僅作為用戶尋找交易對象,就貨物和服務的交易進行協(xié)商,以及獲取各類與貿(mào)易相關的服務信息的平臺。為避免產(chǎn)生購買風險,建議您在購買相關產(chǎn)品前務必確認供應商資質(zhì)及產(chǎn)品質(zhì)量。過低的價格、夸張的描述、私人銀行賬戶等都有可能是虛假信息,請采購商謹慎對待,謹防欺詐,對于任何付款行為請您慎重抉擇!如您遇到欺詐等不誠信行為,請您立即與機電之家網(wǎng)聯(lián)系,如查證屬實,機電之家網(wǎng)會對該企業(yè)商鋪做注銷處理,但機電之家網(wǎng)不對您因此造成的損失承擔責任!
您也可以進入“消費者防騙指南”了解投訴及處理流程,我們將竭誠為您服務,感謝您對機電之家網(wǎng)的關注與支持!

您是不是在找