bacnet ルーターへのシリアル ポート通信を確立できました。
すべて順調です。ルーターの名前などを変更できます。
しかし、IPアドレスに書き込むと: 私のコード:
serialPort1.WriteLine("10.1.1.168");
//or
serialPort1.Write("10.1.1.168");
//It stores as '0.0.0.10'
また:
serialPort1.WriteLine("145.100.100.168"); //it stores as '0.0.0.145'
また:
serialPort1.WriteLine("145100100168"); //Im reaching lol
たとえば、ルーター名を変更できます。
serialPort1.WriteLine("Project1234"); //and it stores perfectly
変換 (バイナリ、16 進数、ipAddress) を実行しましたが、まだ不正な値が格納されています。
何か案は?ご協力いただきありがとうございます!!
更新 - これは私がこれまでに持っているものです:
IPAddress ip = IPAddress.Parse(txtWrite.Text);
Byte[] bytes = ip.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
string str = bytes[i].ToString();
MessageBox.Show(str);
serialPort1.Write(str+".");
}
serialPort1.Write("\r\n");
ただし、問題は、「192.168.168.5」が 3 桁を超える場合、「.」が追加されないことです。「1921681685」になります。(最後の小数点に注意してください。)しかし、「10.1.1.168」と入力すると、「10.1.1.168」として保存され、末尾に小数点がなく、そのIPアドレスに必要なものです。私は何を間違っていますか??
ご協力いただきありがとうございます。