问题标签 [cnc]

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.

0 投票
1 回答
50 浏览

cnc - 如何用 G41 语法指定刀具偏置

假设在侧铣操作期间,使用 40mm 直径刀具,因此使用如下语法指定偏移:

根据我从上述语法中的理解是,D 后面必须跟一个通过将工具直径除以 10 获得的数字。我说的对吗?我见过另一个使用 25mm 直径工具的示例,并且 D 后面是 2 而不是 2.5(25 除以 10)。怎么会?

你能解释一下必须跟“D”后面的数字是如何获得的吗?

0 投票
0 回答
232 浏览

python - 如何从 python 创建网格和实体,以导入 CAD 软件

编辑:由于取得了进展,问题现在有所不同。

我希望能够从点云(3D 扫描)生成网格,然后将其转换为实体,以便我可以将其导入 CAD 程序,例如 fusion。

提前致谢。

0 投票
1 回答
520 浏览

st - 在 B&R 的 Automation Studio 软件中的 ST 程序中从文件中执行 g 代码

我有一个类似于 CNC 轴的 3 轴系统和一个 B&R 的 PowerPanel。现在我计划执行 g 代码,该代码是从位于 Downloads 文件夹中的 fe 文件中读取的。这将通过 B&R Automation Studio 的 fbs 完成。

我对帮助感到困惑,因为它在 drive engineering/mapp Motion/technologie/function block/mpcnc3axis/description的部分中moveProgram说,它将您重定向到MC_BR_MoveProgram\description。您可以使用 [程序名称前缀] [文件设备名称:] [路径] 程序名称语法来启动程序。现在我不确定如何将它包含在我的MpCnc3Axis代码中,或者我是否可以MpCnc3AxisParType ProgramName部分使用语法从 fe 下载文件夹启动程序,因为它不适用于McPrgAdvParType InitProgramName.

任何指向相关材料的链接将不胜感激。

如果它更容易,我也会接受使用 C 的解决方案。

0 投票
2 回答
451 浏览

opc - 西门子 Sinumerik Cnc 是否提供 Opc 服务器?

我对 siemens sinumerik cnc 和 kepserverex 之间的连接进行了研究。opc 服务器是否可用 810 d 和 840d sl x 127 ?

在查看 kepserver 站点时,有一篇关于它的帖子,如何将 sinumerik cnc 与 kepserverex 连接。关于这篇文章,有 3 种方法可以做到这一点。我必须弄清楚必须选择哪种方式或多种方式。

如果 opc server 可用,那么 opc da 或 opc ua 哪个可用?

0 投票
1 回答
127 浏览

python - 这个空白是从哪里来的?

我正在为我的自制笔式绘图仪生成 GCODE 的 python 脚本的输出进行后处理。

后处理器在我的 GCODE 中紧跟关键信息位之后(在每个 X 和 Y 坐标值之后)添加了一个空格,导致 GCODE 变得无效。

它的外观示例: 应该

我的输出外观示例: 看起来

我试图从可疑的代码片段中删除 \s 运算符,我尝试在各个区域使用 .lstrip() 来删除空格,但无济于事。我还删除了代码中存在的所有双空格,到目前为止没有任何帮助。

我怀疑这段代码正在这样做:

我希望能够找出空白的来源,我可能没有显示正确的代码,所以我已经链接了源文件。它出现在第 2648 行和第 5440 行,还有一个似乎相关的圆形函数。

这是完整代码的pastebin: https ://pastebin.com/s8J1H8r6

0 投票
1 回答
358 浏览

raspberry-pi - 使用 USB 电缆将 uart 通信发送到板外电机控制器?

我正在尝试使用树莓派上的 pyserial 在 python 中创建一个虚拟 com 端口来控制 tinyg cnc 微控制器。tinyG 控制器看起来像是接受纯文本,如果我能弄清楚如何将 USB 电缆连接到虚拟 COM 端口,则可以通过串行连接发送。“TinyG 通过由 FTDI 芯片(USB 串行仿真)终止的单个 USB 串行通道进行通信。” 这个简介来自网站。所以我想我应该能够通过 USB 电缆发送串行数据。

我一直在尝试使用 "port = serial.Serial("/dev/ttyS0", baudrate = 115200) 以及路径 "/dev/ttyAMA0" 在树莓派上设置一个 com 端口

我收到了一些错误,说“引发串行异常(“无法打开端口.....”)等无法打开端口,没有这样的文件或目录:“/dev/ttyS0”

0 投票
1 回答
667 浏览

arduino-uno - 重置 GRBL 命令在 arduino IDE 串行监视器中不起作用

我正在用我的 Arduino Uno 测试 Grbl CNC Shield。除 ctrl-x 命令外,一切正常。我在 Arduino IDE 串行监视器上试过,但它似乎无法识别。

有人如何解决这个问题?任何帮助,将不胜感激。

我试过:用 x 按住 Ctrl 并没有发生任何事情。发送 ^X 或 ^x 但控制台响应“错误:例外命令信”在控制台上发送 0x18 并响应“错误:错误数字格式”

当重置命令被触发并且它处于警报锁中时,它应该重置 grbl 并再次显示该消息。如果 grbl 正常运行,也会发生这种情况

0 投票
1 回答
166 浏览

python - 我的客户端程序使用 python socket api 只接受来自服务器的一个字节

我正在尝试从 CNC HAAS 控制器获取机器数据。它有一个称为 MDC 的内置软件,它充当服务器。我需要编写一个客户端程序来向 MDC 的 IP 和端口号发送请求。当我发送一个请求并接收它时,似乎服务器一次发送一个字节,所以我一次只能捕获一个字节,其他的就丢失了。如何获取全部数据。我正在使用 Python 的 socket 模块。

根据 Stack Overflow 上的上一个问题,我使用了一个 while 循环,但似乎服务器正在发送数据并关闭连接,当我的客户端程序再次循环时,其他数据丢失并且连接是关闭。

预期的输出是:

我得到的输出是>,它只是实际输出的第一个字符(字节)。

0 投票
0 回答
17 浏览

api - 使用蓝牙添加我自己的文件或将文件重写到蓝牙连接的 cnc

我有一个启用蓝牙的 CNC(钥匙切割器),我通过手机通过应用程序控制它(ios,但 android 也有等效功能)。我需要能够通过蓝牙或 USB 直接访问机器(已经在 pc 上尝试过),这样我才能尝试找到正确的内存偏移和值,这样我就可以更改已经存在的“切割配置文件”的预编码名称、值(不确定这些文件是否在 CNC 或应用程序中)。

尝试对应用程序进行逆向工程似乎是在浪费时间,直到我至少可以辨别哪些文件保留在 cnc 上,以及哪些文件保留在应用程序中。

我有内存编辑器的经验,例如作弊引擎,一点 C / C++。

我曾尝试搜索基于蓝牙的解决方案,但这只是基本的文件传输说明。该应用程序无法直接访问任何类型的文件。

任何帮助指出我从哪里开始解决这个问题的正确方向,或者您认为相关的参考材料都会有所帮助。

0 投票
0 回答
34 浏览

c# - 使用带有结果验证的命令

我有一个类服务,它控制连接和数据交换 beetwen CNC shell 程序和 CNC 控制器。该类实现了一些方法,其中 GetResponse 方法。

此方法将命令发送到 cnc 控制器。可能成功,也可能失败。方法返回操作成功。“字符串结果”返回错误代码,如果操作成功则返回空字符串。有时我需要发送命令 J+(慢跑)和 A(停止慢跑)。命令 J+ 执行机器的连续点动。命令 A 停止此慢跑。控制器通过以太网连接。有时 GetResponse 方法可能不会发送命令并返回 false。但如果它不发送命令 A(停止慢跑),那么我就有大问题了,机器不要留下来。

我可以在“while 循环”中执行 GetResponse 方法,但它不返回成功,但如果它不返回成功,我将遇到新问题 - 死锁我的程序(无限 while 循环)。

我也可以实现命令队列,当命令成功执行时,此方法将释放队列。但如果队列太满,命令将无法及时执行,A 命令(停止慢跑)执行得太晚。在这种情况下是否有最佳实践?