wlmissyou
級(jí)別: 探索解密
|
新增特點(diǎn): 1、不需要在端口界面上進(jìn)行硬件組態(tài),指令中集成了Port_Config、Send_Config、Receive_Config,通信指令的輸入腳就可以進(jìn)行端口組態(tài)。 2、指令的錯(cuò)誤代碼更加規(guī)范。 3、增加MBrtuMastrer1500Manual說明塊 4、除例程外,還制做了項(xiàng)目庫(kù)、全局庫(kù) 一、 概述 本文描述的程序文件可以在西門子CM PtP RS422/485 BA 6ES7540-1AB00-0AA0通信模塊實(shí)現(xiàn)MODBUS RTU 主站通信。 本程序特點(diǎn): 1. 實(shí)現(xiàn)MODBUS RTU 功能號(hào)1、2、3、4、5、6、15、16。 2. 支持單臺(tái)CPU下多臺(tái)通信模塊,一臺(tái)通信模塊使用一套程序,互不干擾。 3. 可單條或多條 輪詢指令 離線,即從站掉電,可手動(dòng)讓其離線,減少輪詢時(shí)間。 4. 可控制每條指令間的時(shí)間間隔。 5. 程序量再大也不必?fù)?dān)心CPU掃描時(shí)間,因?yàn)槲催\(yùn)行的指令會(huì)跳過。 6. 每條指令單獨(dú)返回錯(cuò)誤信息。 7. 不必?fù)?dān)心程序塊和數(shù)據(jù)塊多,支持多重背景。 8. 程序組態(tài)直觀,簡(jiǎn)單,方便,靈活。 9. 指令內(nèi)集成端口配置指令,發(fā)送和接收配置指令,外部只需簡(jiǎn)單參數(shù)即可。 10. 在冗余系統(tǒng)上使用通過。 二、 硬件網(wǎng)絡(luò)施工 關(guān)于通信網(wǎng)絡(luò)施工,盡量選擇西門子485紫皮電纜,你胡弄網(wǎng)絡(luò),網(wǎng)絡(luò)就胡弄你,所以質(zhì)量可靠的硬件是保證通信正常的前提。若通信線路過長(zhǎng),請(qǐng)使用RS485中繼器,但請(qǐng)不要西門子RS485中繼器,因?yàn)椴恢С諱ODBUS通信。具體接線方式請(qǐng)查閱相關(guān)資料。 CM PtP RS422/485 BA接線圖:下表顯示了 CM PtP RS422/485 BA 前面板上 15 針 sub-D 型插槽的針腳分配。 [ 此帖被wlmissyou在2023-05-27 17:31重新編輯 ] |
---|---|
|
wlmissyou
級(jí)別: 探索解密
|
三、 程序說明及使用方法 您得到的程序如圖: 這是由TIA V16歸檔后文件,打開TIA V16后,打開此文件,會(huì)提示新建文件夾,恢復(fù)后會(huì)看到項(xiàng)目已經(jīng)打開。 2. 程序工作原理 3. 程序塊功能說明: MBrtuMaster1500PointerDB1:用戶數(shù)據(jù)塊。非優(yōu)化數(shù)據(jù)塊。可以是單個(gè)數(shù)據(jù)塊,也可以是多個(gè)數(shù)據(jù)塊。從站返回的數(shù)據(jù)保存在這個(gè)數(shù)據(jù)里,向從站寫入的數(shù)據(jù)也在這個(gè)數(shù)據(jù)塊里。 MBrtuMaster1500BufferDB1:緩沖區(qū)數(shù)據(jù)塊。非優(yōu)化數(shù)據(jù)塊一個(gè)緩沖區(qū)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)串口。將要發(fā)送的數(shù)據(jù)在這里進(jìn)行校驗(yàn)操作,接收回的數(shù)據(jù)同樣在這里校驗(yàn)操作。 MBrtuMaster1500Msg:主站輪詢指令功能塊。可以單個(gè)塊運(yùn)行,也可以多個(gè)塊輪流運(yùn)行。根據(jù)輸入?yún)?shù)決定把哪些用戶數(shù)據(jù)放入緩沖區(qū)數(shù)據(jù)塊,再將從站返回?cái)?shù)據(jù)放回用戶數(shù)據(jù)塊。注意:同一時(shí)刻只允許一個(gè)主站輪詢指令工作,否同返回9006錯(cuò)誤。 MBrtuMaster1500Crtl:主站通信控制功能塊。一個(gè)通信控制功能塊對(duì)應(yīng)一個(gè)串口。主要功能為發(fā)送和接收與從站的通信的報(bào)文。 4. 功能塊參數(shù)說明 MBrtuMaster1500Crtl
MBrtuMaster1500Msg
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
wlmissyou
級(jí)別: 探索解密
|
MBrtuMaster1500BufferDB1 非優(yōu)化數(shù)據(jù)塊。緩沖區(qū)數(shù)據(jù)塊是一個(gè)400(不可小于400)個(gè)字節(jié)數(shù)據(jù)塊,可以復(fù)制,可改符號(hào),可改絕對(duì)地址 MBrtuMaster1500PointerDB1 非優(yōu)化數(shù)據(jù)塊用戶數(shù)據(jù)塊用戶可自行定義,無要求。 五、 程序注意 符號(hào)地址和絕對(duì)地址都可更改。 當(dāng)功能號(hào)為5時(shí),用戶數(shù)據(jù)塊的字節(jié)地址的第0位有效。 當(dāng)功能號(hào)為1,2,15時(shí),用戶數(shù)據(jù)塊的字節(jié)地址的從第0位開始有效。 程序無法在仿真器內(nèi)工作。 六、 程序高級(jí)應(yīng)用 1.當(dāng)有多臺(tái)從站執(zhí)行相同操作時(shí),如讀取相同數(shù)據(jù)寄存器。這時(shí)可將指令的完成位連接到讀寫請(qǐng)求位,將從站地址和用戶數(shù)據(jù)塊字節(jié)號(hào)做成變量,使用完成位改變這兩個(gè)變量,就可以實(shí)現(xiàn)單指令輪詢多主站。 2.當(dāng)用通信控制設(shè)備啟停等操作時(shí),或多從站時(shí)快速刷新單個(gè)從站數(shù)據(jù)時(shí),要求響應(yīng)時(shí)間快一些,而有些程序沒有這方面考慮。本程序在應(yīng)對(duì)此方面可以將單一輪詢指令的激活位置真,其它指令置假(用上升沿,僅一個(gè)掃描即可),這時(shí)不管其它指令在什么狀態(tài)都會(huì)將串口使用權(quán)讓出,優(yōu)先讓激活的指令運(yùn)行。 未完,等我程序哈 |
---|---|
|