使用 TCP/IP 捕获 Mettler Toledo IND560 的重量
Capture weight of a Mettler Toledo IND560 using TCP/IP
我正在尝试使用 C# 的 streamReader 和 streamWriter 类 从 IND560 捕获净重。似乎建立了连接,但无论我发送什么命令,我都会收到回复:83 命令无法识别。我在 IND560 的通信>模板>模板 1 的输出下看到命令 (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 的程序输出示例:
您需要为此目的使用读取命令(根据 link here)
Format: read SDV#1 SDV#2
Example 1: read wt0101 wt0103
Response 1: 00R003~ 17.08~lb~
那么,在你的情况下
read wt0101
read wt0111
在您的情况下,您需要在字段 ID (wt0101) 之前添加 "read"。
if (tcpClient.Connected)
{
Console.WriteLine("Sending CMD: {0}\n", cmd);
clientStreamWriter.Write($"read {cmd}" + '\n');
clientStreamWriter.Flush();
}
我建议为您的用户提供一个选项,将命令输入 "read" "write"、"help" 以及字段名称,以防您打算支持更多命令.
我正在尝试使用 C# 的 streamReader 和 streamWriter 类 从 IND560 捕获净重。似乎建立了连接,但无论我发送什么命令,我都会收到回复:83 命令无法识别。我在 IND560 的通信>模板>模板 1 的输出下看到命令 (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 的程序输出示例:
您需要为此目的使用读取命令(根据 link here)
Format: read SDV#1 SDV#2
Example 1: read wt0101 wt0103
Response 1: 00R003~ 17.08~lb~
那么,在你的情况下
read wt0101
read wt0111
在您的情况下,您需要在字段 ID (wt0101) 之前添加 "read"。
if (tcpClient.Connected)
{
Console.WriteLine("Sending CMD: {0}\n", cmd);
clientStreamWriter.Write($"read {cmd}" + '\n');
clientStreamWriter.Flush();
}
我建议为您的用户提供一个选项,将命令输入 "read" "write"、"help" 以及字段名称,以防您打算支持更多命令.