如何使用以太网连接从秤读取重量[关闭]

2024-01-14

我有一台 Mettler Toledo XS32000L 秤,我只是尝试通过以太网连接和 VB.net (2010) 应用程序读取重量。我找到了大量有关串行(COM)连接的信息/代码,但没有找到有关以太网连接的信息/代码。

通讯方式:客户端&服务器 远程主机地址:192.168.0.2。 远程主机端口号:8001 本地服务器端口号:8000(秤IP:192.168.0.1)

我能够通过回复对秤进行 ping 操作。我尝试过使用超级终端,但没有成功。任何帮助将不胜感激,并希望这篇文章可以帮助许多其他人。谢谢!

其他资源

具有串行连接的 VB 应用程序代码:http://control.com/thread/1240210560 http://control.com/thread/1240210560

另一个有用的链接(但不适合我):http://vb.net-informations.com/communications/vb.net_socket_programming.htm http://vb.net-informations.com/communications/vb.net_socket_programming.htm


好吧 - 尽管有批评,我还是会在经过几个小时的研究后发布解决方案。我创建了一个 TCP 客户端并修改了设置(IP、端口等),希望这对未来的程序员有所帮助!

Imports System.Net.Sockets

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Call Connect("192.168.0.1", "S" & vbCrLf)
End Sub

Shared Sub Connect(ByVal server As [String], ByVal message As [String])
    Try
        ' Create a TcpClient. 
        ' Note, for this client to work you need to have a TcpServer  
        ' connected to the same address as specified by the server, port 
        ' combination. 
        Dim port As Int32 = 8000
        Dim client As New TcpClient(server, port)

        ' Translate the passed message into ASCII and store it as a Byte array. 
        Dim data As [Byte]() = System.Text.Encoding.ASCII.GetBytes(message)

        ' Get a client stream for reading and writing. 
        '  Stream stream = client.GetStream(); 
        Dim stream As NetworkStream = client.GetStream()

        ' Send the message to the connected TcpServer. 
        stream.Write(data, 0, data.Length)

        'Console.WriteLine("Sent: {0}", message)
        MsgBox("Sent: {0} " & message)
        ' Receive the TcpServer.response. 
        ' Buffer to store the response bytes.
        data = New [Byte](256) {}

        ' String to store the response ASCII representation. 
        Dim responseData As [String] = [String].Empty

        ' Read the first batch of the TcpServer response bytes. 
        Dim bytes As Int32 = stream.Read(data, 0, data.Length)
        responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
        'Console.WriteLine("Received: {0}", responseData)
        MsgBox("Received: {0} " & responseData)

        ' Close everything.
        stream.Close()
        client.Close()
    Catch e As ArgumentNullException
        'Console.WriteLine("ArgumentNullException: {0}", e)
        MsgBox("ArgumentNullException: {0}" & e.Message)
    Catch e As SocketException
        'Console.WriteLine("SocketException: {0}", e)
        MsgBox("SocketException: {0}" & e.Message)
    End Try

    MsgBox("Got to this point in code")

    'Console.WriteLine(ControlChars.Cr + " Press Enter to continue...")
    'Console.Read()
End Sub 'Connect

End Class
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用以太网连接从秤读取重量[关闭] 的相关文章

  • 拆箱未知类型

    当类型本身未知时 我试图找出支持将整数类型 short int long 拆箱为其内在类型的语法 这是一个完全人为设计的示例 演示了这个概念 Just a simple container that returns values as ob
  • 使用 linq 2 实体检查 where 子句的两个条件

    嗨 我有一个名为 产品 的表 其中包含列 product id prodcut name prodcut price values like 1200 2000 3000 100 prodcut desc category id 1 2 3
  • 如何将 AverageTimer32 和 AverageBase 性能计数器与 System.Diagnostics.Stopwatch 一起使用?

    当我执行以下程序并查看性能计数器时 结果对我来说没有意义 平均值为零 最小 最大值为 0 4 而我期望 0 1 或 100 我的问题是什么 Code class Program const string CategoryName Test
  • 使用空值初始化枚举

    如何创建具有空值的枚举 ex public enum MyEnum StringValue X MyX StringValue Y MyY None 其中 None 值为 null 或 String Empty 你可以尝试这样的事情 pub
  • 动态版本控制

    我有一种情况 我希望版本控制在构建时是动态的 版本图案
  • .NET CIL 评估堆栈的操作

    我有通过使用注入的 CIL 代码序列Mono Cecil 但是 修改后的 NET C 应用程序将无法运行 客观的 手动从堆栈中加载和弹出值以显示在Console WriteLine for int i 0 i lt 3 i int z so
  • VS 2010、NUNit 和“当前不会命中断点。尚未为此文档加载任何符号”

    使用 Windows 7 32 位 VS 2010 NET 4 DLL NUnit 2 5 5 对应用程序进行单元测试 我目前收到以下错误 看了很多帖子并尝试了以下方法 重启机器 重启VS 删除 bin obj 并重新加载 清理 重建 但我
  • C# 可以扩展数组吗?

    我习惯向 IEnumerable 等外部类添加方法 但是我们可以在 C 中扩展数组吗 我计划向数组添加一个方法 将其转换为 IEnumerable 即使它是多维的 不相关如何在 C 中扩展数组 https stackoverflow com
  • WPF - 检测鼠标按下一段时间

    检测鼠标按钮何时在特定元素上按住特定时间段的最佳方法是什么 感谢您的提示 我创建了一个附加属性以避免任何代码隐藏 using System using System Windows using System Windows Threadin
  • 转换BitmapImage后内存未释放

    我遇到以下 C 测试 代码的问题 public static void TestBitmap2ByteArray BitmapImage bitmap JpegBitmapEncoder encoder new JpegBitmapEnco
  • 服务具有零个应用程序(非基础设施)端点

    我最近创建了一个WCF服务 dll 和一个服务主机 exe 我知道我的 WCF 服务工作正常 因为我能够成功地将服务添加到 WcfTestClient 但是 当我从服务主机 exe 使用 WCF 时 我似乎遇到了问题 我可以将对 WCF d
  • WinApi:获取 COM 表单的控件名称

    我想用 Net 框架替换我当前的 UI 自动化工具 QTP 我需要测试 VB6 COM 应用程序 框架的基础之一是使用表单名称 到目前为止 我未能找到使用 Win API 获取这些数据的方法 该解决方案只有一个约束 即该解决方案必须依赖 N
  • 从 C# 检测 powerpoint 形状上的事件

    是否有可能检测在 Powerpoint 形状 例如箭头 上发生的事件 到目前为止 我发现唯一的可能性是 selectitemchanged beforerightclick 和 beforedoubleclick 但无法找到检测其他内容的方
  • 服务层设计。将事物放入服务层的原因

    我有一些与设计相关的问题 should service layer interfaces居住在一个domain layer 例如user service 将代码部分移动到单独层的主要原因是什么 should service layer居住在
  • 去除字符串的最佳方法是什么?

    我需要具有最佳性能的想法来删除 过滤字符串 I have string Input view 512 3 159 删除 view 和 的最佳性能方法是什么 和引号 我可以做这个 Input Input Replace view Replac
  • 伪TCP通道

    什么是伪 TCP 通道以及如何实现 伪 TCP 是一种协议 它实现了 TCP 的一些思想 通过不可靠的基于数据包的接口提供可靠的数据流 例如 如果您只能访问 UDP 但想要 一种可靠的方式来传递数据 则可以使用此方法 您可以在这里找到示例代
  • 运行 t4 脚本作为 resx 文件的自定义工具

    我有一个资源文件MyResource resx 我想改变MyResource Designer cs文件生成 我有一个 t4 脚本 它接受 resx 文件作为输入并给出结果转换 但是 我必须手动运行此 t4 才能使其工作 我看到 resx
  • 如何动态加载包含非托管代码的原始程序集?(绕过“无法验证的代码失败策略检查”异常)

    我将举一个使用的例子系统 Data SQLite DLL http sqlite phxsoftware com 这是一个包含非托管代码的混合程序集 如果我执行这个 var assembly Assembly LoadFrom System
  • Confuser .NET 混淆器。安全吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我目前正在开发一个应用程序 其中阻止用户反编译代码非常重要 现在 我意识到 如果由经验丰富的程序员执行 大多数 exe 都是可反编译的
  • ASP.NET MVC 中 ModelState.AddModelError 中的关键参数有什么意义?

    我在我的控制器中添加了验证检查来修改ModelState如果验证失败 例如 private bool ValidateMoney string raw string name decimal min decimal max try var

随机推荐