主要内容

本页采用了机器翻译。点击此处可查看英文原文。

通过防火墙排查通信故障 (Windows)

尝试使用 Simulink Real-Time 资源管理器连接到 Speedgoat® 目标计算机时,会出现此错误信息。

Error: Cannot connect to target 'TargetPC1': Cannot connect to target.

A firewall issue can cause the cannot connect to target error.

即使连接失败,点击 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 在私有和公共网络上进行通信。请确保同时选中 PrivatePublic 选项。默认仅选中一项。

A Windows Defender Firewall issue can cause the cannot connect to target error.

点击 Allow access

手动允许 MATLAB 访问公共和私有网络

从 Windows® 开始菜单中,搜索 Allow an app through Windows Firewall

A Public and Private Networks configuration issue can cause the cannot connect to target error.

点击 Allow an app through Windows Firewall 选项。

Allowed apps and features 列表中向下滚动,找到您正在使用的 MATLAB 版本。此规则应适用于应用程序路径:

C:\Program Files\MATLAB\RXXXXx\bin\win64\matlab.exe

其中 RXXXXx 表示版本号。您可以通过双击规则来显示此路径。若缺失,可手动添加此规则。

如果同时选中了 PrivatePublic 复选框,请参阅 将开发到目标计算机的以太网接口配置为私有

A Public and Private Networks configuration issue can cause the cannot connect to target error.

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

A Public and Private Networks configuration issue can cause the cannot connect to target error.

将开发到目标计算机的以太网接口配置为私有

您可以使用 Windows 用户界面或 PowerShell 命令行窗口,将开发机到目标机的以太网接口配置为私有。如果本地 IT 政策禁止将接口配置为私有,请参阅 Why can I ping my Speedgoat target and update the software, but the connection from MATLAB fails?

Windows 用户界面方法

Windows UI 方法操作简单,但根据您的系统配置,该方法可能不可用。如果不行,请使用 PowerShell 命令行窗口方法。

  1. 在 Windows 任务栏右下角(时钟旁边)右键点击 Wi-Fi® 或以太网网络图标。

  2. 选择 Open Network & Internet 设置。

  3. Ethernet 部分下,点击 Properties

  4. 选择 Private 的单选按钮。

PowerShell Command Window Method

  1. 右键点击 Windows Start 菜单,然后点击 Windows PowerShell (Admin) 选项。

  2. 运行命令 Get-NetConnectionProfile

  3. 查找用于开发机与目标机通信的以太网接口名称。

  4. 输入命令 Set-NetConnectionProfile

  5. 将找到的接口名称作为 Name 参数使用。

  6. 通过运行 Get-NetConnectionProfile 来确认更改。

例如,如果接口名为 Unidentified network,请输入命令:

Set-NetConnectionProfile -Name "Unidentified network" -NetworkCategory "Private"

You can use the PowerShell command window to get this configuration.

确认配置成功

要确认配置成功,请在 Simulink Real-Time 资源管理器或 Simulink 编辑器的 Real-Time 选项卡中,点击 Disconnected 按钮。确认按钮标签已更改为 Connected

如果标签未变为 Connected,则连接问题仍然存在。请联系系统管理员以获取进一步帮助。配置 Windows Defender 防火墙可能需要管理员凭据,或者开发计算机上可能存在其他需要配置的防火墙。系统管理员可能需要允许特定端口的通信,或添加更具体的防火墙规则。

另请参阅

主题

外部网站