问题标签 [zaber]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
labview - 移动时跟踪 Zaber 设备的位置
我正在编写一个LabVIEW VI来移动Zaber线性执行器,我想在设备移动时每隔几毫秒记录一次设备的位置。
我已经安装了Zaber 的 LabVIEW 驱动程序并使用它的示例来让我的执行器移动,但是我如何在这些移动期间读取位置?
.net - 在多个串行端口上编写 Zaber 设备脚本
是否可以将 Zaber 设备连接到多个串行端口并通过单个脚本控制它们?该脚本在Zaber Console中运行,并且应该能够协调任一端口上的设备之间的运动。
labview - LabVIEW中Zaber设备的错误处理
在编写LabVIEW VI来控制Zaber设备进行长时间测试时,它能否从错误中恢复并继续测试,同时在字段中显示错误文本?VI 使用Zaber LabVIEW 驱动程序。
labview - LabVIEW中Zaber设备的意外响应
当使用Zaber 的 LabVIEW 驱动程序来控制他们的设备时,它有时会返回对命令的奇怪响应。例如,发送“绝对移动”命令可能会返回“设置目标速度”响应或“手动移动跟踪”响应,而不是预期的“绝对移动”响应。是什么原因造成的,如何避免?
c++ - Zaber 设备的示例 C++ 代码
看起来Zaber 设备的串行协议实现起来非常简单,但是有没有可用的 C++ 示例代码?
.net - 暂停和恢复 Zaber 控制台脚本
我使用Zaber 控制台编写了一个脚本来控制一个循环执行多个步骤的 Zaber 设备。如何在循环中间暂停它并恢复它而不必回到开始?
c# - 使用传感器读数协调 Zaber 设备的运动
我在Zaber 控制台中编写了一个脚本来控制我的阶段,但现在我想在移动过程中获取一些传感器读数。我想移动阶段,阅读,然后再次移动阶段。有时传感器读数会影响我需要做的动作。如何协调运动与传感器读数?
我想在一个串口上与我的 Zaber 设备通信,而在第二个串口上与我的传感器通信。
c# - 诊断 Zaber 设备的通信问题
当我编写软件来控制 Zaber 设备时,我有时会遇到我不理解的奇怪行为。通常它是由我的脚本或其他软件中的错误引起的,有时是硬件问题,例如串口连接松动。
如何准确查看我的软件发送的命令以及设备的响应方式?我想要一种可以搜索的日志文件,以查看导致错误的原因。
大多数情况下,我使用 C# 在 Zaber 控制台中编写脚本,但我也使用 Zaber 仪器驱动程序编写 LabVIEW VI。
python - Python,用于与 Zaber TLSR300B 通信的 pyserial 程序
我还是新手,所以如果我犯了任何错误或我的问题不够具体,我深表歉意,请纠正我!我正在开发一个程序,用于通过串行连接控制激光实验室中的两个 Zaber TLSR300B 直线运动轨道。我使用 pyserial 与他们通信没有问题,我已经能够写入和读取数据了。我的问题更多是关于如何构建我的程序以实现所需的功能(我很少接受正式的编程培训)。
我希望程序做的是提供许多方法,允许用户向轨道发送命令,然后返回轨道响应的内容。但是,我不希望程序在检查响应时挂起,所以我不能只用写命令后跟读命令来编写方法。对于某些命令,轨道会立即响应(返回 ID、返回当前位置等),但对于其他命令,轨道会在执行请求的操作后响应(移动到位置、移动回家等)。例如,如果发送 move_absolute 命令,则轨道将移动到所需位置,然后发送带有新位置的回复。此外,可以使用物理旋钮手动移动轨道,这会使它们在移动时不断发送当前位置(这就是我需要连续读取串行数据的原因)。
我在下面附加了代码,当有数据要读取并将其放入队列时,我实现了一个线程以从串行端口读取数据。然后另一个线程从队列中取出项目并处理它们,修改存储每个轨道当前属性的 ZaberTLSR300B 对象的适当值。底部的方法是我希望用户能够调用的一些方法。他们只需将命令写入串行端口,然后由连续运行的读取线程获取和处理响应。
我遇到的主要问题是这些方法不知道轨道响应什么,因此它们无法返回回复,我想不出解决这个问题的方法。所以我不能写这样的东西:
或者
这最终是我希望用户能够做的(也是因为我想在未来在此之上实现某种 GUI)。
无论如何,我是否以正确的方式解决这个问题?或者有没有更简洁的方法来实现这种行为?如果需要,我愿意完全重写一切!
谢谢,如果有什么不清楚的地方请告诉我。
Zaber TLSR300B 手册(如果需要):http ://www.zaber.com/wiki/Manuals/T-LSR
代码:
轨道经理课程
zaberdevices.py ZaberTLSR300B 类
console - 如何使用 Zaber 控制台脚本担任特定职位?
我正在尝试使用 Zaber 控制台编写一个简单的脚本。我基本上必须将我的机械臂移动到某个位置(即43.9mm)保持该位置10分钟,然后回到原位。
我找到了所有移动命令(快/慢和一定的加速度),但我不明白如何告诉机器在 43.9 毫米位置停留 10 分钟。
有什么建议么 ?我正在用“这种语言”编码:
非常感谢。
里卡多