簡體   English   中英

如何通過TCP / IP通信Java和Labview,並發送浮點數據緩沖區?

[英]How to communicate Java and Labview through TCP/IP, and send data buffers of float point?

我正在從事一個大學項目,在該項目中,我需要與Labview雙向進行Java通信,並在數據緩沖區中以浮點形式發送和接收數據,因為Labview中的應用程序會高速生成數據,但是當數組的大小為100。

我的難題之一是將Labview發送的數據轉換為Java格式,反之亦然。

謝謝!!

據我所知,您有兩個選擇:

  1. 使用基於文本的協議(XML,JSON,一些您自己的),然后發送原義“ 1.3454”。
    1. 優點:它可能是人類可讀的,從而簡化了調試/斷言正確數據傳輸的過程。 具有不同類型的消息也更簡單。
    2. 缺點:這可能意味着精度下降,並且肯定意味着某種開銷。
  2. 如果僅具有這種數據,則還可以提取浮點數的字節並發送它們,以便另一端可以准確地讀取四個字節並重建浮點數。
    1. :沒有開銷
    2. 缺點:耐力可能有問題。 我不確定LabVIEW和Java是否以特定的字節序處理所有數據,還是取決於硬件。 您可能需要對讀取的字節重新排序,然后再將它們重新組合為浮點型。 同樣,各種消息也會變得更加復雜。 最好閱讀TCP Read VI上的文檔

您還可以混合使用兩種方法:從浮點數中提取字節,將每個字節視為一個字符,然后將它們組裝為字符串,然后將其放入基於文本的協議中。

考慮使用Labview標准的tcp-ip lib或websocket。

暫無
暫無

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

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