通过防火墙排查通信故障 (Windows)
尝试使用 Simulink Real-Time 资源管理器连接到 Speedgoat® 目标计算机时,会出现此错误信息。
Error: Cannot connect to target 'TargetPC1': Cannot connect to target.

即使连接失败,点击 Simulink Real-Time 资源管理器中的 Update 按钮或 Reboot 按钮仍可正常工作。这些操作表明目标计算机可通过以太网端口访问。
问题含义
在 R2020b 及后续版本中,Simulink® Real-Time™ 用于开发机与目标机连接的协议,在 Windows Defender 防火墙中默认会被屏蔽,该屏蔽针对被归类为公共网络的环境。Windows 默认将所有以太网连接都归类为公共网络。
若首次运行 MATLAB® 时未选择正确选项,则可能通过 MATLAB 对目标计算机执行 ping 操作、更新及重启。然而,这些错误的选项选择会阻碍与目标计算机的通信连接。此通信连接对于在目标计算机上加载和运行实时应用程序是必要的。
尝试这些解决方法
通过允许 MATLAB 在所有类型的网络上进行通信来解决此问题。首次连接时按提示应用此设置,或稍后通过 Windows Defender 防火墙的 Allow an app through Windows Firewall 选项应用此设置。若因权限限制无法实现,也可通过将开发机与目标计算机连接所用的以太网接口分类从"公共"改为"私有"来解决此问题。
注意
若您按照Create Standalone Instrument Panel App by Using Application Compiler所述开发了编译应用程序,请应用这些解决方法,使编译应用程序能够通过防火墙与目标计算机通信。
通过使用提示允许 MATLAB 在公共和私有网络中使用
当您首次尝试连接目标计算机时,Windows Defender 防火墙会提示您允许 MATLAB 在私有和公共网络上进行通信。请确保同时选中 Private 和 Public 选项。默认仅选中一项。

点击 Allow access。
手动允许 MATLAB 访问公共和私有网络
从 Windows® 开始菜单中,搜索 Allow an app through Windows Firewall。

点击 Allow an app through Windows Firewall 选项。
在 Allowed apps and features 列表中向下滚动,找到您正在使用的 MATLAB 版本。此规则应适用于应用程序路径:
C:\Program Files\MATLAB\RXXXXx\bin\win64\matlab.exe
其中 RXXXXx 表示版本号。您可以通过双击规则来显示此路径。若缺失,可手动添加此规则。
如果同时选中了 Private 和 Public 复选框,请参阅 将开发到目标计算机的以太网接口配置为私有。

点击 Change settings 按钮并确认安全对话框。请确保选中 Private 和 Public 框。可能存在 Domain 选项或其他选项,但这些选项与 MATLAB 网络访问配置无关。

将开发到目标计算机的以太网接口配置为私有
您可以使用 Windows 用户界面或 PowerShell 命令行窗口,将开发机到目标机的以太网接口配置为私有。如果本地 IT 政策禁止将接口配置为私有,请参阅 Why can I ping my Speedgoat target and update the software, but the connection from MATLAB fails?
Windows 用户界面方法
Windows UI 方法操作简单,但根据您的系统配置,该方法可能不可用。如果不行,请使用 PowerShell 命令行窗口方法。
在 Windows 任务栏右下角(时钟旁边)右键点击 Wi-Fi® 或以太网网络图标。
选择 Open Network & Internet 设置。
在 Ethernet 部分下,点击 Properties。
选择 Private 的单选按钮。
PowerShell Command Window Method
右键点击 Windows Start 菜单,然后点击 Windows PowerShell (Admin) 选项。
运行命令
Get-NetConnectionProfile。查找用于开发机与目标机通信的以太网接口名称。
输入命令
Set-NetConnectionProfile。将找到的接口名称作为
Name参数使用。通过运行
Get-NetConnectionProfile来确认更改。
例如,如果接口名为 Unidentified network,请输入命令:
Set-NetConnectionProfile -Name "Unidentified network" -NetworkCategory "Private"

确认配置成功
要确认配置成功,请在 Simulink Real-Time 资源管理器或 Simulink 编辑器的 Real-Time 选项卡中,点击 Disconnected 按钮。确认按钮标签已更改为 Connected。
如果标签未变为 Connected,则连接问题仍然存在。请联系系统管理员以获取进一步帮助。配置 Windows Defender 防火墙可能需要管理员凭据,或者开发计算机上可能存在其他需要配置的防火墙。系统管理员可能需要允许特定端口的通信,或添加更具体的防火墙规则。