我需要一些建筑指导。这是我的目标。
我有一块执行多种功能的机器人硬件(即它有几个不同的逻辑设备)。为了便于说明,我们假设它是一个带有可互换附件的机器人手臂。硬件具有单个串行端口,用于连接到PC,因此可以通过各种不同的应用程序进行控制。手臂本身和可互换的附件可通过单个串行端口进行寻址。
我需要提供一个服务,暴露几个接口。接口可能被称为:
IRobotArm
IGrabberAttachment
IDrillAttachment
等等。现在,这是棘手的部分。每个接口都需要由完全不同的隔离应用程序访问。因此,机器人手臂和抓取器附件可能同时由完全不同的应用程序控制 - 或者它们可能由同一应用程序控制。
这就是我的建筑之谜。如何为多个客户端应用程序提供多个接口,同时确保只创建一个串行端口实例,并且可以正确序列化命令等。
还有一个额外要求:我将使用.NET / C#,但客户端应用程序可能期望使用COM接口,因此该解决方案需要与COM Interop一起使用。
想法!
答案 0 :(得分:3)
您需要一个实际打开串行端口并发送/接收数据的控制器进程。
暴露这些接口的DLL应该与控制器进程通信,而不是直接与串口通信。
答案 1 :(得分:1)