湖南6ES7317-7TK10-0AB0西門子銷售中心

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

長沙玥勵(lì)自動(dòng)化設(shè)備有限公司

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

產(chǎn)品詳情

 

湖南   西門子   6ES7317-7TK10-0AB0   銷售中心   

 

 

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

下面章節(jié)將介紹如何使用軟件選項(xiàng)包ModbusTCP PN-CPU V2.6 的功能塊庫配置S7-300/400單站系統(tǒng)通過CPU的集成PN口與第三方模擬軟件進(jìn)行Modbus/TCP進(jìn)行通訊的詳細(xì)步驟

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

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

2) 由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對于CPU的集成PN口來說使通過Open IE(開放式以太網(wǎng)通訊)的方式來建立TCP連接, 因此需要調(diào)用SIMATIC S7標(biāo)準(zhǔn)功能塊,包括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 接口 進(jìn)行 Modbus TCP 通信時(shí),需要使用通信塊 FB65 "TCON"FB66 "TDISCON"、FB63 "TSEND"  FB64 "TRCV",要進(jìn)行Modbus TCP 通信,必須在數(shù)據(jù)塊中為每個(gè)連接指定相應(yīng)的參數(shù),因此通過 Modbus TCP Wizard向?qū)к浖?,可以非常便捷地指定各連接的參數(shù),通過 Modbus TCP Wizard ,只需指定各連接類型所需的相應(yīng)參數(shù),之后,該向?qū)羞B接描述的所有參數(shù)的 DB 導(dǎo) 入到 STEP 7 項(xiàng)目中,向?qū)У陌惭b界面如下圖1所示,另外通過軟件包安裝集成到Step7后也有參數(shù)DB,具體可以根據(jù)實(shí)際的項(xiàng)目情況來進(jìn)行調(diào)整,詳細(xì)地內(nèi)容將在下面的配置章節(jié)中詳細(xì)描述。

Modbus_Screen_V13_en

1 Modbus TCP Wizard起始界面

Modbus TCP Wizard的相關(guān)信息及下載可以參考以下連接:關(guān)于創(chuàng)建 Modbus TCP 通信所需連接數(shù)據(jù)的向?qū)?(Modbus TCP Wizard)

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

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

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

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

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

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

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

注:Modscan32軟件可以從網(wǎng)上免費(fèi)下載得到,本例中使用的版本為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 機(jī)架

1

6ES7400-1JA00-0AA0

網(wǎng)線

若干

 

筆記本電腦

1

 

 

 

 

 

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

所用到軟件如下表:

名稱

訂貨號

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

 

“ ModbusTCP PN-CPU V2.6 軟件選項(xiàng)包

2XV9450-1MB02

Modscan32 V7.0

 

 

 

 

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

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

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

6 新建S7-400 Station

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

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

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

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

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

關(guān)于DB2MODBUS_PARAMTCP連接參數(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、CPU314CCPU319、CPU412CPU414CPU416 

 W#16#11

active_est

主動(dòng)或被動(dòng)連接:

S7Client時(shí)為主動(dòng)    TRUE

S7Server時(shí)為被動(dòng)   FALSE

local_device_id

取決于CPU類型:

IM151-8PN/DP              B#16#1

CPU314C、315317   B#16#2

CPU319                         B#16#3

CPU412414、416      B#16#5

local_tsap_id_len

local_device_id的長度:

主動(dòng)連接時(shí)    W#16#0

被動(dòng)連接時(shí)    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的長度:

主動(dòng)連接時(shí)    W#16#2

被動(dòng)連接時(shí)    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時(shí)

local_tsap_id[1]   本地連接端口號的低字節(jié)[16進(jìn)制]

local_tsap_id[2]   本地連接端口號的高字節(jié)[16進(jìn)制]

local_tsap_id[3-16] B#16#00

2)connection_type= B#16#11時(shí)

local_tsap_id[1]   本地連接端口號的高字節(jié)[16進(jìn)制]

local_tsap_id[2]   本地連接端口號的低字節(jié)[16進(jìn)制]

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時(shí)

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時(shí)

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

遠(yuǎn)程連接TSAP,與參數(shù)connection_type有關(guān):

1)connection_type= B#16#01時(shí)

local_tsap_id[1]   本地連接端口號的低字節(jié)[16進(jìn)制]

local_tsap_id[2]   本地連接端口號的高字節(jié)[16進(jìn)制]

local_tsap_id[3-16] B#16#00

2)connection_type= B#16#11時(shí)

local_tsap_id[1]   本地連接端口號的高字節(jié)[16進(jìn)制]

local_tsap_id[2]   本地連接端口號的低字節(jié)[16進(jìn)制]

local_tsap_id[3-16] B#16#00

next_staddr

CP的機(jī)架號和槽號,當(dāng)使用CPUPN口時(shí)為 B#16#00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

2.3 通訊測試

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

  

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

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

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為遠(yuǎn)程服務(wù)器的端口502,在協(xié)議的選擇對話框中可以定義傳輸模式、通訊超時(shí)響應(yīng)時(shí)間,報(bào)文發(fā)送間隔及允許寫多個(gè)保持寄存器等,這里分別保持缺省設(shè)置即可,如下圖11所示:

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

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

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

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

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

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

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

15 通訊連接建立 

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

下面以S7-400單站系統(tǒng)及ModSim32軟件為例,詳細(xì)介紹如何將S7-400單站系統(tǒng)CPU的集成PN口配置為Client,ModSim32Server進(jìn)行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 機(jī)架

1

6ES7400-1JA00-0AA0

網(wǎng)線

若干

 

筆記本電腦

1

 

 

 

 

 

5 客戶端硬件清單

所用到軟件如下表:

名稱

訂貨號

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

 

“ ModbusTCP PN-CPU V2.6” 軟件選項(xiàng)包

2XV9450-1MB02

ModSim32 免授權(quán)版本

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

 

 

 

6:客戶端軟件清單

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

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

16 新建S7-400 Station

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

17 硬件組態(tài)并設(shè)置CPUIP地址

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

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

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

3.3通訊測

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2) 對于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塊的地址對應(yīng)關(guān)系可以先按照第三方的數(shù)據(jù)區(qū)域Modbus地址的偏移關(guān)系之后計(jì)算相應(yīng)的偏移量。

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

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

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

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

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

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

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

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

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

5.1 讀取IDENT_CODE

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

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

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

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

27 確認(rèn)IDENT_CODE

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

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

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

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

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

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

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

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

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

29 步驟1

30 步驟2

31 步驟3

32 步驟4

33 步驟5

5.4 使用注冊碼REG_KEY

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

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

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

34 輸入注冊碼

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

35 注冊碼激活成功 

6. CPU集成PN口進(jìn)行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ù)初始化錯(cuò)誤(CPUClient時(shí))

·客戶端請求報(bào)文時(shí)錯(cuò)誤的地址區(qū)域(CPUServer時(shí))

擴(kuò)展DB區(qū)域

當(dāng)CPUClient時(shí):

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

當(dāng)CPUServer時(shí):

修改客戶端的請求

A004

僅在CPClient時(shí)才有此故障:

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

修改此兩個(gè)參數(shù)

A005

CPClient時(shí):

參數(shù)LENGTH設(shè)置無效

CPServer時(shí):

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

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

寫線圈: 1 to 1968

讀寄存器: 1 to 125

寫保持寄存器: 1 to 123

CPUClient時(shí):

修改參數(shù)LENGTH

CPUServer時(shí):

修改Client請求的寄存器地址

A006

CP為客戶端時(shí):

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

START_ADDRESS LENGTH

)不存在

CP為服務(wù)器時(shí):

客戶端請求的報(bào)文不正確

CPUClient時(shí):

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

CPUServer時(shí):

修改Client 請求或修改參數(shù)data_type_x

A007

CPUClient時(shí):

參數(shù)RECV_TIMECONN_TIME時(shí)間設(shè)置無效,RECV_TIME最少20ms, CONN_

TIME100ms

修改此兩參數(shù)

A009

僅在CPUClient時(shí)發(fā)生,標(biāo)示符TI與發(fā)送方不一致,連接中斷

修正通訊伙伴的報(bào)文

A00A

CPUClient時(shí):

接收參數(shù)UNIT 與發(fā)送的不一致

A00B

CPUClient時(shí):

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

CPUServer時(shí):

無效的功能碼被接收

CPUClient時(shí):

檢查通訊伙伴的數(shù)據(jù)報(bào)文格式

CPUServer時(shí):

注意FB MODBUSPN僅支持功能碼FC01,0203,0405,0615,16

A00C

接收到的字節(jié)長度與寄存器地址+不匹配,連接中斷

檢查通訊伙伴的數(shù)據(jù)報(bào)文格式

 

A00D

僅在CPU Client 時(shí)發(fā)生:

響應(yīng)的MODBUS寄存器地址與請求的不一致

A00E

MODBUS報(bào)文報(bào)頭的長度與寄存器地址不匹配,FB將忽略

A00F

0的協(xié)議標(biāo)示符被接收,通訊中斷

A010

參數(shù)DB1-DB8中有重復(fù)使用的DB

修改為單獨(dú)的DB

A011

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

修改該參數(shù)

A012

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

 

統(tǒng)一類型的寄存器地址不能有疊加情況

A013

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

A014

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

A015

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

A016

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

A017

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

A018

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

A019

當(dāng)參數(shù)data_type_x設(shè)置不為0時(shí),db_x被賦值0

DB塊號不能為0

A01A

Modbus報(bào)頭中錯(cuò)誤的長度(1-253字節(jié)有效)

檢查通訊伙伴的數(shù)據(jù)報(bào)文格式

A01F

FB MODBUSPN處于無效的連接狀態(tài)

聯(lián)系產(chǎn)品支持

A023

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

 

統(tǒng)一類型的寄存器地址不能有疊加情況

 

A024

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

A025

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

A026

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

A027

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

A028

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

A034

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

A035

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

A036

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

A037

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

A038

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

A045

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

A046

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

A047

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

A048

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

A056

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

A057

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

A058

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

A067

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

A068

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

A078

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

A079

參數(shù)IDDB(MODBUS_PARAM)中未定義

修改參數(shù)ID

A07A

無效的參數(shù)ID(ID值范圍為1-4095)

A07B

參數(shù)IDDB(MODBUS_PARAM)中存在2

修改DBDB(MODBUS_PARAM)

A07C

參數(shù)data_type_x無效(范圍1-4)

A07D

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

A07E

參數(shù)DB_xDB(MODBUS_PARAM)FB102的背景DB號沖突

A07F

FB102接口參數(shù)PARAM_DB錯(cuò)誤,非通訊參數(shù)DB

指定正確的DB給接口參數(shù)PARAM_DB

A080

數(shù)據(jù)塊DB(MODBUS_PARAM)更改但沒有執(zhí)行CPU重起

數(shù)據(jù)塊DB(MODBUS_PARAM)需要初始化,當(dāng)更改時(shí)需要CPU重起

A081

CPClient且使用FC05功能碼時(shí):

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

通過抓包工具來分析和修正通訊伙伴的報(bào)文

A082

CPClient且使用FC06功能碼時(shí):

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

通過抓包工具來分析和修正通訊伙伴的報(bào)文

A083

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

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

A084

授權(quán)碼”IDENT_CODE”不能識別

聯(lián)系產(chǎn)品支持

A085

在授權(quán)期間由于無效的寫權(quán)限導(dǎo)致發(fā)生錯(cuò)誤

對于授權(quán)DB,確認(rèn)參數(shù)REG_KEY的結(jié)構(gòu)是否正確

A090

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

針對CPU讀出預(yù)授權(quán)解碼,之后按照授權(quán)操作向IT4industry.部門索取授權(quán)碼

A091

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

通訊伙伴不支持請求的報(bào)文

A092

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

確認(rèn)參數(shù)LENGTH START_ADDRESS

是否正確

A093

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

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

A094

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

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

A095

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

通過抓包工具來分析和修正通訊伙伴的報(bào)文

參數(shù)STATUS_CONN代碼含義

A100

CONN_TIMERECV_TIME時(shí)間超出,RECV_TIME超出時(shí)連接終止

檢查連接參數(shù)

A101

參數(shù)TDISCON的監(jiān)控時(shí)間超出

聯(lián)系產(chǎn)品供應(yīng)商

SFC6/20故障代碼

7xxx

請參考SIMATIC的在線幫助

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

8xxx

請參考SIMATIC的在線幫助

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

FB63,64,65,66故障代碼

7xxx

請參考SIMATIC的在線幫助

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

8xxx

請參考SIMATIC的在線幫助

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

SFC24故障代碼

80A1

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

選擇有效的DB

80B1

DB塊在CPUU中不存在

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

80B2

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

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

 

硬件列表

設(shè)備名稱

設(shè)備型號

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

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

圖1

組態(tài)和配置

1、打開軟件TIA PORTAL

圖2

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

2、用鼠標(biāo)點(diǎn)擊“添加新設(shè)備”,選擇SIMATIC S7-300->CPU->CPU 319-3PN/DP->6ES7 318-3EL00-0AB0。

圖3

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

圖4

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

圖5

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

圖6

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

圖7

編寫通信程序

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

圖8

圖9

2、進(jìn)入主程序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ù)設(shè)置見下表。

管腳

解釋描述

SF

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

LADDR

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

REQ

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

DB_NO

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

DBB_NO

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

LEN

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

R_TYP

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

R

取消通訊,本例中不用

DONE

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

ERROR

錯(cuò)誤位,為TRUE說明有錯(cuò)誤

STATUS

狀態(tài)字,標(biāo)識錯(cuò)誤代碼,查看Modbus Master手冊獲得相應(yīng)的說明

其它參數(shù)

本例中不用

 

CP341的接收功能塊P_RCV_RK 的參數(shù)設(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,只顯示一個(gè)掃描周期,即:只有在接收到數(shù)據(jù)的當(dāng)前周期,此值不為0。

EN_R

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

R

取消通訊,本例中不用。

NDR

接收完成位,接收完成并沒有錯(cuò)誤為TRUE,只顯示一個(gè)掃描周期。

ERROR

錯(cuò)誤位,為TRUE說明有錯(cuò)誤,只顯示一個(gè)掃描周期。

STATUS

狀態(tài)字,標(biāo)識錯(cuò)誤代碼,只顯示一個(gè)掃描周期,查看Modbus Master手冊獲得相應(yīng)的說明。

其它參數(shù)

本例中不用

 

圖11

圖12

設(shè)備連接

本文檔使用的CP341的接口是RS232C,因此需要通過標(biāo)準(zhǔn)的RS232C電纜來連接CP341和計(jì)算機(jī)的串口.

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

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

通信測試

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

1、雙擊ModSim32軟件圖標(biāo),新建項(xiàng)目,點(diǎn)擊Port1,進(jìn)入端口1做設(shè)置,本例計(jì)算機(jī)只有一個(gè)端口,所以就對端口1做設(shè)置,如果計(jì)算機(jī)有多個(gè)端口,要注意所選端口。

圖13

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

圖14

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

圖15

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

圖16

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

圖17

手冊下載

更詳細(xì)的資料請參看如下手冊:

 CP341使用手冊

 MODBUS RTU主站手冊

 

湖南   西門子   6ES7317-7TK10-0AB0

 

溫馨提示

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

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

您是不是在找