使用 TCP/IP 捕获 Mettler Toledo IND560 的重量

我正在尝试使用 C# 的 streamReader 和 streamWriter 类从 IND560 捕获净重。似乎建立了连接,但无论我发送什么命令,我都会收到回复:83 命令无法识别。我在 IND560 中的 Communications>Template>output for template1 下看到了命令 (wt0111)。


代码如下,如果有人有任何建议可以帮助我继续前进,将不胜感激!


static void writeToStream(string cmd)

    {

        if (tcpClient.Connected)

        {

            Console.WriteLine("Sending CMD: {0}\\n", cmd);

            // tried with appending a \r, \n, and \r\n same result: 83 command not found

            clientStreamWriter.Write(cmd + '\n');


            clientStreamWriter.Flush();


        }


    }

这是显示响应 83 的程序的示例输出:

http://img2.mukewang.com/62ad8d610001caca03220288.jpg

米琪卡哇伊
浏览 154回答 1
1回答

宝慕林4294392

您需要为此目的使用读取命令(根据此处的链接)Format: read SDV#1 SDV#2Example 1: read wt0101 wt0103Response 1: 00R003~ 17.08~lb~ 所以,在你的情况下read wt0101read wt0111在您的情况下,您需要在字段 ID (wt0101) 之前添加“读取”。if (tcpClient.Connected){  Console.WriteLine("Sending CMD: {0}\\n", cmd);  clientStreamWriter.Write($"read {cmd}" + '\n');  clientStreamWriter.Flush();}我建议为您的用户提供一个选项来输入“读取”、“写入”、“帮助”的命令以及字段名称,以防您打算支持更多命令。
打开App,查看更多内容
随时随地看视频慕课网APP