【问题标题】:Communicating between a PC and UR5 Universal Robotics Robot Arm using TCP/IP LabVIEW使用 TCP/IP LabVIEW 在 PC 和 UR5 通用机器人机械臂之间进行通信
【发布时间】:2015-06-18 20:37:53
【问题描述】:

我有一个通过以太网连接的 UR5 Universal Robotics 机器人手臂和 PC,我正试图通过 LabVIEW 相互交谈(只需来回发送字符串)。我已经设法使用 TCP Listen VI 和 TCP Read 功能读取机器人与 PC 的通信。但是,我无法使用 TCP Write 向机器人写入数据,甚至无法使用 TCP Open 连接初始化与机器人的连接。在机器人已经通过 TCP Listen 与我的计算机建立连接但发送了 0 个字节后,我尝试了 TCP Write。如何使用 LabVIEW TCP/IP 从 PC 向机器人发送字符串?如果有人有任何在 LabVIEW 中使用 TCP/IP 的经验,我们将不胜感激。

【问题讨论】:

  • 您能否发布一个指向机器人 TCP 规范的链接? TCP 非常开放,因此对于您需要发送的“命令”没有通用答案。如果您能够收听,听起来您的 IP 和端口是正确的(顺便问一下,您得到了什么?)。
  • 规范是 "TCP/IP 100 Mbit: IEEE 802.3u, 100BASE-TX" 。 PC 使用 "socket_send_string(insert string here)" 接收机器人发送的任何字符串,末尾有回车。
  • 0 字节写入客户端 - 表示客户端在将数据写入服务器或发生错误后立即关闭连接。所以我相信一定有一些设置要求客户端保持连接打开或者您使用相同的“客户端和服务器端口”,您可以发布通信代码的 sn-ps 吗?

标签: sockets networking tcp labview robotics


【解决方案1】:

几点:

  1. 提供的桌面 GUI 是否正常工作?这始终是第一步。

  2. 图片很有帮助,但我们需要知道您要发送的内容(即数据)。

您要发送的应该是来自我称之为“规范”的命令,即here

  1. 此外,当手册没有给出“示例”程序时,我总是会寻找像这样的用户示例one

所以我会尝试发送类似示例中的内容,例如“(0.1,0.4,0.4,0.01,3.14,0.01)”,以将机器人移动到某个地方或找到一些您知道应该可以使用的其他命令。

  1. 我会发送它,然后监听机器人的错误(我在手册中没有看到任何有关错误代码的信息,但可能有一个桌面 GUI 的帮助文件可以解释它们)。

  2. 我不会担心 LabVIEW 会说“写入了 0 个字节”。如果您认为问题出在 LabVIEW 或您的网络上——我将运行第二个 VI,它只是侦听随机端口并尝试向其写入命令。例如。 VI1 在端口 5876 上发送“命令 1”,VI2 在 5876 上侦听,应读取“命令 1”。

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    我设法解决了这个问题。 我将每个步骤按堆叠顺序放在一个框架中,并将写入功能放在读取功能之前。 我还在接收数据的机器人中循环了代码。事实证明,正如查理所说,连接超时了。感谢您的帮助:)

    【讨论】:

      最近更新 更多