IntervalZero RTX64 4.x 帮助文档

⌘K
  1. 主页
  2. 文档
  3. IntervalZero RTX64 4.x 帮助...
  4. 配置实时网络和接口...
  5. 配置和控制网络

配置和控制网络

RTX64 控制面板提供了多个用于配置网络行为和性能的选项。可以从RTX64 4.0 及更高版本中的配置和控制网络(Configure and control the network)页面中访问这些配置选项。


在 RTX64 控制面板中打开此页面

在 RTX64 控制面板中打开配置和控制网络页面:

  1. 在 Windows 开始菜单中,导航至 RTX64 4.x Runtime,单击 RTX64 Control Panel
  2. 单击 Configure and control the network

关于实时网络

RTX64 实时网络由两个主要组件组成:

  • 网络抽象层 (NAL):从上层协议栈中抽象出网络硬件和驱动程序功能的网络层,并为上层提供管理接口,用于查询和使用可用的网络资源。NAL 是独立于 TCP/IP 栈的协议层。使用 NAL,可以更高效的使用 EtherCAT,TSN(时间敏感网络)和 PTP(精确时间协议)等网络功能。更多信息,请参阅 RTX64 网络抽象层 (NAL)
  • TCP/IP 栈:位于 NAL 之上的独立可购买协议堆栈,提供确定性处理和网络功能。详细信息,请参阅实时 TCP/IP 栈(Real-Time TCP/IP Stack)

注意:如果未激活 TCP/IP 组件,则 TCP/IP 选项不可用。有关激活 RTX64 组件的信息,请参阅 激活 RTX64(RTX64 Activation)


以 Verbose 模式运行实时网络

RTX64 实时网络提供 Verbose 运行模式,可以在(实时网络)启动/关闭和运行期间的关键时间点,提供详细的状态信息。这些信息可能会影响一些性能,但可以协助追踪开发和调试时出现的问题。

开启实时网络的 VERBOSE 模式:

  • 点击以 verbose 模式运行(Run in verbose mode) 复选框启用 Verbose 日志记录;取消选中则禁用 Verbose 记录模式;

注意:在 Verbose 模式下运行可能会影响系统关闭期间的网络性能。

  • 重新启动 NAL 以使更改生效。如果您正在更改其他需要重新启动网络的设置选项,请先进行这些更改,然后再重新启动 NAL。重新启动之前,您必须停止所有启用网络的进程。

配置和控制网络抽象层 (NAL)

手动启动和停止 NAL

使用启动/停止控件手动启动(Start),停止(Stop)重启(Restart) NAL。NAL 的运行状态以文字方式显示在控件的左侧。下图表示 NAL 正在运行

注意:TCP/IP 协议栈依赖于 NAL。停止 NAL 也会停止TCP/IP 栈。

控制 NAL 启动方式

随子系统启动(Start with the Subsystem) 复选框的状态,决定了子系统启动时,NAL 是否自动启动。

NAL 随子系统启动而启动:

选中随子系统启动(Start with the Subsystem)复选框,子系统启动时,NAL 将会同时启动。这是系统的默认设置。

NAL 独立于子系统启动:

取消选中随子系统启动(Start with the Subsystem)复选框,NAL 将不随子系统启动。

NAL 配置和设置选项

设置描述操作
Set the processor on which the NAL runs
设置 NAL 运行的处理器
指定 NAL 运行的处理器核心编号

注意:处理器编号从0开始。 默认情况下,第一个 RTSS 处理器是最理想的选择。
从下拉列表中选择处理器编号

注意:必须重启网络才能使更改生效。如果您正在更改其他需要重新启动网络的设置选项,请先进行这些更改,然后再重新启动 NAL。重新启动之前,您必须停止所有启用网络的进程。


配置和控制 TCP/IP 协议栈

注意:本设置需要有效的 TCP/IP 协议栈许可证。

手动启动和停止 TCP/IP 协议栈

使用启动/停止控件手动启动(Start),停止(Stop)重启(Restart) TCP/IP 协议栈。其运行状态以文字方式显示在控件的左侧。下图表示TCP/IP 协议栈已经停止

控制 TCP/IP 协议栈启动行为

随 NAL启动(Start with the NAL) 复选框的状态,决定了 NAL 启动时,TCP/IP 协议栈是否随之启动。

TCP/IP 协议栈随 NAL 启动而启动:

当 NAL 配置为随子系统启动时(见上文),选中随 NAL启动(Start with the NAL) 复选框,则TCP/IP 协议栈将随 NAL 启动而启动。这是系统默认设置。

TCP/IP 协议栈独立于 NAL 启动:

取消选中随 NAL启动(Start with the NAL) 复选框,TCP/IP 协议栈将不随 NAL 启动。注意,NAL 必须先运行,然后才能启动 TCP/IP。

TCP/IP 协议栈配置和设置选项

设置描述操作
Set the processor on which the Stack runs
设置TCP/IP 协议栈运行的处理器
指定 TCP/IP 协议栈运行的处理器编号

注意:处理器编号从0开始。 默认情况下,第一个 RTSS 处理器是最理想的选择。
从下拉列表中选择处理器编号
Set the Stack timer processor
设置TCP/IP 协议栈定时器处理器
TCP/IP 协议栈定时器的处理器编号

注意:处理器编号从0开始。 默认情况下,第一个 RTSS 处理器是最理想的选择。
从下拉列表中选择处理器编号
Set the Stack timer priority
设置TCP/IP 协议栈定时器优先级
设置 RT-TCP/IP 协议栈第一个实时计时器线程的优先级,该线程更新计时器变量。在文本框中输入一个值;
该值必须在 1-127 范围内,其中 1 是最低优先级,127 是最高优先级。默认优先级为 66。
Set the Stack timer execute priority
设置TCP/IP 协议栈定时器执行优先级
设置 RT-TCP/IP 协议栈第二个实时定时器线程的优先级,该线程执行过期定时器函数。在文本框中输入一个值;
该值必须在 1-127 范围内,其中 1 是最低优先级,127 是最高优先级。
该值必须小于或等于TCP/IP 协议栈定时器优先级设置的值。默认优先级为 60。
Set the Stack timer interval
设置TCP/IP 协议栈定时器间隔
TCP/IP 协议栈定时器是一个内部定时器,用于所有内部同步。RT-TCP/IP 栈需要获取其内部使用的每个栈定时器间隔的固定时间值,以更新其消耗的时间总计数。由于栈内实现了多种协议,因此分别处理各个定时器非常不便。 因此,RT-TCP/IP 栈经过优化,使用单个通知来获取消耗的总时间。栈定时器系统管理着 RT-TCP/IP 栈中使用着的所有不同定时器。

注意:将栈定时器间隔设置为较低的值,会导致间隔很小的中断,这会对系统性能产生不利影响。

注意:该值必须是 HAL timer period 的倍数。
在文本框中输入正整数值(以毫秒为单位)。
输入的值必须在 1 到 1000 毫秒范围内。默认值为 100 毫秒。
Set the IP reassembly timeout
设置 IP 重组超时
IP 重组超时间隔。

注意:建议您降低 IP 重组超时值,使其小于 IP ID 字段中的回环时间。
在文本框中输入正整数值。
默认值为 60。最大值为 120。
Set the minimum number of ARP entries
设置 ARP 条目数的最小值
TCP/IP 栈允许的 ARP 条目数的最大值。每个 ARP 缓存条目为 100 字节。强烈建议ARP 缓存条目数最大值大于接口通信的设备总数。

注意:如果该值太小,ARP 缓存可能会溢出。 当大多数网络设备离线时,溢出的可能性就会增加。

注意:如果发生溢出,TCP/IP 栈会显示警告消息 tfRtClone:ARP 缓存已满。这表示支持的最大条目数应继续增加。
在文本框中输入一个值。默认值为 256。
Set the maximum number of sockets
设置 sockets 数量的最大值
TCP/IP 栈在创建 socket 时,需要实际分配 socket内存,因此,必须知道要创建的 sockets 的最大数量。在文本框中输入一个值。指定的值必须在 1 到 1024 范围内。默认值为 64。

注意:在运行的系统中,sockets 的范围是 0 到 sockets 数量的最大值。例如,如果sockets 数量的最大值设置为 64,则范围为 0 到 63。
Set the maximum concurrency
设置最大并发数
TCP/IP 栈中允许同时运行的线程数,范围是 0 到 10340。

TCP/IP 栈需要在启动时初始化某些属性,以允许一定数量的线程运行,并为每个向 TCP/IP 栈请求服务的客户端提供服务。

例如,运行客户端和服务器应用程序各需要 1 个并发。TCP/IP 栈自身需要 1 个并发才能运行 Loopback 服务。加载和管理接口平均需要3个线程,因此每个接口的并发数为3。

注意:建议自动计算该值(默认)。

注意:如果 TCP/IP 栈需要的线程多于初始化过程中准备的数量,栈将崩溃。
单击与所需行为相对应的单选按钮:

自动计算(Calculate automatically):默认。基于 TCP/IP 栈管理的接口数量,准备多余预期值资源。

自定义(Custom):自定义 。输入一个自定义值,或使用初始值(历史记录中的最后一次设置)。自定义值是预期运行的线程数,从而优化这些线程的资源。

如果在信号量初始化期间该值不为零,则信号量将按如下方式计算。

系统计算最小值,然后使用以下值中的较大者:
o (MinValCalculation + 16(Constant for Min SemaphoreValue))

o 用户设置的值

如果用户设置的值较低,并且启用了Verbose模式,则会生成以下消息:
The number of semaphores given by the current configuration (%d) is too low and should be increased. Initializing %d semaphores instead\n
当前配置 (%d) 给出的信号量数量太少,应增加。改为初始化 %d 个信号量\n


注意:增加此数值可能需要更改 sockets 最大数值。

Historical Maximum 表示历史最大栈信号量使用情况。当显示 No historical data 时,表示没有足够的信息来计算最大值。
Manage memory usage
管理内存使用情况
打开更改内存分配页面,您可以在这里指定分配给 TCP/IP 栈的内存量。

注意:必须重新启动 TCP/IP 协议栈才能使所做的更改生效。如果您正在更改其他需要重新启动网络的设置选项,请先进行这些更改,然后再重新启动 TCP/IP。