前提
RS232C経由のシリアル通信でPLCからデータを受信するC#プログラムを作っています。
受信したデータをcsvに保存しているのですが、下記例のようにデータに"?"が紛れてしまう問題が発生しています。原因は何でしょうか?
*何かの文字が"?"に置き換わっている訳ではないです。
*"?"が入る箇所の規則性も今の所見つかっていません。
(データ例)
?aaaaaaa ? ,bbbbbbb ? , ? ,0 ? ,0? ?,0,0,1,1,1?,2,0 ? 2
?aaaaaaa ? ,bbbbbbb? , ? ,0 ? ,?0 ? ,0,0,1,1,?1,2,0 ? 2
?aaaaaaa ? ,bbbbbbb ? , ? ,0 ? ,0? ?,0,0,1,1,1?,2,0 ? 2
?aaaaaaa? ,bbbb?bbb , ? ,0? ? ,0 ? ,0,0,1,?1,1,2,0 ? 2
実現したいこと
"?"を紛れさせずに、正しいデータをcsvに保存したい。
該当のソースコード
受信、csvへの保存はC#の以下のようなプログラムで行っています。
C#
1private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) 2{ 3 ReceivedData = serialPort1.ReadLine(); 4 data_csv = ReceivedData.Split(','); 5 6 StreamWriter writer = new StreamWriter(file_name , true); 7 writer.Write(String.Join(",", data_csv)); 8 writer.Close(); 9}
試したこと
TeraTermでは"?"が紛れていないデータをコンソール上で表示、.logに保存できることは確認しております。
最悪、読み取ったデータから"?"の文字列を削除して保存すれば目的は達せられそうですが、本質の問題を解決したく、どうぞよろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー