Q:如何设置QUARC模型的采样率?
A:采样间隔(1 /采样率)在QUARC模型的Simulink图配置参数的固定步长(基本采样时间)字段中设置。转到QUARC菜单| 选项| 求解。
注意:QUARC有一个演示模型,它使用QUARC目标库中的“ 采样时间 ”块来测量每个采样时刻之间的实际时间。类型qc_show_demos在MATLAB命令窗口中,点击“ QUARC Harware在回路时基演示 ”
Q:为什么我不能将采样率设置为高于1kHz(低于1 ms)?我收到一个错误,我的系统时钟不支持这个?
A:您需要使用QUARC Targets \ Data Acquisition \ Generic \ Timebases类别中的块。示例:使用HIL读取时基块而不是立即I / O类别中的HIL读取。时基块强制控制器使用DAQ定时器而不是PC时钟,然后您可以采用更高的采样率(取决于DAQ的功能)。
Q:尝试构建模型时,我收到以下错误:..quarc_sine_scope_demo.rt-win64:致命错误LNK1120:29未解析的外部NMAKE:致命错误U1077:’“C:Program FilesMicrosoft Visual Studio 10.0VCbinlink.EXE”’:return代码’0x460’停止?
A:QUARC模型的目标是为Windows 64位系统设置的。您正在Windows 32位系统上运行QUARC。要选择正确的目标,请在Simulink模型中转到QUARC – >选项 – >代码生成。在系统目标文件中,浏览quarc_windows.tlc。或者,您可以转到QUARC – >设置默认选项以进行快速修复
Q:我想以2 KHz运行QUARC模型。没有构建问题,但是当我尝试运行模型时,我收到以下错误消息:执行外部模式MEX文件’quarc_comm’时出错:无法设置基本速率值超出有效范围?
A:当在Simulink模型中仅使用QUARC的立即I / O块(例如HIL写入,HIL读取)时,最大采样频率为1 kHz(系统时钟)。为了实现更快的采样频率,QUARC的时基块(例如HIL读时基块,HIL写时基块)。请注意,最大采样频率由DAQ确定。
Q:尝试构建演示模型时,我收到以下错误:警告:无法创建模型“quarc_sine_scope_demo”的自动保存文件。使用rtw_create_directory_path时出错(第35行)创建文件夹’C:WindowsSystem32slprjquarc_win64quarc_sine_scope_demotmwinternal’时出错:访问被拒绝。
A:在用户没有完全权限的目录中构建模型时,通常会导致此错误。始终建议将MATLAB工作文件夹(即构建QUARC模型的位置)设置为用户具有完全权限的本地目录(例如,Documents,C:\ Users \ john \ Documents \ MATLAB
Q:如何修复MATLAB中出现的错误消息“gethostbyname()调用失败?
A:若要修复此错误,请按照下列步骤操作:
- 转到QUARC>选项下的模型选项
- 在左侧导航转到代码生成>接口
- 在数据交换下,单击传输层属性并选择“quarc”,即使它已被选中。这会强制MEX文件名更改为“quarc_comm”,这是我们运行QUARC模型所需的。
Q:我正在使用通过串行端口传输数据的传感器。如何在QUARC模型中接收该数据?
A:请查看我们的QUARC通讯演示。QUARC提供基本/中级/高级通信演示,您可以从QUARC帮助中获得项目中可用于串行通信的所有资源的完整文档。在MATLAB命令窗口中键入qc_show_demos,向下滚动并查找Communications Demos。您可以从“ QUARC Basic通信演示 ”开始。
Q:我的S功能在正常模拟模式下工作,但在外部模拟模式下不起作用?
A:并非所有S功能都与外部仿真模式下的实时操作兼容。这主要是由于MATLAB Coder和/或Simulink Coder工具箱不支持的C / C ++代码调用函数。如果必须在外部模式下为应用程序使用这些不受支持的功能,那么作为一种解决方法,您应该能够在两个QUARC模型之间设置QUARC通信客户端/服务器配置,一个在正常模式下运行,另一个在外部模式下运行。在此配置中,S-Function可以在为正常模拟模式配置的通信客户端Simulink模型中运行,并且在与外部模式运行的基于QUARC的Simulink模型(即通信服务器)之间发送/接收数据。客户端和服务器模型之间的实时通信可以使用QUARC Stream块轻松实现。有关如何执行此操作的详细信息和详细信息,请参阅QUARC通信内置演示。可以通过键入来定位这些演示MATLAB命令窗口中的 qc_show_demos。
Q:创建C / C ++ S函数的最简单方法是什么?
A:创建C / C ++ S函数的最简单方法是使用Simulink S-Function Builder。如果不需要硬件访问,嵌入式MATLAB函数也可以工作。有关更多信息,请访问以下The MathWorks™网站:
http://www.mathworks.com/help/simulink/s-function-basics.html
https://www.mathworks.com/help/simulink/sfg/how-to-implement-s-functions.html
http: //www.mathworks.com/help/simulink/sfg/s-function-examples.html
Q:为什么我不能在QUARC中构建和运行我的S函数?
A:以下是S-Function无法在QUARC中构建或运行的一些示例原因:
• 它包含与MATLAB Coder和/或Simulink Coder工具箱不兼容的功能(例如,来自某些MathWorks工具箱)。
• 它包含文件读/写运算符。
• 它包含或调用不受支持的第三方驱动程序。
• 它包含一个算法,MATLAB Coder和/或Simulink Coder工具箱本身可能不支持该算法用于实时执行(例如,非因果算法)。
此外,如果无法使用The MathWorks™通用实时(GRT)目标编译和运行自定义S函数,则它将与QUARC不兼容并可以使用。但是,如果它使用GRT目标进行编译和运行,则无法保证在QUARC中工作。QUARC在受保护的实时环境中运行,该环境可能不支持第三方驱动程序,特别是那些尝试访问Microsoft Windows GUI元素的驱动程序,例如窗口句柄(HWND)。
有关S函数的限制,请参阅以下The MathWorks™网站:http://www.mathworks.com/help/simulink/sfg/s-function-limitations.html
Q:我可以在QUARC中使用S函数吗?
A:QUARC使用MATLAB Coder和Simulink Coder工具箱生成代码。因此,只有与MATLABCoder和Simulink Coder工具箱兼容并用C / C ++编写的S函数才与QUARC兼容。请注意,Simulink Coder不支持M-File S-Functions。
有关C / C ++代码生成支持哪些工具箱的列表,请转到The MathWorks™网站上的以下页面:https://www.mathworks.com/help/coder/language-supported-for-code-generation html的
Q:是否可以使用QUARC获得20 kHz的采样率(采样时间为50us)?
A:请参阅QUARC帮助文档,并注意QUARC支持不同的目标。在这种情况下,您需要考虑QNX x86,这是唯一可以可靠处理20kHz的QUARC目标。
Q:我的Simulink模型中的Scope仅显示10秒的数据,如何增加它?
A:“ 外部信号和触发”面板中的“Simulink 持续时间”变量的默认值为10,000个数据点。例如,这设置了Simulink Scopes的默认缓冲区大小。使用Simulink工具/外部模式控制面板… /信号和触发…对话框可以轻松设置(例如,增加)此持续时间变量。此设置独立于QUARC。它可以增加系统的RAM可以处理的数量。例如,如果要显示运行时间为1 ms(即1 kHz采样)的控制器的20秒日期,则将“持续时间”设置为20 / 0.001 = 20000.确保范围的“数据历史记录参数”窗格已正确配置为好吧,即设置限制数据点到最后一个参数应该是相同的持续时间参数先前设置外部信号和触发。
Q:如何将数据保存到Workspace?
A:请参阅“ QUARC数据记录演示 ”。在Matlab命令提示符下键入qc_show_demos,向下滚动并查找演示,单击“ 打开此模型 ”,构建并运行它。它的QUARC帮助页面描述了该模型,并向您展示了如何将数据保存到工作区或文件中
Q:如何在QUARC中连接Logitech网络摄像头?
A:可以使用QUARC视频捕获块,假设QUARC目标上的操作系统支持网络摄像头。该块是QUARC 2.6(及更高版本)的一部分,目前由QUARC Windows和Linux嵌入式目标支持。然后,可以使用QUARC视频压缩显示块(在QUARC 2018或更高版本中)或QUARC视频显示块在主机上显示捕获的视频流。
Q:我可以从主机PC上运行的一个QUARC模型同时控制两个工厂吗?连接到目标PC#1和工厂2的工厂1连接到目标PC#2。
A:是的,这是可能的:
• 在Matlab命令窗口中键入qc_show_demos以访问所有QUARC演示模型。
• 向下滚动并查找“通讯”组。
• 运行“QUARC Basic Communications Demo”以了解“ Stream Server ”和“ Stream Client ”块的工作方式。
• 主机可能有两个Stream Server块。这些服务器块中的每一个都将与目标1和2通信。每个目标PC将具有将接收来自主机的数据的流客户端块。例如,您可以尝试向目标1发送方波,从主机向目标2发送正弦波,然后修改它以控制连接目标PC的工厂。