我用NMODBUS通過串口每隔500ms讀取下位機資料,另下位機每隔30S會發送個心跳包上來。通過監測.DataReceived事件來讀取心跳包資料來判斷下位機是否在線,發現DataReceived的觸發事件會與NMODBUS搶資料,造成串口報錯。請教該怎么處理呢?
uj5u.com熱心網友回復:
連包了吧。想辦法把兩個包拆開。一個包的資料加個頭和尾。這樣對接收到的資料包是不是完整的,也有個校驗。uj5u.com熱心網友回復:
NMODBUS使用是API,收發一體的,不能分割,API自己開執行緒去讀取資料。串口的.DataReceived事件有時候確實會搶包,造成NMODBUS讀不到完整的資料,而重新發送資料。我的想法是如何讓串口只讀取需要的心跳包,謝謝了。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/34543.html
標籤:C#
