我叫帕斯卡,今年 19 岁。对于我的实习,我必须证明是否可以从鼠标接收 IR 坐标并将其以 Gcode 位置发送到 CNC 机床。
编程语言是Java。这不能再改变了。
基本思想是制作一个与鼠标和数控机床建立通信的程序。我已经有两个分开工作的程序。它被称为 SimpleWrite 和 MouseCoordinates(都是用 Java 编写的)。SimpleWrite 程序通过 com 端口写入特定消息。mousecoordinates 与鼠标建立连接并将 IR 坐标记录到控制台。
鼠标 ==> 电脑 ==> 数控机床。. IRcoordinates ==> 格式化为 Gcode ==> 通过 comport 发送
所以主要问题是:如何将这两个程序(其中包含一个主要方法)结合到一个工作程序中?因此程序开始与鼠标通信,并通过 comport 发送这些以 Gcode 格式格式化的坐标(使用 SimpleWrite 程序)。
我不是要向我展示解决方案,而是简单地提供一些搜索提示。我唯一的问题是我在Java编程方面不是很好,那么如果将这两个程序设置为一个工作程序,程序结构会是什么样子?
这个项目是保密的,所以它实际上不是鼠标,但概念也是如此。simplewrite 程序是开源的。
SimpleWrite:http ://www.java-samples.com/showtutorial.php?tutorialid=214
原谅我模糊的英语:)。
提前致谢。
问候帕斯卡
@编辑:
这些程序现在合并了。SimpleWrite 给我消息“Data verzonden”(表示已发送数据),然后连接鼠标并将坐标打印到控制台。实际上发送的数据仍然是messageString。
现在第一个问题已经解决了,下一个问题对我来说仍然是一个黑点。SimpleWrite 程序最初是为打开一个 comport 并通过该 comport 发送一个字符串“messageString”而构建的。结合这两个程序就像单独运行它们一样。
如何将传入的 x 和 y 坐标格式化为 gcode,然后发送 gcode 数据流,如 G0 X(x 坐标) Y(y 坐标) 而不是单个 outputStream.write(messageString.getBytes()); ?
所以它会像:G0 X30 Y30 G0 X31 Y31 G0 X32 Y32 等等....
我不知道传入的gcode之间有多少时间以及CNC机器是否会先缓冲这些命令(以及他可以缓冲多少)然后执行它们,但这是第三个问题:)。
完整的图片现在是:鼠标坐标到 pc ==> OK!USB 端口打开 ==> 好的!USB 端口流(单字符串)==> 好的! 鼠标 x 和 y 坐标 ==> Gcode 不行!鼠标 gcode ==> CNC 机器不行!
再次感谢。