我们会发现,一般软卡的基础版本的价格跟硬卡相当。这就带来选择性的问题。
问题1:凭什么要选择软卡?
有几个理由:
软卡支持的轴数可以是2轴到128轴,不占用pci槽,也不用插多张卡
软卡有一些特殊功能的支持,更方便编程,例如IO翻转、轴到位的事件通知等。这些功能是硬卡没有的功能。
实时性工艺要求,例如必须在精确时间内触发某段行为的设备,windows因为是分时系统就不能保证。
软卡一般分两种功能,一是在windows调用api的方式,此方式跟硬件的使用方式基本一样。
二是在实时系统下运行用户代码。
问题2: 以上两种方式,你怎么选择?
这个问题要从几个方面考虑。
你运用实时系统的话 ,设备是不是有这种应用场景?
实时系统是软卡额外收费的功能,你的设备是不是有实时性的要求?
对于没有实时性要求的设备, 只运行在windows下面,以api的方式调用就可以了。
你的运动程序是否要和视觉或者ai共用一台电脑?
在共用一台电脑的情况下,视觉或者ai可能会比较吃cpu,对运动程序的时序有影响。
如果此时用实时系统,即使cpu被视觉占到90%以上,对运动程序都没什么影响。
但是实时系统不可能把整个运动程序都放进去,它只能是控制台类型程序,不支持UI,对线程、内存等资源支持有限,因此只能考虑把关键代码放在实时系统中。

