【NI-DAQmx入门】基于TSN的以太网NI CompactDAQ机箱(9185/9189)

news2024/9/23 5:34:21

软件兼容性:

        WIN10 64bit:

                LabVIEW 2019 32bit

                NI-DAQmx 19.6 

                NI-Sync 19.5(TSN) 

        WIN11 64bit:

                LabVIEW 2022Q3 32bit

                NI-DAQmx 2022Q3 32bit

                NI-TimeSync 2022 Q4(TSN)   

        如果要启用TSN,cDAQ-9185和cDAQ9189 固件版本在18.1以上。             

设备安装

        挤压C系列模块的两个卡扣,将模块插入模块槽位,并按下,直到两个卡扣都锁定模块。

         将以太网电缆的一端连接到机箱上的以太网端口,另一端直接连接到您的计算机或与您的计算机在同一子网上的任何网络连接。

        机箱通过外接9v DC ~ 30v DC电源,使用随附电源或随附电源连接器为机箱供电。

         打开NI MAX,展开设备和接口>>网络设备。

         如果机箱在本地子网中,机箱将自动出现在可用设备列表中。右键单击cDAQ机箱,选择“添加设备”。

        如果机箱不在本地子网中,右键单击“网络设备”,选择“查找网络NI-DAQmx设备”。

  •  如果知道机箱的IP地址,如“192.168.0.2”,请在“查找网络NI-DAQmx设备”窗口的“手动添加设备”字段中输入,然后单击“+”按钮。
  •  输入机箱的主机名。默认主机名是cDAQ918x-<序列号>,其中x表示cDAQ机箱型号的最后一位数字。

        当cDAQ机箱接入网络时,可以有多个用户接入机箱。要在C系列模块上执行任何DAQ功能,包括复位机箱和自检,您必须在MAX中保留cDAQ机箱。一次只能有一个用户保留cDAQ机箱。

选择 IP 地址机制

        要在网络上通信,以太网设备必须获取一个用作其标识的 IP 地址。有三种常见方法可以实现此目的:DHCP、链路本地或手动分配静态 IP 地址。大多数基于以太网的设备都会发出 DHCP 以获取 IP 地址。如果设备连接到具有 DHCP 服务器的网络,设备将从该服务器接收可用地址。如果网络上没有 DHCP 服务器,设备通常会在几秒钟内超时,并通过尝试获取链路本地地址进行响应。此过程需要扫描网络以查找可用地址,这可能需要大量时间。配置终端站 IP 地址的最快和最可靠的方法是手动分配,这需要小心避免将相同的地址分配给两个设备。

        为了使主机 PC 与设备通信,必须正确配置 PC 的网络连接,并且知道目标设备的 IP 地址。如果 PC 和设备都通过 DHCP 配置,则通常会自动进行此操作。当设备使用本地链接或手动分配的地址时,必须采取其他步骤以确保正确配置 PC 以访问设备。

故障排除

  • 尝试断开 cDAQ 与计算机的连接并重新连接。
  • 尝试将您的机箱移至另一台计算机,看看其行为是否有所不同。
  • 确保使用标准以太网电缆而不是交叉电缆。即使直接连接到 PC 而不是通过路由器,也应使用标准以太网电缆。
  • 如果您无法在 NI MAX 中自动看到机箱,这可能是因为您的设备位于网络的不同子网上。尝试通过右键单击 网络设备 并选择 查找网络 NI-DAQmx 设备来找到它。可以通过在手动添加设备字段中输入 IPv4 地址或机箱名称来直接找到机箱  。联网 cDAQ 的默认主机名如下:cDAQ <型号>-<序列号>  (例如,cDAQ9188-ABC1234)。
  • 检查 IPv4 配置是否设置为通过主机 PC 上的 DHCP 服务器自动分配。手动/静态设置主机的 IPv4 地址可能会将 NI 以太网 cDAQ 机箱置于单独的子网中,并使其在 NI MAX 中无法被发现。
  • 如果将机箱直接连接到主机 PC,请确保计算机正在运行 DHCP 服务器或网卡设置为自动获取 IP 地址。网络 cDAQ 机箱始终首先查找 DHCP 服务器,如果没有可用的服务器,则默认为链接本地 IP 地址。链接本地 IPv4 地址范围如下:  169.254.1.0 到 169.254.254.255, 子网掩码为 255.255.0.0。将您的计算机设置为静态 IP 地址 169.254.XX,子网掩码为 255.255.0.0 将确保设备和您的计算机位于同一子网中。
  • 确保您的防火墙设置允许使用以下端口:
    • HTTP:80(仅配置)
    • TCP:3580
    • TCP:31415
    • UDP:5353(仅配置)
    • TCP:5353(仅配置)
    • UDP:7865(仅配置)
    • UDP:8473(仅配置)
  • 尝试禁用任何防病毒软件,它可能会干扰发现或配置过程。
  • 如果上述方法都行,则按住重置按钮 5 秒钟以上,然后松开。这会将所有网络配置设置更改为默认设置。
  • 失去与机箱的连接也可能是由于 Windows 设置导致的。当代码运行时没有与 PC 进行任何其他交互,Windows 将尝试通过降低/禁用网络适配器来节省电量。您可以通过导航到 设备管理器» 网络适配器来禁用此功能。展开此部分以显示您的网络设备,右键单击正确的卡,然后 从下拉菜单中选择 属性。
  • Windows 7:在 电源管理 选项卡中,您需要取消选中 允许计算机关闭此设备以节省电源。您也可以通过控制面板更改某些网络电源设置。

        Windows 10:在 “高级” 选项卡中,查找 “空闲省电” 属性并将其设置为 “已禁用”。  

分布式TSN测量系统

什么是TSN?

        TSN 是标准以太网(特别是 IEEE 802.1 标准)的演变。TSN 提供了一种使用以太网数据包传输的设备时间同步机制、使用协调时间安排循环数据包传输的能力以及用于配置所有网络元素的标准参数集。基于 TSN 以太网的测量系统需要从设备周围的多个位置获取相关传感器读数,因此使用 TSN 的时间同步元素。TSN 同步通过 IEEE 802.1AS 标准提供。

什么是 IEEE 802.1AS?

        IEEE 802.1AS 是 IEEE 1588 配置文件,它为 IEEE 802.1AS 子网内的所有节点提供通用的时间概念。多个设备的同步使用基于数据包的通信,并且可以在长距离内进行,而不会对信号传播延迟产生影响。使用此配置文件的设备上的 I/O 同步小于 1 μs,但根据系统的配置,可以大大缩短到数百纳秒范围。要使两个终端站同步,它们之间必须有一条带有符合 IEEE 802.1AS 的交换机的路径。如果存在这样的路径,则会自动检测和使用它。带有 NI-DAQmx 的 CompactRIO 控制器是支持 TSN 的控制器,而 cDAQ-9185/9189 设备 包含一个符合 IEEE 802.1AS 的集成交换机,因此它们可以在直接连接或与符合 IEEE 802.1AS 的外部网络基础设施连接时同步。

选择拓扑结构

        组网拓扑结构:

  •         主机:一台计算机或一个实时控制器与NI Linux实时操作系统。
  •         节点:cDAQ-9185/9189

        设计基于以太网的分布式 TSN 测量系统的关键步骤是确定应用要使用哪种拓扑。IEEE 802.1AS 配置文件可补偿设备之间的电缆长度,因此您可以专注于每种拓扑对特定应用的优缺点,或创建最适合应用需求的混合拓扑。测量系统的三种常见拓扑选项包括线型、环形和星型。

线路拓扑

        在线形拓扑(也称为菊花链)中,主机通过一条总线直接与系统中的所有设备通信。线形拓扑是最简单且最便宜的拓扑。但是,这种拓扑仅适用于具有集成以太网交换机的设备。拓扑中的每个设备与前一个设备的距离最多可达 100 米,这使得这种拓扑能够跨越很远的距离而不会过于复杂。请务必检查设备的规格文档,了解跳跃长度是否有任何限制。

以下是线路拓扑的优点和缺点的列表:

  • 优点
    • 该拓扑结构简单且安装、向系统添加设备和排除故障的成本低廉。
    • 当测量设备包含集成开关时,该拓扑不需要集成外部开关。
    • 该拓扑结构设计简单,仅需一条设备线路相互连接,便可跨越长距离。
  • 缺点
    • 线路中任何设备断电或发生故障都会中断拓扑中下游所有设备的网络通信。
    • 任何以太网电缆故障和/或不正确的电缆端接都会破坏拓扑中下游所有设备的网络通信。
    • 当此拓扑增长到大量设备时,网络和同步性能会受到影响。

 环形拓扑

        在环形拓扑中,主机通过最有效的路径与所有节点通信。您必须在环形拓扑中使用外部交换机来完成从更简单的线形拓扑到环路的转换。此冗余连接会自动利用,以改善数据移动和同步(如果交换机符合 IEEE 802.1AS 标准)。

        要充分利用此拓扑的优势,您必须使用符合所需协议的交换机正确配置网络。交换机必须符合 IEEE 802.1Q 才能支持快速生成树协议 (RSTP),并且必须符合 IEEE 802.1AS 才能支持 TSN 同步。但是,使用此拓扑,您可以让整个拓扑支持 RSTP 规范,确保数据的最佳路径,但只有拓扑的一小部分支持 IEEE 802.1AS 配置文件,如图 3 所示。请记住,如果支持 IEEE 802.1AS 的两个设备之间的链路断开,同步数据通信就会中断。 

以下是环形拓扑的优点和缺点列表:

  • 优点
    • 该拓扑结构安装简单。
    • 如果任何一根以太网电缆发生故障,网络通信不会中断(但是,如果拓扑上的所有交换机都不符合同步配置文件,则这可能会影响同步通信)。
    • 在拓扑中添加设备不会像线路拓扑那​​样对性能产生影响。
  • 缺点
    • 网络流量模式会使故障排除比线路拓扑更加困难,因为数据没有寻找返回主机的最佳路径。
    • 该拓扑结构需要额外的交换机(与线路拓扑结构相比)来完成环路。
    • 该拓扑结构要求网络上的所有设备都有一个交换机。

星型拓扑

        在星型拓扑中,主机通过外部交换机直接与网络上的每个设备通信。设备可以单独直接连接到交换机,而不需要通过线路相互连接。为了在整个星型拓扑中实现 TSN 同步,网络上的所有设备和交换机都必须符合 IEEE 802.1AS 协议。但是,如果网络上的所有设备都内置了交换机,则可以从每个设备添加冗余链路回到交换机,从而使数据能够找到通往主机的最佳路径。通过这种冗余连接,通信不会因主附加交换机上每个设备的单条电缆故障而中断。为了利用网络找到最佳返回路径的优势,网络上的所有设备都需要符合 802.1Q 标准以支持 RSTP。

以下是星型拓扑的优点和缺点列表:

  • 优点
    • 该拓扑结构易于安装、添加设备和排除故障。
    • 端点可以集成以直接与主机通信。
    • 与其他拓扑相比,在网络上添加设备对网络性能的影响较小。
    • 与网络上其他设备的网络通信不会因为交换机上单个设备的故障或断电而中断。
    • 当交换机上的所有设备使用冗余链路时,网络通信不会因任何单条以太网电缆故障而中断。
  • 缺点
    • 该拓扑结构需要一个外部交换机,以便主机直接与网络上的每个设备进行通信。
    • 交换机将所有设备连接回主机,因此这种拓扑结构在所有设备之间能够覆盖的距离受到限制

高级/混合拓扑

        您可以混合搭配三种主要分布式 TSN 以太网测量系统拓扑,以创建融合每种拓扑优势的混合拓扑,以满足您的应用需求。树形拓扑是一种常见的混合拓扑,它集成了线形和星形拓扑的各个方面。您可以将不同的设备组分解为较小的星形拓扑,沿着单线拓扑返回到主机。通过拥有不同星形拓扑的部分,您可以将它们作为网络上的单独子系统进行管理,以完成不同的任务。例如,通过在其中一个子系统上运行 IEEE 802.1AS 配置文件,您可以让这些设备利用 TSN 同步,同时使用另一个子系统连接其他以太网设备以执行非测量任务。通过混合这些拓扑,您还可以融合一些缺点。使用树形拓扑时,如果主线拓扑链路发生故障,则下游所有星形子系统的网络通信都会中断。

        在为基于以太网的分布式 TSN 测量系统选择拓扑时,没有唯一的答案。您必须权衡每种拓扑的优缺点,以决定哪种拓扑可以满足您正在设计系统的应用程序的特定需求。   

支持TSN和不支持TSN的机箱使用菊花链的注意事项

        任何以太网 cDAQ 都可以包含在菊花链式机箱中。许多非 TSN 以太网机箱(包括 9188)只有一个以太网端口。因此,虽然它们可以通过链连接到计算机,但只能有一个这种类型的机箱,并且它必须是链中的最后一个机箱。

        此外,菊花链主要用于添加 TSN 时间同步功能,虽然这些非 TSN 机箱可以包含在链中,但这并不意味着它们可以访问 TSN 功能。如果将非 TSN 设备放置在两个支持 TSN 的设备之间,则会破坏链,并且不允许它们通过时间敏感网络进行同步。如果您希望支持 TSN 的设备同步,请将非 TSN 机箱链接到链的末端。

拓扑串联机箱数量

        对于 cDAQ-9189 机箱,每条线路的最大跳数为 15,因此您可以将最多 15 个以太网 9189 机箱以菊花链(线路拓扑)方式连接在一起并同步它们。这也适用于 cDAQ-9185 机箱。   

使用TSN同步多个机箱中的C系列Delta-Sigma模块

        National Instruments建议尽可能使用启用TSN的设备进行多机箱同步,如果无法使用TSN则建议使用NI 9469。

        与其他C系列模块不同,具有delta-sigma ADC(DSA)的模块需要同步采样时钟时基,以实现采样时钟同步。

        由于CompactDAQ机箱中内置的可编程功能输入(PFI)线的最大带宽为1 MHz,低于所有DSA模块的内部时基,因此这些PFI线不能用于在多个cDAQ机箱上的DSA模块之间实现采样时钟同步。 

        连接了两个或多个启用了时间敏感网络(TSN)的cDAQ-9185或cDAQ-9189机箱,并利用它们的时间同步功能来同步C系列DSA模块的时基。从这些C模块收集到数据仍需要针对group Dealy进行调整,但是会自动同步。

模块时序架构

        为了支持尽可能广泛的测量类型和通道密度,C 系列模块和 FieldDAQ 设备(不再出售)使用几种不同的定时架构进行支持。定时架构有两组:采样时钟定时和过采样时钟定时。两种定时架构都依赖时钟来控制采样时间。在大多数情况下,机箱会生成必要的时钟。在同步的 TSN 设备上,这些机箱时钟被调整到相同的参考频率,即 GM 的频率,从而保持固定相位关系。

        采样时钟定时模块由机箱上的定时引擎生成的采样时钟操作。由于采样时钟来自与 TSN 网络相位对齐的时间基准,因此该时钟与 IEEE 802.1AS 网络上的其他时钟同步。当发生启动触发事件时,采样时钟开始运行。当模块共享启动触发时,数据同步。当模块相同时,数据反映精确对齐的样本。对于不同的模块类型,延迟可能不同,这会影响数据的精度。

        扫描模块属于采样时钟定时模块类型,由于单个模拟数字转换器 (ADC) 必须针对所采集的每个通道单独运行,因此会增加每个通道的延迟。在同步扫描模块与非扫描模块时,必须注意将扫描模块的样本与其他模块类型的样本关联起来。

        过采样时钟定时模块由持续运行的高精度时钟运行。在 TSN 设备上,这些时钟由机箱本身生成,并经过调整以匹配其他机箱时钟,但相位不一致。它们不会相互漂移,但机箱之间的偏差可能高达半个采样周期。由于时钟持续运行,因此需要另一个信号来同步来自这些时钟的数据,即同步脉冲。此信号指示模块应何时开始生成或使用数据。如果没有此信号,时钟将同步,但数据不会同步。

        大多数过采样时钟定时模块都是 DSA 模块,它们通过过采样和滤波来生成最终数据。这引入了群延迟,群延迟可能因模块类型和同一模块的不同配置而异。在 C 系列 NI-DAQmx 模块和 FieldDAQ 设备(不再出售)上,此群延迟存在于数据中,影响同步的精度。

对TSN设备进行高精度测量

        NI-DAQ™mx 多设备任务,也称为通道扩展,可将 DAQ 设备的通道扩展为包含另一个 DAQ 设备的通道。通过在多个设备之间有效地创建单个 NI-DAQmx 任务,这简化了同步配置。使用此功能时,您可以将多个设备视为一个,并且 NI-DAQmx 驱动程序会自动在驱动程序级别内路由必要的触发器、时钟和/或其他同步信息,以同步多个设备。   

        在基于时间的分布式测量系统中实现紧密同步的最简单方法是使用多设备任务,也称为通道扩展。在这种情况下,NI-DAQmx 软件可以解决前面所述的大部分影响,并在常见的同步用例中实现 1 μs 内的同步。需要注意的是,模块将需要以相同的速率采样数据。

 

        当2个Delta-Sigma模块用于同一硬件定时AI任务中时,DAQmx驱动程序在所有模块之间共享最快的主时基、基于相同的同步脉冲重置其模数转换器、共享开始触发并调整重置时间。主时基是Delta-Sigma模块用于采集测量的内部12.8 MHz或13.1 MHz时钟。cDAQ-9185或cDAQ-9189(时间感知机箱)的主时基默认来自机箱,而非具有最快主时基的模块。

        当时间感知机箱共享同一个主时钟时,机箱上的所有时钟都会与该主时钟同步。因此,多个机箱上的时钟会彼此同步。此过程是自动完成的,无需用户输入。由于机箱中的每个模块默认使用机箱背板时钟进行生成或采集,因此每个模块使用的时钟(主时基、采样时钟和/或参考时钟)都将同步。要同步机箱之间的模块采集或生成,请确保在同一时刻发送开始触发。

        在同一任务中使用多个设备将自动补偿模块之间的时间差异,这大大简化了任务设置,并使此配置成为小型到中型采集的理想选择。有几个注意事项:

  • 同一任务中存在大量通道会导致任务设置时间更长,因为所有通道都配置为同时启动。设置时间启动触发器时必须考虑这一额外的设置时间,否则可能会出现错误 -209840。
  • 同一任务中有多个底盘会使任务的可靠性降低,因为与任务中的任何底盘失去联系都将停止任务。为了获得更强大的配置,请为每个底盘使用一个任务。 

        除了通道扩展情况外,还有一些例外情况和用例需要更精确的同步。通道扩展的一个限制是混合不同的测量类型。例如,如果需要同步 DI 和 AI,则必须对每种测量类型使用多个任务。在这种情况下,同步这两个任务的最简单方法是指定相同的启动触发时间。

         通道扩展的另一个限制是必须使用 DSA 模块解决群延迟问题。但是,可以通过对 DSA 模块通道使用单独的任务来纠正此延迟,同步脉冲时间会根据延迟量进行调整。必须测量此延迟,并且只能在过采样时钟允许的精度范围内进行调整。

        基于时间的启动触发器不允许像参考触发器那样进行预触发采样。基于时间的 NI-DAQmx 系统不支持通过网络进行参考触发器,因为没有传播触发器的路径。但是,通过在参考触发器信号之前启动所有输入通道、对数据进行后处理以寻找触发器,然后丢弃预触发和后触发窗口之外的任何内容,可以实现相同的结果。这可以通过使用 Basic Level Trigger Detection.vi 函数来确定触发条件是否发生来实现。 

        如果触发条件和要捕获的数据发生在不同的模块或不同的机箱上,则可以使用两个任务来识别触发器并分离出相应的数据。所有输入通道都需要在参考触发信号之前启动,使用计数器或其他方式对输入信号进行时间戳记,然后对数据进行后处理以丢弃预触发和后触发窗口之外的任何内容。这可以通过将触发器的时间戳与使用第一个采样时间和采样周期计算的每个样本的时间戳进行比较来完成。

        对于其他用例,使用时间关联数据是最佳方法。可以根据第一个样本的时间和 I/O 操作的周期计算每个样本的时间。使用时间启动触发器时,可以将配置的时间用作第一个样本时间,或者如果启动时间强制很重要,则可以使用 start.time.when 属性。如果需要更高的精度,应配置计数器来对采样时钟或同步脉冲的第一个边沿进行时间戳记。为方便起见,波形的 t0 将包含该值的近似值。

为多个DSA CompactDAQ模块指定不同的采样率

        独立 NI-DAQ™mx 任务的数量,以及可以使用的不同采样率的数量,取决于可用的定时引擎的数量。

        可以使用Gen II CompactDAQ机箱设置多个采样率,因为所有多插槽 Gen II cDAQ 机箱都有三个 AI 定时引擎:ai、te0 和 te1。

        Gen II NI CompactDAQ 机箱中动态信号分析仪 (DSA) 设备的模拟输入任务数量限制为两个。Gen II CompactDAQ 机箱支持为您的系统配置最多两个同步脉冲信号。这将系统限制为两个具有不同过采样时钟时基的任务。

         将来自不同机箱的所有模块放在一个任务中以实现同步对于 某些模块来说并不是可行的解决方案 ,并且会将所有模块锁定为一个采样率。要在这些情况下同步模块,请使用单独的任务,为每个任务配置一个启动触发器,并将启动触发器设置为同时开始。共享的启动时间触发器不会补偿前端架构的差异,因此以这种方式获取的数据可能会存在偏移。补偿技术将在下面的示例中讨论。

    

         如需同步2个不同采样率的Delta-Sigma模块,可将任务设置为共享公共主时基、同步脉冲(sync pulse)和开始触发。如图所示,主时基时钟从一个模块路由至另一模块。请注意,NI DAQmx定时属性节点采样时钟.时基.同步所指的12.8 MHz或13.1 MHz信号与使用说明及规范/数据表中列出的主时基相同。该时钟也称为过采样时钟,因为生成一个采样需要该时钟的多个时钟滴答。

        使用Delta-Sigma模块的设备具有自由运行的模数转换器。共享主时基可确保测量派生自同一时钟,但模数转换器的精确启动会产生未知的相移。接下来共享同步脉冲。同步脉冲用于在模数转换器/数模转换器开始采集或生成采样前对其进行重置。如果不使用此信号重置模数转换器/数模转换器,测量将不同步。下文展示了支持共享过采样时钟和同步脉冲的属性节点。

        

        上述配置将同步脉冲从一个任务路由到另一个任务,具体取决于运行速度更快的任务。对于多采样率配置,使用运行速度较慢的任务的采样时钟来触发运行速度较快的任务。其原因在示例中进行了说明。

        还需要考虑的因素是每个模块所需的重置时间。重置时间是Delta-Sigma模块模数转换器从接收同步脉冲到开始采集数据之间的延迟。不同型号的Delta-Sigma模块重置时间可能不同。应考虑该重置时间,以确保每个设备都已完成重置序列并同时开始采集或输出采样。为适当考虑已有的不同重置时间,需检查每个模块所需的重置时间,如有必要,可为重置时间较短的模块添加延迟。因此,每个模块的重置时间与延迟之和应相同。

        重置模数转换器所需的时间可通过DAQmx定时属性节点同步脉冲.重置时间确定。为保证所有模数转换器同时结束重置周期,应对2个任务的重置时间进行比较。取重置时间最长的任务,并减去重置时间较短任务的重置时间。结果是一个任务已开始采集数据而另一个任务仍处于重置周期中。为解决该延迟问题,使用另一个NI-DAQmx属性,即同步脉冲.重置延迟。该属性支持延迟发送至每个模块的同步脉冲。如前所述,重置时间是模数转换器接收同步脉冲与开始采集数据之间的延迟。为充分利用该属性,应将该属性设置为模块最长重置时间与该模块重置时间之差。这将使较短重置时间的模块的同步脉冲发生漂移,从而确保具有慢速和快速重置时间的2个模块同时结束其重置序列。以下代码详细介绍了如何获取重置时间,以及如何确定合适的重置延迟。  

        

        NI-DAQmx属性节点同步脉冲.重置延迟的最大输入为0.013秒,并不适用于模块重置延迟值差异较大的情况。请注意在接收主时基的任务上轮询同步脉冲.重置时间时属性节点的顺序。该值将随着13.1 MHz时基或12.8 MHz时基变化。因此,在告知模块主时基速率后,调用此任务的同步脉冲.重置时间非常重要。

        搜索属性同步脉冲.重置延迟和同步脉冲.重置时间时,还会出现同步脉冲.同步时间和同步脉冲.开始最小延迟。由于这4个属性名称相似且位置接近,因此会经常遇到这2个属性,但多数开发人员不会使用它们。同步脉冲.同步时间等于SyncPulseResetTime y与同步脉冲.重置延迟输入值的和。将同步脉冲.同步时间的值四舍五入到最接近的毫秒。同步脉冲.开始最小延迟是从发出同步脉冲到主任务发出开始触发之间的时间。除非有明确设置,否则该属性等于同步脉冲.同步时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2041883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣 | 递增子序列 | 动态规划 | 最长递增子序列、最长递增子序列的个数、及其变式

文章目录 一、300. 最长递增子序列二、673. 最长递增子序列的个数三、变式1、646. 最长数对链2、1218. 最长定差子序列3、1027. 最长等差数列4、354. 俄罗斯套娃信封问题5、1964. 找出到每个位置为止最长的有效障碍赛跑路线 四、2024复旦计科夏令营机试 最长递增子序列&#xf…

Docker容器逃逸

Docker容器逃逸 Privileged 特权模式容器逃逸 | T Wiki (teamssix.com)https://wiki.teamssix.com/cloudnative/docker/docker-privileged-escape.html 1、云原生-Docker 安全-容器逃逸&特权模式 2、云原生-Docker 安全-容器逃逸&挂载 Procfs 3、云原生-Docker 安…

Linux云计算 |【第二阶段】OPERATION-DAY3

主要内容&#xff1a; Nginx调度器&#xff08;7层代理服务器Http、Nginx&#xff0c;4层代理服务器SSH&#xff09;、配置upstream服务器集群池属性&#xff0c;HTTP错误代码&#xff0c;Nginx优化&#xff08;自定义404错误代码、状态页面显示、ab压力测试、客户端开启缓存、…

在HMI项目中,传感器扮演的角色是啥?一文告诉你。

说到HMI项目&#xff0c;就绕不开物联网&#xff0c;说到物联网就不得不说传感器&#xff0c;本文大千UI工场带你详细了解传感器的价值。 一、传感器的价值 在HMI&#xff08;Human-Machine Interface&#xff09;项目中&#xff0c;传感器扮演着收集和监测实时数据的角色。传…

Tire树-存储与查找

#include <iostream>using namespace std;const int N 100010; // 定义常量 N 表示字典树节点的最大数量int son[N][26], cnt[N], idx; // son数组存储字典树&#xff0c;cnt数组记录某个字符串结束时的节点个数&#xff0c;idx表示当前字典树的节点总数 char str[N];…

数据结构之----堆

一、介绍 堆是一棵完全二叉树。堆又分为大堆&#xff0c;小堆两种结构。 大堆&#xff1a;所有的父节点都比它的子节点要大。 小堆&#xff1a;所有的父节点都比它的子节点要小。 二、堆的向上调整算法 比如要建一个小堆 思路&#xff1a;将父节点和子节点比较&#xff0c…

驰骋BPM RunSQL_Init SQL注入漏洞复现

0x01 产品简介 驰骋BPM系统由济南驰骋信息技术有限公司研发,具有悠久的历史和丰富的行业经验。其工作流引擎CCFlow自2003年开始研发,是国内知名的老牌工作流引擎,在BPM领域拥有广泛的研究群体与应用客户群。统提供.net与java两个版本,且两个版本的代码结构、数据库结构、设…

手写数字识别实战

全部代码&#xff1a; import matplotlib.pyplot import torch from torch import nn # nn是完成神经网络相关的一些工作 from torch.nn import functional as F # functional是常用的一些函数 from torch import optim # 优化的工具包import torchvision from matplotlib …

简单回归问题实战

数据表&#xff1a;链接: https://pan.baidu.com/s/1sSz7F_yf_JeumXcP4EjE5g?pwd753f 提取码: 753f 核心流程&#xff1a; import numpy as np # 计算误差函数 points是数据集中数据的位置 def compute_error_for_line_given_points(b,w,points):totalError0for i in range(0…

【FreeRTOS】队列的本质

目录 0 前言1. 数据传输的方法1.1 任务之间如何传输数据1.2 队列的本质1.3 操作队列的三个步骤 2 队列2.1 举例说明2.2 唤醒流程2.2.1 情况12.2.2 情况2 3 总结 0 前言 学习视频&#xff1a; 【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS&#xff08;FreeRTOS教程 基…

Haproxy基于cookie的会话保持

cookie value&#xff1a;为当前server指定cookie值&#xff0c;实现基于cookie的会话黏性&#xff0c;相对于基于 source 地址hash 调度算法对客户端的粒度更精准&#xff0c;但同时也加大了haproxy负载&#xff0c;目前此模式使用较少&#xff0c; 已经被session 共享服务器代…

亚信安慧AntDB-M聚合下推—加速你的数据分析查询

摘 要 在业务系统中&#xff0c;一般的事务型SQL语句涉及到的数据记录数不会很多&#xff0c;即便涉及到多个数据节点&#xff0c;基于AntDB-M的优化&#xff0c;访问也都很快。但是统计分析型SQL语句往往涉及到大量数据&#xff0c;甚至包括全表数据&#xff0c;基本都会覆盖…

3D 技术对我们的生活有哪些影响?

3D技术&#xff0c;也称为三维技术&#xff0c;是指利用计算机生成或处理三维数据的技术。它在多个领域对我们的生活产生了深远的影响&#xff1a; 1、制造业&#xff1a;3D技术使得个性化和定制化生产成为可能&#xff0c;大幅缩短了产品从设计到制造的时间&#xff0c;降低了…

【人工智能】Transformers之Pipeline(十):视频分类(video-classification)

目录 一、引言 二、视频分类&#xff08;video-classification&#xff09; 2.1 概述 2.2 技术原理 2.3 应用场景 2.4 pipeline参数 2.4.1 pipeline对象实例化参数 2.4.2 pipeline对象使用参数 2.4 pipeline实战 2.5 模型排名 三、总结 一、引言 pipeline&#x…

网络编程 8/15 基于UDP多人聊天室

//客户端代码 #include <myhead.h> struct msgType {char type; // 消息类型L:登录&#xff0c;Q:退出&#xff0c;C:聊天char usrName[20];char msgText[1024]; }; #define SER_PORT 6666 // 服务器端口 #define SER_IP "192.168.2.161" // 服务器IP…

SpringBoot解决创建项目无法选择JDK8和JDK11

文章目录 解决方案1解决方案2 在创建SpringBoot项目的时候&#xff0c;我们发现只能勾选JDK17以上的。并且官方没有提供2.X版本&#xff0c;但是目前大多数企业使用的还是 springboot 初始化的网址&#xff0c;我们一般使用的是官方的网址。 解决方案1 就选择jdk17和spring…

BIM+GIS在管廊机电监控与运维管控系统中的应用

研究背景 根据《GB50838-2015城市综合管廊工程技术规范》及《GBT51274-2017城镇综合管廊监控与报警系统工程技术标准》的相关条款要求&#xff0c;城市综合管廊监控报警系统用于对综合管廊内的设备运行状态及参数、实时环境信息、出入口状态等进行全方位在线监控&#xff0c;保…

java基础概念17-static

一、 static的作用 static修饰的变量、方法被类的所有实例共享。 示例&#xff1a; static用于声明属于类本身的变量、方法&#xff0c;而不是类的某个特定对象的。 二、static内存图 静态区中的成员变量&#xff0c;对象共享&#xff0c;内存中只有一份&#xff0c;谁要用&am…

u2net 和u2netp 的具体区别

U2Net和U2NetP是两种基于深度学习的图像分割模型&#xff0c;它们都使用了编码器-解码器架构和跳跃连接来提高分割的精度。然而&#xff0c;它们在网络结构和参数配置上存在一些差异。 初始化阶段的中间通道数 (mid_ch): U2Net: self.stage1 RSU7(in_ch, 32, 64)U2NetP: self.…

RHEL8 配置epel源

** RHEL8 配置epel源 ** 此次环境为最小化安装&#xff0c;版本信息如下&#xff1a;redhat8 一、安装epel源&#xff0c;执行如下命令&#xff1a; #yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm 之后执行#yum repolis 此时我们…