wlmissyou
級別: 探索解密
![]() |
一、 概述 本文描述的程序文件可以在西門(mén)子300 400通過(guò)CPU本體以太網(wǎng)口,以開(kāi)放式通信方式實(shí)現MODBUS TCP 主站通信。 本程序特點(diǎn): 1. 無(wú)需官方授權。 2. 實(shí)現MODBUS RTU 功能號1、2、3、4、5、6、15、16。 3. 支持單臺CPU下多網(wǎng)口通信,一個(gè)連接使用一套程序,互不干擾。 4. 可單條或多條輪詢(xún)指令 離線(xiàn),即從站掉電,可手動(dòng)讓其離線(xiàn),減少輪詢(xún)時(shí)間。 5. 程序量再大也不必擔心CPU掃描時(shí)間,因為未運行的指令會(huì )跳過(guò)。 6. 每條指令單獨返回錯誤信息。 7. 不必擔心程序塊和數據塊多,支持多重背景。 8. 程序組態(tài)直觀(guān),簡(jiǎn)單,方便,靈活。 二、硬件支持 所有支持關(guān)于通信網(wǎng)絡(luò )施工,盡量選擇西門(mén)子以太網(wǎng)綠皮電纜及,你胡弄網(wǎng)絡(luò ),網(wǎng)絡(luò )就胡弄你,所以質(zhì)量可靠的硬件是保證通信正常的前提。通信網(wǎng)絡(luò )的布線(xiàn)要保證EMA電磁兼容性,遠離強電及強磁場(chǎng)。 三、硬件組態(tài) 現以CPU315-2 PN/DP為例進(jìn)行硬件組態(tài)說(shuō)明 1. 添加機架及CPU315-2 PN/DP到機架,雙擊PN-IO-1如圖: 2. 常規屬性頁(yè),點(diǎn)CPU以太網(wǎng)接口屬性按鈕。 3. 加入子網(wǎng),沒(méi)有的話(huà)新建。設置IP地址和子網(wǎng)掩碼,如果需要路由則還需要設置網(wǎng)關(guān)。單擊確定完成,保存并編譯硬件組態(tài)。 四、 開(kāi)放式以太網(wǎng)通信組態(tài) 1. 開(kāi)放式以太網(wǎng)通信向導的安裝 開(kāi)放式以太網(wǎng)通信向導是STEP7安裝光盤(pán)根目錄的Optional ComponentsOC Wizardsetup.exe。正常安裝就可以,此向導軟件不需要授權。 2. 運行開(kāi)放式以太網(wǎng)通信向導,塊上右鍵,選OC Wizard 3. 這里點(diǎn)OK 4. 這里可以新建,改變,復制開(kāi)放式通信連接,我們選擇新建,點(diǎn)擊Next。 5. 我們這里選擇TCP native,點(diǎn)Next。 6. 我們是與第三方通信,所以我們選擇B設備為不是S7-CPU。點(diǎn)擊Next。 7. 1.Connection ID:連接ID可以任意,但不能重復,ID號記下來(lái),在程序中會(huì )用到。2.Connection name:連接名稱(chēng)可以任意。3Active:主動(dòng),我們這里選擇PLC主動(dòng)建立連接。4.Used interface:這里選擇使用的接口,我們選擇CPU315/317,5.這里填寫(xiě)從站IP地址。6.點(diǎn)擊Next。 8. 這里我們要填寫(xiě)從站的TCP通信端口號,通常從站的端口號為502。點(diǎn)擊Next。 9. 這里是建立開(kāi)放式通信的連接指針數據塊,可以任意。點(diǎn)擊Next。 10. 這里是建立好連接的列表,點(diǎn)擊Next。 11. 這里問(wèn)你是否還配置其它的連接,點(diǎn)Finish。 12. 點(diǎn)“是”關(guān)閉向導。 13. 這是向導建立的通信連接用的數據塊,具體說(shuō)明見(jiàn)其說(shuō)明文檔。 五、 程序說(shuō)明及使用方法 1. 您得到的程序如圖: 這是由STEP7歸檔后文件,應使用STEP7恢復命令,恢復后會(huì )看到項目已經(jīng)打開(kāi)。 2. 程序工作原理 3. 程序塊功能說(shuō)明: MbusPointerDB:用戶(hù)數據塊?梢允菃蝹(gè)數據塊,也可以是多個(gè)數據塊。從站返回的數據保存在這個(gè)數據里,向從站寫(xiě)入的數據也在這個(gè)數據塊里。 MbusBufferDB:緩沖區數據塊。一個(gè)緩沖區數據塊對應一個(gè)通信連接。將要發(fā)送的數據在這里進(jìn)行校驗操作,接收回的數據同樣在這里校驗操作。 MBTcpMaserMsg:主站輪詢(xún)指令功能塊?梢詥蝹(gè)塊運行,也可以多個(gè)塊輪流運行。根據輸入參數決定把哪些用戶(hù)數據放入緩沖區數據塊,再將從站返回數據放回用戶(hù)數據塊。注意:同一時(shí)刻只允許一個(gè)主站輪詢(xún)指令工作,否同返回06錯誤。 MBTcpMasterCtrl:主站通信控制功能塊。一個(gè)通信控制功能塊對應一個(gè)通信連接。主要功能為發(fā)送和接收與從站的通信的報文。 4. 功能塊參數說(shuō)明 MBTcpMasterCtrl MBTcpMasterCtrl
MBTcpMasterMsg MBTcpMasterMsg
緩沖區數據塊是一個(gè)400(不可小于400)個(gè)字節數據塊,可以復制,可改符號,可改絕對地址。 MbusPointerDB 用戶(hù)數據塊用戶(hù)可自行定義,無(wú)要求。 六、 程序注意 例程內有PLC上電初始化脈沖(FirstScanOn),見(jiàn)OB1最下方程序及OB100。指令使用此脈沖初始化。指令內使用符號尋址,所以絕對地址可更改。 其它指令的符號地址和絕對地址都可更改。 當功能號為5時(shí),用戶(hù)數據塊的字節地址的第0位有效。 當功能號為1,2,15時(shí),用戶(hù)數據塊的字節地址的從第0位開(kāi)始有效。 程序無(wú)法在仿真器內工作。 七、 程序高級應用 1. 當有多臺從站執行相同操作時(shí),如讀取相同數據寄存器。這時(shí)可將指令的完成位連接到讀寫(xiě)請求位,將從站地址和用戶(hù)數據塊字節號做成變量,使用完成位改變這兩個(gè)變量,就可以實(shí)現單指令輪詢(xún)多主站。 2. 當用通信控制設備啟停等操作時(shí),或多從站時(shí)快速刷新單個(gè)從站數據時(shí),要求響應時(shí)間快一些,而有些程序沒(méi)有這方面考慮。本程序在應對此方面可以將單一輪詢(xún)指令的激活位置真,其它指令置假(用上升沿,僅一個(gè)掃描即可),這時(shí)不管其它指令在什么狀態(tài)都會(huì )將連接使用權讓出,優(yōu)先讓激活的指令運行。 八、 不足之處 這里共享出所有已經(jīng)編好的例程,由于硬件有限,只有在winAC和cpu315中經(jīng)過(guò)通信驗證,如果網(wǎng)友使用其它通信模塊有問(wèn)題,我們會(huì )根據問(wèn)題完善程序。通信程序為全功能24天運行版,24天后可對PLC進(jìn)行清除復位,程序繼續可用。如項目需要無(wú)限時(shí)版,指令屬性?xún)扔新?lián)系方式。 本文未盡事宜,歡迎來(lái)電了解。 [ 此帖被wlmissyou在2020-08-16 10:31重新編輯 ] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
附件:
![]()
附件:
![]() 本帖最近評分記錄: |
往事如風(fēng)
科技改變制造
級別: 網(wǎng)絡(luò )英雄
![]() ![]() |
頂一個(gè),謝謝分享 |
|
---|---|---|
|
一心工控
級別: 略有小成
![]() |
新設備能編程的話(huà)問(wèn)題都好解決; 在運行的設備不能編程的話(huà)就有點(diǎn)麻煩了,我用的是這種方法: https://blog.csdn.net/AutoCtrl666/article/details/103437072 |
---|---|
|
cdxjfj
問(wèn)題總是很多
級別: 略有小成
![]() |
這個(gè)要頂頂,謝謝樓主。從站通訊呢?樓主來(lái)個(gè)從站通訊解決方案吧 |
---|---|
|
wlmissyou
級別: 探索解密
![]() |
從站還沒(méi)有創(chuàng )作出來(lái) ![]() |
---|---|
|