找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1603|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

modbus主機(jī)等待從機(jī)超時(shí) 收到從機(jī)地址的回復(fù)數(shù)據(jù),就發(fā)送3次應(yīng)答,代碼該怎么寫

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:302293 發(fā)表于 2023-5-6 15:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  modbus主機(jī)沒有收到從機(jī)地址的回復(fù)數(shù)據(jù),就發(fā)送3次應(yīng)答,代碼該怎么寫
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2023-5-6 18:56 | 只看該作者
你就正常發(fā)送就行了唄,加個(gè)無應(yīng)答計(jì)數(shù)變量,三次超時(shí)就算出錯(cuò),然后根據(jù)需求來寫出錯(cuò)代碼。
回復(fù)

使用道具 舉報(bào)

板凳
ID:302293 發(fā)表于 2023-5-8 10:33 | 只看該作者
Hephaestus 發(fā)表于 2023-5-6 18:56
你就正常發(fā)送就行了唄,加個(gè)無應(yīng)答計(jì)數(shù)變量,三次超時(shí)就算出錯(cuò),然后根據(jù)需求來寫出錯(cuò)代碼。

根據(jù)中斷標(biāo)志計(jì)數(shù)器來判斷嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:1067540 發(fā)表于 2023-5-8 11:06 | 只看該作者
modbus的數(shù)據(jù)包由多部份組成,你所說的沒有接收到數(shù)據(jù)是指接收到的數(shù)據(jù)包中沒有數(shù)據(jù)位還是指接收不到數(shù)據(jù)包?
回復(fù)

使用道具 舉報(bào)

5#
ID:1067540 發(fā)表于 2023-5-8 11:11 | 只看該作者
如果是前者,那么只需要在解包函數(shù)中加入判斷:若data位為空,則判定為未接受到數(shù)據(jù)
如果是后者可以嘗試加延時(shí)判斷,超時(shí)判定為沒接到數(shù)據(jù)
回復(fù)

使用道具 舉報(bào)

6#
ID:291668 發(fā)表于 2023-5-8 11:27 | 只看該作者
解析一下: 1、主從通訊,主機(jī)發(fā)起,從機(jī)回復(fù)。每次通訊主機(jī)都發(fā)送三次。三次都沒有應(yīng)答數(shù)據(jù),判定超時(shí)錯(cuò)誤。
回復(fù)

使用道具 舉報(bào)

7#
ID:291668 發(fā)表于 2023-5-8 11:31 | 只看該作者
解析一下:1、主從通訊,主機(jī)發(fā)送指令,從機(jī)回復(fù)。主機(jī)發(fā)三次都沒有收到應(yīng)答,判定超時(shí)錯(cuò)誤。2、主機(jī)無論是否收到數(shù)據(jù),都是發(fā)送三次。  三次以后則停止,然后等待一定的時(shí)間,沒有回復(fù)判定錯(cuò)誤。根據(jù)不同情況來寫代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表