tcp 讀取plc下位機的簡單連線,讀取,修改方法 (ASCII 碼方式)
阿新 • • 發佈:2019-01-30
//建立接收資訊的陣列和客戶端例項
private static byte[] result = new byte[1024];
IPAddress ip = IPAddress.Parse("192.168.1.11");
int port1 = 10011;
Socket clientsocket1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//連線伺服器方法
public void conn()
{
try
{
clientsocket1.Connect(new IPEndPoint(ip, port1));
}
catch
{
clientsocket1.Shutdown(SocketShutdown.Both);
clientsocket1.Close();
private static byte[] result = new byte[1024];
IPAddress ip = IPAddress.Parse("192.168.1.11");
int port1 = 10011;
Socket clientsocket1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//連線伺服器方法
public void conn()
{
try
{
clientsocket1.Connect(new IPEndPoint(ip, port1));
}
catch
{
clientsocket1.Shutdown(SocketShutdown.Both);
clientsocket1.Close();
}
}
//獲取2000到2003資料
clientsocket1.Send(Encoding.ASCII.GetBytes("500000FF03FF000018001004010000W*0020000004"));
int receiveLength1 = clientsocket1.Receive(result);
s1 = Encoding.ASCII.GetString(result, 0, receiveLength1);
public void writeW1A1()
{
clientsocket1.Send(Encoding.ASCII.GetBytes("500000FF03FF00001C001014010000W*00001A00010001"));//改寫w1A為1
int receiveLength3 = clientsocket1.Receive(result);
}