EtherCAT开源主站 IGH 介绍及主站伺服控制过程
目录
前言
IGH EtherCAT主站介绍
主要特点和功能
使用场景
SOEM 主站介绍
SOEM 的特点和功能
SOEM 的使用场景
IGH 主站 和 SOEM对比
1. 功能和复杂性
2. 资源消耗和移植性
3. 使用场景
EtherCAT 通信原理
EtherCAT主站控制伺服过程
位置规划模式
原点复归模式
PLC与从站伺服驱动器的控制
软件主站与从站伺服驱动器的控制
相关概念介绍
对象字典
服务数据对象(SDO)
过程数据对象(PDO)
CiA 402 规范
其他
前言
EtherCAT全称EtherNet Control Automation Technology,是由德国倍福(Beckhoff)公司提出的一种实时以太网技术,用于工业自动化的现场总线通信协议。EtherCAT是一种开放但不开源的技术,从站使用专属ASIC芯片或是FPGA的形式。
IGH EtherCAT是一种EtherCAT协议主站协议栈的开源实现,是一个完全符合EtherCAT标准的库,能够在实时操作系统上运行。与传统总线相比,EtherCAT的优点在于减少了总线通信的延迟时间,从而提高了实时性。IGH EtherCAT实现了这一协议,并对其进行了优化和改进。
EtherCAT的主站开发是基于EtherCAT工控制系统的开发中非常重要的环节。EtherLab的the IgH EtherCAT® Master是目前常见的一种开源的主站协议栈。IgH EtherCAT Master比SOEM复杂一些,但对EtherCAT的实现更为完整。
目前用的最多的开源ethercat主站是igh和soem。igh主站功能更多,结构较为复杂。soem功能相对没有那么完善,实现更为简单一些。主站实现在带有处理器的硬件平台上,带有完整或较为完整的操作系统时用igh;如果主站实现在单片机平台上,则推荐使用soem。igh主站依赖操作系统,而soem很容易可以移植到单片机上。
SOME支持Windows和Linux平台,功能相对简单。IGH的EtherCATMaster基于Linux平台,从发布至今已经将近10年并进行了多次更新,功能相对完善,还支持RTAI、RT-Preempt、Xenomai等多种实时扩展,并且支持DC分布时钟,支持COE、SOE、EOE等多种通信协议。
IGH的EtherCAT 主站由三部分组成,包括主站协议栈、控制应用程序、支持EtherCAT的网卡驱动模块。IGH提供了两种网卡驱动方式:generic驱动和native驱动,generic驱动适用于所有网卡,通过调用Linux网络协议栈实现数据包的收发,并不能直接对硬件进行操作,实时性较难保证。native驱动针对主站支持的一些特定网卡,可以对底层硬件进行操作,可以支持RATI、Xenomai等实时扩展,可以保证EtherCAT主站的实时性。
IGH EtherCAT主站介绍
IGH EtherCAT 主站(IgH EtherCAT Master for Linux)是一个专门针对 Linux 平台的 EtherCAT 主站实现。它是一个开源项目,旨在为 Linux 系统提供完整的 EtherCAT 主站功能。
IgH的官网:http://www.etherlab.org/en/ethercat/index.php
EtherLab / EtherCAT Master · GitLab
https://gitlab.com/etherlab.org/ethercat/-/archive/stable-1.6/ethercat-stable-1.6.tar.gz
以下是 IGH EtherCAT Master的一些特点和功能:
主要特点和功能
-
适用于 Linux 平台:IGH EtherCAT 主站专门设计用于在 Linux 操作系统上实现 EtherCAT 主站功能。它利用 Linux 内核的实时性能和特性来实现对实时控制系统的支持。
-
完整的 EtherCAT 主站功能:IGH EtherCAT 主站支持 EtherCAT 协议的完整功能和特性,包括实时数据通信、分布式时钟同步、监视和配置等。
-
高性能和实时性:基于 Linux 实时内核的特性,IGH EtherCAT 主站能够提供可靠的实时通信和控制能力,适用于实时控制系统的要求。
-
开源和免费:IGH EtherCAT 主站是开源项目,基于 GPL 协议发布,用户可以免费使用、修改和定制它。
-
支持各种 EtherCAT 从站设备:IGH EtherCAT 主站能够与各种符合 EtherCAT 标准的从站设备进行通信,为用户提供了在 Linux 平台上实现 EtherCAT 控制网络的解决方案。
使用场景
IGH EtherCAT 主站主要适用于对实时控制系统有高要求的应用场景。它能够提供高性能、实时性和完整的 EtherCAT 功能,在需要在 Linux 系统中实现 EtherCAT 控制网络的工业自动化、机器人控制、运动控制等领域发挥重要作用。
此外,由于其开源和免费的特性,IGH EtherCAT 主站还可以被广泛应用于研究和教育领域,为从业人员和学生提供了一个了解和探索 EtherCAT 技术的平台,同时市场上也有很多基于它的专利和市场商业应用。
SOEM 主站介绍
SOEM(Simple Open EtherCAT Master)是一种基于 EtherCAT 协议的开源主站实现,专为嵌入式系统和实时控制应用而设计。SOEM 的主要目标是提供一个轻量级、简单易用的 EtherCAT 主站解决方案,适用于资源受限的嵌入式平台和实时控制系统。
SOEM 的特点和功能
-
轻量级实现:SOEM 设计简单、轻量级,适用于资源受限的嵌入式系统和实时控制应用。它的设计旨在降低系统资源消耗,以便在嵌入式设备上运行。
-
容易移植:由于 SOEM 的设计简单,它相对容易移植到各种硬件平台,包括单片机等资源受限的设备上。这使得 SOEM 成为嵌入式系统和实时控制领域中的一种受欢迎的 EtherCAT 主站选择。
-
适用于实时控制:SOEM 专注于提供对实时控制系统的支持,其设计目标是确保稳定的实时通信和控制能力。
-
开源:SOEM 是开源项目,基于 LGPL 协议发布,这意味着它可以免费用于商业和非商业项目中,并且用户可以根据需要进行修改和定制。
SOEM 的使用场景
SOEM 主要适用于嵌入式系统和实时控制应用场景,通常由需要在资源受限的嵌入式平台或实时控制系统中实现 EtherCAT 主站功能的开发人员和工程师使用。由于其轻量级和易于移植的特点,SOEM 更适合于单片机等资源受限的处理器平台上使用。
由于 SOEM 对资源的精简使用和易于移植性,它在需要实现 EtherCAT 主站功能的嵌入式系统和实时控制应用中具有一定的优势。然而,需要同时注意的是,SOEM 的功能相对简化,可能不如其他更复杂的 EtherCAT 主站实现(如 IGH EtherCAT 主站)提供丰富的特性和功能。
IGH 主站 和 SOEM对比
IGH EtherCAT 主站(IgH EtherCAT Master for Linux)和 SOEM(Simple Open EtherCAT Master)都是开源的 EtherCAT 主站实现,用于在各种平台上实现 EtherCAT 主站功能。以下是它们之间的一些对比:
1. 功能和复杂性
-
IGH EtherCAT 主站:
- 功能较为丰富,支持 EtherCAT 主站的各种特性和功能。
- 结构相对复杂,适用于复杂的系统和对 EtherCAT 功能有较高要求的应用场景。
- 针对 Linux 平台设计,依赖于 Linux 操作系统的功能和特性。
-
SOEM:
- 设计简单、轻量级,专注于提供基本的 EtherCAT 主站功能。
- 适用于嵌入式系统和实时控制应用,资源消耗较低,易于移植到不同的硬件平台。
- 对实时控制系统提供基本但稳定的 EtherCAT 支持。
2. 资源消耗和移植性
-
IGH EtherCAT 主站:
- 由于功能较为丰富且结构复杂,可能会消耗更多系统资源,对硬件和操作系统可能有更高的要求。
- 针对 Linux 平台设计,对于在 Linux 系统中实现 EtherCAT 主站功能提供了良好的支持。
-
SOEM:
- 设计目标是轻量级和易于移植,适用于资源受限的嵌入式系统和实时控制应用。
- 容易移植到不同的硬件平台,包括单片机等资源受限的设备。
- 对实时控制系统提供基本但稳定的 EtherCAT 支持。
3. 使用场景
-
IGH EtherCAT 主站:
- 适用于需要实现 EtherCAT 主站功能并且对功能和特性有较高要求的复杂系统,通常是在带有处理器的硬件平台和完整的操作系统上使用。
-
SOEM:
- 适用于嵌入式系统和实时控制应用场景,在单片机等资源受限的平台上使用,例如实时控制系统和嵌入式设备。
EtherCAT 通信原理
传统的以太网设备组成的网络中,每个设备都能接收到网络中的所有数据包,指定设备的有用信息必须在应用层逐一提取,该方式严重影响了应用层执行效率。
EtherCAT 技术突破了传统以太网解决方案的系统限制,不必再像其它以太网那样每个连接点都接收以太网中所有的数据包。当数据帧通过每一个设备时,EtherCAT 从站设备在报文经过其节点时读取相应的编址数据。同样,输入数据可以在报文通过时插入至报文中。
在帧被传递(几纳秒的延迟)过去的时候,从站会识别出相关命令,并进行处理。此过程是在从站控制器中通过硬件实现的,因此与协议栈处理器性能无关。由于以太网帧到达许多设备的数据,在发送和接收方向,可用的数据速率增加至超过 90%,对 100BaseTX 全双工功能得到更充分的利用,使> 100 MBit/S 的有效数据率(> 2×100 MBit/S 90%)可以实现。
EtherCAT主站控制伺服过程
要实现使用EtherCAT协议,主站对从站的伺服驱动器进行控制,常见的有几种方式。如使用PLC,运动控制卡,或者工业PC,软件主站或者嵌入式系统等。
EtherCAT 主站要通过写参数和读设备状态/信息来控制伺服驱动器。为了达到这个目的,伺服驱动器定义了可以读写的参数和只读的状态值,这些参数和状态的集合就是对象字典。
伺服驱动器对象字典以标准化的方式包含 DSP402 及 CoE 相关的所有数据对象。它是伺服驱动器参数数据结构的集合。
COE 协议
CANopen Over EtherCAT 协议被称为COE,它的架构为:
伺服驱动器厂家提供EtherCAT 的 XML 文件,是一种用于描述设备对象字典(Object Dictionary)的文件,它提供了设备的参数配置、通信接口和数据交换方式的描述。对象字典是一种用于定义设备参数、状态和配置的数据结构的机制。XML 文件中包含了设备的数据对象、参数配置、映射方式以及其他相关信息。
XML 文件描述设备所支持的对象字典,以便于 EtherCAT 主站或者其他控制设备可以了解和访问设备的数据。在 EtherCAT 网络中,各个从站设备通过对象字典的描述,向主站和其他从站提供了自己的数据结构和通信能力。
伺服驱动器对象字典是主站与它通讯的接口,EtherCAT 主站实现对伺服驱动器的运动控制功能,都是通过对象字典这个接口完成的。
伺服在 EtherCAT 模式下,各项由 CiA DS402 所规范的操作模式 。
以下以常见的定点运动和回零运动过程举例:
位置规划模式
伺服驱动器接收到由上位机传送的位置命令后,驱动器控制伺服电机到达目标位置。在位置规划模式下,上位机仅在一开始时告知驱动器目标位置、速度命令与加减速等相关设定。从命令触发到到达目标位置这中间的运动规划,都是由驱动器内部的运动命令产生器去执行。下图为驱动器的位置规划模式架构图:
原点复归模式
原点复归模式,即回零模式。在完成原点复归后,驱动器的坐标系随即建立,驱动器可开始执行上位机所下达的位置命令。
周期同步位置模式(csp)
周期同步位置模式下,上位控制器完成位置指令规划,然后将规划好的目标位置 607Ah 上以周期性同步的方式发送给伺服驱动器,位置、速度、转矩控制由伺服驱动器内部完成。这个模式也比较厉害,可以实现一些复杂的运动,如多轴的插补运动。
周期同步速度模式(csv)
周期同步速度模式下,上位控制器将计算好的目标速度 60FF 周期性同步的发送给伺服驱动器,速度、转矩调节由伺服内部执行。
周期同步转矩模式(cst)
此模式下,上位控制器将计算好的目标转矩 6071h 周期性同步的发送给伺服驱动器,转矩调节由伺服内部执行。当速度达到限幅值后将进入调速阶段
轮廓位置模式(pp)
此模式主要用于点对点定位应用。此模式下,上位机给目标位置 ( 绝对或者相对 )、位置曲线的速度、加减速及减速度,伺服内部的轨迹发生器将根据设置生成目标位置曲线指令,驱动器内部完成位置控制,速度控制,转矩控制
轮廓速度模式(pv)
此模式下,上位控制器将目标速度、加速度、减速度发送给伺服驱动器,速度、转矩调节由伺服内部执行
轮廓转矩模式(pt)
此模式下,上位控制器将目标转矩 6071h、转矩斜坡常数 6087h 发送给伺服驱动器,转矩调节由伺服内部执行。当速度达到限幅值将进入调速阶段。
PLC与从站伺服驱动器的控制
选择支持EtherCAT协议的PLC作为主控单元,PLC 通过 EtherCAT 协议与伺服驱动器进行通信。 PLC 作为 EtherCAT 的主站,负责协调 EtherCAT 网络中的所有从站设备,包括伺服驱动器。
PLC 中集成了 EtherCAT 的主站实现,通常使用特定的编程语言或者软件来实现对伺服驱动器的控制。 PLC 程序可以通过 EtherCAT 协议,向伺服驱动器发送命令并接收其状态和反馈信息。
PLC 通过对伺服驱动器的对象字典进行解析,可以实现对伺服驱动器的配置和控制,以及获取状态信息。
PLC 通过周期性的发送 EtherCAT 帧来控制伺服驱动器的动作。 PLC 会定期地向伺服驱动器发送控制指令(例如位置、速度、加速度等指令),同时将接收和处理伺服驱动器的状态和反馈信息。
对于一些 PLC(特别是工业级 PLC)来说,可能会提供专门的运动控制模块或者函数库,以便实现更高级的运动控制功能,比如插补运动。这些模块或者函数库可以辅助用户实现更复杂的运动控制功能,比如多轴插补运动、圆弧插补、轨迹规划等。
软件主站与从站伺服驱动器的控制
这个就需要开发了,开发EtherCAT主站应用程序,有一定的门槛和含金量。需要理解基于EtherCAT的从站伺服驱动器应遵循的标准规范,尤其是CiA402规范,CiA402是针对伺服驱动器控制的CANopen应用规范,涵盖了运动控制、状态管理、参数设置等方面的要求。还需要熟悉伺服驱动器的参数和控制指令,包括速度控制、位置控制、电流控制等。这些参数和指令将会在使用API接口控制伺服驱动器时用到。
使用IGH主站通过api接口,控制从站伺服驱动器,实现对从站的访问和设置,如设置从站地址、显示总线配置、显示PDO数据、读写SDO参数等。
IGH的应用程序接口为应用程序提供访问EtherCAT主站的功能和数据结构。 接口包含在头文件include / ecrt.h中。
开发EtherCAT主站应用程序大致包括配置软件交互模块、配置参数解析模块、总线扫描模块、主站业务管理模块、过程数据交互模块等。
配置软件交互模块提供上位机配置软件网络配置、主/从站操作功能。在主站进入正常工作流程前,用户通过配置软件把现场总线的网络拓朴结构、主站配置参数、从站配置参数、PDO对象映射等下发给主站,本模块将配置参数保存到文件中,并给主平配置解析模块下发信号量。同时本模块也响应配置软件对主/从站操作命令、状态信息获取命令、信息监控等。
配置参数解析模块功能单一,主要解析主站、从站配置参数。接收到配置软件交互模块信号量后,本模块从配置文件中读取网络配置参数,并进行动态解析,将解析到的主/从站配置信息、SDO/PDO映射等信息保存到全局变量中,然后给主站业务管理模块发送信量。若解析参数出现异常,则将错误信息传递给主站业务管理模块。
总线扫描模块主要功能是对现场EtherCAT总线网络进行扫描。本模块接收到配置软件交互模块信号量后,启动网络总路线扫描,获取总线网络拓扑结构及从站信息,将上述信息传递给配置软件交互模块及主站业务管理模块。
主站业务管理模块为应用程序的核心。处理的业务包括主站创建、主/从站参数协议栈配置、从站启动参数配置、从站同步管理器配置、系统异常错误处理等。本模块接收到主站配置解析模块信号量后,首先调用ecrt_requet_master()函数申请主站,然后调用ecrt_master_create_domain()函数创建domain数据域,调用ecrt_master_slave_config()、ecrt_slave_config_pdos()等函数配置从站PDO映射;调用ecrt_slave_config_dc()配置从站DC同步时钟。EtherCAT总线配置完成后,调用ecrt_master_activate()激活主站,并启动过程数据交互模块,进入主站业务循环处理,状态信息更新及系统异常处理。
过程数据交互模块在主站进入正常业务处理后启动,处理的业务包括过程数据接收、过程数据处理、主/从站状态检测、主/从站DC时钟同步、过程数据发送。本模块调用高精度定时函数clock_nanosleep()实现任务的精确定时,调用ecrt_master_receive()函数接收网络数据,调用ecrt_domain_process()函数处理过程数据,调用ecrt_master_sync_slave_clocks()函数设置DC同步时钟,调用ecrt_master_send()发送网络数据,从而实现EtherCAT网络数据的周期处理。
一些三方公司也提供的有开发板或开发包,通过向linux内核打实时补丁和使用IGH软件主站,简化伺服运动控制的开发。
相关概念介绍
在 EtherCAT 中,对象字典(Object Dictionary)、PDO(Process Data Objects)和 SDO(Service Data Objects)这些概念都是源自 CANopen 协议,并在 EtherCAT 中得到了应用。
CANopen 是一种用于控制系统中各种设备之间通信和数据交换的高层协议,而 CiA 402 是作为 CANopen 的一个特定设备配置规范存在的,主要用于定义运动控制设备的对象字典和通信机制。
在 EtherCAT 中,可以使用 CiA 402 的规范来定义设备的对象字典、PDO 和 SDO,以便于使用 EtherCAT 实现运动控制设备和系统的开发和集成。
对象字典和通讯功能可以合称为 COE 部分。
核心部分:对象字典——通讯功能和应用部分沟通的桥梁。
关键部分:通讯功能——通信规则(SDO、PDO 等)的实现。
重点部分:应用部分——决定了设备的具体功用,例如驱动器、IO 模块。
对象字典
对象字典是一种用于定义设备数据对象的格式和布局的机制。在 EtherCAT 中,对象字典描述了设备的数据结构、寄存器映射、参数配置等信息,以便其他设备或主站了解和访问这些数据。对象字典通常以标准格式进行定义,以确保设备之间能够进行正确的通信和交换数据。
服务数据对象(SDO)
PDO 和 SDO 是用于数据交换的机制,通常在实时通信中使用。PDO 用于在实时数据交换过程中传输周期性的过程数据,而 SDO 用于在非周期性数据交换过程中提供配置、参数设置和状态查询等服务。通过这些机制, EtherCAT 设备能够在实时通信中进行数据交换和设备控制。
伺服系统支持 SDO 服务,EtherCAT 主站可以通过使用 SDO 读写 驱动器伺服系统的对象字典,从而配置、监控、控制伺服系统。
SDO 采用的是客户端/服务器模型;SDO 操作中主站对应为客户端,伺服驱动器从站为服务器,所有传输都必须是客户端发起,服务器响应。
在传统 CANopen DS301 模式下,SDO 协议为了匹配 CAN 报文数据长度,一次只能传输 8 个字节。在 COE 增强模式下仅扩大有效载荷数据而不改变协议首部;在这种方式下,SDO 协议使用更大数据长度的邮箱,从而提高了大数据的传输效率。
过程数据对象(PDO)
PDO 一般用于实时的数据更新;其分为接收 PDO(RXPDO)和发送 PDO(TXPDO),前者的数据流方向是主站到从站,后者则是从站到主站。
伺服驱动器 的 PDO 功能支持同步周期的刷新方式,也支持非周期的更新方式。当主站选择为分布时钟同步模式时,PDO 将按同步周期更新;如果选择自由运行模式,那么 PDO 数据的更新将是非周期性的。
CiA 402 规范
CiA 402 是由CAN in Automation(CiA)组织发布的针对运动控制设备的 CANopen 设备配置和应用规范。CiA 402 定义了一系列对象字典、PDO 映射和 SDO 服务,以便于控制运动设备、配置参数和获取状态信息。该规范是专门面向运动控制设备的,包括驱动器、伺服控制器等。
其他资源
基于IMX8、ZYNQ、T3平台的IgH EtherCAT主站开发案例分享
Igh1.5.2 etherCAT接口分析教程 - 知乎
一种基于IGH开源框架改进的EtherCAT通信主站方法及系统与流程
IgH EtherCAT主站开发案例分享——基于NXP i.MX 8M Mini - 知乎
https://www.cnblogs.com/wsg1100/p/14433632.html
基于i.MX6处理器的EtherCAT主站的设计-伺服与运动控制-中国传动网
[工业互联-23]:EtherCat从站 - EtherCAT协议栈与工作原理, 软硬件解决方案-CSDN博客
【EtherCAT】4.实现一个成熟的从站 - 知乎
免费开源!IgH EtherCAT控制伺服电机方法分享!|linux|ethercat|驱动器_网易订阅
IGH_Master主站配置驱动伺服电机和变频器总结
EtherCAT 伺服控制功能块实现_ethercat伺服控制-CSDN博客
https://blog.csdn.net/gufuguang/category_11310794.html
https://patents.google.com/patent/CN110311846A/zh
GitHub - ahoarau/ethercat-drivers: r8169 EtherCAT driver for IgH EtherCAT Master for Linux
https://docs.etherlab.org/ethercat/1.5/pdf/ethercat_doc.pdf
https://patents.google.com/patent/CN115378761B/zh
https://www.cnblogs.com/pwl999/p/15534998.html
MyEthercat-IGH 1.5.2: Ethercat IGH 1.5.2 使用及二次开发
IgH(Igh EtherCAT Master for Linux)移植到搭载Linux系统的开发板_igh移植-CSDN博客
驱动器控制模式功能简介(CSP,CSV,CST等)_csp和pp区别 规划器-CSDN博客
工控自动化技术文摘:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(三):EtherCAT总线CSP,CSV,CST模式切换
经济型EtherCAT运动控制器(十):EtherCAT总线快速入门 - 知乎
相关文章:
EtherCAT开源主站 IGH 介绍及主站伺服控制过程
目录 前言 IGH EtherCAT主站介绍 主要特点和功能 使用场景 SOEM 主站介绍 SOEM 的特点和功能 SOEM 的使用场景 IGH 主站 和 SOEM对比 1. 功能和复杂性 2. 资源消耗和移植性 3. 使用场景 EtherCAT 通信原理 EtherCAT主站控制伺服过程 位置规划模式 原点复归模式…...
自然语言:python实现自然语言处理中计算文件中的英语字母的熵
下面是一个示例代码,实现了计算文件中英语字母的熵的功能。 import mathdef calculate_entropy(text):# 统计字母的出现次数letter_count {}total_count 0for char in text:if char.isalpha():char char.lower()letter_count[char] letter_count.get(char, 0) …...
分类预测 | Matlab实现BiTCN双向时间卷积神经网络数据分类预测/故障识别
分类预测 | Matlab实现BiTCN双向时间卷积神经网络数据分类预测/故障识别 目录 分类预测 | Matlab实现BiTCN双向时间卷积神经网络数据分类预测/故障识别分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现BiTCN双向时间卷积神经网络数据分类预测/故障识别。 2.自…...
基于SpringBoot的后勤管理系统【附源码】
后勤管理系统开发说明 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myecli…...
智能仓储系统|基于JSP技术+ Mysql+Java+ Tomcat的智能仓储系统设计与实现(可运行源码+数据库+设计文档)
推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java,ssm,springboot的平台设计与实现项目系统开发资源(可…...
Layui实现删除及修改后停留在当前页
1、功能概述? 我们在使用layui框架的table显示数据的时候,会经常的使用分页技术,这个我们期望能够期望修改数据能停留在当前页,或者删除数据的时候也能够停留在当前页,这样的用户体验会更好一些,但往往事与…...
小型研发型企业,如何筛选合适的内外网数据交换方案?
研发型企业是社会经济发展的重要组成,研发型企业是一种以研发创新为主要驱动力的企业。这些企业主要注重技术创新和产品研发,致力于将新的科技成果转化为市场竞争力。它们通常拥有强大的研发团队和研发设施,投入大量资源用于技术研究和产品开…...
Visual Studio 常用快捷键
执行调试: F5 调试 F5: 启动调试 ShiftF5: 停止调试 CtrlShiftF5: 重启调试 执行(调试) CtrlF5: 开始执行(不调试) F10: 逐过程 F11: 逐语句 断点 F9: 启用/关闭断点 CtrlF9: 停止断点 CtrlShiftF9: 删除全部断点 格式化代码 Ctrl kd …...
【WEEK3】 【DAY4】JSON Interaction Handling Part Three【English Version】
2024.3.14 Thursday Following the previous article 【WEEK3】 【DAY3】JSON Interaction Handling Part Two【English Version】 Contents 6.7. Writing Abstract Classes6.7.1. Reason6.7.2. Create JsonUtils.java6.7.3. Add a method json6 in UserController to verify…...
蓝桥杯物联网竞赛_STM32L071_12_按键中断与串口中断
按键中断: 将按键配置成GPIO_EXTI中断即外部中断 模式有三种上升沿,下降沿,上升沿和下降沿都会中断 external -> 外部的 interrupt -> 打断 trigger -> 触发 detection -> 探测 NVIC中将中断线ENABLE 找接口函数 在接口函数中写…...
Java安全 反序列化(1) URLDNS链原理分析
Java安全 反序列化(1) URLDNS链原理分析 文章目录 Java安全 反序列化(1) URLDNS链原理分析前置知识应用分析payload1.新建HashMap类2.新建URL类3.获取URL 的 Class对象4.通过反射访问URL内部变量5.通过反射为URL中类赋值6.调用HashMap#put方法传入key和value7.再次通过反射为UR…...
电脑插上网线之后仍然没网络怎么办?
前言 有小伙伴在使用Windows系统的时候,经常会遇到电脑没网络,但又不知道具体怎么调整才好。 本篇内容适合插网线和使用Wi-Fi的小伙伴,文章本质上是重置电脑的网络设置。 注意事项:网络重置操作会让已连接过的wifi密码丢失&…...
easyexcel读和写excel
请直接看原文: JAVA使用easyexcel操作Excel-CSDN博客 -------------------------------------------------------------------------------------------------------------------------------- 之前写过一篇《JAVA操作Excel》,介绍了jxl和poi读写Excel的实现&am…...
路由器级联
目录 一、实现功能二、实现步骤2.1 接线步骤 三、效果3.1 常规连接3.2 路由器级联 一、实现功能 主路由器:可有WiFi功能,LAN口下接各设备,并接一个辅路由器辅路由器:开启WiFi功能,有线或无线下接各设备功能࿱…...
CentOS7使用Docker部署.net Webapi
1 准备WebApi项目 对于已存在的WebApi项目,需要添加Docker支持; 编码时,先设置好项目需要的端口号:program.cs中,app.Run("http://*:8000");设置端口为:8000在VS中,选中项目…...
Windows程序员用MAC:初始设置(用起来像win一些)
初级代码游戏的专栏介绍与文章目录-CSDN博客 初用Mac会有很多不习惯,特别是鼠标滚轮的滚动方向和windows是反的,还好是通过设置改变的。下面是我自己的设置。 目录 一、显示器设置 二、屏保、时钟、触发角 三、程序坞与菜单栏 四、安全性与隐私 五…...
基于深度学习YOLOv8+Pyqt5的工地安全帽头盔佩戴检测识别系统(源码+跑通说明文件)
wx供重浩:创享日记 对话框发送:318安全帽 获取完整源码源文件7000张已标注的数据集训练好的模型配置说明文件 可有偿59yuan一对一远程操作配置环境跑通程序 效果展示(图片检测批量检测视频检测摄像头检测) 基于深度学习YOLOv8Pyqt…...
csv编辑器是干什么的?
csv编辑器是一种用于编写、编辑和管理文本文件的工具。适用于 JetBrains IDE 系列的 CSV 编辑器插件,此插件将 CSV(逗号分隔值)作为一种语言引入 Jetbrains IDE,其中包含语法定义、结构化语言元素和关联的文件类型 (.c…...
计算机网络——物理层(奈氏准则和香农定理)
计算机网络——物理层(奈氏准则和香农定理) 失真码间串扰奈氏准则(奈奎斯特定理)极限数据率 噪声信噪比香农定理奈氏准则和香农定理的区别 前面我们已经了解一些数据通信的基本知识,没有看过上一篇得小伙伴可以点击这里…...
XML语言的学习记录3-解析
学习笔记: 一、 解析XML文档: 1.使用 XMLHttpRequest 对象,将xml文档放入XML DOM对象中: xmlhttpnew XMLHttpRequest(); xmlhttp.open("GET","books.xml",false); xmlhttp.send(); xmlDocxmlhttp.response…...
【Linux】cat vim 命令存在着什么区别?
Linux 中的 cat 命令和 vim 命令之间存在一些显著的区别! cat 命令 首先,cat命令主要用于连接并显示文件的内容。它的原含义是“连接(concatenate)”,可以将多个文件的内容连接起来,并输出到标准输出流中&…...
MeterSphere和Jmeter使用总结
一、MeterSphere 介绍 MeterSphere 是⼀站式开源持续测试平台,涵盖测试跟踪、接⼝测试、UI 测试和性能测试等,全 ⾯兼容 JMeter、Selenium 等主流开源标准,能够有效助⼒开发和测试团队在线共享协作,实现端到 端的测试管理跟踪…...
学习笔记Day8:GEO数据挖掘-基因表达芯片
GEO数据挖掘 数据库:GEO、NHANCE、TCGA、ICGC、CCLE、SEER等 数据类型:基因表达芯片、转录组、单细胞、突变、甲基化、拷贝数变异等等 常见图表 表达矩阵 一行为一个基因,一列为一个样本,内容是基因表达量。 热图 输入数据…...
如何将大华dav视频转mp4?一键无损清晰转换~
Digital Audio Video(DAV)文件格式源于数字监控领域,旨在解决视频监控数据的存储和回放问题。随着数字监控技术的发展,DAV格式逐渐成为监控设备记录视频的标准格式,广泛应用于安防系统、摄像头监控等场景。 MP4文件格式…...
数字化转型导师坚鹏:人工智能在金融机构数字化转型中的应用
人工智能在金融机构数字化转型中的应用 课程背景: 金融机构数字化转型离不开人工智能,在金融机构数字化转型中,人工智能起到至关重要的作用,很多机构存在以下问题: 不清楚人工智能产业对我们有什么影响?…...
部署Zabbix Agents添加使能监测服务器_Windows平台_MSI/Archive模式
Windows平台 一、从MSI安装Windows代理,添加Windows Servers/PC 概述 可以从Windows MSI安装包(32位或64位) 安装Zabbix agent 32位包不能安装在64位Windows中 所有软件包都支持TLS,配置TLS可选 支持UI和命令行的安装。 1、下载Agent代理程序,使用Agent2升级版,官网链接如…...
十一 超级数据查看器 讲解稿 详情6 导出功能
十一 超级数据查看器 讲解稿 详情6 导出功能 点击此处 以新页面 打开B站 播放当前教学视频 app下载地址 百度手机助手 下载地址4 讲解稿全文: 导出功能讲解 这节课我们讲解一下导出功能, 导出功能,可以将当前查到的信息导出成E…...
java遍历文件目录去除中文文件名
文章目录 一、原始需求二、maven依赖三、核心代码四、运行结果 一、原始需求 需要遍历文件目录及其子目录,找出包含中文字符的文件名,将中文字符去除。 二、maven依赖 pom.xml <dependency><groupId>org.apache.commons</groupId>&…...
LeetCode Python - 61. 旋转链表
目录 题目描述解法运行结果 题目描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3] 示例 2: 输入:head…...
k8s client-java创建pod常见问题
1.配置Kubernetes连接: 使用Kubernetes的配置文件(通常位于~/.kube/config)或直接使用API服务器地址、认证信息等来配置客户端。 配置通常有两种模式,安全和不安全的配置模式,对认证要求严格就选用安全模式ÿ…...
百色建设局网站/如何做网站优化seo
临时表与一般的表不同,它是保存到tempDb表中。临时表的表名与你所建的表名也不一样,因为他要为不同人的相同操作创建不同的临时表。1、错误的删除操作: --错误的临时表删除操作,因为所在数据库不同IFEXISTS(SELECT*FROMsysobjects…...
哪个网站做任务赚钱多/免费网络推广工具
服务器添加硬盘,创建raid0并格式化。第一步首先开机,按ctrlR进入磁盘管理界面,如下图所示,在VD Mgmt菜单,可以通过ctrln切换菜单,学员controller 0,然后按F2虚拟磁盘创建菜单。第二步选择‘Crea…...
中国建设银行行号查询网站/服务营销7p理论
当我们需要遍历一个数组时,第一个想到的就是for,然后用length去判断条件,之后,但着似乎有些过于老套了。本文主要收集各种遍历方法,主要针对数组,也会有关于对象、字符串的,看完它,你…...
购物网站的搜索功能是怎么做的/做网站怎么优化
前端的主要任务: 1)信息展示; 2)用户交互(事件处理)。 1)移动端开发总体遵循MVC模式; 2)移动端UI包含:(1)UI组件(基本组件…...
网站怎么收录/长沙优化排名推广
Tab 使选中的代码向右 Shift Tab 使选中的代码向左...
wordpress个人站主题/ping站长工具
在这里我试图上传pdf,doc和docx文件。 PDF文件正在上传,但doc和docx文件未上传。我在form标记中保留了enctype"multipart/form-data"属性。我的代码有什么问题。if ((($_FILES["uploadjob"]["type"] "application/p…...