我一直在努力为两个方向的小型直流电机开发速度控制,但我似乎无法让它工作。如果我只在一个方向使用它,速度控制工作正常。以下是它的工作方案:
1)我运行程序并从(0,100)旋转我的占空比旋钮。由此产生的动作是我的电机顺时针速度控制 - 完美
2)我运行程序,然后从[-100,0]旋转我的占空比旋钮。由此产生的动作是在我的电机上逆时针速度控制 - 完美。
当我从CCW过渡到CW或CW到CCW时出现问题:
3)我在(0,100)域中运行程序,但是,当我转换到[-100,0]域时,我得到了我的图片中包含的错误,它突出显示了DAQ助手 - 不好。
DAQ助手配置为在为真时输出到AO(0),在为假时输出到AO(1)。最后,两个DAQ助手都已配置为连续采样。
最后,我还使用电机驱动器与电机连接。任何想法如何绕过50103错误,我无法弄明白。
答案 0 :(得分:1)
根据您的图像,在您使用的任何DAQ设备上似乎只有一个模拟输出定时引擎。我还假设在True情况下有第二个DAQ助手模块来处理正占空比。
您收到错误,因为运行的第一个DAQ助手是保留AO硬件资源,以便在第二个DAQ助手尝试控制硬件时,它不能。
修复方法是始终使用两个通道并仅使用一个DAQ助手。生成数据时,使用控制信号填充“活动”通道,使用0填充“非活动”通道。
答案 1 :(得分:1)
我想为Joe提到的内容添加更多细节和提示。在案例4下的KnowledgeBase4T6CQKBP: Causes of NI-DAQmx Error -50103 "The Specified Resource is Reserved"中有关于此错误的更多详细信息:
使用多个DAQ Assistant Express VI访问 相同的数据采集板可能会因为每个Express而导致此错误 VI创建一个单独的任务。不可能有多个DAQmx 尝试访问同一物理设备的任务。就这样吧 在数据采集完成后清除每项任务所必需的。 DAQ Assistant Express VI的停止输入将停止任务和 在Express VI完成执行时释放设备资源。
使用DAQ Assistant Express VI会遇到像这样的开发限制。您应该考虑转换到基于任务的解决方案(这是Express VI在幕后实现的)。要开始使用此功能,您可以实际将DAQ Assistant Express VI转换为基于任务的代码,