【发布时间】:2019-04-03 07:15:54
【问题描述】:
我正在尝试使用 c# 应用程序连接到 Mettler Toledo IND560 秤设备。 RS-232 连接一切正常,但以太网却不行。
按照 Mettler Toledo 技术指南中的说明,我使用了超级终端(端口 1701),但没有运气。它总是显示连接错误。
与 C# 应用程序相同(例外:无法建立连接,因为目标机器主动拒绝它 192.168.1.xx:1701)。
private const int PORT_NUMBER = 1701;
private const string cmd = "user admin";
try
{
TcpClient client = new TcpClient();
client.Connect("192.168.1.11",PORT_NUMBER); //Error here
Stream stream = client.GetStream();
StreamWriter writer = new StreamWriter(stream);
StreamReader reader = new StreamReader(stream);
if (client.Connected)
{
Console.WriteLine("Connected to Mettler Toledo IDN560");
Console.WriteLine("Sending command: {0}\\n", cmd);
writer.Write($" {cmd}" + '\n');
writer.Flush();
Thread.Sleep(1000);
string str = reader.ReadLine();
Console.WriteLine(str);
}
else
{
Console.WriteLine("Error");
}
Console.ReadKey();
}
catch (Exception ex)
{
Console.WriteLine(ex);
Console.ReadKey();
}
设备的预期响应是 ,但事实并非如此。
这里有什么问题?!
【问题讨论】:
-
由于您无法连接到终端程序,它可能不是您程序中的内容。您如何确定设备的 IP 地址?你能ping通吗?
-
我用板载终端设置设备IP为192.168.1.11,可以ping通。
-
它适用于不同的 IP 和 Port ,接受这 2 个私有 const 变量。他们确实在不同的端口进行了设置。