是否有处理串口通信的设计模式?

时间:2008-12-19 17:03:56

标签: serial-port hardware serial-communication

我们正在使用一些新的切割工具,可以通过串口而不仅仅是控制面板改变硬件参数。

当硬件参数被更改时,硬件将花费几秒钟来重新配置自身,然后发出信号表明它已准备好使用。

在此之前我们的设置涉及操作员单击“切板”或“零件”命令。软件将显示一个对话框,允许操作员更改与运动相关的任何内容(速度,延迟等),并显示硬件应处于的配置。操作员验证完所有内容后,单击“确定”,机器开始切割。

对于新硬件,如果我们发送了一个更改,我们会提取当前配置,并抛出一个对话框,显示新配置的内容以及显示硬件是否准备就绪的指示器。并非所有内容都通过串口实现自动化,因此有时对话框必须保持不变,直到操作员单击“确定”。其他时候,当硬件发出正确信号时,它可以自行卸载。

我的问题(和问题)是通过串口执行此操作非常缓慢。这也是我们第一次完成这类工作。我担心我错过了一些解决方案,以使整个事情更具响应性。当我们从第三方购买切割硬件时,不能使用串口替代品。

我想做的另一件事是可以选择显示一个状态对话框,让它保持运行,而不会让串行通信陷入系统的其他部分。

我正在寻找Win32 API或.NET的提示。

2 个答案:

答案 0 :(得分:2)

一种选择是在一个单独的线程中运行串口通信,并让该线程将其状态报告给gui线程。 (调用)

这是我最近编码HID卡刷卡系统的方式。一个线程将卡刷卡记录到列表中。另一个线程将这些写入数据库系统。每个都报告给GUI线程。

答案 1 :(得分:2)

这取决于机器控制的交互性 - 你可以发送一个move to xy,cutto xy还是你需要不断监控机器并启动和停止电机?

如果机器相对聪明,那么我会把它当成绘图仪。在你的gui中建立一个命令列表然后提交它们。这样就可以很容易地测试机器的独立性。

您还可以拥有一个测试应用程序,该应用程序采用命令列表并在切割昂贵材料之前将其作为检查在屏幕上绘制。甚至可以将命令转换为类似HPGL或SVG的命令并直接显示它们。

相关问题