衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S7-300/400的CPx43-1 MODBUS TCP通訊案例

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來(lái)源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-05-31 11:12 ? 次閱讀

1.“ModbusTCP CP V5.0”塊庫(kù)使用說明

1)該功能塊庫(kù)可以用于S7-300單站通過CP343-1或S7-400單站通過CP443-1進(jìn)行ModbusTCP通訊。

2)由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,因此需要調(diào)用SIMATIC S7標(biāo)準(zhǔn)功能塊,對(duì)于S7-300/400的CP來(lái)說,需要調(diào)用FC5(AG_SEND),F(xiàn)C6(AG_RECV)功能塊。

3)對(duì)于主要功能塊FB106、107和108來(lái)說,其版本號(hào)如下圖1所示:

30d72c40-fc13-11ed-90ce-dac502259ad0.jpg

圖1功能塊版本號(hào)

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

30f2821a-fc13-11ed-90ce-dac502259ad0.png

圖2塊庫(kù)、例程、英文手冊(cè)和軟件注冊(cè)的文件夾位置

31085d42-fc13-11ed-90ce-dac502259ad0.png

圖3例程(注:當(dāng)找不到例程時(shí)可以通過”Browse..”按鈕來(lái)進(jìn)行查找)

312b9ad2-fc13-11ed-90ce-dac502259ad0.png

圖4功能塊庫(kù)(注:當(dāng)找不到塊庫(kù)時(shí)可以通過”Browse..”按鈕來(lái)進(jìn)行查找)

2. 配置S7-300單站系統(tǒng)通過CP343-1 作為Server進(jìn)行Modbus TCP通訊

以S7-300單站系統(tǒng)及Modscan32軟件為例,詳細(xì)介紹如何將S7-300單站系統(tǒng)通過CP343-1配置為Server,Modscan32為Client進(jìn)行Modbus TCP通訊,在本例中將使用帶FC10”AG_CNTRL”版本的功能塊,下圖5為服務(wù)器功能塊庫(kù)的程序結(jié)構(gòu)及各功能塊完成的功能:

3150c9b0-fc13-11ed-90ce-dac502259ad0.jpg

圖5服務(wù)器功能塊庫(kù)程序結(jié)構(gòu)

317204a4-fc13-11ed-90ce-dac502259ad0.png注意:Modscan32軟件可以從網(wǎng)上免費(fèi)下載得到,本例中使用的版本為V4.A01版,由于各版本的功能不盡相同,因此需要注意版本問題。

2.1 例子中使用的硬件設(shè)備及軟件

本例中所用的硬件設(shè)備如下表:

31836f5a-fc13-11ed-90ce-dac502259ad0.jpg

表1服務(wù)器硬件清單

所用軟件如下表:

319fdc58-fc13-11ed-90ce-dac502259ad0.jpg

表2服務(wù)器軟件清單

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

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

31b9d982-fc13-11ed-90ce-dac502259ad0.jpg

圖6新建S7-300 Station

雙擊插入的SIMATIC 300 Station的“Hardware”,打開硬件組態(tài),在硬件組態(tài)界面下分別插入機(jī)架,CPU315-2PN/DP、CP343-1,本例中將CP的IP地址設(shè)為192.168.0.137如下圖7所示:

31d27460-fc13-11ed-90ce-dac502259ad0.jpg

圖7硬件組態(tài)并設(shè)置CP343-1的IP地址

硬件組態(tài)完成后,打開DEMO中的實(shí)例項(xiàng)目,見下圖8所示:

31f2474a-fc13-11ed-90ce-dac502259ad0.jpg

圖8DEMO中的實(shí)例項(xiàng)目

在實(shí)例項(xiàng)目中,找到300 Server程序中的塊,復(fù)制所有的塊(除System data外),粘貼至自建的項(xiàng)目,見下圖9所示:

3216f130-fc13-11ed-90ce-dac502259ad0.jpg

圖9300 Server程序中的塊

打開Netpro網(wǎng)絡(luò)組態(tài),選中CPU315-2PN/DP,插入一個(gè)新連接,連接伙伴為未指定(Unspecified),連接類型為TCP連接(TCP Connection),如下圖10所示:

322d7a22-fc13-11ed-90ce-dac502259ad0.jpg

圖10網(wǎng)絡(luò)組態(tài)-新建TCP connection

打開連接屬性對(duì)話框中的“General Information”,由于CP343-1做Server被動(dòng)連接,因此不勾選“激活連接的建立“(Active connection estabishment),ID保持缺省即可,在“地址”(Address)欄中同樣由于CP343-1做Server,因此填入連接的Port號(hào)設(shè)置為502,組態(tài)完成后,編譯保存,將例程站點(diǎn)“SIMATIC 300(Server)”中的程序(System data不需要拷貝)拷貝到該項(xiàng)目中并下載(注意:OB100中調(diào)用的FB108,同時(shí)調(diào)用DB2,需填寫DB2的id和laddr,如圖13所示)。對(duì)于通訊伙伴Remote的IP地址可以不填,即允許任意IP地址的客戶端發(fā)起連接,如下圖11所示:

323b3964-fc13-11ed-90ce-dac502259ad0.jpg325b88c2-fc13-11ed-90ce-dac502259ad0.jpg

圖11 S7-300為服務(wù)器的TCP connection參數(shù)設(shè)置

對(duì)于服務(wù)器和客戶端的端口號(hào)(下述中以Port代替)的選擇需要注意以下幾點(diǎn):

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

2)對(duì)于一個(gè)系統(tǒng)來(lái)說,當(dāng)創(chuàng)建多個(gè)TCP連接時(shí),要保證IP地址和Port號(hào)不重合,即同一個(gè)IP地址下創(chuàng)建多個(gè)TCP連接時(shí)Port號(hào)必須不同,而不同的系統(tǒng)因IP地址不同可以使用相同的Port號(hào),例如本例中如果需要?jiǎng)?chuàng)建多個(gè)TCP連接作為Server時(shí)因只有一個(gè)IP,因此Port號(hào)必須不同。

2.3 通訊測(cè)試

由于“ ModbusTCP CP V5.0”選項(xiàng)包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測(cè)試過程中類似,因此下面以FC03(讀寫保持寄存器)為例來(lái)說明通訊測(cè)試的整個(gè)過程,對(duì)于其他功能碼的測(cè)試將不再重復(fù)描述,對(duì)于Modbus的數(shù)據(jù)類型可參考下表3:

3284ecc6-fc13-11ed-90ce-dac502259ad0.png

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

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

32a59c1e-fc13-11ed-90ce-dac502259ad0.jpg

圖12FB108的管腳分分布

注意:從圖12可以看出,數(shù)據(jù)集中在DB2中

打開DB2,設(shè)置相應(yīng)參數(shù),如下圖13所示:

32e07fbe-fc13-11ed-90ce-dac502259ad0.jpg

圖13DB2中的變量設(shè)置

打開Modscan32軟件,在“Connection--->connect”中打開連接屬性對(duì)話框,連接接口選擇“Remote TCP/IP Server”,IP Address分別填入CPU的IP地址

192.168.0.137,Service為遠(yuǎn)程服務(wù)器的端口502,在協(xié)議的選擇對(duì)話框中可以定義傳輸模式、通訊超時(shí)響應(yīng)時(shí)間,報(bào)文發(fā)送間隔及允許寫多個(gè)保

持寄存器等,這里分別保持缺省設(shè)置即可,如下圖14所示:

33072268-fc13-11ed-90ce-dac502259ad0.jpg

圖14對(duì)應(yīng)TCP通訊的Modscan32連接窗口

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

3345f740-fc13-11ed-90ce-dac502259ad0.jpg

圖15 Modscan32中Modbus數(shù)據(jù)參數(shù)定義

之后在ModScan32中就可以建立和遠(yuǎn)程CP343-1 Server的連接了,在Netpro中可以看到連接已經(jīng)建立起來(lái),如下圖16所示:

3367d644-fc13-11ed-90ce-dac502259ad0.jpg

圖16 Modscan32激活與S7-300的連接

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

33932c90-fc13-11ed-90ce-dac502259ad0.png

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

33bb13b8-fc13-11ed-90ce-dac502259ad0.png

圖18 DB偏移量、Modbus物理編址、應(yīng)用層編址對(duì)應(yīng)關(guān)系

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

33ee151a-fc13-11ed-90ce-dac502259ad0.jpg

圖19通訊連接建立

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

下面以S7-300單站系統(tǒng)及Modbus Slave軟件為例,詳細(xì)介紹如何將S7-300單站系統(tǒng)配置為Client,Modbus Slave為Server進(jìn)行Modbus TCP通訊,在本例中同樣使用FC10“AG_CNTRL”版本的功能塊,由于客戶端和服務(wù)器模式均使用相同的功能塊,因此客戶端功能塊庫(kù)的程序結(jié)構(gòu)及各功能塊完成的功能可以參考上圖5。

3.1 例子中使用的硬件設(shè)備及軟件

本例中所用的硬件設(shè)備及軟件同上文2.1節(jié)所示。

3.2 S7-300單站系統(tǒng)與Modbus Slave軟件組態(tài)

打開Step7軟件,新建一個(gè)工程項(xiàng)目文件,命名為“M_TCP_CP_V50(Client)”,在項(xiàng)目下插入一個(gè)S7-300站,如下圖20所示:

34137c92-fc13-11ed-90ce-dac502259ad0.jpg

圖20新建S7-300 Station

雙擊插入的SIMATIC 400 Station的“Hardware”,打開硬件組態(tài),在硬件組態(tài)界面下分別插入機(jī)架,CPU315-2PN/DP、CP343-1,本例中將CP的IP地址設(shè)為192.168.0.137,如下圖21所示:

344301b0-fc13-11ed-90ce-dac502259ad0.jpg

圖21硬件組態(tài)并設(shè)置CP343-1的IP地址

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

346a097c-fc13-11ed-90ce-dac502259ad0.jpg

圖22網(wǎng)絡(luò)組態(tài)-新建TCP connection

打開連接屬性對(duì)話框中的“General Information”,由于CP343-1做Client主動(dòng)發(fā)起連接,因此需要勾選“Active connection estabishment”選項(xiàng),ID保持缺省即可,在“Address”欄中同樣由于CP343-1做Client,對(duì)于本地的端口號(hào)設(shè)置為2000(一般從2000以外開始以避免與別的協(xié)議資源沖突),對(duì)于通訊伙伴Remote的IP地址設(shè)置為測(cè)試PC機(jī)的IP地址,本例中PC機(jī)的IP設(shè)置為192.168.0.130,而Port號(hào)設(shè)置為502,如下圖23所示:

34912872-fc13-11ed-90ce-dac502259ad0.jpg34a70552-fc13-11ed-90ce-dac502259ad0.jpg

圖23 S7-300為客戶端的TCP connection參數(shù)設(shè)置

組態(tài)完成后,編譯保存,將例程站點(diǎn)“SIMATIC 300(Client)”中的程序(System data不需要拷貝)拷貝到該項(xiàng)目中并下載(注意:OB100中調(diào)用的FB108,DB2的id和laddr需根據(jù)組態(tài)設(shè)置,見下圖24所示)。

34c44c3e-fc13-11ed-90ce-dac502259ad0.jpg

圖24DB2中的變量設(shè)置

關(guān)于服務(wù)器和端口號(hào)的設(shè)置請(qǐng)參考本文中2.2章節(jié)說明。

3.3 通訊測(cè)試

由于“ModbusTCP CP V5.0”選項(xiàng)包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測(cè)試過程中類似,因此下面同樣以FC03(讀寫保持寄存器)為例來(lái)說明通訊測(cè)試的整個(gè)過程,對(duì)于其他功能碼的測(cè)試將不再重復(fù)描述。

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

34f672fe-fc13-11ed-90ce-dac502259ad0.png

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

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

打開Modbus Slave軟件,在“Connection--->connect”中打開連接屬性對(duì)話框,連接接口選擇TCP/IP,Port設(shè)置為本地服務(wù)器的端口502,如下圖26所示:

3530f294-fc13-11ed-90ce-dac502259ad0.jpg

圖26 Modbus Slave中設(shè)置端口號(hào)

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

35517bd6-fc13-11ed-90ce-dac502259ad0.jpg

圖27 Modbus Slave中Modbus數(shù)據(jù)參數(shù)定義

關(guān)于SIMATIC中DB偏移量、Modbus物理編址、應(yīng)用層編址對(duì)應(yīng)關(guān)系請(qǐng)參考本文中2.3章節(jié)圖18的說明

之后在CP343-1 Client就可以建立和遠(yuǎn)程Modbus Slave Server的連接了,在Netpro中可以看到連接已經(jīng)建立起來(lái),如下圖28所示:

3573cec0-fc13-11ed-90ce-dac502259ad0.jpg

圖28 Modbus Slave激活與S7-300的連接

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

359e36c4-fc13-11ed-90ce-dac502259ad0.jpg

圖29 S7-300單站系統(tǒng)作為客戶端與Modbus Slave軟件通訊

4. “ ModbusTCP CP V5.0” 選項(xiàng)包通訊使用總結(jié)及相關(guān)注意事項(xiàng)

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

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

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

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

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

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

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

5 .“ModbusTCP CP V5.0” 軟件包授權(quán)

未經(jīng)授權(quán)的Modbus TCP軟件可用于測(cè)試和學(xué)習(xí),不允許用于商業(yè)行為;未經(jīng)授權(quán)的軟件測(cè)試時(shí)CPU的INTF指示燈紅色閃爍,并在CPU故障緩沖區(qū)生成錯(cuò)誤信息;同時(shí),Modbus TCP功能塊報(bào)錯(cuò),如圖30、31所示:

35d3543a-fc13-11ed-90ce-dac502259ad0.jpg

圖30CPU診斷緩沖區(qū)報(bào)錯(cuò)

36099d4c-fc13-11ed-90ce-dac502259ad0.jpg

圖31Modbus TCP功能塊報(bào)錯(cuò)A090

每個(gè)CPU都需要對(duì)功能塊MODBUSCP進(jìn)行授權(quán)。授權(quán)有兩個(gè)步驟:讀取IDENT_CODE和申請(qǐng)注冊(cè)碼REG_KEY。且在CPU中必須調(diào)用OB121。

5.1讀取IDENT_CODE

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

2、打開MODBUSCP(FB108)的背景塊DB108,確認(rèn)IDENT_CODE的偏移地址為42;如圖32所示:

3627df32-fc13-11ed-90ce-dac502259ad0.jpg

圖32確認(rèn)IDENT_CODE的偏移地址

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

364b548a-fc13-11ed-90ce-dac502259ad0.jpg

圖33確認(rèn)IDENT_CODE

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

5.2 通過撥打西門子授權(quán)服務(wù)中心申請(qǐng)注冊(cè)碼REG_KEY

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

通過西門子授權(quán)服務(wù)中心申請(qǐng)注冊(cè)碼時(shí),需要您提供所購(gòu)買的軟件訂貨號(hào)、IDENT_CODE和軟件包裝上的License-No,如圖33所示。

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

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

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

368306e6-fc13-11ed-90ce-dac502259ad0.png

圖34技術(shù)支持網(wǎng)站

2、請(qǐng)按如下示例的步驟進(jìn)行操作(注意:由于步驟3搜索出來(lái)的參考信息無(wú)法解決授權(quán)問題,請(qǐng)直接點(diǎn)擊“繼續(xù)”進(jìn)入步驟4),如圖35~39所示。

36aa2794-fc13-11ed-90ce-dac502259ad0.png

圖35步驟1

36fa8720-fc13-11ed-90ce-dac502259ad0.png

圖36步驟2

37312424-fc13-11ed-90ce-dac502259ad0.png

圖37步驟4

374f74c4-fc13-11ed-90ce-dac502259ad0.png

圖38步驟5

376fca3a-fc13-11ed-90ce-dac502259ad0.png

圖39步驟6

5.4 使用注冊(cè)碼REG_KEY

1、西門子授權(quán)中心收到技術(shù)支持申請(qǐng)后,將會(huì)盡快給您回復(fù)郵件;

2、當(dāng)獲取到注冊(cè)碼后,在項(xiàng)目中打開LICENSE_DB(DB3);

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

37aec41a-fc13-11ed-90ce-dac502259ad0.png

圖40輸入注冊(cè)碼

4、將LICENSE_DB(DB3)下載到CPU中,CPU的INTF指示燈熄滅;并可通過查看MODBUSPN(FB102)的輸出引腳LICENSED為true且不再報(bào)A090錯(cuò)誤代碼,確認(rèn)注冊(cè)碼激活成功,如圖41所示。

37ce8ec6-fc13-11ed-90ce-dac502259ad0.png

圖41注冊(cè)碼激活成功

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

STATUS(Hex) 故障原因 處理措施
FB MODBUS故障
A002 Modbus起始地址Start_x錯(cuò)誤 由通訊伙伴確認(rèn)起始地址
A003 Modbus地址映射的DB塊的數(shù)據(jù)區(qū)長(zhǎng)度太短,最低長(zhǎng)度:
-寄存器:
(START_ADDRESS – start_x + LENGTH) * 2
-位
(START_ADDRESS – start_x + LENGTH) / 8
其他可能的原因:
·參數(shù)初始化錯(cuò)誤(CP為Client時(shí))
·客戶端請(qǐng)求報(bào)文時(shí)錯(cuò)誤的地址區(qū)域(CP為Server)
擴(kuò)展DB區(qū)域
當(dāng)CP為Client時(shí),修改參數(shù)START-ADDRESS或者LENGTH
當(dāng)CP為Server時(shí),修改客戶端的請(qǐng)求
A004 僅在CP為Client時(shí)才有此故障:
參數(shù)DATA_TYPE及WRITE_READ設(shè)置不匹配,不可能對(duì)輸入寄存器或離散輸入進(jìn)行寫操作
修改此兩個(gè)參數(shù)
A005 CP為Client時(shí):
參數(shù)LENGTH設(shè)置無(wú)效
CP為Server時(shí):
Client請(qǐng)求的寄存器號(hào)無(wú)效,合法的數(shù)據(jù)類型范圍如下:
讀線圈/離散輸入: 1 to 2000
寫線圈: 1 to 1968
讀寄存器: 1 to 125
寫保持寄存器: 1 to 123
CP為Client時(shí):
修改參數(shù)LENGTH
CP為Server時(shí):
修改Client請(qǐng)求的數(shù)據(jù)類型范圍
A006 CP為客戶端時(shí):
數(shù)據(jù)區(qū)1-8中對(duì)應(yīng)的Modbus地址范圍(DATA_TYPE,
START_ADDRESS和LENGTH
)不存在
CP為服務(wù)器時(shí):
客戶端請(qǐng)求的報(bào)文不正確
CP為Client時(shí):
修改參數(shù)DATA_TYPE,START_ADDRESS和LENGTH
CP為Server時(shí):
修改Client請(qǐng)求或修改數(shù)據(jù)類型data_type_x.
A007 CP為Client時(shí):
參數(shù)MONITOR監(jiān)控時(shí)間設(shè)置無(wú)效,值必須>20ms
修改參數(shù)MONITOR
A008 接收監(jiān)控超時(shí),可能的原因:
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
對(duì)于MODBUSCP V1.x:
同步錯(cuò)誤,報(bào)文丟失
檢查通訊伙伴的參數(shù)設(shè)置,如單元標(biāo)識(shí)符等
A009 當(dāng)CP為Client時(shí),接收標(biāo)識(shí)符TI與發(fā)送不一致,連接將終止和重新建立
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
通過抓包工具來(lái)分析和修正通訊伙伴的報(bào)文
A00A CP為Client時(shí),接收參數(shù)UNIT與發(fā)送的不一致,連接將終止和重新建立
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
A00B CP為Client時(shí):
接收與發(fā)送功能碼不一致
CP為Server時(shí):
無(wú)效的功能碼被接收
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
對(duì)于MODBUSCP V1.x:
同步錯(cuò)誤,報(bào)文丟失
CP為Client時(shí):
通過抓包工具來(lái)分析和修正通訊伙伴的數(shù)據(jù)報(bào)文格式
CP為Server時(shí):
注意FB MODBUS僅支持功能碼FC1、2、3、4、5、6、15、16
A00C 接收到的字節(jié)長(zhǎng)度與寄存器/位不匹配
CP為服務(wù)器時(shí),CP將發(fā)一個(gè)響應(yīng)異常給客戶端
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
通過抓包工具來(lái)分析和修正通訊伙伴的報(bào)文
A00D 僅在CP為Client時(shí)發(fā)生:
響應(yīng)的MODBUS寄存器/位地址或長(zhǎng)度與客戶端請(qǐng)求的不一致
A00E MODBUS報(bào)文報(bào)頭的長(zhǎng)度與寄存器/位不匹配,F(xiàn)B將忽略
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
對(duì)于MODBUSCP V1.x:
同步錯(cuò)誤,報(bào)文丟失
A00F 非0的協(xié)議標(biāo)識(shí)符報(bào)文被接收
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
對(duì)于MODBUSCP V1.x:
同步錯(cuò)誤,報(bào)文丟失
A010 數(shù)據(jù)區(qū)1-8 DB塊號(hào)重復(fù)使用 確保每個(gè)Db塊號(hào)只使用一次
A011 DATA_TYPE參數(shù)設(shè)置(范圍為1-4) 修改DATA_TYPE參數(shù)
A012 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_2設(shè)置重疊 數(shù)據(jù)區(qū)不能有重疊的modbus地址區(qū)域
A013 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_3設(shè)置重疊 修改此參數(shù)
A014 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_4設(shè)置重疊
A015 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_5設(shè)置重疊
A016 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_6設(shè)置重疊
A017 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_7設(shè)置重疊
A018 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_8設(shè)置重疊
A019 當(dāng)參數(shù)data_type_x設(shè)置不為0時(shí),db_x被賦值0 db_x不能為0
A01A 報(bào)頭中長(zhǎng)度錯(cuò)誤:
范圍3-253字節(jié)
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
通過抓包工具來(lái)分析和修正通訊伙伴的報(bào)文
A01B CP為Server及使用功能碼FC05時(shí):
接收的線圈值無(wú)效
CP將發(fā)送異常報(bào)文
A01E CP接收到無(wú)法識(shí)別的數(shù)據(jù),
對(duì)于MODBUSCP V2.x:
所有通過502端口的連接激將中斷并重新建立
對(duì)于MODBUSCP V1.x:
同步錯(cuò)誤,報(bào)文丟失
分析錯(cuò)誤信息,通過抓包工具來(lái)分析和修正通訊伙伴的報(bào)文
A01F 功能塊FB MBBUSCP返回一個(gè)無(wú)效的狀態(tài) 聯(lián)系產(chǎn)品供貨商
A020 參數(shù)Check_conn_cycle設(shè)置<1s時(shí),對(duì)于功能塊AG_CNTRL過短 當(dāng)為Client模式時(shí),參數(shù)Check_conn_cycle=TRUE下Check_conn_cycle設(shè)置需要>1s;
當(dāng)為Server模式時(shí),Check_conn_cycle設(shè)置需要>1s;
A023 數(shù)據(jù)區(qū)參數(shù)data_type_2和data_type_3設(shè)置重疊 數(shù)據(jù)區(qū)不能有重疊的modbus地址區(qū)域
A024 數(shù)據(jù)區(qū)參數(shù)data_type_2和data_type_4設(shè)置重疊
A025 數(shù)據(jù)區(qū)參數(shù)data_type_2和data_type_5設(shè)置重疊
A026 數(shù)據(jù)區(qū)參數(shù)data_type_2和data_type_6設(shè)置重疊
A027 數(shù)據(jù)區(qū)參數(shù)data_type_2和data_type_7設(shè)置重疊
A028 數(shù)據(jù)區(qū)參數(shù)data_type_2和data_type_8設(shè)置重疊
A034 數(shù)據(jù)區(qū)參數(shù)data_type_3和data_type_4設(shè)置重疊
A035 數(shù)據(jù)區(qū)參數(shù)data_type_3和data_type_5設(shè)置重疊
A036 數(shù)據(jù)區(qū)參數(shù)data_type_3和data_type_6設(shè)置重疊
A037 數(shù)據(jù)區(qū)參數(shù)data_type_3和data_type_7設(shè)置重疊
A038 數(shù)據(jù)區(qū)參數(shù)data_type_3和data_type_8設(shè)置重疊
A045 數(shù)據(jù)區(qū)參數(shù)data_type_4和data_type_5設(shè)置重疊
A046 數(shù)據(jù)區(qū)參數(shù)data_type_4和data_type_6設(shè)置重疊
A047 數(shù)據(jù)區(qū)參數(shù)data_type_4和data_type_7設(shè)置重疊
A048 數(shù)據(jù)區(qū)參數(shù)data_type_4和data_type_8設(shè)置重疊
A056 數(shù)據(jù)區(qū)參數(shù)data_type_5和data_type_6設(shè)置重疊
A057 數(shù)據(jù)區(qū)參數(shù)data_type_5和data_type_7設(shè)置重疊
A058 數(shù)據(jù)區(qū)參數(shù)data_type_5和data_type_8設(shè)置重疊
A067 數(shù)據(jù)區(qū)參數(shù)data_type_6和data_type_7設(shè)置重疊
A068 數(shù)據(jù)區(qū)參數(shù)data_type_6和data_type_8設(shè)置重疊
A068 數(shù)據(jù)區(qū)參數(shù)data_type_7和data_type_8設(shè)置重疊
A07A 參數(shù)id設(shè)置無(wú)效:范圍1-64 修改參數(shù)id
A07C 參數(shù)data_type_1設(shè)置無(wú)效:范圍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 在OB1和OB100調(diào)用FB MODBUS功能塊時(shí)使用了不同的背景DB 需要使用相同的背景DB
A081 CP為Client且使用FC05功能碼時(shí):
接收的線圈狀態(tài)與發(fā)送不一致
通過抓包工具來(lái)分析和修正通訊伙伴的報(bào)文
A082 CP為Client且使用FC06功能碼時(shí):
接收的寄存器值與發(fā)送不一致
通過抓包工具來(lái)分析和修正通訊伙伴的報(bào)文
A083 僅在CP為Client時(shí):在上一個(gè)請(qǐng)求還沒有處理完成時(shí)又發(fā)送新的請(qǐng)求 等待DONE =TRUE或ERROR = TRUE后再發(fā)送新請(qǐng)求
A085 在授權(quán)期間由于無(wú)效的寫權(quán)限導(dǎo)致發(fā)生錯(cuò)誤 對(duì)于授權(quán)DB,確認(rèn)參數(shù)REG_KEY的結(jié)構(gòu)是否正確
A090 功能塊未授權(quán),此為一狀態(tài)信息,參數(shù)ERROR并不會(huì)置1,功能塊在未授權(quán)情況仍然可以運(yùn)行而不影響通訊 針對(duì)CPU讀出預(yù)授權(quán)解碼,之后按照授權(quán)操作向IT4industry.部門索取授權(quán)碼
A091 收到異常響應(yīng)碼1(僅在Client模式),連接將終止和重新建立 通訊伙伴不支持請(qǐng)求的報(bào)文
A092 收到異常響應(yīng)碼2(僅在Client模式),無(wú)效的或不存在的地址請(qǐng)求 確認(rèn)參數(shù)LENGTH或START_ADDRESS
是否正確
A093 收到異常響應(yīng)碼3(僅在Client模式) 通訊伙伴無(wú)法執(zhí)行報(bào)文接收(例如請(qǐng)求長(zhǎng)度不支持等)
A094 收到異常響應(yīng)碼4(僅在Client模式) 通訊伙伴無(wú)法執(zhí)行報(bào)文接收
A095 收到未知的異常響應(yīng)碼(僅在Client模式) 通過抓包工具來(lái)分析和修正通訊伙伴的報(bào)文
FC/SFC故障
7xxx 請(qǐng)參考SIMATIC的在線幫助 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關(guān)幫助信息
8xxx 請(qǐng)參考SIMATIC的在線幫助 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關(guān)幫助信息
SFC24故障
80A1 DB=0或超出了CPU允許的范圍 選擇有效的DB
80B2 DB塊在CPU中不存在 DB_x參數(shù)中的DB塊必須創(chuàng)建并下載到CPU中
80B3 DB塊被創(chuàng)建為“Unlinked”類型 DB塊不能創(chuàng)建為“Unlinked”類型

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1820

    瀏覽量

    77309
  • 通訊
    +關(guān)注

    關(guān)注

    9

    文章

    911

    瀏覽量

    35080
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1378

    瀏覽量

    79300
  • S7-300
    +關(guān)注

    關(guān)注

    8

    文章

    225

    瀏覽量

    34406
  • SIMATIC
    +關(guān)注

    關(guān)注

    1

    文章

    231

    瀏覽量

    15826

原文標(biāo)題:S7-300/400 的CPx43-1 MODBUS TCP 通訊(STEP7)_V5.0

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于S7-300的泵站監(jiān)控系統(tǒng)

    本文介紹了組合S7-300 通訊處理器,MODBUSTCP/IP 協(xié)議的泵站監(jiān)控系統(tǒng)的系統(tǒng)結(jié)構(gòu),軟件設(shè)計(jì)。著重于系統(tǒng)的通訊硬件和軟件。
    發(fā)表于 09-09 15:27 ?56次下載

    S7-300/400的擴(kuò)展方式

    模塊(IM),連接電纜,以及S7-300 模塊( I/O 信號(hào)模塊、通訊模塊、功能模塊等)。S7-300
    發(fā)表于 09-29 15:56 ?9次下載
    <b class='flag-5'>S7-300</b>/<b class='flag-5'>400</b>的擴(kuò)展方式

    S7-200與S7-300之間的通訊方式圖文詳解

    S7-200和S7-300進(jìn)行MPI通信S7-200 plc與S7-300 PLC之間采用MPI通訊方式時(shí),
    的頭像 發(fā)表于 12-04 18:33 ?5.5w次閱讀
    <b class='flag-5'>S7</b>-200與<b class='flag-5'>S7-300</b>之間的<b class='flag-5'>通訊</b>方式圖文詳解

    S7-1200與S7-300S7-400以太網(wǎng)通信數(shù)據(jù)交換的教程說明

    S7-1200與S7-300S7-400以太網(wǎng)通信數(shù)據(jù)交換的教程說明
    發(fā)表于 12-04 08:00 ?1次下載
    <b class='flag-5'>S7</b>-1200與<b class='flag-5'>S7-300</b>和<b class='flag-5'>S7-400</b>以太網(wǎng)通信數(shù)據(jù)交換的教程說明

    總線S7-200與S7-300的ProfobusDP通訊教程

    總線S7-200與S7-300的ProfobusDP通訊教程
    發(fā)表于 04-14 09:48 ?4次下載
    總線<b class='flag-5'>S7</b>-200與<b class='flag-5'>S7-300</b>的ProfobusDP<b class='flag-5'>通訊</b>教程

    SIMATIC S7-300S7-400梯形邏輯編程

    SIMATIC S7-300S7-400梯形邏輯編程說明。
    發(fā)表于 04-21 14:07 ?10次下載

    VB與西門子S7-300通訊方式

    VB與西門子S7-300通訊方式說明。
    發(fā)表于 04-23 15:55 ?26次下載

    用于S7-300S7-400的功能塊圖(FBD)編程

    用于S7-300S7-400的功能塊圖(FBD)編程說明。
    發(fā)表于 04-30 09:54 ?26次下載

    S7-300S7-200PLC之間的PROFIBUS-DP通訊

    S7-300S7-200PLC之間的PROFIBUS-DP通訊說明。
    發(fā)表于 05-08 11:42 ?25次下載

    工業(yè)網(wǎng)關(guān)BL110實(shí)現(xiàn)西門子S7-300 PLC接入Modbus TCP Server云平臺(tái)

    雙擊WAN 工業(yè)智能網(wǎng)關(guān)BL110 西門子S7-300 PLC接入Modbus TCP Server云平臺(tái)配置 添加LAN口設(shè)備S7-300 右擊“LAN”,選擇添加 ,彈出LAN
    的頭像 發(fā)表于 10-27 17:17 ?1036次閱讀

    S7-300/400集成PN口 MODBUS TCP通訊(TIA)

    下面以S7-300單站系統(tǒng)及Modbus Slave軟件為例,詳細(xì)介紹如何將S7-300單站系統(tǒng)CPU的集成PN口配置為Client,Modbus Slave作為Server進(jìn)行
    的頭像 發(fā)表于 03-08 11:24 ?7540次閱讀

    S7-300/400集成PN口MODBUS TCP通訊(STEP7)

    該功能塊庫(kù)可以用于S7-300/400單站系統(tǒng)或ET200S帶CPU的接口模塊通過CPU的集成PN口進(jìn)行ModbusTCP通訊
    的頭像 發(fā)表于 05-29 14:23 ?5919次閱讀
    <b class='flag-5'>S7-300</b>/<b class='flag-5'>400</b>集成PN口<b class='flag-5'>MODBUS</b> <b class='flag-5'>TCP</b><b class='flag-5'>通訊</b>(STEP<b class='flag-5'>7</b>)

    天拓分享:西門子plc S7-300/400系列的PLC通訊

    今天看一下西門子plc S7-300/400系列的PLC通訊。西門子plc?S7-400s7-300之間進(jìn)行以太網(wǎng)通信的時(shí)候,
    的頭像 發(fā)表于 08-03 16:35 ?4271次閱讀
    天拓分享:西門子plc <b class='flag-5'>S7-300</b>/<b class='flag-5'>400</b>系列的PLC<b class='flag-5'>通訊</b>

    西門子S7-300S7-400之間的以太網(wǎng)通訊方法和步驟

    隨著工業(yè)自動(dòng)化的不斷發(fā)展,以太網(wǎng)通訊在工業(yè)控制領(lǐng)域的應(yīng)用越來(lái)越廣泛。西門子的S7系列PLC就是其中的一個(gè)典型代表。本文將詳細(xì)介紹S7-300S7-400之間的以太網(wǎng)
    的頭像 發(fā)表于 08-24 14:37 ?6922次閱讀

    淺談S7-300 CPU集成PN口配置的Modbus TCP通訊技術(shù)

    S7-300單站系統(tǒng)及Modbus Slave軟件為例,詳細(xì)介紹如何將S7-300單站系統(tǒng)CPU的集成PN口配置為Client,Modbus Slave作為Server進(jìn)行
    發(fā)表于 10-17 15:36 ?3487次閱讀
    淺談<b class='flag-5'>S7-300</b> CPU集成PN口配置的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>通訊</b>技術(shù)
    棋牌百家乐有稳赚的方法吗| 致胜百家乐的玩法技巧和规则 | 大发888开户送58| 百家乐开闲几率| 赌王百家乐官网的玩法技巧和规则| 百家乐官网投注双赢技巧| 大发888扑克场| 赌场百家乐的玩法技巧和规则 | 百家乐平注秘籍| 24山安葬择日吉凶| 百家乐官网局部| 百家乐官网的破解方法| 利来国际注册| 全讯网一码353788| 百家乐最佳注码法| 百家乐靠什么赢| 皇冠百家乐官网的玩法技巧和规则| 上海玩百家乐官网算不算违法| 网络博彩网| 六合彩号码| 大发888 赌场娱乐网规则| 威尼斯人娱乐城好吗| 游戏机百家乐的技巧| 娱乐城百家乐论坛| 乐宝百家乐官网的玩法技巧和规则| 百家乐官网直杀| 伟易博百家乐官网现金网| 澄迈县| 瑞丰国际娱乐| 大发888娱乐城 34| 大发888博彩论坛贴吧| 澳门百家乐网40125| 百家乐博娱乐平台| 百家乐赢钱公式冯耕| 属鼠做生意办公桌摆貔貅好不好 | 上市百家乐.评论| 金沙百家乐现金网| 2402 房号 风水| 神娱乐百家乐官网的玩法技巧和规则| 百家乐官网美国玩法| 评测百家乐官网博彩网站|