(1) 如圖 1-0,頂部為電源接口(直流 24V)、Modbus 主從設(shè)置撥碼(MS 為 Modbus 做從站, MM 為做 Modbus 主站)、Profibus 地址設(shè)置撥碼(采用的是 8421 碼,如 AD1-AD3 撥到 ON 的 位置地址為 7)。
(2) 底部為 Modbus 通訊接口,B(+),A(-),本產(chǎn)品內(nèi)置終端電阻,需要接入終端的時(shí)候?qū)?/DIV>
TB 和 B 短接,TA 和 A 短接即可。
(3) 正面為 Profibus 通訊接口和指示燈。
圖 1-0:PBMD-K20 接線示意圖
2、MODBUS轉(zhuǎn)PROFIBUS網(wǎng)關(guān)Step7 的配置說明
(1) Modbus-RTU 側(cè)接 口的配置
在 Step7 硬件配置界面,添加了微硬模塊 PBMDP-K20 之后,雙擊圖標(biāo),在出現(xiàn)如圖 1-1
的窗口,選擇 Parameter Assignment。
圖 1-1:Modbus-RTU 接口的設(shè)置
波特率和校驗(yàn):必須設(shè)置的和您要連接的 Modbus 設(shè)備的一致,否則微硬模塊和你要連接的設(shè)備無法通訊,下面設(shè)備的通訊接口的設(shè)置請(qǐng)參看他們手冊(cè)的說明或者致電設(shè)備廠 家詢問。
從站狀態(tài)監(jiān)測和數(shù)據(jù)更新模式:可以選擇默認(rèn)。
等待時(shí)間:推薦默認(rèn)的 500mS,他的意思是微硬模塊發(fā)出一條 Modbus 報(bào)文之后等待下面設(shè)備回答的時(shí)間,如果超出 500mS,不再等待直接發(fā)送下一條,如果在 500mS 內(nèi)回來了, 緊接著等待一個(gè)空閑時(shí)間后發(fā)送下一條報(bào)文。
總線空閑時(shí)間:推薦默認(rèn)的 50mS,他的意思是指,接到下面設(shè)備回答的報(bào)文之后等待
50mS 再發(fā)送下一條報(bào)文。有些設(shè)備響應(yīng)速度比較慢,如果 50mS 太快的話,建議將此時(shí)間調(diào) 長。
(2) MODBUS轉(zhuǎn)PROFIBUS網(wǎng)關(guān) Modbus 報(bào)文的配置
下面舉例說明,如閱讀有困難請(qǐng)參看第三章 Modbus-RTU 簡介。假如您要讀取 Modbus 站號(hào)為 1 的設(shè)備的 3 區(qū)的寄存器地址從 0 開始的連續(xù)三個(gè)寄存器的值(3 區(qū)用戶手冊(cè)上可能 是 300XX 或者說支持 04 功能碼(Modbus 報(bào)文第二個(gè)字節(jié)))。您可以在右邊產(chǎn)品列表里面 PBMD-K20 下面選擇“read 3 Words(3XXXX)”模塊插入到 Slot3 里面,如圖 1-2。
雙擊你插入的模塊,選擇 Parameter Assignment,從站站號(hào)即為你要訪問的 Mobus 設(shè)備
的站地址,此例為 1;起始地址就是你要訪問寄存器的起始地址,此例為 0。那么三個(gè)寄存 器回來的數(shù)據(jù)就存放在這里分配的 IB256-IB261 著 6 個(gè)字節(jié)里面。
其他您要讀寫的數(shù)據(jù)都可根據(jù)此例來配置。
圖 1-2:Modbus-RTU 報(bào)文的配置
(3) 啟動(dòng)微硬MODBUS轉(zhuǎn)PROFIBUS網(wǎng)關(guān)模塊開始工作。
以上工作完了,最后一點(diǎn)就是要啟動(dòng)微硬模塊開始工作。將控制字最低為置 1。本例控制字為 QB0(在 Slot2 里面,具體地址是多少還要看您的配置),所以您需要在 OB1 模塊里 面加上如圖 1-3 的程序。
圖 1-3:啟動(dòng)設(shè)備
在這里,有需要更進(jìn)一步了解我們產(chǎn)品使用的用戶,可以看看下面通訊狀態(tài)字和通訊
控制字的說明。
通信狀態(tài)字 Status
D7:奇偶校驗(yàn) |
D6:CRC 校驗(yàn) |
D5:等待超時(shí) |
D4~D1:異常應(yīng)答 |
D0:接收/發(fā)送 |
0:沒有錯(cuò)誤
1:奇偶校驗(yàn)錯(cuò) |
0:沒有錯(cuò)誤
1:CRC 校驗(yàn)錯(cuò) |
0:沒有錯(cuò)誤
1:等待超時(shí) |
0:沒有錯(cuò)誤
1:Modbus 訪問異常 |
0:準(zhǔn)備接收
1:準(zhǔn)備發(fā)送 |
注意:正常情況下我們會(huì)看到狀態(tài)字是 0 和 1 交替變化,其他位如果出現(xiàn) 1,證明 Modbus
通訊有問題,下面講解一下出現(xiàn)錯(cuò)誤后解決方法:
D4~D1:異常應(yīng)答如果不為 0,說明你發(fā)出去的 Modbus 報(bào)文對(duì)于被訪問設(shè)備來說是無效的, 有可能是地址超限,或者寫給設(shè)備的值是非法的。解決此問題的方法就是一定要弄清楚你要訪問的數(shù)據(jù)是什么,寄存器地址是多少?被設(shè)置的值有沒有范圍限制等等
D5:等待超時(shí),可以將此手冊(cè)圖 1-1 中總線空閑時(shí)間調(diào)大!
D6:CRC 校驗(yàn)錯(cuò),可能用戶編寫的 CRC 高低自己反了,或者在沒有完整收到一幀報(bào)文也會(huì)出
現(xiàn) CRC 錯(cuò),這時(shí)候我們可以通過串口調(diào)試助手或者 Modsim32 之類監(jiān)控一下報(bào)文。
D7:奇偶校驗(yàn)錯(cuò),接口沒有設(shè)置的一致!圖 1-1 中的波特率和奇偶校驗(yàn)沒有和設(shè)備的相一致。
需要提醒的是,往往一個(gè)錯(cuò)誤有可能使得幾個(gè)地方報(bào)錯(cuò),這就需要現(xiàn)場調(diào)試人員判斷 錯(cuò)誤出現(xiàn)在那里,最簡單的自助辦法就是學(xué)會(huì)使用串口調(diào)試助手和 Modsim32 以及 Modscan 等軟件,一般情況下只要和這三個(gè)軟件能通訊的上的話,肯定能和我們產(chǎn)品進(jìn)行通訊。
通信控制字 Control
D7 |
D6 |
D5 |
D4-D3 |
D2 |
D1 |
D0 |
強(qiáng)制復(fù)位 |
停止等待 |
清除錯(cuò)誤 |
保留 |
寫允許 |
讀允許 |
啟動(dòng)工作 |
注意:這里不推薦用戶使用其他功能,僅僅需要你將 D0 置 1,啟動(dòng) PBMD-K20 發(fā)送 Modbus
報(bào)文即可,如果遇到比較特殊的用法,請(qǐng)致電我公司技術(shù)人員進(jìn)行咨詢!