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

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

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

ModbusTCP PN-CPU V2.6塊庫使用說明

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 作者:機器人及PLC自動化 ? 2022-09-08 11:37 ? 次閱讀

1.“ModbusTCP PN-CPU V2.6”塊庫使用說明

1)該功能塊庫可以用于S7-300/400單站系統(tǒng)或ET200S帶CPU的接口模塊通過CPU的集成PN口進行ModbusTCP通訊。

2)由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對于CPU的集成PN口來說使通過Open IE(開放式以太網(wǎng)通訊)的方式來建立TCP連接,因此需要調(diào)用SIMATIC S7標準功能塊,包括FB63(TSEND)、FB64(TRCV)、FB65(TCON)、FB66(TDISCON)完成TCP的連接管理和數(shù)據(jù)通訊。

需要注意的是對于用于Modbus TCP的功能塊FB63/64/65/66有一定的版本要求如下:

FB63(TSEND) V2.1或更高

FB64(TRCV) V2.2或更高

FB65(TCON) V2.4或更高

FB66(TDISCON) V2.1或更高

3)通過S7-CPU的PROFINET接口進行Modbus TCP通信時,需要使用通信塊FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND"和FB64 "TRCV",要進行Modbus TCP通信,必須在數(shù)據(jù)塊中為每個連接指定相應(yīng)的參數(shù),因此通過Modbus TCP Wizard向?qū)к浖?,可以非常便捷地指定各連接的參數(shù),通過Modbus TCP Wizard,只需指定各連接類型所需的相應(yīng)參數(shù),之后,該向?qū)羞B接描述的所有參數(shù)的DB導(dǎo)入到STEP 7項目中,向?qū)У陌惭b界面如下圖1所示,另外通過軟件包安裝集成到Step7后也有參數(shù)DB,具體可以根據(jù)實際的項目情況來進行調(diào)整,詳細地內(nèi)容將在下面的配置章節(jié)中詳細描述。

4e0c3898-247b-11ed-ba43-dac502259ad0.png

圖1 Modbus TCP Wizard起始界面

當將軟件選項包安裝完集成到Step7時,可以在Step7安裝文件的相應(yīng)目錄中找到塊庫、例程、英文手冊,如下圖2~4所示,在實際的項目調(diào)試過程中由于例子程序的各項功能比較完善,因此可以直接使用例子程序根據(jù)項目的實際情況修改相應(yīng)的參數(shù)即可,可以節(jié)省大量的參數(shù)設(shè)置時間,以下主要描述了使用軟件選項包” ModbusTCP PN-CPU V2.6"配置S7-300/400站基于CPU集成PN口進行Modbus TCP通訊的詳細配置和編程步驟。

4e443900-247b-11ed-ba43-dac502259ad0.png

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

4e5cec0c-247b-11ed-ba43-dac502259ad0.png

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

4e7f9b08-247b-11ed-ba43-dac502259ad0.png

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

2. 配置S7-400單站系統(tǒng)通過CPU集成PN口作為Server進行Modbus TCP通訊

下面以S7-400單站系統(tǒng)及Modscan32軟件為例,詳細介紹如何將S7-400單站系統(tǒng)通過CPU集成PN口配置為Server,Modscan32為Client進行Modbus TCP通訊,下圖5為服務(wù)器功能塊庫的程序結(jié)構(gòu)及各功能塊完成的功能:

4ea334f0-247b-11ed-ba43-dac502259ad0.png

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

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

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

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

名稱 數(shù)量 訂貨號
S7-400電源模塊PS 407 10A 1 6ES7407-0KA01-0AA0
S7-400 CPU414-3PN/DP 1 6ES7414-3EM05-0AB0(V5.2)
S7-400機架 1 6ES7400-1JA00-0AA0
網(wǎng)線 若干
筆記本電腦 1













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

所用到軟件如下表:

名稱 訂貨號
STEP7 V5.5組態(tài)編程軟件英文版
“ ModbusTCP PN-CPU V2.6”軟件選項包 2XV9450-1MB02
Modscan32 V7.0







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

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

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

4ec8af78-247b-11ed-ba43-dac502259ad0.png

圖6新建S7-400 Station

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

4ef477de-247b-11ed-ba43-dac502259ad0.png

圖7硬件組態(tài)并設(shè)置PN接口的IP地址

硬件組態(tài)完成后,編譯保存,并將例程站點“SIMATIC 400(Server)”中的程序(System data不需要拷貝)拷貝到該項目中。

由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對于CPU的集成PN口來說須通過Open IE(開放式以太網(wǎng)通訊)的方式來建立TCP連接,通過S7-CPU的PROFINET接口進行Modbus TCP通信時,需要使用通信塊FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND"和FB64 "TRCV",要進行Modbus TCP通信,必須在數(shù)據(jù)塊中為每個連接指定相應(yīng)的參數(shù),相應(yīng)得參數(shù)在程序中主要由DB2“MODBUS_PARAM“來完成初始化,其中各參數(shù)的含義如下圖8、9所示:

4f2bc1ee-247b-11ed-ba43-dac502259ad0.png

圖8 DB2“MODBUS_PARAM“的TCP連接參數(shù)設(shè)置部分

關(guān)于DB2“MODBUS_PARAM”的TCP連接參數(shù)含義如下表3所示:

類型 參數(shù) 含義
OPEN IE
通訊參數(shù)
block_length 固定值W#16#40
Id 連接ID,用于FB63/64/65/66
connection_type 取決于CPU類型,用于FB65(TCON)
TCP(兼容模式): CPU315、317<= FWV2.3????????????????W#16#01;
TCP:CPU315,317>= FW V2.4、IM151-8PN/DP CPU、CPU314C、CPU319、CPU412、CPU414與CPU416
W#16#11
active_est 主動或被動連接:
S7作Client時為主動TRUE
S7作Server時為被動FALSE
local_device_id 取決于CPU類型:
IM151-8PN/DPB#16#1
CPU314C、315、317B#16#2
CPU319B#16#3
CPU412、414、416B#16#5
local_tsap_id_len local_device_id的長度:
主動連接時W#16#0
被動連接時W#16#2
rem_subnet_id_len 未使用
rem_staddr_len 參數(shù)rem_staddr的長度:
未具體定義連接B#16#0
有具體連接B#16#4
rem_tsap_id_len rem_tsap_id的長度:
主動連接時W#16#2
被動連接時W#16#0
next_staddr_len 通訊接口類型選擇:
通過外部CP模塊:非0的其它值
通過CPU的集成PN口:W#16#0
local_tsap_id 本地連接TSAP號,與參數(shù)connection_type有關(guān):
1)connection_type=B#16#01時
local_tsap_id[1]本地連接端口號的低字節(jié)[16進制]
local_tsap_id[2]本地連接端口號的高字節(jié)[16進制]
local_tsap_id[3-16] B#16#00
2)connection_type=B#16#11時
local_tsap_id[1]本地連接端口號的高字節(jié)[16進制]
local_tsap_id[2]本地連接端口號的低字節(jié)[16進制]
local_tsap_id[3-16] B#16#00
rem_subnet_id 未使用
rem_staddr 通信伙伴的IP地址,與參數(shù)connection_type有關(guān),以192.168.0.1為例:
1)connection_type=B#16#01時
rem_staddr[1]= B#16#01(1),
rem_staddr[2]= B#16#00(0)
rem_staddr[3]= B#16#A8(168)
rem_staddr[4]= B#16#C0(192)
rem_staddr[5-6]=B#16#00(為IPV6預(yù)留)
2)connection_type=B#16#11時
rem_staddr[1]= B#16#C0(192)
rem_staddr[2]= B#16#A8(168)
rem_staddr[3]= B#16#00(0)
rem_staddr[4]= B#16#01(1)
rem_staddr[5-6]=B#16#00(為IPV6預(yù)留)
rem_tsap_id 遠程連接TSAP號,與參數(shù)connection_type有關(guān):
1)connection_type=B#16#01時
local_tsap_id[1]本地連接端口號的低字節(jié)[16進制]
local_tsap_id[2]本地連接端口號的高字節(jié)[16進制]
local_tsap_id[3-16]B#16#00
2)connection_type=B#16#11時
local_tsap_id[1]本地連接端口號的高字節(jié)[16進制]
local_tsap_id[2]本地連接端口號的低字節(jié)[16進制]
local_tsap_id[3-16]B#16#00
next_staddr CP的機架號和槽號,當使用CPU的PN口時為B#16#00















































































表3 DB2“MODBUS_PARAM”的TCP連接參數(shù)含義

4f66da04-247b-11ed-ba43-dac502259ad0.png

圖9 DB2“MODBUS_PARAM”的Modbus參數(shù)設(shè)置部分

2.3 通訊測試

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

4fa43b6a-247b-11ed-ba43-dac502259ad0.png

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

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

4fc07eb0-247b-11ed-ba43-dac502259ad0.png

圖10 FB102“MODBUSPN”的管腳參數(shù)定義

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

打開Modscan32軟件,在“Connection--->connect”中打開連接屬性對話框,連接接口選擇“Remote TCP/IP Server”,IP Address分別填入CPU的IP地址192.168.70.2,Service為遠程服務(wù)器的端口502,在協(xié)議的選擇對話框中可以定義傳輸模式、通訊超時響應(yīng)時間,報文發(fā)送間隔及允許寫多個保持寄存器等,這里分別保持缺省設(shè)置即可,如下圖11所示:

4ff300e2-247b-11ed-ba43-dac502259ad0.png

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

下載硬件組態(tài)及程序到CPU中,將DB2“MODBUS_PARAM”的參數(shù)“server_client”使能為1,在Modscan32的“Set up->Data Definition”中設(shè)置數(shù)據(jù)掃描周期、寄存器連接類型、起始地址、長度等,如下圖12所示:

501072d0-247b-11ed-ba43-dac502259ad0.png

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

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

5046222c-247b-11ed-ba43-dac502259ad0.png

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

516ec30c-247b-11ed-ba43-dac502259ad0.png

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

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

51a5368a-247b-11ed-ba43-dac502259ad0.png

圖15通訊連接建立

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

下面以S7-400單站系統(tǒng)及ModSim32軟件為例,詳細介紹如何將S7-400單站系統(tǒng)CPU的集成PN口配置為Client,ModSim32為Server進行Modbus TCP通訊,由于客戶端和服務(wù)器模式均使用相同的功能塊,因此客戶端功能塊庫的程序結(jié)構(gòu)及各功能塊完成的功能可以參考圖5。

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

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

名稱 數(shù)量 訂貨號
S7-400電源模塊PS 407 10A 1 6ES7407-0KA01-0AA0
S7-400 CPU414-3PN/DP 1 6ES7414-3EM05-0AB0(V5.2)
S7-400機架 1 6ES7400-1JA00-0AA0
網(wǎng)線 若干
筆記本電腦 1

表5客戶端硬件清單

所用到軟件如下表:

名稱 訂貨號
STEP7 V5.5組態(tài)編程軟件英文版
“ ModbusTCP PN-CPU V2.6”軟件選項包 2XV9450-1MB02
ModSim32免授權(quán)版本 可從網(wǎng)上免費獲取

表6:客戶端軟件清單

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

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

51ce8d00-247b-11ed-ba43-dac502259ad0.png


圖16新建S7-400 Station

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

51fbb672-247b-11ed-ba43-dac502259ad0.png

圖17硬件組態(tài)并設(shè)置CPU的IP地址

由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對于CPU的集成PN口來說須通過Open IE(開放式以太網(wǎng)通訊)的方式來建立TCP連接,通過S7-CPU的PROFINET接口進行Modbus TCP通信時,需要使用通信塊FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND"和FB64 "TRCV",要進行Modbus TCP通信,必須在數(shù)據(jù)塊中為每個連接指定相應(yīng)的參數(shù),相應(yīng)得參數(shù)在程序中主要由DB2“MODBUS_PARAM”來完成初始化,關(guān)于DB2“MODBUS_PARAM”各參數(shù)的含義請參見2.2章節(jié)中的圖8、9說明。

硬件組態(tài)完成后,編譯保存,并將例程站點“SIMATIC 400(Client)”中的程序(System data不需要拷貝)拷貝到該項目中。打開DB2“MODBUS_PARAM”并切換到數(shù)據(jù)視圖,修改需要訪問的Modbus TCP server的IP地址和端口號,本例中作為服務(wù)器的電腦IP為192.168.70.245,端口號為502;設(shè)置方式如下圖18所示:

52118768-247b-11ed-ba43-dac502259ad0.png

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

3.3通訊測

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

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

523a2f06-247b-11ed-ba43-dac502259ad0.png

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

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

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

52569466-247b-11ed-ba43-dac502259ad0.png

圖20 ModSim32中設(shè)置端口號

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

527aa19e-247b-11ed-ba43-dac502259ad0.png

圖21 ModSim32中Modbus數(shù)據(jù)參數(shù)定義

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

在Step7的項目程序中新建一個變量監(jiān)控表,插入需要監(jiān)控的參數(shù)和數(shù)據(jù)區(qū)變量,可以看到ModSim32軟件與CPU414-3PN/DP的數(shù)據(jù)通訊已經(jīng)建立起來了,雙方可以進行正常的保持寄存器數(shù)據(jù)讀寫操作(讀寫權(quán)限由參數(shù)"WRITE_ READ"決定),如下圖22所示:

529f0a98-247b-11ed-ba43-dac502259ad0.png

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

4.“ModbusTCP PN-CPU V2.6” 軟件包通訊使用總結(jié)及相關(guān)注意事項

由于是通過PC測試軟件模擬第三方設(shè)備與SIMATIC CPU的集成PN口進行Modbus TCP通訊,因此在實際的第三方設(shè)備與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è)備的數(shù)據(jù)區(qū)與SIMATIC S7的數(shù)據(jù)DB塊的地址對應(yīng)關(guān)系可以先按照第三方的數(shù)據(jù)區(qū)域Modbus地址的偏移關(guān)系之后計算相應(yīng)的偏移量。

4)建議使用項目中的樣例程序,只須修改連接ID,定義通訊雙方的IP地址、端口號及相應(yīng)的數(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é)議并沒有對此進行約束和限制。

7)如果使用SIMATIC S7作為Modbus服務(wù)器,那么一些CPU的可用端口號會受到限制,以下端口號可用于本地端口,如下圖23所示:

52d014a8-247b-11ed-ba43-dac502259ad0.png

圖23 SIMATIC作為Modbus服務(wù)器的端口號使用限制

詳細情況可參考以下FAQ連接:哪些通信口可以進行 Modbus/TCP 通訊,作為 Modbus 服務(wù)器的 SIMATIC S7 CPU 可以與多少個 Modbus 客戶端通信?

5 “ModbusTCP PN-CPU V2.6” 軟件包授權(quán)

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

52fc1d28-247b-11ed-ba43-dac502259ad0.png

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

5312cc08-247b-11ed-ba43-dac502259ad0.png

圖25Modbus TCP功能塊報錯A090

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

5.1 讀取IDENT_CODE

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

2、打開MODBUSPN(FB102)的背景塊DB102,確認IDENT_CODE的偏移地址為54;如圖26所示:

53396e6c-247b-11ed-ba43-dac502259ad0.png

圖26確認IDENT_CODE的偏移地址

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

536b94d2-247b-11ed-ba43-dac502259ad0.png

圖27確認IDENT_CODE

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

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

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

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

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

1、通過西門子技術(shù)支持網(wǎng)站申請,

53993b58-247b-11ed-ba43-dac502259ad0.png

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

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

53c75092-247b-11ed-ba43-dac502259ad0.png

圖29步驟1

53f999da-247b-11ed-ba43-dac502259ad0.png

圖30步驟2

541d591a-247b-11ed-ba43-dac502259ad0.png

圖31步驟3

5450cff2-247b-11ed-ba43-dac502259ad0.png

圖32步驟4

547379a8-247b-11ed-ba43-dac502259ad0.png

圖33步驟5

5.4 使用注冊碼REG_KEY

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

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

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

5498205a-247b-11ed-ba43-dac502259ad0.png

圖34輸入注冊碼

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

54b744d0-247b-11ed-ba43-dac502259ad0.png

圖35注冊碼激活成功

6. CPU集成PN口進行Modbus TCP通訊FB輸出常見故障代碼及處理

STATUS(Hex) 故障原因 處理措施
參數(shù)STATUS_MODBUS代碼含義
A001 數(shù)據(jù)塊DB(MODBUS_PARAM)長度過短 修改DB長度
A002 參數(shù)END_x小于Start_x 修改參數(shù)END_x大于Start_x
A003 Modbus地址映射的DB塊的數(shù)據(jù)區(qū)長度太短,最低長度:
-寄存器:
(START_ADDRESS – start_x + LENGTH) * 2
-位
(START_ADDRESS – start_x + LENGTH) / 8
其他可能的原因:
·參數(shù)初始化錯誤(CPU為Client時)
·客戶端請求報文時錯誤的地址區(qū)域(CPU為Server時)
擴展DB區(qū)域
當CPU為Client時:
修改參數(shù)START-ADDRESS或者LENGTH
當CPU為Server時:
修改客戶端的請求
A004 僅在CP為Client時才有此故障:
參數(shù)DATA_TYPE及WRITE_READ設(shè)置不匹配,不可能對輸入寄存器或離散輸入進行寫操作
修改此兩個參數(shù)
A005 CP為Client時:
參數(shù)LENGTH設(shè)置無效
CP為Server時:
Client請求的寄存器號無效,合法的數(shù)據(jù)類型范圍如下:
讀線圈/離散輸入: 1 to 2000
寫線圈: 1 to 1968
讀寄存器: 1 to 125
寫保持寄存器: 1 to 123
CPU為Client時:
修改參數(shù)LENGTH
CPU為Server時:
修改Client請求的寄存器地址
A006 CP為客戶端時:
數(shù)據(jù)區(qū)1-8中對應(yīng)的Modbus地址范圍(DATA_TYPE,
START_ADDRESS和LENGTH
)不存在
CP為服務(wù)器時:
客戶端請求的報文不正確
CPU為Client時:
修改參數(shù)DATA_TYPE,START-ADDRESS或者LENGTH
CPU為Server時:
修改Client請求或修改參數(shù)data_type_x
A007 CPU為Client時:
參數(shù)RECV_TIME或CONN_TIME時間設(shè)置無效,RECV_TIME最少20ms, CONN_
TIME為100ms
修改此兩參數(shù)
A009 僅在CPU為Client時發(fā)生,標示符TI與發(fā)送方不一致,連接中斷 修正通訊伙伴的報文
A00A CPU為Client時:
接收參數(shù)UNIT與發(fā)送的不一致
A00B CPU為Client時:
接收與發(fā)送功能碼不一致
CPU為Server時:
無效的功能碼被接收
CPU為Client時:
檢查通訊伙伴的數(shù)據(jù)報文格式
CPU為Server時:
注意FB MODBUSPN僅支持功能碼FC01,02,03,04,05,06、15,16
A00C 接收到的字節(jié)長度與寄存器地址+不匹配,連接中斷 檢查通訊伙伴的數(shù)據(jù)報文格式
A00D 僅在CPU為Client時發(fā)生:
響應(yīng)的MODBUS寄存器地址與請求的不一致
A00E MODBUS報文報頭的長度與寄存器地址不匹配,F(xiàn)B將忽略
A00F 非0的協(xié)議標示符被接收,通訊中斷
A010 參數(shù)DB1-DB8中有重復(fù)使用的DB塊 修改為單獨的DB
A011 參數(shù)DATA_TYPE設(shè)置無效(范圍為1-4) 修改該參數(shù)
A012 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_2設(shè)置重疊 統(tǒng)一類型的寄存器地址不能有疊加情況
A013 數(shù)據(jù)區(qū)參數(shù)data_type_1和data_type_3設(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 當參數(shù)data_type_x設(shè)置不為0時,db_x被賦值0 DB塊號不能為0
A01A Modbus報頭中錯誤的長度(1-253字節(jié)有效) 檢查通訊伙伴的數(shù)據(jù)報文格式
A01F FB MODBUSPN處于無效的連接狀態(tài) 聯(lián)系產(chǎn)品支持
A023 數(shù)據(jù)區(qū)參數(shù)data_type_2和data_type_3設(shè)置重疊 統(tǒng)一類型的寄存器地址不能有疊加情況
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è)置重疊
A078 數(shù)據(jù)區(qū)參數(shù)data_type_7和data_type_8設(shè)置重疊
A079 參數(shù)ID在DB(MODBUS_PARAM)中未定義 修改參數(shù)ID
A07A 無效的參數(shù)ID(ID值范圍為1-4095)
A07B 參數(shù)ID在DB(MODBUS_PARAM)中存在2次 修改DB塊DB(MODBUS_PARAM)
A07C 參數(shù)data_type_x無效(范圍1-4)
A07D 參數(shù)data_type_1未定義,data_type_1為缺省的使用數(shù)據(jù)區(qū),需要定義
A07E 參數(shù)DB_x與DB(MODBUS_PARAM)或FB102的背景DB號沖突
A07F FB102接口參數(shù)PARAM_DB錯誤,非通訊參數(shù)DB 指定正確的DB給接口參數(shù)PARAM_DB
A080 數(shù)據(jù)塊DB(MODBUS_PARAM)更改但沒有執(zhí)行CPU重起 數(shù)據(jù)塊DB(MODBUS_PARAM)需要初始化,當更改時需要CPU重起
A081 CP為Client且使用FC05功能碼時:
接收的線圈狀態(tài)與發(fā)送不一致
通過抓包工具來分析和修正通訊伙伴的報文
A082 CP為Client且使用FC06功能碼時:
接收的寄存器值與發(fā)送不一致
通過抓包工具來分析和修正通訊伙伴的報文
A083 僅在CP為Client時:在上一個請求還沒有處理完成時又發(fā)送新的請求 等待DONE =TRUE或ERROR = TRUE后再發(fā)送新請求
A084 授權(quán)碼”IDENT_CODE”不能識別 聯(lián)系產(chǎn)品支持
A085 在授權(quán)期間由于無效的寫權(quán)限導(dǎo)致發(fā)生錯誤 對于授權(quán)DB,確認參數(shù)REG_KEY的結(jié)構(gòu)是否正確
A090 功能塊未授權(quán),此為一狀態(tài)信息,參數(shù)ERROR并不會置1,功能塊在未授權(quán)情況仍然可以運行而不影響通訊 針對CPU讀出預(yù)授權(quán)解碼,之后按照授權(quán)操作向IT4industry.部門索取授權(quán)碼
A091 收到異常響應(yīng)碼1(僅在Client模式),連接將終止和重新建立 通訊伙伴不支持請求的報文
A092 收到異常響應(yīng)碼2(僅在Client模式),無效的或不存在的地址請求 確認參數(shù)LENGTH或START_ADDRESS
是否正確
A093 收到異常響應(yīng)碼3(僅在Client模式) 通訊伙伴無法執(zhí)行報文接收(例如請求長度不支持等)
A094 收到異常響應(yīng)碼4(僅在Client模式) 通訊伙伴無法執(zhí)行報文接收
A095 收到未知的異常響應(yīng)碼(僅在Client模式) 通過抓包工具來分析和修正通訊伙伴的報文
參數(shù)STATUS_CONN代碼含義
A100 CONN_TIME與RECV_TIME時間超出,RECV_TIME超出時連接終止 檢查連接參數(shù)
A101 參數(shù)TDISCON的監(jiān)控時間超出 聯(lián)系產(chǎn)品供應(yīng)商
SFC6/20故障代碼
7xxx 請參考SIMATIC的在線幫助 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關(guān)幫助信息
8xxx 請參考SIMATIC的在線幫助 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關(guān)幫助信息
FB63,64,65,66故障代碼
7xxx 請參考SIMATIC的在線幫助 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關(guān)幫助信息
8xxx 請參考SIMATIC的在線幫助 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關(guān)幫助信息
SFC24故障代碼
80A1 DB=0或超出了CPU允許的范圍 選擇有效的DB
80B1 DB塊在CPUU中不存在 DB_x參數(shù)中的DB塊必須創(chuàng)建并下載到CPU中
80B2 DB塊被創(chuàng)建為“Unlinked”類型 DB塊不能創(chuàng)建為“Unlinked”類型




審核編輯:劉清

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

    關(guān)注

    28

    文章

    1757

    瀏覽量

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

    關(guān)注

    8

    文章

    1347

    瀏覽量

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

    關(guān)注

    8

    文章

    225

    瀏覽量

    34206

原文標題:S7-300/400集成PN口 MODBUS TCP 通訊(STEP7)

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

收藏 人收藏

    評論

    相關(guān)推薦

    ADL200單相電子式電能表安裝使用說明V1.7

    電子發(fā)燒友網(wǎng)站提供《ADL200單相電子式電能表安裝使用說明V1.7.pdf》資料免費下載
    發(fā)表于 11-06 17:17 ?0次下載

    MHMF082A1V4-MINAS A6N系列通用型使用說明書 (綜合篇) 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF082A1V4-MINAS A6N系列通用型使用說明書 (綜合篇)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF082A1V
    發(fā)表于 10-30 19:11
    MHMF082A1<b class='flag-5'>V</b>4-MINAS A6N系列通用型<b class='flag-5'>使用說明</b>書 (綜合篇) 松下

    MHMF044A1V9M-MINAS A6系列通用型使用說明書 (安全注意指南) 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF044A1V9M-MINAS A6系列通用型使用說明書 (安全注意指南)相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有
    發(fā)表于 10-22 19:11
    MHMF044A1<b class='flag-5'>V</b>9M-MINAS A6系列通用型<b class='flag-5'>使用說明</b>書 (安全注意指南) 松下

    PROFINET轉(zhuǎn)SSI協(xié)議模塊快速使用說明

    Profinet網(wǎng)關(guān)PROFINET轉(zhuǎn)SSI協(xié)議 PN4SSI模塊快速使用說明
    的頭像 發(fā)表于 10-17 16:13 ?237次閱讀
    PROFINET轉(zhuǎn)SSI協(xié)議模塊快速<b class='flag-5'>使用說明</b>

    SDRuno軟件使用說明 v1.22.002

    SDRuno軟件使用說明 v1.22.002
    發(fā)表于 10-14 11:44 ?1次下載

    [迷你主機]華碩PN系列現(xiàn)在有多少款產(chǎn)品?

    很明顯,PN60和61主打8代CPU,PN62則是10代CPU,所以60系是Intel系列。 從外觀上看PN系列看起來像一
    的頭像 發(fā)表于 08-13 18:28 ?821次閱讀
    [迷你主機]華碩<b class='flag-5'>PN</b>系列現(xiàn)在有多少款產(chǎn)品?

    ModbusTCP轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)化網(wǎng)關(guān)

    最近有些朋友問到ModbusTCP轉(zhuǎn)Profinet如何實現(xiàn)呢?其實有一個產(chǎn)品可以很輕松地解決這個問題,名為YC-TCP-PN,下面小編為廣大朋友們詳細敘述一下。 一,產(chǎn)品用途 北京遠創(chuàng)
    的頭像 發(fā)表于 07-21 10:18 ?289次閱讀
    <b class='flag-5'>ModbusTCP</b>轉(zhuǎn)Profinet協(xié)議轉(zhuǎn)化網(wǎng)關(guān)

    Profibus轉(zhuǎn)ModbusTCP網(wǎng)關(guān)模塊實現(xiàn)Profibus_DP向ModbusTCP轉(zhuǎn)換

    Profibus和ModbusTCP是工業(yè)通信協(xié)議,利用Profibus轉(zhuǎn)ModbusTCP網(wǎng)關(guān)模塊(XD-ETHPBM20)可實現(xiàn)協(xié)議轉(zhuǎn)換,優(yōu)化能源管理,提升樓宇智能化水平。本文介紹如何利用
    的頭像 發(fā)表于 07-09 16:21 ?286次閱讀
    Profibus轉(zhuǎn)<b class='flag-5'>ModbusTCP</b>網(wǎng)關(guān)模塊實現(xiàn)Profibus_DP向<b class='flag-5'>ModbusTCP</b>轉(zhuǎn)換

    IDF v4.4.2 ADF v2.4升級IDF v5.1 ADF v2.6出現(xiàn)錯誤是怎么回事?

    我今天看到新版本發(fā)布了,v5.1的idf可以搭配v2.6的adf了就準備升下級,安裝了離線的v5.1版本的idf。從github同步了v2.6的adf。編譯報錯。日志如下
    發(fā)表于 06-28 08:02

    FSP啟動文件說明

    FSP啟動文件說明
    的頭像 發(fā)表于 06-04 08:06 ?363次閱讀
    FSP<b class='flag-5'>庫</b>啟動文件<b class='flag-5'>說明</b>

    Diamond開發(fā)工具使用說明

    Diamond開發(fā)工具使用說明
    發(fā)表于 05-23 09:14 ?0次下載

    TLT507-Ubuntu系統(tǒng)使用說明

    TLT507-Ubuntu系統(tǒng)使用說明
    的頭像 發(fā)表于 01-26 09:58 ?932次閱讀
    TLT507-Ubuntu系統(tǒng)<b class='flag-5'>使用說明</b>

    【實用篇】ModbusTCP協(xié)議詳解

    ModBusTcp與串行鏈路Modbus的數(shù)據(jù)域是一致的,具體數(shù)據(jù)域可以參考串行Modbus。這里給出幾個ModbusTcp的鏈路解析說明,輔助新人分析報文。
    的頭像 發(fā)表于 01-14 11:13 ?2657次閱讀
    【實用篇】<b class='flag-5'>ModbusTCP</b>協(xié)議詳解

    ModbusTCP轉(zhuǎn)CanOpen網(wǎng)關(guān)助力工控行業(yè)

    在工業(yè)自動化領(lǐng)域,協(xié)議轉(zhuǎn)換網(wǎng)關(guān)一直扮演著至關(guān)重要的角色。其中,modbustcp轉(zhuǎn)canopen網(wǎng)關(guān)以其獨特的優(yōu)勢,成為不同設(shè)備間通信的橋梁。這款網(wǎng)關(guān)將modbus TCP協(xié)議的設(shè)備與CANopen
    發(fā)表于 12-11 10:53

    ph檢測模塊使用說明

    電子發(fā)燒友網(wǎng)站提供《ph檢測模塊使用說明.pdf》資料免費下載
    發(fā)表于 11-17 10:04 ?0次下載
    ph檢測模塊<b class='flag-5'>使用說明</b>