1.“ModbusTCP PN-CPU V2.6”塊庫使用說明
1)該功能塊庫可以用于S7-300/400單站系統或ET200S帶CPU的接口模塊通過CPU的集成PN口進行ModbusTCP通訊。
2)由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對于CPU的集成PN口來說使通過Open IE(開放式以太網通訊)的方式來建立TCP連接,因此需要調用SIMATIC S7標準功能塊,包括FB63(TSEND)、FB64(TRCV)、FB65(TCON)、FB66(TDISCON)完成TCP的連接管理和數據通訊。
需要注意的是對于用于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通信,必須在數據塊中為每個連接指定相應的參數,因此通過Modbus TCP Wizard向導軟件,可以非常便捷地指定各連接的參數,通過Modbus TCP Wizard,只需指定各連接類型所需的相應參數,之后,該向導將包含有連接描述的所有參數的DB導入到STEP 7項目中,向導的安裝界面如下圖1所示,另外通過軟件包安裝集成到Step7后也有參數DB,具體可以根據實際的項目情況來進行調整,詳細地內容將在下面的配置章節中詳細描述。
圖1 Modbus TCP Wizard起始界面
Modbus TCP Wizard的相關信息及下載可以參考以下連接:關于創建 Modbus TCP 通信所需連接數據的向導 (Modbus TCP Wizard)
當將軟件選項包安裝完集成到Step7時,可以在Step7安裝文件的相應目錄中找到塊庫、例程、英文手冊,如下圖2~4所示,在實際的項目調試過程中由于例子程序的各項功能比較完善,因此可以直接使用例子程序根據項目的實際情況修改相應的參數即可,可以節省大量的參數設置時間,以下主要描述了使用軟件選項包” ModbusTCP PN-CPU V2.6"配置S7-300/400站基于CPU集成PN口進行Modbus TCP通訊的詳細配置和編程步驟。
圖2塊庫、例程、英文手冊和軟件注冊的文件夾位置
圖3例程(注:當找不到例程時可以通過”Browse..”按鈕來進行查找)
圖4功能塊庫(注:當找不到塊庫時可以通過”Browse..”按鈕來進行查找)
2. 配置S7-400單站系統通過CPU集成PN口作為Server進行Modbus TCP通訊
下面以S7-400單站系統及Modscan32軟件為例,詳細介紹如何將S7-400單站系統通過CPU集成PN口配置為Server,Modscan32為Client進行Modbus TCP通訊,下圖5為服務器功能塊庫的程序結構及各功能塊完成的功能:
圖5服務器功能塊庫程序結構
注:Modscan32軟件可以從網上免費下載得到,本例中使用的版本為V7.0版,由于各版本的功能不盡相同,因此需要注意版本問題。
2.1例子中使用的硬件設備及軟件
本例中所用的硬件設備如下表:
名稱 | 數量 | 訂貨號 |
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 |
網線 | 若干 | |
筆記本電腦 | 1 |
表1服務器硬件清單
所用到軟件如下表:
名稱 | 訂貨號 |
STEP7 V5.5組態編程軟件英文版 | |
“ ModbusTCP PN-CPU V2.6”軟件選項包 | 2XV9450-1MB02 |
Modscan32 V7.0 |
表2服務器軟件清單
2.2 S7-400系統及Modscan32軟件組態
打開Step7軟件,新建一個工程項目文件,命名為“M_TCP_CPU_V26 (Server)”,在項目下插入一個S7-400站,如下圖6所示:
圖6新建S7-400 Station
雙擊插入的SIMATIC 400 Station的“Hardware”,打開硬件組態,在硬件組態界面下分別插入機架,電源PS407、CPU414-3PN/DP,本例中將CPU的PN口IP地址設為192.168.70.2,如下圖7所示:
圖7硬件組態并設置PN接口的IP地址
硬件組態完成后,編譯保存,并將例程站點“SIMATIC 400(Server)”中的程序(System data不需要拷貝)拷貝到該項目中。
由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對于CPU的集成PN口來說須通過Open IE(開放式以太網通訊)的方式來建立TCP連接,通過S7-CPU的PROFINET接口進行Modbus TCP通信時,需要使用通信塊FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND"和FB64 "TRCV",要進行Modbus TCP通信,必須在數據塊中為每個連接指定相應的參數,相應得參數在程序中主要由DB2“MODBUS_PARAM“來完成初始化,其中各參數的含義如下圖8、9所示:
圖8 DB2“MODBUS_PARAM“的TCP連接參數設置部分
關于DB2“MODBUS_PARAM”的TCP連接參數含義如下表3所示:
類型 | 參數 | 含義 |
OPEN IE 通訊參數 |
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 |
參數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號,與參數connection_type有關: 1)connection_type=B#16#01時 local_tsap_id[1]本地連接端口號的低字節[16進制] local_tsap_id[2]本地連接端口號的高字節[16進制] local_tsap_id[3-16] B#16#00 2)connection_type=B#16#11時 local_tsap_id[1]本地連接端口號的高字節[16進制] local_tsap_id[2]本地連接端口號的低字節[16進制] local_tsap_id[3-16] B#16#00 |
|
rem_subnet_id | 未使用 | |
rem_staddr |
通信伙伴的IP地址,與參數connection_type有關,以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預留) 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預留) |
|
rem_tsap_id |
遠程連接TSAP號,與參數connection_type有關: 1)connection_type=B#16#01時 local_tsap_id[1]本地連接端口號的低字節[16進制] local_tsap_id[2]本地連接端口號的高字節[16進制] local_tsap_id[3-16]B#16#00 2)connection_type=B#16#11時 local_tsap_id[1]本地連接端口號的高字節[16進制] local_tsap_id[2]本地連接端口號的低字節[16進制] local_tsap_id[3-16]B#16#00 |
|
next_staddr | CP的機架號和槽號,當使用CPU的PN口時為B#16#00 |
表3 DB2“MODBUS_PARAM”的TCP連接參數含義
圖9 DB2“MODBUS_PARAM”的Modbus參數設置部分
2.3 通訊測試
由于“ ModbusTCP PN-CPU V2.6”選項包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測試過程中類似,因此下面以FC03(讀寫保持寄存器)為例來說明通訊測試的整個過程,對于其他功能碼的測試將不再重復描述,對于Modbus的數據類型可參考下表4:
表4 Modbus數據類型
由于服務器主功能塊FB102“MODBUSPN”的參數需要初始化,因此分別在OB100及OB1中調用FB102,在OB100中調用FB102完成相關參數的初始化,FB102的管腳分布如下圖10所示:
圖10 FB102“MODBUSPN”的管腳參數定義
注意:在圖16中已經填寫的參數不需要初始化,在OB1調用賦值;而未填寫的參數需要初始化,在OB100中調用完成。
打開Modscan32軟件,在“Connection--->connect”中打開連接屬性對話框,連接接口選擇“Remote TCP/IP Server”,IP Address分別填入CPU的IP地址192.168.70.2,Service為遠程服務器的端口502,在協議的選擇對話框中可以定義傳輸模式、通訊超時響應時間,報文發送間隔及允許寫多個保持寄存器等,這里分別保持缺省設置即可,如下圖11所示:
圖11對應TCP通訊的Modscan32連接窗口
下載硬件組態及程序到CPU中,將DB2“MODBUS_PARAM”的參數“server_client”使能為1,在Modscan32的“Set up->Data Definition”中設置數據掃描周期、寄存器連接類型、起始地址、長度等,如下圖12所示:
圖12 Modscan32中Modbus數據參數定義
由于Modbus的內部地址編排時基于數據鏈路層和應用層有一定的映射關系,因此Modbus的地址與SIMATIC中的DB塊的地址時按照一定的地址映射關系來相對應,這樣造成了DB塊中有一定的地址偏移量,在本例中假設數據區的定義如下圖19所示,其DB偏移量、Modbus物理編址、應用層編址如下圖14所示:
圖13本例中的數據區定義
圖14 DB偏移量、Modbus物理編址、應用層編址對應關系
在Step7的項目程序中新建一個變量監控表,插入需要監控的參數和數據區變量,可以看到Modscan32軟件與CPU414-3PN/DP的數據通訊已經建立起來了,雙方可以進行正常的保持寄存器數據讀寫操作,如下圖15所示:
圖15通訊連接建立
3.配置S7-400單站系統通過CPU集成PN口作為Client進行Modbus TCP通訊
下面以S7-400單站系統及ModSim32軟件為例,詳細介紹如何將S7-400單站系統CPU的集成PN口配置為Client,ModSim32為Server進行Modbus TCP通訊,由于客戶端和服務器模式均使用相同的功能塊,因此客戶端功能塊庫的程序結構及各功能塊完成的功能可以參考圖5。
3.1例子中使用的硬件設備及軟件
本例中所用的硬件設備如下表:
名稱 | 數量 | 訂貨號 |
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 |
網線 | 若干 | |
筆記本電腦 | 1 |
表5客戶端硬件清單
所用到軟件如下表:
名稱 | 訂貨號 |
STEP7 V5.5組態編程軟件英文版 | |
“ ModbusTCP PN-CPU V2.6”軟件選項包 | 2XV9450-1MB02 |
ModSim32免授權版本 | 可從網上免費獲取 |
表6:客戶端軟件清單
3.2 S7-400單站系統與ModSim32軟件組態
打開Step7軟件,新建一個工程項目文件,命名為“M_TCP_CPU_V26(Client)”,在項目下插入一個S7-400站,如下圖16所示:
圖16新建S7-400 Station
雙擊插入的SIMATIC 400 Station的“Hardware”,打開硬件組態,在硬件組態界面下分別插入機架,電源PS407、CPU414-3PN/DP,本例中將CPU的PN口IP地址設為192.168.70.2,如下圖17所示:
圖17硬件組態并設置CPU的IP地址
由于需要在SIMATIC站與其他通訊伙伴之間建立TCP連接用于Modbus通訊,而對于CPU的集成PN口來說須通過Open IE(開放式以太網通訊)的方式來建立TCP連接,通過S7-CPU的PROFINET接口進行Modbus TCP通信時,需要使用通信塊FB65 "TCON"、FB66 "TDISCON"、FB63 "TSEND"和FB64 "TRCV",要進行Modbus TCP通信,必須在數據塊中為每個連接指定相應的參數,相應得參數在程序中主要由DB2“MODBUS_PARAM”來完成初始化,關于DB2“MODBUS_PARAM”各參數的含義請參見2.2章節中的圖8、9說明。
硬件組態完成后,編譯保存,并將例程站點“SIMATIC 400(Client)”中的程序(System data不需要拷貝)拷貝到該項目中。打開DB2“MODBUS_PARAM”并切換到數據視圖,修改需要訪問的Modbus TCP server的IP地址和端口號,本例中作為服務器的電腦IP為192.168.70.245,端口號為502;設置方式如下圖18所示:
圖18 S7-400單站系統做客戶端時不同的功能碼的參數定義
3.3通訊測
由于“ModbusTCP PN-CPU V2.6”選項包支持功能碼FC1,2,3,4,5,6,15,16,不同的功能碼測試過程中類似,因此下面同樣以FC03(讀寫保持寄存器)為例來說明通訊測試的整個過程,對于其他功能碼的測試將不再重復描述。
需要說明的是由于客戶端功能塊需要定義具體的功能碼,而主功能塊FB102“MODBUSPN”并沒有直接的管腳來定義功能碼,而是由DB2“MODBUS_PARAM”中的兩個參數“DATA_TYPE”和“single-write”共同決定,詳細情況如下圖19所示:
圖19 S7-400單站系統做客戶端時不同的功能碼的參數定義
由于客戶端和服務器均使用相同的功能塊FB102“MODBUSPN”的參數需要初始化,因此分別在OB100及OB1中調用FB102,在OB100中調用FB102完成相關參數的初始化,FB102的管腳分布參見2.3章節中圖10的說明。
打開ModSim32軟件,在“Connection--->connect”中打開連接屬性對話框,連接接口選擇“Modbus/TCP svr”,TCP/IP Server Port為本地服務器的端口502,如下圖20所示:
圖20 ModSim32中設置端口號
下載硬件組態及程序到CPU中,將DB2“MODBUS_PARAM”的參數“server_client”使能為0,給參數ENQ_ENR發送脈沖信號;在打開的ModSim32軟件窗口設置寄存器連接類型、起始地址、長度等,如下圖21所示:
圖21 ModSim32中Modbus數據參數定義
關于SIMATIC中DB偏移量、Modbus物理編址、應用層編址對應關系請參考本文中2.3章節圖14的說明。
在Step7的項目程序中新建一個變量監控表,插入需要監控的參數和數據區變量,可以看到ModSim32軟件與CPU414-3PN/DP的數據通訊已經建立起來了,雙方可以進行正常的保持寄存器數據讀寫操作(讀寫權限由參數"WRITE_ READ"決定),如下圖22所示:
圖22 S7-400單站系統作為客戶端與ModSim32軟件通訊
4.“ModbusTCP PN-CPU V2.6” 軟件包通訊使用總結及相關注意事項
由于是通過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協議并沒有對此進行約束和限制。
7)如果使用SIMATIC S7作為Modbus服務器,那么一些CPU的可用端口號會受到限制,以下端口號可用于本地端口,如下圖23所示:
圖23 SIMATIC作為Modbus服務器的端口號使用限制
詳細情況可參考以下FAQ連接:哪些通信口可以進行 Modbus/TCP 通訊,作為 Modbus 服務器的 SIMATIC S7 CPU 可以與多少個 Modbus 客戶端通信?
5 “ModbusTCP PN-CPU V2.6” 軟件包授權
未經授權的Modbus TCP軟件可用于測試和學習,不允許用于商業行為;未經授權的軟件測試時CPU的INTF指示燈紅色閃爍,并在CPU故障緩沖區生成錯誤信息;同時,Modbus TCP功能塊報錯,如圖24、25所示:
圖24CPU診斷緩沖區報錯
圖25Modbus TCP功能塊報錯A090
每個CPU都需要對功能塊MODBUSPN進行授權。授權有兩個步驟:讀取IDENT_CODE和申請注冊碼REG_KEY。且在CPU中必須調用OB121。
5.1 讀取IDENT_CODE
1、下載程序并將CPU切換到RUN模式;
2、打開MODBUSPN(FB102)的背景塊DB102,確認IDENT_CODE的偏移地址為54;如圖26所示:
圖26確認IDENT_CODE的偏移地址
3、打開變量監視表,輸入DB102.DBB54開始的20個字節,偏移地址56開始的18個字符即為IDENT_CODE,監控如圖27所示:
圖27確認IDENT_CODE
4、按上圖方式,獲取IDENT_CODE和軟件包裝上的License-No,并按照章節6.2和6.3的描述步驟申請注冊碼。
授權中心聯系方式:010-64757575
通過西門子授權服務中心申請注冊碼時,需要您提供所購買的軟件訂貨號、IDENT_CODE和軟件包裝上的License-No,如圖27所示。
5.3 通過網站申請注冊碼REG_KEY
1、通過西門子技術支持網站申請,打開如下網址,點擊“技術問題提交”:
https://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo2&aktprim=99&lang=zh
圖28技術支持網站
2、請按如下示例的步驟進行操作(注意:由于步驟3搜索出來的參考信息無法解決授權問題,請直接點擊“繼續”進入步驟4),如圖29~33所示。
圖29步驟1
圖30步驟2
圖31步驟3
圖32步驟4
圖33步驟5
5.4 使用注冊碼REG_KEY
1、西門子授權中心收到技術支持申請后,將會盡快給您回復郵件;
2、當獲取到注冊碼后,在項目中打開LICENSE_DB(DB3);
3、通過菜單“View--->Data View”將DB塊切換到數據視圖模式,將獲取的17位注冊碼填寫到“Actual value”中,如圖34所示。
圖34輸入注冊碼
4、將LICENSE_DB(DB3)下載到CPU中,CPU的INTF指示燈熄滅;并可通過查看MODBUSPN(FB102)的輸出引腳LICENSED為true且不再報A090錯誤代碼,確認注冊碼激活成功,如圖35所示。
圖35注冊碼激活成功
6. CPU集成PN口進行Modbus TCP通訊FB輸出常見故障代碼及處理
STATUS(Hex) | 故障原因 | 處理措施 | |
參數STATUS_MODBUS代碼含義 | |||
A001 | 數據塊DB(MODBUS_PARAM)長度過短 | 修改DB長度 | |
A002 | 參數END_x小于Start_x | 修改參數END_x大于Start_x | |
A003 |
Modbus地址映射的DB塊的數據區長度太短,最低長度: -寄存器: (START_ADDRESS – start_x + LENGTH) * 2 -位 (START_ADDRESS – start_x + LENGTH) / 8 其他可能的原因: ·參數初始化錯誤(CPU為Client時) ·客戶端請求報文時錯誤的地址區域(CPU為Server時) |
擴展DB區域 當CPU為Client時: 修改參數START-ADDRESS或者LENGTH 當CPU為Server時: 修改客戶端的請求 |
|
A004 |
僅在CP為Client時才有此故障: 參數DATA_TYPE及WRITE_READ設置不匹配,不可能對輸入寄存器或離散輸入進行寫操作 |
修改此兩個參數 | |
A005 |
CP為Client時: 參數LENGTH設置無效 CP為Server時: Client請求的寄存器號無效,合法的數據類型范圍如下: 讀線圈/離散輸入: 1 to 2000 寫線圈: 1 to 1968 讀寄存器: 1 to 125 寫保持寄存器: 1 to 123 |
CPU為Client時: 修改參數LENGTH CPU為Server時: 修改Client請求的寄存器地址 |
|
A006 |
CP為客戶端時: 數據區1-8中對應的Modbus地址范圍(DATA_TYPE, START_ADDRESS和LENGTH )不存在 CP為服務器時: 客戶端請求的報文不正確 |
CPU為Client時: 修改參數DATA_TYPE,START-ADDRESS或者LENGTH CPU為Server時: 修改Client請求或修改參數data_type_x |
|
A007 |
CPU為Client時: 參數RECV_TIME或CONN_TIME時間設置無效,RECV_TIME最少20ms, CONN_ TIME為100ms |
修改此兩參數 | |
A009 | 僅在CPU為Client時發生,標示符TI與發送方不一致,連接中斷 | 修正通訊伙伴的報文 | |
A00A |
CPU為Client時: 接收參數UNIT與發送的不一致 |
||
A00B |
CPU為Client時: 接收與發送功能碼不一致 CPU為Server時: 無效的功能碼被接收 |
CPU為Client時: 檢查通訊伙伴的數據報文格式 CPU為Server時: 注意FB MODBUSPN僅支持功能碼FC01,02,03,04,05,06、15,16 |
|
A00C | 接收到的字節長度與寄存器地址+不匹配,連接中斷 | 檢查通訊伙伴的數據報文格式 | |
A00D |
僅在CPU為Client時發生: 響應的MODBUS寄存器地址與請求的不一致 |
||
A00E | MODBUS報文報頭的長度與寄存器地址不匹配,FB將忽略 | ||
A00F | 非0的協議標示符被接收,通訊中斷 | ||
A010 | 參數DB1-DB8中有重復使用的DB塊 | 修改為單獨的DB | |
A011 | 參數DATA_TYPE設置無效(范圍為1-4) | 修改該參數 | |
A012 | 數據區參數data_type_1和data_type_2設置重疊 | 統一類型的寄存器地址不能有疊加情況 | |
A013 | 數據區參數data_type_1和data_type_3設置重疊 | ||
A014 | 數據區參數data_type_1和data_type_4設置重疊 | ||
A015 | 數據區參數data_type_1和data_type_5設置重疊 | ||
A016 | 數據區參數data_type_1和data_type_6設置重疊 | ||
A017 | 數據區參數data_type_1和data_type_7設置重疊 | ||
A018 | 數據區參數data_type_1和data_type_8設置重疊 | ||
A019 | 當參數data_type_x設置不為0時,db_x被賦值0 | DB塊號不能為0 | |
A01A | Modbus報頭中錯誤的長度(1-253字節有效) | 檢查通訊伙伴的數據報文格式 | |
A01F | FB MODBUSPN處于無效的連接狀態 | 聯系產品支持 | |
A023 | 數據區參數data_type_2和data_type_3設置重疊 | 統一類型的寄存器地址不能有疊加情況 | |
A024 | 數據區參數data_type_2和data_type_4設置重疊 | ||
A025 | 數據區參數data_type_2和data_type_5設置重疊 | ||
A026 | 數據區參數data_type_2和data_type_6設置重疊 | ||
A027 | 數據區參數data_type_2和data_type_7設置重疊 | ||
A028 | 數據區參數data_type_2和data_type_8設置重疊 | ||
A034 | 數據區參數data_type_3和data_type_4設置重疊 | ||
A035 | 數據區參數data_type_3和data_type_5設置重疊 | ||
A036 | 數據區參數data_type_3和data_type_6設置重疊 | ||
A037 | 數據區參數data_type_3和data_type_7設置重疊 | ||
A038 | 數據區參數data_type_3和data_type_8設置重疊 | ||
A045 | 數據區參數data_type_4和data_type_5設置重疊 | ||
A046 | 數據區參數data_type_4和data_type_6設置重疊 | ||
A047 | 數據區參數data_type_4和data_type_7設置重疊 | ||
A048 | 數據區參數data_type_4和data_type_8設置重疊 | ||
A056 | 數據區參數data_type_5和data_type_6設置重疊 | ||
A057 | 數據區參數data_type_5和data_type_7設置重疊 | ||
A058 | 數據區參數data_type_5和data_type_8設置重疊 | ||
A067 | 數據區參數data_type_6和data_type_7設置重疊 | ||
A068 | 數據區參數data_type_6和data_type_8設置重疊 | ||
A078 | 數據區參數data_type_7和data_type_8設置重疊 | ||
A079 | 參數ID在DB(MODBUS_PARAM)中未定義 | 修改參數ID | |
A07A | 無效的參數ID(ID值范圍為1-4095) | ||
A07B | 參數ID在DB(MODBUS_PARAM)中存在2次 | 修改DB塊DB(MODBUS_PARAM) | |
A07C | 參數data_type_x無效(范圍1-4) | ||
A07D | 參數data_type_1未定義,data_type_1為缺省的使用數據區,需要定義 | ||
A07E | 參數DB_x與DB(MODBUS_PARAM)或FB102的背景DB號沖突 | ||
A07F | FB102接口參數PARAM_DB錯誤,非通訊參數DB | 指定正確的DB給接口參數PARAM_DB | |
A080 | 數據塊DB(MODBUS_PARAM)更改但沒有執行CPU重起 | 數據塊DB(MODBUS_PARAM)需要初始化,當更改時需要CPU重起 | |
A081 |
CP為Client且使用FC05功能碼時: 接收的線圈狀態與發送不一致 |
通過抓包工具來分析和修正通訊伙伴的報文 | |
A082 |
CP為Client且使用FC06功能碼時: 接收的寄存器值與發送不一致 |
通過抓包工具來分析和修正通訊伙伴的報文 | |
A083 | 僅在CP為Client時:在上一個請求還沒有處理完成時又發送新的請求 | 等待DONE =TRUE或ERROR = TRUE后再發送新請求 | |
A084 | 授權碼”IDENT_CODE”不能識別 | 聯系產品支持 | |
A085 | 在授權期間由于無效的寫權限導致發生錯誤 | 對于授權DB,確認參數REG_KEY的結構是否正確 | |
A090 | 功能塊未授權,此為一狀態信息,參數ERROR并不會置1,功能塊在未授權情況仍然可以運行而不影響通訊 | 針對CPU讀出預授權解碼,之后按照授權操作向IT4industry.部門索取授權碼 | |
A091 | 收到異常響應碼1(僅在Client模式),連接將終止和重新建立 | 通訊伙伴不支持請求的報文 | |
A092 | 收到異常響應碼2(僅在Client模式),無效的或不存在的地址請求 |
確認參數LENGTH或START_ADDRESS 是否正確 |
|
A093 | 收到異常響應碼3(僅在Client模式) | 通訊伙伴無法執行報文接收(例如請求長度不支持等) | |
A094 | 收到異常響應碼4(僅在Client模式) | 通訊伙伴無法執行報文接收 | |
A095 | 收到未知的異常響應碼(僅在Client模式) | 通過抓包工具來分析和修正通訊伙伴的報文 | |
參數STATUS_CONN代碼含義 | |||
A100 | CONN_TIME與RECV_TIME時間超出,RECV_TIME超出時連接終止 | 檢查連接參數 | |
A101 | 參數TDISCON的監控時間超出 | 聯系產品供應商 | |
SFC6/20故障代碼 | |||
7xxx | 請參考SIMATIC的在線幫助 | 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關幫助信息 | |
8xxx | 請參考SIMATIC的在線幫助 | 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關幫助信息 | |
FB63,64,65,66故障代碼 | |||
7xxx | 請參考SIMATIC的在線幫助 | 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關幫助信息 | |
8xxx | 請參考SIMATIC的在線幫助 | 通過在線幫助SIMATIC manager -> mark block -> key F1 –> Ethernet -> see also -> code evaluation可以查到相關幫助信息 | |
SFC24故障代碼 | |||
80A1 | DB=0或超出了CPU允許的范圍 | 選擇有效的DB | |
80B1 | DB塊在CPUU中不存在 | DB_x參數中的DB塊必須創建并下載到CPU中 | |
80B2 | DB塊被創建為“Unlinked”類型 | DB塊不能創建為“Unlinked”類型 | |
審核編輯:湯梓紅
-
接口
+關注
關注
33文章
8575瀏覽量
151015 -
MODBUS
+關注
關注
28文章
1799瀏覽量
76952 -
通訊
+關注
關注
9文章
902瀏覽量
34889 -
TCP
+關注
關注
8文章
1353瀏覽量
79055 -
S7-300
+關注
關注
8文章
225瀏覽量
34292
原文標題:S7-300/400集成PN口 MODBUS TCP 通訊(STEP7)
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論