簡體   English   中英

Modbus RTU從站RS-485無法響應

[英]Modbus RTU slave RS-485 failed to response

我正在嘗試編寫Modbus從站,但有一個問題:我正確地接收了來自主站的請求,但是當我嘗試響應時,似乎有些東西被錯誤地發送到了串行端口,因為當我插入RS485嗅探器時-我看到了req和分辨率(以十六進制表示)。

硬件:Mac(我編寫的從屬設備)-USBtoRS485-ICPCON tGW-715(TCPtoRTU網關)-Win PC(軟件主設備)

當我嘗試此變體時:Win PC(軟件從屬)-USBtoRS485-ICPCON tGW-715(TCPtoRTU網關)-Win PC(軟件主控)一切正常。

庫:libmodbus,h5.modbus(node.js)。 沒關系-正確的請求,但沒有響應。

目標PC(用於從屬)將安裝在Linux上,因此Mac幾乎比Win更近。

我已經不知道要檢查什么以及如何使其工作。 有什么事嗎

Win PC變體可以正常工作,因此硬件應該可以。 如果您的最終目標是在Linux中使用該系統,那么如果沒有更多詳細信息,我將建議另一種方法:在Windows上與Linux guest虛擬機一起使用虛擬機。 我與ICP DAS技術支持一起工作,並且將VirtualBox與tM-7561和I-7561 USBtoRS485轉換器一起使用,並與Linux和Windows主機一起使用。

我在Mac上沒有經驗,但是另一種選擇是嘗試使用非您編寫的Modbus從站,例如pyModSlave ,看看它是否在Mac上正常工作,它還會向您顯示發送/接收的數據包。

如果pyModSlave在Mac上可以正常使用,請嘗試與從屬服務器一起使用軟件串行嗅探器。 在Windows上,我使用HHD Software的軟件,它具有串行,USB和TCP / IP嗅探器。 在Mac / Linux上,您應該可以使用Wireshark嗅探USB通信,但是我個人還沒有這樣做。

代替嗅探器,也許您可​​以使用空調制解調器仿真器,以便從(虛擬)串行端口發送的內容將在Mac上的另一個(虛擬)串行端口上接收,以便您可以檢查發送/接收的數據。 在Windows上,我使用com0com,對於Linux,我尚未使用過tty0tty 不知道Mac上有什么可用。 否則,只需使用2個Dto和D-互連的USBtoRS485,在從站的一個端口上,在另一個端口上,使用qModMaster這樣的主機即可顯示數據包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM