如標題
這是一個傳送...16進位資料到 邏輯機器的指令範本...通常邏輯機器要驅動或者讀資料都會有
固定碼+命令碼.....
類似0101 << 固定碼 (由廠商定義....)
指令碼1231 << 指令碼
所以要傳送.... 01011231 這樣子機器才會有動作...
////////////指令傳送的sample////////////
TcpClient tcp = new TcpClient();
bool IsCoo = tcp.Connect(sIP01, 6666); //連線 (IP , port)
tcp.Wait(500); //等0.5秒
byte[] bytes = HexToByte("00300101"); // 16進位 TO BYTE 範本
tcp.Send(bytes, 0, bytes.Length); //傳送
tcp.Wait(500); //等0.5秒
tcp.Stop(); //斷線
tcp.Dispose(); //釋放資源
private byte[] HexToByte( string hexString)
{
//運算後的位元組長度:16進位數字字串長/2
byte[] byteOUT = new byte[hexString.Length / 2];
for (int i = 0; i < hexString.Length; i = i + 2)
{
//每2位16進位數字轉換為一個10進位整數
byteOUT[i / 2] = Convert.ToByte(hexString.Substring(i, 2), 16);
}
return byteOUT;
}
參考這網址
https://github.com/int2e/HPSocket.Net
https://www.nuget.org/packages/HPSocket.Net/5.7.1.5
Nuget也可以安裝
可分為tcp client 跟 server ,主要是用在機器傳送命令控制, 關鍵字就是 PCL mobus TCP/IP 指令, 16進位2進位 ASCII 相關指令碼
以上文章僅用紀錄資料使用.....