0

TCPソケットを介して構造体(ブール値、int、および文字列で構成される)を送信する必要があります。送信側 (PLC) は CoDeSys で実装され、受信側は Java で実装されます。
1 つの解決策は、データを含む大きな文字列を作成し、それをソケット経由で送信し、Java で解釈することです。しかし、これは非常に非効率的です (構造体には 50 以上の変数があるため)。

構造体を送信する他の方法はありますか (例: Java ではシリアライゼーションがありますが、CoDeSys ではサポートされていません)。

そうでない場合、データをフォーマットする良い方法は何ですか?(e.g.: "variableName1:value1;variableName2:value2;...")

文字列の値をJava側のオブジェクトに自動的に割り当てる「トリック」はありますか?

4

1 に答える 1

0

私は個人的に XML を使用しています。地球上のすべてのまともな言語はそれを解析でき、Codesys で作成するのはばかげていません。

doubleまた、シリアル化されたデータには、 Javaと Codesysなど、プラットフォーム固有の奇妙な点が含まれている可能性があることも忘れていますREAL。これらは、考慮なしにシリアル化された方法で常に平和的に転送されるとは限りません。また、プラットフォームによってはバイトスワップの問題もあります。

Codesys 用の Base64 エンコード/デコード ライブラリがありますが、XML よりもはるかに効率的ではないと思います。

また、XMLに関しては、効率が本当に心配な場合は...整形式でなければならないと言ったのは誰ですか。あなたの言語がそれを適切に接着できることを知っている限り、少しごまかしてください。

于 2015-05-22T08:29:16.250 に答える