如何使用C#套接字通过以太网从Mettler Toledo IND560读取数据

时间:2019-04-03 07:15:54

标签: c# tcp ethernet

我正在尝试使用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();
        }

设备的预期响应为<12 ACCESS OK>,但不是。

这是怎么了?!

2 个答案:

答案 0 :(得分:0)

在《 IND560终端用户指南》中说:“ InSite™配置工具程序用于通过COM1串行端口或以太网端口刷新新的终端软件。”您是否尝试过与此程序连接?

答案 1 :(得分:0)

就我而言,我使用的是 IND780。命令序列为:

  1. 用户用户名
  2. 传递密码

在这两个命令之后,您现在可以读取重量,例如: 读wt0101 wt0102

我用过这个库: https://www.codeproject.com/Articles/19071/Quick-tool-A-minimalistic-Telnet-library