長沙6ES7392-1BJ00-1AB0西門子數字量輸入/輸出模塊 |
![]() |
價格:10 元(人民幣) | 產地:德國 |
最少起訂量:1臺 | 發貨地:長沙 | |
上架時間:2018-12-26 13:06:44 | 瀏覽量:30 | |
長沙玥勵自動化設備有限公司
![]() |
||
經營模式:經銷商 | 公司類型:私營有限責任公司 | |
所屬行業:其他 | 主要客戶:西門子 | |
![]() ![]() |
聯系人:姚善雷 (先生) | 手機:13874941405 |
電話: |
傳真: |
郵箱:3464463681@qq.com | 地址:湖南省長沙市岳麓區天頂街道雷鋒大道金科世界城468號 |
長沙 西門子 6ES7392-1BJ00-1AB0 數字量輸入/輸出模塊
S7-300/400集成PN口 MODBUS TCP 通訊(STEP7)下面章節將介紹如何使用軟件選項包“ModbusTCP PN-CPU V2.6 ”的功能塊庫配置S7-300/400單站系統通過CPU的集成PN口與第三方模擬軟件進行Modbus/TCP進行通訊的詳細步驟 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起始界面
當將軟件選項包安裝完集成到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例子中使用的硬件設備及軟件本例中所用的硬件設備如下表:
表1 服務器硬件清單 所用到軟件如下表:
表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所示:
表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例子中使用的硬件設備及軟件本例中所用的硬件設備如下表:
表5 客戶端硬件清單 所用到軟件如下表:
表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所示:
圖24 CPU診斷緩沖區報錯
圖25 Modbus TCP功能塊報錯A090 每個CPU都需要對功能塊MODBUSPN進行授權。授權有兩個步驟:讀取IDENT_CODE和申請注冊碼REG_KEY。且在CPU中必須調用OB121。 5.1 讀取IDENT_CODE1、下載程序并將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的描述步驟申請注冊碼。 5.2 通過撥打西門子授權服務中心申請注冊碼REG_KEY授權中心聯系方式:010-64757575 通過西門子授權服務中心申請注冊碼時,需要您提供所購買的軟件訂貨號、IDENT_CODE和軟件包裝上的License-No ,如圖27所示。 5.3 通過網站申請注冊碼REG_KEY1、通過西門子技術支持網站申請,打開如下網址,點擊“技術問題提交”: http://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_KEY1、西門子授權中心收到技術支持申請后,將會盡快給您回復郵件; 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輸出常見故障代碼及處理
硬件列表
應用CP341進行 MODBUS協議通信時需要有Dongle的支持。在使用之前先將Dongle安裝在CP341模塊的背面的Dongle插槽中,Dongle和插入Dongle前后的CP341如下圖所示。
圖1 組態和配置1、打開軟件TIA PORTAL
圖2 STEP7 V13,點擊項目->新建...創建一新項目,項目名稱為341_modbus_Master。 2、用鼠標點擊“添加新設備”,選擇SIMATIC S7-300->CPU->CPU 319-3PN/DP->6ES7 318-3EL00-0AB0。
圖3 3、雙擊“設備組態”進入硬件組態界面,導軌RACK和CPU 319-3PN/DP已經存在,只需要插入PS307和CP341。
圖4 4、雙擊CP341模板,進入CP341的屬性框,配置CP341參數。
圖5 5、在“協議”選項中選擇“Modbus主站”。配置modbus通信參數,設定的通信參數要和通訊伙伴的相同。傳輸率(通信波特率):9600bps,數據位:8位,停止位:1位,奇偶校驗:無。
圖6 6、本示例選用的是RS422/485接口的CP341,還需要設置接口屬性,如下圖所示。
圖7 編寫通信程序1、雙擊“添加新塊”,創建發送數據塊DB10和接收數據塊DB11,發送數據塊的名稱為Send,接收數據塊的名稱為Rev;如下圖所示,發送數據塊中新建幾個變量,從站地址為2,功能碼為3,起始地址為0,讀4個寄存器數據,具體功能碼3 的使用參見手冊“S7串行通信模板Modbus RTU主站可裝載驅動的操作說明” 6.3章節的說明;如下圖所示,接受數據塊中新建1個數據類型Array的變量,數組元素的數據類型為Byte,數量為400。
圖8
圖9 2、進入主程序OB1,從通信->通信處理器->PtP鏈接:CP341,調用發送功能塊P_SND_RK和接收功能塊P_RCV_RK。P_SND_RK的背景數據塊為DB1,P_RCV_RK的背景數據塊為DB2。
圖10 CP341的發送功能塊P_SND_RK 的參數設置見下表。
CP341的接收功能塊P_RCV_RK 的參數設置見下表。
圖11
圖12 設備連接本文檔使用的CP341的接口是RS232C,因此需要通過標準的RS232C電纜來連接CP341和計算機的串口.
如果使用的CP341是RS485接口的模塊,需要使用RS232C/RS485轉換器(需要選購第三方設備)。 通信測試前面使用 TIA Step7 軟件已經將通信CP341的通信工作做完,下面進行通信測試。這里使用串口通訊測試軟件ModSim32軟件來測試CP341和計算機的通信,步驟如下 1、雙擊ModSim32軟件圖標,新建項目,點擊Port1,進入端口1做設置,本例計算機只有一個端口,所以就對端口1做設置,如果計算機有多個端口,要注意所選端口。
圖13 2、進入Port1設置界面,設置波特率、數據位、奇偶校驗等參數,要和CP341的參數相同。
圖14 3、點擊“OK”,選擇軟件的03功能碼界面,本例設置03功能碼的10個數據,其中前4個數據分別設置成1—4。
圖15 4、首先將硬件配置和程序下載到CPU319-3PN/DP中,時鐘脈沖信號M0.5從0跳變成1時,CP341將數據發送出去。
圖16 5、M20.0為常閉點,程序下載完成,CPU運行后,就始終處于接收狀態。在STEP7中打開接收數據塊DB11監控接收到的數據,可以看到發送的數據被正確的接收。
圖17 手冊下載更詳細的資料請參看如下手冊: 長沙 西門子 6ES7392-1BJ00-1AB0
|
版權聲明:以上所展示的信息由會員自行提供,內容的真實性、準確性和合法性由發布會員負責。機電之家對此不承擔任何責任。 友情提醒:為規避購買風險,建議您在購買相關產品前務必確認供應商資質及產品質量。 |
機電之家網 - 機電行業權威網絡宣傳媒體
關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 會員助手 | 免費鏈接Copyright 2025 jdzj.com All Rights Reserved??技術支持:機電之家 服務熱線:0571-87774297
網站經營許可證:浙B2-20080178