【PLC】现场总线和工业以太网汇总
1、 现场总线
1.1 什么是现场总线
1)非专业描述:
如下图:“人机界面”一般通过以太网连接“控制器(PLC)”,“控制器(PLC)”通过== “现场总线”==和现场设备连接。
2)专业描述(维基百科)
现场总线(Fieldbus)是许多工业用通讯协定的总称,一般用在即时分散式控制系统,IEC 61158是有关现场总线的标准,不过也有一些现场总线未列在IEC 61158中,如Modbus、LonWorks、CANopen等。
一个复杂的自动化系统(例如组装生产线)会需要一个有组织的控制系统阶层才能运作。在此阶层的顶端一般是人机界面(Human Machine Interface, HMI),可以让操作员监控及使用此系统。中间层则由许多可编程逻辑控制器(PLC)组成,PLC之间借由网络系统(如Ethernet)传递资料。低层则是由现埸总线连接PLC及感测器、致动器、马达、开关、阀门、接触器等实际动作或侦测的元件。
1.2 现场总线标准IEC 61158
在2008年国际电工委员会提出新的现场总线标准IEC 61158,将现场总线相关的标准分为15个通信行规族(Communication Profile Families, CPF)[1]:
CPF01:Foundation现场总线(FOUNDATION Fieldbus)。
CPF02:通用工业协定(Common Industrial Protocol,简称CIP)。
CPF03:PROFIBUS及PROFINET。
CPF04:P-NET。
CPF05:WorldFIP(Factory Instrumentation Protocol,是法国标准的通讯协定)[2]
CPF06:INTERBUS(INTERBUS)。
CPF07:CC-Link。
CPF08:HART(Highway Addressable Remote Transducer Protocol)。
CPF09:Vnet/IP(由日本横河电机推动的通讯协定)。
CPF10:TCnet(全名为time-critical information and control network,由日本东芝推动的通讯协定)。
CPF11:EtherCAT。
CPF12:Ethernet POWERLINK。
CPF13:EPA(全名为Ethernet for Plant Automation,中国提出的即时工业以太网通讯协定[3])。
CPF14:MODBUS-RTPS(MODBUS实时发布与订阅)。
CPF15:SERCOS。
1.3 IEC 61158现场总线
1.3.1 FF(FOUNDATION Fieldbus)
基金会现场总线FF(Foundation Fieldbus)以ISO/OSI开放系统互联模式为基础,取其物理层、数据链路层、应用层为FF通信模型的相应层次,并在应用层上增加了用户层。用户层主要针对自动化测控应用的需要,定义了信息存取的统一规则,采用设备描述语言规定了通用的功能块集。
基金会现场总线分低速H1和高速H2两种通信速率。
- H1的传输速率为31.25kbps,通信距离可达1900m(可加中继器延长),可支持总线供电防爆环境。
- H2的传输可为1Mbps和2.5Mbps两种,其通信距离分别为750m和500m。物理传输介质可支持双绞线、光缆和无线发射,协议符合IEC1158-2标准。其物理媒介的传输信号采用曼彻斯特编码。
Foundation现场总线主要用在重工业上,例如冶炼、石化、发电上,也有用在食品饮料、制药及核电厂中。
1.3.2 CIP(Common Industrial Protocol)
通用工业协议(CIP,Common Industrial Protocol)为开放的现场总线DeviceNet、ControlNet、Componet、EtherNet/IP等网络提供了公共的应用层和设备描述。它建立在单一的、与介质无关的平台上,为从工业现场到企业管理层提供无缝通信,使用户可以整合跨越不同网络的有关安全、控制、同步、运动、报文和组态等方面的信息。
实现实时性的方法是在TCP/IP层之上增加了用于实时数据交换和运行实时应用的CIP协议(Common Industrial Protocol )。
Ethernet/IP在物理层和数据链路层采用标准的以太网技术,在网络层和传输层使用IP协议和TCP、 UDP协议来传输数据。UDP是一种非面向连接的协议,它能够工作在单播和多播的方式,只提供设备间发送数据报的能力。对于实时性很高的I/O数据、运动控制数据和功能行安全数据,使用UDP/IP协议来发送。而TCP是一种可靠的、面向连接的协议。对于实时性要求不是很高的数据(如参数设置、组态和诊断等)采用TCP/IP协议来发送。
Ethernet/IP采用生产者/消费者数据交换模式。生产者向网络中发送有唯一标识符的数据包。消费者根据需要通过标识符从网络中接收需要的数据。这样数据源只需一次性地把数据传到网上,其它节点有选择地接收数据,这样提高了通信的效率。
Ethernet/IP是在CIP这个协议的控制下实现非实时数据和实时数据的传输。CIP是一个提供工业设备端到端的面向对象的协议,且独立于物理层及数据链路层,这使得不同供应商提供的设备能够很好的交互。另外,为了获得更好的时钟同步性能,2003年ODVA将 IEEE 15888引入Ethernet/IP,并制定了CIPsync标准以提高Ethernet/IP的时钟同步精度。
1.3.3 PROFIBUS、PROFINET
1)PROFIBUS
Profibus是作为德国国家标准DIN19245和欧洲标准prEN50170的现场总线。
ISO/OSI模型也是它的参考模型。由Profibus-Dp、Profibus-FMS、Profibus-PA组成了Profibus系列。
- DP型用于分散外设间的高速传输,适合于加工自动化领域的应用。FMS意为现场信息规范,适用于纺织、楼宇自动化、可编程控制器、低压开关等一般自动化,
- PA型则是用于过程自动化的总线类型,它遵从IEC1158-2标准。该项技术是由西门子公司为主的十几家德国公司、研究所共同推出的。它采用了OSI模型的物理层、数据链路层,由这两部分形成了其标准第一部分的子集,DP型隐去了3~7层,而增加了直接数据连接拟合作为用户接口
- FMS型只隐去第3~6层,采用了应用层,作为标准的第二部分。PA型的标准目前还处于制定过程之中,其传输技术遵从IEC1158-2(1)标准,可实现总线供电与本质安全防爆。
2)PROFINET
PROFINET是一个开放式的工业以太网通讯协定,是由PROFIBUS & PROFINET国际协会所提出。PROFINET应用TCP/IP及资讯科技的相关标准,是实时的工业以太网。
PROFINET=PROFIbus+etherNET,把Profibus的主从结构移植到以太网上,所以profinet会有Controller和Device,他们的关系可以简单的对应于profibus的Master和Slave。
另外由于profinet是基于以太网的,所以可以有以太网的星型、树形、总线型等拓扑结构,而profibus只有总线型。所以profinet就是把profibus的主从结构和ethernet的拓扑结构相结合的产物。
三种的通讯协定等级:
- TCP/IP是针对PROFINET CBA及工厂调试用,其反应时间约为100ms。
- RT(实时)通讯协定是针对PROFINET CBA及PROFINET IO的应用,其反应时间小于10ms。
- IRT(等时实时)通讯协定是针对驱动系统的PROFINET IO通讯,其反应时间小于1ms。
PROFINET的详细介绍,参考:想了解Profinet,这一篇就够了
1.3.4 P-NET
P-NET是一个开放式的工业现场总线协议,由丹麦的Proces-Data A/S公司在1983年开发[1]。管理机构为国际P-NET用户组织(International P-NET User Organization,IPUO)。P-NET适合在一般时间需求的工业系统中使用。一般系统的反应时间大约为微秒等级,网络线最长可到一公里。
P-NET协议的标准是架构在OSI模型上。大多数的现场总线协议只包括有OSI模型的第1层(物理层)、第2层(资料链接层)及第7层(应用层),但P-NET协议除了上述的协议外,还包括OSI模型的第3层(网络层)及第4层(传输层,但在P-NET中是服务层)。
1.3.5 WorldFIP
WorldFIP是指由法国的Alstom公司支持,支持双重冗余总线运行方式,总线上可以连接PLC、IV0现场设备、控制器、HMI系统等。
1.3.6 INTERBUS
INTERBUS的开发者为德国的PhoenixContact公司。
INTERBUS是一种器件级现场总线,主要设备有总线终端BT(Bus Terminal)上的BK模块、I/O模块和安装在PC或PLC等上位主设备中的总线控制板。
INTERBUS总线包括远程总线网络和本地总线网络,两种网络传送相同的信号但电平不同。
- 远程总线网络用于远距离传送数据,采用RS-485传输,网络本向不供电,远程网络采用全双工方式进行通讯,通讯速率为500k/s。
- 本地总线网络连接到远程网络上,网络上的总线终端BT(BUS Terminal)上的BK模块负责将远程网络数据转换为本地网络数据。
1.3.7 CC-Link
CC-Link由三菱为主导的多家公司共同推出。
1.3.8 HART
HART,Highway Addressable Remote Transducer Protocol,即可寻址远程传感器高速通道协议。
最大的特色及优点是可以在传统的4–20mA仪表线上通讯。
HART协议采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯,数据传输率为1.2kbps。
由于FSK信号的平均值为0,不影响传送给控制系统模拟信号的大小,保证了与现有模拟系统的兼容性。
在HART协议通信中主要的变量和控制信息由4-20mA传送,在需要的情况下,另外的测量、过程参数、设备组态、校准、诊断信息通过HART协议访问。
1.3.9 Vnet/IP
Vnet/IP由日本横河电机推动的通讯协定
1.3.10 TCnet
TCnet全名为time-critical information and control network,由日本东芝推动的通讯协定
1.3.11 EtherCAT
EtherCAT(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的CAT为控制自动化技术(Control Automation Technology)字首的缩写。EtherCAT是确定性的工业以太网,最早是由德国的Beckhoff公司研发。
一般工业通讯的网络各节点传送的资料长度不长,多半都比以太网帧的最小长度要小。而每个节点每次更新资料都要送出一个帧,造成带宽的低利用率,网络的整体性能也随之下降。EtherCAT利用一种称为“飞速传输”(processing on the fly)的技术改善以上的问题。
在EtherCAT网络中,当资料帧通过EtherCAT节点时,节点会复制资料,再传送到下一个节点,同时识别对应此节点的资料,则会进行对应的处理,若节点需要送出资料,也会在传送到下一个节点的资料中插入要送出的资料 。每个节点接收及传送资料的时间少于1微秒,一般而言只用一个帧的资料就可以供所有的网络上的节点传送及接收资料。
EtherCAT通讯协定是针对程序资料而进行优化,利用标准的IEEE 802.3以太网帧传递,Ethertype为0x88a4。其资料顺序和网站上设备的实体顺序无关,定址顺序也没有限制。主站可以和从站进行广播及多播等通讯。若需要IP路由,EtherCAT通讯协定可以放入UDP/IP资料包中。
EtherCAT的周期时间短,是因从站的微处理器不需处理以太网的封包。所有程序资料都是由从站控制器的硬件来处理。此特性再配合EtherCAT的机能原理,使得EtherCAT可以成为高性能的分散式I/O系统:包含一千个分散式数位输入/输出的程序资料交换只需30us,相当于在100Mbit/s的以太网传输125个字节的资料。读写一百个伺服轴的系统可以以10 kHz的速率更新,一般的更新速率约为1–30 kHz,但也可以使用较低的更新速率,以避免太频繁的直接内存存取影响主站个人电脑的运作。
特点:
1)完全符合以太网标准:普通以太网相关的技术都可以应用于EtherCAT网络中。EtherCAT设备可以与其他的以太网设备共存于同一网络中。普通的以太网卡、交换机、路 由器等标准组件都可以在EtherCAT中使用。
2)支持多种拓扑结构:线型、星型、树型:可以使用普通以太网使用的电缆或光缆。当使用1OOBase-TX电缆时允许两个设备之间的通信距离达100m。当使用100BASE-FX模式,使用两对光纤在全双工模式下,单模光纤能够达到40千米的传输距离,多模光纤能够达到2千米的传输距离。EtherCAT还能够使用Beckhoff公司自己设计的低压差分信号LUDS ( Low Voltage Differential Signaling,低压差分信号)线来低延时地通信,通信距离能够达到10米。
3)广泛的适用性:任何带有普通以太网控制器的设备都有条件作为EtherCAT主站,比如嵌入式系统、普通的PC机、控制板卡等。
1.3.12 Ethernet POWERLINK
Ethernet Powerlink是在标准以太网上的实时通信协议,是由Ethernet POWERLINK标准化组(EPSG)管理的开放通信协议,是由奥地利自动化公司B&R在2001年开始使用。
Ethernet Powerlink是Ethernet的扩展,混合了轮询以及时间切片(timeslicing)机制,可以提供:
- 时间关键资料可以确保在非常短的等时(isochronic)周期中发送,具有可规划的回应时间。
- 网络上的所有节点都可以时间同步(Time-synchronisation),精度可以到微秒以下。
- 比较没有时间关键性的资料传输是在一个专属的异步通道中传输。
目前的实现方式其循环时间可以到200 µs以下,其时间精度(jitter)小于1 µs。
物理层:
Ethernet Powerlink原来的物理层是100BASE-TX 快速以太网,自从2006年底开始,物理层可以支持吉比特以太网,其传输速率可以提升到十倍(1,000 Mbit/s)。
在实体控制的区域中,建议用集线器(hub),不要使用网络交换器(switch),可以减小延迟以及时间抖动(jitter)[1]。Ethernet Powerlink使用IAONA的Industrial Ethernet Planning and Installation Guide,可以使用二种工业以太网的接头:8P8C(常称为RJ45)及M12。
数据链路层:
Ethernet Powerlink利用额外的总线调度机制(bus scheduling mechanism),扩展了标准以太网的数据链路层,确保同一时间只有一个节点可以访问网络。调度机制中分为等时阶段(isochronous phase)以及异步阶段(asynchronous phase)。在等时阶段中会发送时间关键的资料,异步阶段则会提供带宽,发送非时间关键的资料。管理节点(Managing Node,简称MN)会用轮询请求消息的方式允许其他节点访问网络。因此同一个时间只有一个节点(CN)可以访问网络,避免以往在使用网络交换器之前,以太网集线器上会有的资料碰撞(collision)情形。以往没有网络交换器的以太网使用的CSMA/CD机制会产生非确定性的以太网行为,Ethernet Powerlink使用总线调度机制,不会出现这类的行为。
1.3.13 EPA
EPA(全名为工厂自动化以太网,Ethernet for Plant Automation,中国提出的即时工业以太网通讯协定
EPA采用UDP协议传输EPA协议报文,以减少协议处理时间,提高报文传输的实时性。
EPA是一种全新的基于实时工业以太网的网络。他可将分布在现场的若干个设备、小系统以及控制/监视设备连接起来,使所有设备一起运作,共同完成工业生产过程和操作中的测量和控制。EPA可以用于工业自动化控制环境。
EPA实现实时性的方法是在ISO/IEC8802.3协议所规定的数据链路层之上增加了一个EPA-CSME ( communication scheduling management entity,通信管理实体)。
增加EPA-CSME,EPA-C SME用于对数据报文的调度管理,它支持两种通信调度方式:非实时的通信使用CSMA/CD通信机制,非实时数据直接在DLE层和DLS-Use:之间传输,不进行任何缓冲和处理;实时性使用确定性调度方式,EPA将DLS-User数据根据控制时序和优先级大小传送给DLE,然后经过PHY发送出去,这样避免了网络中报文的碰撞。
EPA网络为了避免冲突的发生将控制网络分成了若干个由网桥相互隔离的控制区域一一微网段。各微网段内通信互不干扰。不同微网段的设备的通信需要通过网桥转发来实现。这使得网络中的任何报文都被严格的监控,从而避免了广播风暴的产生。
1.3.14 MODBUS-RTPS
modbus RTPS:由Modbus-IDA组织提交的基于TCP/IP的Modbus和RTPS(Realtime Publish/Subscribe:实时数据的发布与订阅)协议。
MODBUS RTPS采用了发布-订阅模型,其中包含两个主要角色:发布者和订阅者。发布者负责将数据发布到网络上,而订阅者则通过订阅感兴趣的数据来接收数据。
MODBUS RTPS的通信过程如下:
- 发布者将数据发布到网络上,并指定数据的主题(Topic)和质量等级(Quality of Service)。
- 订阅者通过订阅感兴趣的主题来接收数据。
- 当发布者有新数据发布时,订阅者会自动接收到该数据。
MODBUS RTPS具有以下特点:
- 实时性:支持实时数据传输,适用于对数据传输延迟要求较高的应用场景。
- 灵活性:支持动态添加和删除发布者和订阅者,可以根据需求进行灵活配置。
- 可靠性:支持数据的可靠传输,确保数据的完整性和准确性。
- 扩展性:支持多个发布者和多个订阅者之间的通信,可以满足复杂的通信需求。
1.3.15 SERCOS
SERCOS(serial real time communication specification,串行实时通信协议)是一种用于数字伺服和传动系统的现场总线接口和数据交换协议,能够实现工业控制计算机与数字伺服系统、传感器和可编程控制器I/O口之间的实时数据通讯,也可以理解为是一个开放的智能控制、数字化驱动接口是用于高速串联的,闭环数据在光纤上进行实时通信的接口。
SERCOS接口由一个主站(Master)和若干个从站(Slave,1~254个伺服、主轴或PLC-IO)组成,各站之间采用光缆联接,构成环形网,见图。站间的最大距离为80m(塑料光纤)或240m (玻璃光纤),最大从站数为254,数据传输率为2Mbit/s到16Mbit/s。
SERCOS协议定义了主站同步电报MST、伺服电报AT和主站数据电报MDT三种电报类型。
- 主站同步电报MST由主站以固定周期发向所有从站,表示一次通讯周期开始,所有从站都将同时接收到该电报,主站通过它来控制各个从站的同步运行;
- 伺服电报AT由各个伺服从站发往主站,可将多种伺服信息实时反馈给主站,如伺服轴实际位置、转速、扭矩、报警信号、诊断信号、状态应答信号、PLC输入、伺服参数和电机参数等;
- 主站数据电报MDT由主站发给从站,向从站发出控制指令,如:伺服轴指令位置、转速、扭矩、工作方式选择、PLC输出、伺服参数和电机参数等,各个从站均能接收到此电报,并在指定位置找到各自的数据。
1.4 其它线程总线
1.4.1 LonWorks
LonWorks现场总线是美国埃施朗于1992年推出的局部操作网络,最初主要用于楼宇自动化,但很快发展到工业现场网。
LonWorks技术为设计和实现可互操作的控制网络提供了一套完整、开放、成品化的解决途径。LonWorks技术的核心是神经元芯片(NeuronChip)。该芯片内部装有3个微处理器:
- MAC处理器完成介质访问控制;
- 网络处理器完成OSI的3~6层网络协议;
- 应用处理器完成用户现场控制应用。
- 它们之间通过公用存储器传递数据。
在控制单元中需要采集和控制功能,为此,神经元芯片特设置11个I/O口。这些I/O口可根据需求不同来灵活配置与外围设备的接口,如RS232、并口、定时/计数、间隔处理、位I/O等。
LonWorks协议是一种用于建筑自动化和控制网络的通信协议。它采用集总式控制结构,通过单一的总线连接各个设备,实现数据的传输和设备之间的通信。LonWorks协议的主要特点包括以下几点:
- 物理层:LonWorks协议可以在多种物理层上运行,包括Twisted Pair(双绞线)、Power Line(电力线)、Ethernet(以太网)等,因此适用于不同类型的建筑环境。
- 媒体访问控制:LonWorks协议使用CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)媒体访问控制方法,确保设备之间的数据传输的可靠性和效率。
- 网络拓扑结构:LonWorks协议支持多种网络拓扑结构,包括线型、星形、树形和混合结构,适应不同规模和复杂度的建筑控制系统需求。
- 数据传输与编程:LonWorks协议使用对象模型和网络变量来定义和传输数据,同时支持事件驱动和周期性的数据传输,可实现实时监测和控制。
- 设备互操作性:LonWorks协议通过定义标准对象、变量、服务和应用领域特定的功能配置参数,确保不同厂家生产的设备之间的互操作性。
- 可扩展性:LonWorks协议支持在现有网络基础上进行扩展和升级,可以适应不断变化的楼宇需求和技术发展。
1.4.2 CAN总线
控制器局域网(CAN)最早由Bosch公司于1985年研发,用于搭建车内网络。在此之前,汽车生产商使用点对点布线系统连接车内电子设备。但随着车内电子设备的增多,这种布线系统需要的连线也越来越多,使系统变得既笨重又昂贵。于是,生产商开始使用车内网络来替代点对点布线系统,以降低布线的成本、复杂度,以及系统重量。
在此背景下,CAN作为一种构建智能设备网络的高集成度串行总线系统应运而生,成为车内网络的标准。由此,CAN在汽车业界迅速普及,于1993年成为国际标准(ISO 11898)。1994年后,数个CAN的高层协议标准形成,如DeviceNet和CANopen。
1.4.3 Devicenet
Devicenet是90年代中期发展起来的一种基于CAN(Controller Area Network)技术的开放型、符合全球工业标准的低成本、高性能的通信网络,最初由美国Rockwell公司开发应用。
Devicenet的许多特性沿袭于CAN,CAN总线是一种设计良好的通信总线,它主要用于实时传输控制数据。
DeviceNet的主要特点是:
- 短帧传输,每帧的最大数据为8个字节;
- 无破坏性的逐位仲裁技术;
- 网络最多可连接64个节点;
- 数据传输波特率为125kb/s、250kb/s、 500kb/s;
- 点对点、多主或主/从通信方式;
- 采用CAN的物理和数据链路层规约。
1.4.4 CANopen
CANopen是一种架构在控制局域网路(Controller Area Network, CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线。
CANopen 实现了OSI模型中的网络层以上(包括网络层)的协定。CANopen 标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。 CANopen 支持网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言数据链结层及物理层会用CAN来实作。除了 CANopen 外,也有其他的通讯协定(如EtherCAT)实作 CANopen 的设备子协定。
2、工业以太网
2.1 工业以太网和商业以太网的区别
1)以太网最初是为办公自动化的应用而设计,并没有考虑工业现场环境的需求,在材质的选用、产品的强度、适用性以及实时性、可互操作性、可靠性、抗干扰性、本质安全性等方面不能满足工业现场的需要,故在工业现场控制应用的是与商用以太网不同的工业以太网。
2)工业以太网是指在工业环境的自动化控制及过程控制中应用以太网的相关组件及技术,并采用TCP/IP协议,和IEEE 802.3标准兼容,在应用层会加入各自特有协议的通信技术。
2.2 实时工业以太网
西门子的:PROFINET
横河Yokogawa的:VNET/IP
倍福的:EtherCAT
东芝Toshiba的:TCnet
施耐德的:Modbus-IDA
贝加莱的:Powerlink
浙大中控的:EPA
2.3 工业以太网
Modbus-TCP
PROFINET
EtherNet/IP
EtherCAT
SERCOS III
SafetyNET p
VARAN
Ethernet
Powerlink
CANopen
相关文章:

【PLC】现场总线和工业以太网汇总
1、 现场总线 1.1 什么是现场总线 1)非专业描述: 如下图:“人机界面”一般通过以太网连接“控制器(PLC)”,“控制器(PLC)”通过 “现场总线”和现场设备连接。 2)专业描述(维基百科) 现场总线…...

【吊打面试官系列】Java虚拟机JVM篇 - 关于JVM分析
大家好,我是锋哥。今天分享关于JVM分析的JVM面试题,希望对大家有帮助; 查看JVM进程号的命令是什么? 可以使用 ps ‐ef 和 jps ‐v 等等。 怎么查看剩余内存? 比如: free ‐m, free ‐h, top 命令等等。 1000道 互联网大厂Jav…...

Mysql锁与MVCC
文章目录 Mysql锁的类型锁使用MVCC快照读和当前读读视图【Read View】串行化的解决 exlpain字段解析ACID的原理日志引擎整合SpringBoot博客记录 Mysql锁的类型 MySQL中有哪些锁: 乐观锁(Optimistic Locking):假设并发操作时不会发…...

rancher是什么
Rancher Labs是制作Rancher的公司。Rancher Labs成立于2014年,是一家专注于企业级容器管理软件的公司。它的产品设计旨在简化在分布式环境中部署和管理容器的过程,帮助企业轻松地采用容器技术和Kubernetes。Rancher Labs提供的Rancher平台支持Docker容器…...

阿里云服务器安全狗免费使用多引擎智能查杀引擎
云服务器具有按量付费、降低综合成本等诸多优势,受到很多企业的欢迎。 因此,目前使用的云服务器越来越多。 阿里云是目前云服务器中最具影响力的品牌,因此选择阿里云服务器的用户数量也是最多的。 那么阿里云服务器需要安装杀毒软件吗&#x…...
使用rust实现九九乘法表
rust目前拥有接近c/c的运行速度以及更快的编码支持,所以是很值得学习得一门语言。rust的语法及设计理念与其他的语言也有许多的不同之处。比如其特有的所有权属性。可以让开发者快速的开发出高效的运行程序。对于内存的管理也有极好的管理方案。 在这里使用rust语言…...
突破编程_C++_设计模式(简单工厂模式)
1 简单工厂模式的概念 简单工厂模式(Simple Factory Pattern)是设计模式中的一种创建型模式。它的主要目的是将对象的实例化与使用解耦,使得客户端无需关心对象的创建细节,只需通过工厂类来获取所需的对象。 在简单工厂模式中&a…...
C语言——快速排序
C语言——快速排序 一、 含义二、算法思想三、实现步骤代码实现 一、 含义 快速排序算法是在几种排序算法中效率最高的一个排序算法了,故称为快速排序,它的时间复杂度为:O(nlog2n),相比冒泡排序算法的O(n2)有很大的提升。 二、算…...
FP独立站获客秘籍大揭秘:简单高效,一看就会!
跨境电商的大潮中,越来越多的卖家选择跳出第三方平台的框架,拥抱独立站的自由与机遇。但独立站获客难、成本高的问题,也让不少卖家头疼不已。别担心,今天就来给大家揭秘FP独立站获客的简单高效方法! 首先,…...
英伟达tx2光驱烧录功能支持
今天得到一个任务,是在当前nvidia tx2平台上使能usb cdrom并且调试烧录功能。首先测试给到的信息是不能在平台上使用(废话嘛,能用还用我干嘛) 拿到本地ubuntu机器上看了下,使用brasero等软件可以顺利烧录。 此时捕获了…...

关于stm32(CubeMX+HAL库)的掉电检测以及flash读写
1.掉电检测 CubeMX配置 只需使能PVD中断即可 但是使能了PVD中断后还需要自行配置一些PWR寄存器中的参数,我也通过HAL库进行编写 void PVD_config(void) {//配置PWRPWR_PVDTypeDef sConfigPVD; sConfigPVD.PVDLevel PWR_PVDLEVEL_7; …...
Elastic script_score的使用
script_score介绍 在Elasticsearch中,script_score是在function_score查询中的一种功能强大的方式,允许用户使用内置Painless脚本语言或者其他支持的语言来动态计算每个文档的评分 script_score语法 GET /<索引名>/_search {"query":…...

【Spring Boot 3】获取已注入的Bean
【Spring Boot 3】获取已注入的Bean 背景介绍开发环境开发步骤及源码工程目录结构总结 背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历…...
C# 对于点位置的判断
1.判断点是否在一群点内部 要判断一个点是否在一个由多个点围成的多边形内部(例如一圈点),可以使用射线法(Ray Casting Algorithm)来实现。以下是一个简单的 C# 实现示例 using System;public class Point {public d…...

最新CLion + STM32 + CubeMX 开发环境搭建
网上有不少相关教程,但都是基于老版本Clion,新版有一些改变,但整体是简单了。 PS:本教程基于CLion 2023.3.4 安装所需工具参考:Clion搭建stm32开发环境(STM32F103C8T6),有这一篇就够…...
【Python3】观察者模式
观察者模式(Observer Pattern)是一种常见的设计模式,用于定义对象之间的一对多依赖关系,使得一个对象的状态改变能够通知所有依赖于它的对象并自动更新。 在观察者模式中,有两个核心角色: Subject…...

HTML5 Web Worker之性能优化
描述 由于 JavaScript 是单线程的,当执行比较耗时的任务时,就会阻塞主线程并导致页面无法响应,这就是 Web Workers 发挥作用的地方。它允许在一个单独的线程(称为工作线程)中执行耗时的任务。这使得 JavaScript 代码可…...

应对恶意IP攻击的有效方法
在当今数字化时代,网络攻击已经成为了互联网安全的重大挑战之一。恶意IP攻击是网络安全领域中的一种常见威胁,它可能导致数据泄露、服务中断、系统瘫痪等严重后果。因此,有效地应对恶意IP攻击至关重要。IP数据云将深入探讨如何应对恶意IP攻击…...

如何使用“Docker registry创建本地仓库,在服务器之间进行文件push和pull”?
1.1、在服务器1,运行registry docker run -d -p 5000:5000 -v ${PWD}/registry:/var/lib/registry --restart always --name registry registry:2.7.11.2、编辑/etc/docker/daemon.json 文件, 192.168.xxx.xxx 换成你自己 registry 服务的地址 sudo na…...

Rocky Linux - Primavera P6 EPPM 安装及分享
引言 继上一期发布的Redhat Linux版环境发布之后,近日我又制作了基于Rocky Enterprise Linux 的P6虚拟机环境,同样里面包含了全套P6 最新版应用服务 此虚拟机仅用于演示、培训和测试目的。如您在生产环境中使用此虚拟机,请先与Oracle Primav…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...