关于OPC UA TSN中TSN

2023-11-08

近日,TTTech和英特尔联合发表了一份白皮书,为寻求在工业自动化系统中实现TSN网络技术的客户提供指导。白皮书概述了所有的TSN标准、优点和特点,并描述了TTTech和英特尔今天可用的产品如何可用于开发优化的TSN设备和系统。
在这里插入图片描述
TSN将重塑工业通信格局,为IT和工业运营技术的融合奠定基础。由于这个原因,TTTech和Intel产品被设计成能够容易地集成客户设备中的高性能TSN特性。

白皮书原文链接:
https://www.tttech.com/wp-content/uploads/TSN-in-industrial-automation.pdf

在这里插入图片描述
下面一起来看一下这份白皮书的内容。

时间敏感网络(TSN)旨在重塑工业通信格局,为信息技术(IT)和工业运营技术(OT)的融合奠定基础。通过将工业级的健壮性和可靠性带到以太网,TSN提供了IEEE标准通信技术,使得来自任何供应商的符合标准的工业设备之间能够互操作。TSN还消除了对关键和非关键通信网络的物理隔离的需要,从而允许在操作和企业之间进行开放的数据交换——这是工业物联网(IIoT)的核心概念。
TSN可以作为交换端点和交换机的组合在工业设备中实现,并且需要相关的软件。SoC FPGA中的实现将处理器和FPGA子系统集成到单个设备中,提供了增加的灵活性,并确保了TSN硬件和相关嵌入式软件的紧密集成。由于TSN由一组IEEE 802.1标准扩展组成,因此FPGA固有的可重配置特性在实现TSN时也提供了重要的优势。当新标准被添加或者标准被改变时,FPGA可以快速地重新配置以支持所有TSN标准,而无需昂贵的硬件开发工作。
在网络系统级,TSN通过标准配置分发给设备的网络调度接口,支持确定性通信。TTTech提供了一个产品组合,使得TSN不仅在设备级易于实现,而且在系统级易于使用。这种端到端的方法导致了一个独特的集成的TSN实现,具有更高的灵活性和更高的性能。
这篇白皮书介绍了TSN技术的特点和优点,以及如何利用FPGA定制和可配置性来为您的应用程序开发优化的TSN设备和系统。

工业应用中连通性的挑战

今天,市场上有多种不同的工业以太网协议。在大多数情况下,选择用于工业设备的工业以太网协议因厂商而异,这意味着设备仅与使用相同协议的来自同一厂商的其他设备兼容。这被称为制造商锁定。它迫使客户要么从一个供应商购买所有工业设备(即使它不是最具性能或价格效率的),要么克服从多个供应商集成设备的巨大挑战,并在各个行业不同的工业以太网协议之间实现协议转换网关。这两种选择都导致了不必要的花费,并且限制了工厂多年来的创新,导致了工业自动化体系结构的分层、定制性和不灵活。

然而,随着IIOT和工业4.0的出现,这种结构正在经历巨大的变化。对全自动化和制造业更深入的需求正在推动工业自动化架构成为更多的互操作性、灵活性和无缝性。在这些日益融合的体系结构中,实时连接对于执行关键过程以及收集和分析来自机器的数据至关重要。TSN提供了与当前工业以太网协议相匹配或超过的实时连接能力,同时增加了IEEE标准的灵活性。与企业界类似,TSN以太网因此可以是连接来自不同供应商的工业设备的通用通信协议,同时满足工业应用的挑战性要求。

TSN的好处

IEEE标准

TSN的压倒性优势是它作为一种开放的标准技术的地位,它不隶属于任何组织或公司。对于一个在多种不兼容的专有通信协议中苦苦挣扎了多年的工业自动化市场来说,TSN带来了许多好处。

TSN保证了来自不同供应商的设备之间的网络级兼容性。 这给客户提供了更多的设备选择用于他们的系统,避免了供应商锁定,并支持跨系统的连接。
由于TSN是以太网标准系列的一部分,因此它自然地与以太网一起扩展,这意味着该技术在带宽或其他性能标准方面不受限制。新节点可以很容易地添加到网络中,并通过标准协议发现。
TSN可以用于机器之间的通信,也可以用于机器到企业系统之间的通信。基于任务关键TSN的系统和现有的基于非关键以太网的系统之间的通信可以在不对非关键网络基础设施进行任何修改的情况下实现。

当基于标准技术时,整个系统成本显著降低。消费者的选择和竞争导致更低的设备价格。当客户可以专注于一种标准技术而不是许多专有解决方案时,研究、开发和维护成本都会降低。

融合网络

TSN使先前由于操作完整性、实时性能、安全或保密原因而保持分离的网络和系统能够聚合。打破关键系统和非关键系统之间的通信障碍是IIOT和工业4.0的基本概念。

不同的业务类别可以共存于网络上,而不会因为优先级较低的业务而影响较高临界级别的业务。TSN允许关键消息在与所有其他以太网业务相同的通信线路上发送,而不会受到干扰或延迟。

即使是最具挑战性的运动控制和安全应用也可以使用TSN在以太网上汇聚。即使在高流量负载下也能够保证端到端延迟,并且可以使用标准机制来加速用于高速通信的消息传输。

聚合使得更容易从工业系统中访问数据。由于在同一网络上有更多的系统,所以从不同的源收集数据的任务被简化。工业系统的数据可以通过标准以太网发送到企业系统,而不需要网关。

可以将新的数据流添加到网络中,而不存在干扰现有业务的风险,也不需要重新配置整个网络。

更高层的协议可以与TSN结合,因为该技术完全在数据链路层(OSI模型第二层)实现。这包括开放的和标准的开放平台通信统一体系结构(OPC UA)协议,等等。

通过在单个网络基础设施上不同业务类别的聚合,总体系统成本显著降低。由于需要较少的设备和电缆来联网,硬件和维护成本被降低了。

使用基于SOC FPGA的TSN实现的好处

由于其广泛的应用范围和强大的功能,TSN的优点可以在基于SOC的FPGA器件中得到最好的实现。 为了实现TSN,由于FPGA具有可重编程性的固有特性,因此它比其他硅(例如ASIC)具有明显的优势。 通过使用Intel的FPGA,工业设备制造商可以率先进入市场,增加他们的投资回报,并使他们的产品IIOT就绪。

英特尔FPGA可以重新编程,以实现任何配置的新标准。当新TSN标准被添加或标准被改变时,英特尔FPGA可以快速地重新配置以确保设备中支持最新的TSN功能,并且终端用户最大程度地受益于TSN特性。

在工业系统中使用FPGA实现TSN有多种原因:

可重新编程:基于FPGA的设计允许工业设备制造商支持TSN标准以及传统的工业以太网协议。为了应对不断变化的工作量和不断变化的标准,重新编程设备的能力是一个关键因素。这种可重编程特性使您能够提高效率和扩展设备的能力,并且是产品创新的关键。
业务负载整合和加速:网络流量的增长带来了数据传输、管理、定时和伸缩方面的挑战。边缘的工作量整合对于工业4.0企业来说是必不可少的。FPGA是以太网协议加速的基础。通过卸载工作负载,加速协议连通性和数据交换,FPGA有助于实现更高性能。
I/O灵活性:FPGA允许TSN实现以及一个设备上的其他工业以太网协议。
功能安全与保密:由于TSN连接先前未连接的关键系统,因此还应该考虑功能安全与安全。英特尔FPGA、工具和IP被认证为IEC61508安全标准。安全解决方案,例如安全引导、对网络的设备身份验证。

TSN特性

TSN描述了一组已添加到标准以太网的特性。这些特性是在许多IEEE 802.1标准扩展中定义和发布的,这些扩展解决了诸如定时、同步、转发、排队、无缝冗余和流保留之类的问题。
这些单独的特性扩展了以太网的功能和服务质量(QoS),从而能够保证通过交换网络的消息传输,提供了工业通信技术所需的固有的健壮性、可靠性和确定性。
表1 IEEE 802.1TSN标准
在这里插入图片描述
有关每个标准的详细描述,请参阅附录A。

TSN关键的特性是提供可靠消息传递定时,主要是通过时间同步和流量调度来保障的。具体分别由802.1as和802.1qbv标准解决。参与TSN网络的所有设备都与全局时间同步,并且知道网络调度,该调度规定何时将从每个交换机转发优先级化的消息。TSN使用交换机出口处的每个端口的多个队列,其中消息被保持直到一个门打开(在调度指定的时隙)以释放排队的消息以进行传输。消息的定时释放确保了网络中的延迟可以被确定性地预测和管理。这允许在同一网络上的关键业务和非关键业务的收敛。
在这里插入图片描述
图1 在IEEE 802.1AS和802.1qbv以太网标准中定义的TSN中预定消息转发的表示

通过802.1CB标准,TSN提供了一种通过以太网实现工业通信的无缝冗余的标准方法。该特征允许在网络中通过不同路径同时发送重复消息副本。当其他副本被丢弃时,及时处理要接收的第一个消息副本。这为聚合网络中关键消息的传递增加了另一层确定性。TSN 802.1Qbu标准中定义的抢占特征可以用于提高非关键消息的带宽使用效率。在高度收敛的网络中,可能出现大的低优先级帧被网络上的高优先级业务延迟并丢弃的情况。抢占允许大帧的传输被中断,以较小的片段发送,并在下一个链路上重新组装。这最大化了TSN网络上的所有业务类型的带宽利用率。消息抢占的另一个重要好处是减少了所谓的Express业务的传输延迟,它可以抢占普通以太网分组。特别是在低速网络(例如,每秒10兆位或100兆位(Mbps))上承载高达1500字节及以上的大型常规以太网分组,Express业务的延迟减少对于构建聚合网络是有用的。

TSN的一个关键特性是支持开放的、独立于供应商的网络配置。这是通过对各种TSN标准的杨氏模型的IEEE标准化来实现的。这些可以通过NETCONF协议使用诸如XML或JSON的编码格式来配置。 用于桥接、交通调度、帧抢占、无缝冗余和警务的杨氏模型确保关键TSN特征的配置按照标准方法完成。TSN网络因此可以由任何供应商的任何标准兼容设备组成,并且可以由任何符合标准的网络配置软件来配置。

在TSN上的OPC UA

在许多与TSN相结合的高层工业通信协议中,最合理的选择是OPC UA。非常像TSN,OPC UA是一种开放的、标准的技术,它是独立于供应商的,适用于广泛的工业应用。因此,OPC UA和TSN的结合提供了完全开放的、标准的、可互操作的解决方案,满足了大多数工业通信需求。

通过以统一的方式表示数据,OPC UA支持以前不能共享数据的设备之间的互操作性,并给您提供对大量信息的新理解。 因此,它已经被所有主要工业自动化厂商采用并集成到产品中。OPC UA最初仅限于客户端或服务器体系结构,但是最近发布版本(PubSub)扩展现在允许多播通信。结合TSN,OPC UA PubSub允许以精确的定时发送数据,从而用于实时工业应用。

系统级思想在TSN中的重要性

TSN标准涉及广泛的功能,其实现也同样广泛,包括交换机IP核、嵌入式软件、标准接口、路由算法和配置工具。为了确保TSN性能的最高级别,需要一个系统级解决方案。它考虑了每个因素,并提供了它们之间的无缝接口。TTTech采用此方法及其确定性以太网产品组合和基于Intel SoC FPGA的硬件参考设计。

TTTEch公司的TSN产品有:

设计从一端到另一端无缝地工作
基于标准和可互操作的
可定制和可配置

在这里插入图片描述
图2 使用TTTECTSN产品的系统级设计(现在可用)

DEIP解决方案边缘是一个IP核心和一个嵌入式软件包,为基于FPGA的设备提供TSN交换端点功能。多达5个10/100/1000Mbit/s交换机端口支持TSN标准特性,包括时间同步、业务调度、帧抢占和无缝冗余和维持。嵌入式软件包括NETCONF服务器、802.1AS堆栈、杨模块支持和Linux操作系统的交换机驱动程序。

DEPCIe Card Edge是一个网络接口卡,它集成了定义的特征集和基于Cyclone SoC的开箱即用硬件中的DEIP解决方案边缘的软件设计。该卡可用于快速地将具有PCI Express (PCIE)接口的交换端点功能添加到现有设备中。

Slate是一系列网络配置产品,可用于为TSN网络建模拓扑、创建调度和部署配置。Slate软件产品包括NETCONF客户端、REST服务器、杨模块支持和TTTEC强大的调度引擎。因为Slate支持标准接口,所以它可以用来调度和配置任何符合标准的TSN设备。Slate XNS变体包括用于输入系统参数的图形用户界面(GUI)。在将来,Slate YNS变型将包括一个PUBSUB代理,用于从OPC UA收集系统参数。
在这里插入图片描述
图3 TTTEch TSN产品的系统级设计(2019及以后可用)

TSN定制

FPGA定制

DEIP解决方案边缘使您能够定制TSN和其他开关特征,以创建优化的FPGA集成。为DEIP解决方案边缘开发了一个英特尔平台设计器组件,它使集成英特尔FPGA中的TSN IP特性变得容易。 该组件允许您在Intel Quartus Prime软件中定制各种开关功能,从而节省了FPGA中的大量时间和精力。通过自动生成互连逻辑来连接IP功能和子系统的设计过程。

IP可以定制为启用或禁用交换机特性、缩放交换机特性以及从各种媒体无关接口中进行选择。IP功能可以定制,以适应特定的FPGA设备的资源容量和设备的要求。根据这些约束,可以设置参数以提供更少的端口或TSN特征的有限子集。

例如,该工具可以用来定义:

可用于根据同步时间转发时间戳的消息的端口(IEEE802.1AS)
可用于根据网络计划转发关键消息的端口(IEEE 802.1qbv)
可用于转发可抢占非关键帧的端口(IEEE 802.1QBU)
每个端口多达八个队列的优先级队列的数目(IEEE 802.1q)
可以用来转发消息的端口被切断。例如,在接收到整个帧之前转发消息。
介质独立接口(MII、GMII、RMII、RGMII、SGMII)到每个端口的物理层

Linux定制

DEIP解决方案边缘使您能够为他们的设备定制软件镜像。该产品包括YOCTO项目搭建系统,可用于为嵌入式设备创建定制Linux镜像。YOCTO项目允许您定义嵌入式CPU体系结构并添加与应用程序相关的Linux特性。YOCTO Project中的标准工具可用于配置各种交换功能,例如虚拟局域网(VLAN)、转发和端口状态。

DEIP解决方案边缘以英特尔Linux为基础的评估硬件提供参考Linux架构,也可作为软件定制的基础。 Linux交换机驱动程序已经针对内核4.9LTSI进行了优化,这为实现工业设备提供了长期的稳定性。

TSN配置

远程配置

在建立交换设备之后,通常需要将其配置为更广泛的设备网络的一部分。在配置TSN网络时,远程可配置性为您提供了另一层灵活性。DEIP解决方案边缘使您能够远程配置网络设备中的TSN和其他交换特性。该产品支持NETCONF网络配置协议服务器,并且使用NEN作为NETCONF的数据建模语言。DEIP解决方案边缘中支持的YANG模型可用于配置各种交换功能,例如VLAN、转发和端口状态。

IEEE 802.1Qcp YANG桥接模型结合NETCONF实现桥接器之间基本桥接配置数据的通信
IEEE 802.1Qcw YANG Qbv、Qbu、Qci模型结合NETCONF将802.1Qcp的能力扩展到桥之间的调度、抢占和警管配置数据的通信。
IEEE 802.1CBcv YANG Model for CB 结合NETCONF扩展802.1QCP的能力,实现桥之间冗余配置日期的通信

网络调度

网络调度是TSN中的机制,用于在特定时间点触发队列消息的转发,并确保网络中没有意外的延迟或冲突。调度将应用程序的延迟、抖动和缓冲区需求考虑在内,并通过网络传递有保证的确定性数据通信。

IEEE 802.1qbv标准规定的方法来定义传输消息的时间从一个端节点和转发次数从每次开关使消息到达接收指定的时间窗口内。 网络中的每个设备使用IEEE 802.1AS协议同步到同一时钟。

尽管可以使用802.1Qbv标准手工编写TSN网络调度表,但对于甚至稍微复杂的网络以及增量地添加设备的网络,这很快变得不切实际。为此,TTTech提供了Slate网络配置软件,该软件以应用程序参数作为输入,计算匹配的TSN网络调度,并创建配置数据,以便通过标准的NETCONF/YANG接口部署到网络交换机。 SLAT软件解决了复杂的问题,消除了网络演算和网络工程师的负担。

Slate XNS软件提供了用于建模网络拓扑和输入系统参数的GUI。 在未来的版本中,将自动发现网络拓扑,并且系统参数将直接从OPC UA应用程序提供,从而进一步简化设计过程。

基于OPC UA的网络调度

将OPC UA与TSN相结合,不仅带来了开放、标准数据交换的实时性。它还能够在线和动态地配置TSN网络的标准方法。这不需要您为调度器输入任何系统参数,因为这些参数都取自每个设备内的OPC UA应用程序参数。由OPC基金会定义的代理机制提供了OPC UA应用程序和TSN调度软件之间的接口。

TTTech正在开发Slate YNS,它是一个结合了强大的调度引擎和OPC UA PubSub代理的网络配置软件。这将把OPC UA设备参数转换为TSN调度要求,然后一旦计算出调度就反馈给设备。 Slate YNS软件可以托管在工业PC、智能交换机或服务器上。

总结

TSN包括一组IEEE以太网标准,用于处理从单个组件到大型复杂网络的一系列用例和扩展。由于这个广阔的范围,TSN实现必须以全面的系统角度来规划和执行,而不是只关注一个特性或组件。为了充分发挥来自开放性和收敛性的TSN的好处,TSN的实现也很重要,被设计为标准兼容的并提供标准接口。

由于这些原因,TTTech提供了一个产品组合,它覆盖了根据IEEE标准设计的TSN实现的所有元素。这确保了TTTech产品在集成到更广泛的系统时能够与其他供应商提供的符合标准的TSN产品进行互操作。结合英特尔FPGA技术,TTTech产品通过定制和可配置性来提供灵活性,以便为您的工业应用开发优化的TSN设备和系统。

附录A

802.1AS

定时和同步是实现确定性通信的重要机制。802.1AS是IEEE 1588 PTP同步协议的简化版,该协议支持不同TSN设备之间的同步兼容性。这为通过每个参与的网络设备调度流量奠定了基础。802.1ASReV也被定义为增加对容错和多个主动同步主机的支持。

802.1Qbv

流量调度是TSN的核心概念。基于802.1AS提供的全局共享时间,创建和分布在参与的网络设备之间的调度。802.1QBV定义了在TSN交换机出口时通过门控制排队业务流的机制。在预定时间窗口中执行来自这些队列的消息传输。其他队列通常会阻止传输在这些时间窗,因此需要去除掉预定的业务被非预定的交通不畅的机会。这意味着,延迟通过每个交换机是确定性的,使信息延迟通过网络TSN组件可以保证。

802.1Qbu

虽然802.1Qbv机制保护关键消息免受来自其他网络流量的干扰,但它不一定导致最佳带宽使用或最小通信延迟。在这些因素很重要的情况下,可以使用802.1QBU中定义的优先购买机制。802.1Qbu允许中断标准以太网或巨型帧的传输,以便允许高优先级帧的传输,然后在不丢弃先前发送的中断消息片段的情况下恢复传输。

802.1CB

在802.1CB中实现的冗余管理遵循高可用性无缝冗余(HSR)-IEC 62439-3条款5和并行冗余协议(PRP)-IEC 62439-3条款4已知的类似方法。为了提高可用性,相同的消息的冗余副本通过网络通过不相交的路径并行通信。路径控制和预留的802.1QCA标准定义了如何建立这样的路径。然后,冗余管理机制组合这些冗余消息以生成到接收器的单个信息流。

802.1Qcc

流预留协议的增强功能(802.1Qat)包括更多的流媒体的支持,可配置流保留类和流,更好的描述流特性,3层数据流的支持,确定性的流预留的收敛性,和用户 网络接口(UNI)用于路由和预留。802.1QCC支持TSN网络调度的离线和/或在线配置。

802.1Qci

防止错误和/或恶意端点和交换机。将故障分离到网络中的特定区域。它工作在交换机(转发引擎)的入口,以保护输出队列不被帧淹没。

802.1Qca

防止错误和/或恶意端点和交换机。将故障分离到网络中的特定区域。

802.1Qch

定义用于使用802.1qCI转发队列流量的周期来分配缓冲器和802.1qbv来形成流量。

IEEE 802.1Qcr

提供有界的延迟和抖动(低性能级别),而不需要时间同步。
在这里插入图片描述
全文完。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于OPC UA TSN中TSN 的相关文章

  • 全方位解读Web3域名:DID基石、NFT新增长点

    1 Web3域名在NFT市场整体低迷的背景下表现出色 2 Web3域名有庞大的用户群体和巨大的上升空间 3 Web3域名是用户重要的Web3身份凭证 可使用域名访问全链应用 4 Web3域名长期来看使用大于炒作 今年下半年 Web3域名在N
  • gitlab配置https方式访问

    1 mkdir etc gitlab ssl 创建ssl证书目录 2 上传证书 3 配置gitlab vim etc gitlab gitlab rb external url https cloud cn nginx enable tru
  • hisi Camera 开发--HiMPP媒体处理软件开发基本概念

    1 HIMPP平台架构简介 海思提供的媒体处理软件平台 Media Process Platform 简称 MPP 可支持应用软件快速开发 该平台对应用软件屏蔽了芯片相关的复杂的底层处理 并对应用软件直接提供 MPI MPP Program
  • 基于gensim的Doc2Vec简析,以及用python 实现简要代码

    Doc2Vec 原理 Doc2Vec 或者叫做 paragraph2vec sentence embeddings 是一种非监督式算法 可以获得sentences paragraphs documents 的向量表达 是 word2vec
  • c++基础练习题四

    1 编程实现以下功能 矩形有长a和宽b 现有2个矩形 要求实现矩形相加时可以得到一个新的矩形 它的长为两个矩形的长a相加 宽为两个矩形的宽b和b相加 要求定义类实现 自己设计 可以输出新矩形的长和宽 矩形相加要求使用运算符 重载实现 inc
  • 分布式链路追踪之Spring Cloud Sleuth+Zipkin最全教程

    今天这篇文章陈某介绍一下链路追踪相关的知识 以Spring Cloud Sleuth和zipkin这两个组件为主 后续文章介绍另外一种 文章的目录如下 为什么需要链路追踪 大型分布式微服务系统中 一个系统被拆分成N多个模块 这些模块负责不同
  • 深入理解数据结构——模拟链表

    include
  • Blob数据类型及应用

    JavaScript中有一种专门存放二进制数据的数据类型对象 叫blob 是从HTML5引入的 blob的英文名称为Binary Large Object 即二进制的大型对象 File对象继承自blob对象 并有一些额外的拓展功能 创建方法
  • 什么是渗透测试呢?

    随着信息技术的不断发展 网络安全威胁也日益增加 黑客 病毒 恶意软件等攻击手段层出不穷 给个人 组织甚至整个国家的安全造成了严重威胁 而渗透测试作为网络安全防御的关键环节 通过模拟真实攻击场景 揭示潜在的漏洞和安全隐患 评估现有的防御措施是
  • pipline发布代码

    1 创建流水线任务 2 自定义流水线语法 3 在流水线语法中自动生成语法结构 也可以直接写shell语句
  • 线性dp(背包)、树形dp、区间dp,板子+典型问题+例题

    线性dp 01背包问题 核心板子 for int v 0 v lt x v f v 0 w i 为重量 c i 为价值 x为重量上限 for int i 1 i lt n i for int v x v gt w i v f v max f
  • java.net.UnknownHostException: www.xxx.com: Name or service not known的某种情况

    我一般只记录不是网上给出的大众答案 很明显很多人搜到的结论是 修改服务器hosts文件 vi etc hosts 添加记录行 127 0 0 1 www xxx com 这只是把这个无法识别的域名映射到本地了 有点掩耳盗铃 我是真的需要访问
  • c++学习之模板

    函数模板 1 c 有一种编程思想称为泛型编程 主要利用的技术就是模板 2 c 提供两种模板机制 函数模板和类模板 函数模板的语法 函数模板的作用 建立一个通用函数 其函数返回值类型和形参类型可以不具体的指定 用一个虚拟的类型来代表 语法 t
  • switch语句

    switch语句格式 格式 switch 表达式 case值1 语句体1 break case值2 语句体2 break default 语句体n 1 break 执行流程 首先计算表达式的值 依次和case后面的值进行比较 如果有对应的值
  • RabbitMQ 队列消息的条数限制、队列字节长度限制、队列溢出行为方式

    目录 队列长度限制 默认最大队列长度限制行为 队列溢出行为 使用配置定义最大队列长度 在声明队列期间使用 x arguments 定义最大队列长度 重点阅读即可 队列长度限制 概述 队列的最大长度可以限制为一组消息数或一组字节数 忽略消息属
  • (C语言)使用函数输出指定范围内的Fibonacci数 (20分)

    本题要求实现一个计算Fibonacci数的简单函数 并利用其实现另一个函数 输出两正整数m和n 0
  • 程序员幸福感拉满:一键为代码自动生成注释的工具,拿走不谢!

    提升程序员幸福感的CodeGeeX代码解释功能上线了 一个 古老的传说 程序员最讨厌的2件事 一是编写程序时要写注释 二是看别人编写的程序里没写注释 可见 手动为代码添加注释 需要投入大量的时间和精力 但是 学会注释又是编码过程中不可或缺的
  • vue富文本编辑器vue-quill-editor安装及使用

    一 vue项目中 npm安装依赖 npm install vue quill editor save 二 两种引用方法 全局引用和局部引用 1 全局引用 项目入口文件中 main js 注册 Author pcf pcf Date 2022

随机推荐

  • 去除 QListWidget的selected item的长方形边框focus rectangle--委托

    QListWidget change color of selected item focus rectangle 视图中元素的绘制是通过代理实现的 在显示QListWidget的时候 如果我们在iconMode或者listMode显示QL
  • 前端Css@media设备媒体查询大全

    移动端设备 media max width 575px 移动端设备 横屏 低分辨率 media min width 576px and max width 767px iPad 平板设备 and 移动端设备 横屏 高分辨率 media mi
  • utf8转gb2312精简版

    var strGB 啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑
  • linux强制安装rpm包的命令

    rpm ivh rpm nodeps force 强制安装会忽略掉所有依赖关系 强制进行安装 转载于 https www cnblogs com Noul p 10523090 html
  • 机器学习实战——第四章(分类):朴素贝叶斯

    前言 首先感谢博主 Jack Cui 主页 http blog csdn net c406495762 朴素贝叶斯博文地址 https blog csdn net c406495762 article details 77341116 ht
  • 在Ubuntu上用命令行安装Chrome浏览器

    1 下载谷歌浏览器 通过使用Ctrl Alt T键盘快捷键或单击终端图标来打开终端 使用wget下载最新的Chrome deb软件包 wget https dl google com linux direct google chrome s
  • 小程序自动化测试框架Minium——框架介绍和环境搭建

    一 Minium 简介 minium 是微信团队为小程序专门开发的自动化框架 我们可以用它来做小程序的UI自动化测试 但是它的能力却不仅仅在于UI自动化 正是得益于官方订制打造 所以对于小程序很多原生内容和特性的支持自然也是非常独到的 比如
  • 重点必考题:区块链百万年薪人才招聘,必会这58个知识点

    2018年区块链行业热度不减 投资人青睐 创业者追捧 而区块链人才成了稀缺性物种 拉勾网发布的 2018年区块链高薪清单 中 腾讯 阿里等大厂将区块链岗位的月薪最高开到了100K 有相关数据统计 2月份北京区块链岗位增加了3万多个 技术类2
  • ovirt简介

    Ovirt 调研 简介 架构 功能模块和列表 虚拟化所用的技术 kvm 是否支持分布式存储以及所用的技术 支持 gluster 虚拟网络能够实现哪些功能 VLAN 在虚拟机上最小化部署一套 简介 oVirt是一种开源分布式虚拟化解决方案 旨
  • wang_ys121账号停用及博客迁移至wonyoungsen的说明!

    从今天起 本账号wang ys121停止使用 不再更新博文 并将此账号博文逐步迁移到新的账号wonyoungsen中去 请喜欢我的同学继续关注我 谢谢
  • 远程链接redis遇到的坑

    1 安装redis参考 https cloud tencent com developer article 1653709 安装完后一直无法启动redis Dec 28 13 12 05 hecs 22391 systemd 1 Start
  • 【可视化开发】echarts点击事件

    echarts提供了点击事件方法 首先需要确定点击的范围 以横向柱状图为例 若不设置属性 添加点击事件后默认为柱型 设置可点击属性 需添加以下配置 yAxis 其余属性 silent false 坐标轴是否是静态无法交互 triggerEv
  • linux 中 安装 redis

    cd usr mkdir redis cd redis wget http download redis io releases redis 3 2 4 tar gz tar xzf redis 3 2 4 tar gz cd redis
  • PyTorch 矩阵乘法的方法总结 & 问题解答

    在机器学习和深度学习中时 矩阵运算是最常见 有效提高计算效率的方法 因为特征和权重都以向量储存 矩阵运算就显得尤为重要 诸如梯度下降 反向传播 矩阵因子分解等重要的机器学习方法 都需要基于矩阵运算 在深度学习中 神经网络将权重储存在矩阵当中
  • Java连接MySQL

    目录 1 JDBC简介 2 使用 JDBC 连接数据库 2 1 使用流程 3 详细操作 3 1 导入 jar 包 4 通过 java 语言操作数据库 4 1 连接 Mysql 数据库 4 2 增 删 改 查操作 5 部分问题 5 1 数据库
  • Spring-Data-JDBC 自定义枚举类型 转换遇到的bug (搞了半天,在 insuess中看到)

    解决思路 bug描述 issuse地址 解决方法
  • qt中如何模拟按钮点击_qt模拟键盘的三种实现方式(思路+demo)

    按照我自己的理解 qt模拟键盘分三个层次的模拟 1 单线程的模拟 2 qt框架内的模拟 可以跨线程的 3 在操作系统的图形界面内模拟 相当于模拟了一个输入法 第一种 一般就是添加多个按键 QToolButton QPushButton都可以
  • RTThread:静态线程&动态线程

    一 静态线程创建 rt thread init rt err t rt thread init struct rt thread thread const char name void void parameter entry void p
  • ❀资源帖❀ResNet,ConvNeXt,Transformer预训练模型等

    1 说在前面 部分输入网页直接开始下载 一些是自己训练后的模型 2 resnet权重文件下载地址 2 1resnet18 https download pytorch org models resnet18 5c106cde pth 2 2
  • 关于OPC UA TSN中TSN

    近日 TTTech和英特尔联合发表了一份白皮书 为寻求在工业自动化系统中实现TSN网络技术的客户提供指导 白皮书概述了所有的TSN标准 优点和特点 并描述了TTTech和英特尔今天可用的产品如何可用于开发优化的TSN设备和系统 TSN将重塑