lightroad
級(jí)別: 探索解密
![]() |
使用RS指令與第三方支持MODBUS的數(shù)字量模塊通訊,讀取對(duì)方數(shù)字量輸入點(diǎn)。使用串口軟件監(jiān)控收發(fā)數(shù)據(jù)正常,但監(jiān)控FX2N和對(duì)方通訊,數(shù)據(jù)不堪入目,不但返回的輸入點(diǎn)跳動(dòng),命令的第一、二字(即從站地址和功能碼)也在不同的數(shù)據(jù)間跳動(dòng)。 程序?yàn)椴煌5刈x取從站,M8122或M8123復(fù)位后延時(shí)10MS~100MS來觸發(fā)M8122。從站通訊口為A,B兩個(gè)端子。想不明白,難道同一時(shí)刻,發(fā)送和接收均在執(zhí)行,但是程序已作了 M8122和M8123的延時(shí)。 求大家指點(diǎn)! |
---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
![]() |
先監(jiān)控的發(fā)出去的內(nèi)容是否正確,你對(duì)了,別人才能回你正確的 ![]() |
|
---|---|---|
|
lightroad
級(jí)別: 探索解密
![]() |
可以通訊上,可以讀出從站開關(guān)量輸入。只是返回?cái)?shù)據(jù)在不同數(shù)據(jù)間跳動(dòng)。 通訊距離2米。 |
---|---|
|
夢(mèng)雨天涯
微信hui530527 &
級(jí)別: 網(wǎng)絡(luò)英雄
![]() |
那你就要確定你的M8122是不是一直發(fā)送,或者M(jìn)8123是否接收到就立馬復(fù)位 ![]() |
|
---|---|---|
|
lightroad
級(jí)別: 探索解密
![]() |
圖片:
![]()
圖片:
![]() M8122不是一直為1。否則數(shù)據(jù)不會(huì)更新,我的是通訊正常,功能也能實(shí)現(xiàn),數(shù)據(jù)可以更新,就是接收數(shù)據(jù)跳動(dòng)。 |
---|---|
|
二手工控電器
且行且珍惜
級(jí)別: 工控俠客
![]() |
看此程序的書寫方式就知道問題所在,一旦通訊出錯(cuò)就找不到原因所在。建議樓主做個(gè)簡(jiǎn)單的通訊測(cè)試程序,比如:用外部按鈕控制,每按一次按鈕讀取一次數(shù)據(jù),看看是否也存在同樣的問題。 |
|
---|---|---|
|
lightroad
級(jí)別: 探索解密
![]() |
圖片:
![]()
圖片:
![]()
圖片:
![]() ![]() ![]() 寫了一段簡(jiǎn)短的程序,依舊如此,能夠返回實(shí)際的開關(guān)量,但是數(shù)據(jù)跳動(dòng)。 發(fā)送指令:0B 02 00 10 00 08 78 A3。 0B地址,02讀開關(guān)量輸入,0010開關(guān)量輸入第一個(gè)地址,0008讀8個(gè)開關(guān)量。 正確的返回指令:0B 02 01 ** AA BB。**代表返回的實(shí)際輸入,AA,BB代表校驗(yàn)碼。 還有一個(gè)問題,返回?cái)?shù)據(jù)依次向高字節(jié)移動(dòng)一個(gè)字。如圖三,返回?cái)?shù)據(jù)地址理論應(yīng)為D7060,實(shí)際返回在D7061中,其他依次。 |
---|---|
|
二手工控電器
且行且珍惜
級(jí)別: 工控俠客
![]() |
無語! ![]() ![]() ![]() ![]() ![]() ![]() |
|
---|---|---|
|
anlyl2014
大吉大利
級(jí)別: 網(wǎng)絡(luò)英雄
![]() |
這是舊話重提的了,RS指令的K8是發(fā)送8個(gè)數(shù),后面K6是指接收個(gè)數(shù)6個(gè),問題出在接收個(gè)數(shù)不足,F(xiàn)X2N前的所有型號(hào)都有返回碼,也就是說,發(fā)送K8,接收為K8+接收的個(gè)數(shù);FX3U后的型號(hào)就沒有此問題,解決方法是:接收的K?要足夠大,例如RS D7000 K8 D7010 K30 可參考我發(fā)的例子 |
|
---|---|---|
|
lightroad
級(jí)別: 探索解密
![]() |
感謝大神,雖然嘗試沒有效果。改S7-200 MODBUS通訊了。還是喜歡日本風(fēng)格,簡(jiǎn)潔方便。 |
---|---|
|