工控PLC通信协议规约采集测试软件工具网关监测系统

系统概述

功能概述

DAQ for IIOT通用工业数据采集系统是一套运行在边缘计算机上的设备数据采集与管理软件,主要用于对各种仪器设备(PLC、注塑机、数控机床、电表、流量计等)数据的采集、控制、存储、查询、展示以及上传。

系统主体功能包括:

  • 灵活的传输配置(链路、存储、设备、因子、上传服务)
  • 数据采集和上传
  • 实时监控(设备、上传)
  • 告警配置和监控
  • 数据存储和查询(表格、图表、Web API)
  • 组态和可视化设计
  • 用户及权限管理
  • 界面多语言支持

运行环境

43b9b29657b58cfc2ffbb4f51e9dcd69.jpeg

支持设备

支持通信链路

系统支持的部分通信链路包括:

08a777f63758d263f839e5e6bf5e8ecc.jpeg

支持通信协议

系统支持的部分通信协议包括:

7b7d93fda40033571614de314457c85f.jpeg2dcab0a838b8d4bc5bd034c8bccfd954.jpeg  名词解释

设备

系统采集来自一台设备的数据,设备需具有通信接口,以及使用特定的通信协议进行通信。设备可以是一台检测仪器、一个小型仪表、一个传感器,甚至是一块单独的PLC。

因子

因子是设备的属性,包括设备的测量值、状态、控制单元等。例如对于一台测量仪器来说,以下属性可以称为一个因子:

  • 最新测量值(测量值)
  • 当前设备状态:测量中、待机中、故障等(状态)
  • 启动测量、停止测量(控制单元)

链路

系统与设备的物理连接方式以及基础通信协议,即通信过程中链路层以下的部分。例如可以是使用串口通信线,使用UART通信协议;或是使用网线,使用TCP/IP通信协议。支持多设备共用一条链路。

驱动

一个功能模块,实现采集、上传、存储等功能。根据功能划分,包括采集驱动(实现采集通信协议解析)、上传驱动(实现上传通信协议解析)、链路驱动(实现特定链路的连接与数据收发)、存储驱动(实现特定数据库的存储与操作)等。

上传服务

系统向平台或其他设备上传数据,使用特定的链路和通信协议。

上传因子

要上传至平台或其他设备的因子。

软件安装与认证

在64位Windows系统上安装

环境准备

在系统安装之前,请确保.NET6已经成功安装。可到微软官网下载安装.NET6。

https://download.visualstudio.microsoft.com/download/pr/9b8baa92-04f4-4b1a-8ccd-aa6bf31592bc/3a25c73326e060e04c119264ba58d0d5/dotnet-sdk-6.0.418-win-x64.exe

如果是比较旧的Windows系统,可能需要先安装以下必备包(在安装过程中如提示无法启动服务,一般即是需要安装必备包):

必备包1:

https://download.visualstudio.microsoft.com/download/pr/b929b7fe-5c89-4553-9abe-6324631dcc3a/296F96CD102250636BCD23AB6E6CF70935337B1BBB3507FE8521D8D9CFAA932F/VC_redist.x64.exe

必备包2:

https://download.microsoft.com/download/0/8/E/08E0386B-F6AF-4651-8D1B-C0A95D2731F0/Windows6.1-KB3063858-x64.msu

软件安装

下载安装包之后,运行安装程序,如下图所示:

6e39b432870d4bb85412c2a6ed6a10b9.jpeg

选择安装目录,点击开始安装按钮,即可完成系统安装。

打开管理页面

系统安装完成以后,可使用现代浏览器(推荐Edge或Chrome),地址栏输入 http://localhost:16801/scada.html ,访问管理页面。由于系统需要登录,首先会进入到登录页:

fed2bf70d98da24f1f5f0ffc198ffe18.jpeg

默认存在的系统账号:

d2c25a97ca3d991c4c7847cce87a6c17.jpeg

登录以后可进入到系统主页,如下图所示:

627b201d97cdcbfe51d453522b2d9b92.jpeg

如有需要,系统可自由切换界面语言,下图为英文界面:

d42334f3be59d1b55771a9ea52aa0e2f.jpeg

系统认证

系统具有14天的试用期,试用期结束之后,系统需要认证才能正常使用(否则系统无法采集数据)。认证操作在系统配置页面(设置->系统配置)完成:

cdae7ad03f116e59424c0e4c99747370.jpeg

认证流程为:

  1. 复制机器码,提供给供应商。
  2. 从供应商处获取认证文件。
  3. 上传认证文件。

需要注意的是,一个认证文件只能认证一台计算机。

传输和存储配置

传输架构

采集、上传以及存储的系统架构图如下所示:

fe691cd2f939d7a116cb973a76788fff.jpeg

一般情况下,系统完成的核心功能是从设备采集数据,把数据存储,并上传至平台。每种传输都需要使用一个通信链路,以及采用某种的通信协议。那么,整个传输和存储过程,就会存在以下的模块:

  • 通信链路
  • 采集协议
  • 上传协议
  • 存储方案

对应于每个模块,系统都采用了驱动+配置的模式来满足需求。以存储方案为例,存储驱动包含了以某种数据库(如MySQL)存储数据的代码,而存储配置则包括连接字符串、何时去存这些内容。

驱动管理

驱动是实现特定功能的代码库,可根据需要导入系统。下面是采集驱动的管理页面:

fe1d19911d33ce9ac878a8435b821364.jpeg

一般从供应商处获得驱动,上传至系统,经过配置之后即可使用。对于特定的应用场景,也可根据开发文档,自行进行驱动的开发。

数据采集配置

数据采集需要配置存储方案、通信链路以及通信协议。

存储方案

每个设备都可以选择不同的存储方案(也可以全部设备选择相同的存储方案)。存储方案管理页面(存储管理->存储方案)如下图所示:

947c4dd50b14859773f6bb90078800a9.jpeg

在存储方案中,可以选择存储的数据库类型、存储时机、是否存储状态、数据格式等。

支持数据库

系统支持SQLite、SQL Server、MySQL等数据库。

连接字符串

对于SQLite数据库,连接字符串填写文件路径,如:

D:\db\mydb.db

SQL Server的典型连接字符串格式为:

Data Source=MY-COMPUTER\SQLEXPRESS;Initial Catalog=mydb;User Id=sa;Password=password;

MySQL的典型连接字符串格式为:

User ID=root;Password=password;Host=localhost;Port=3306;Database=mydb;

存储时机

存储时机有两种类型,分别是间隔时间和指定时间。

间隔时间需要填入一个以ms为单位的时间,每次达到这个间隔时数据会存储一次。例如填入60000,即为一分钟存储一次。

指定时间的填写格式为:`HH:mm HH:mm HH:mm`,只支持填写小时和分钟。在每天的指定时间点,数据会存储一次。例如填入`08:00 12:00 16:00 `,数据将会在8点、12点、16点各存储一次。

数据格式

数据格式包括字符串和数字。如果系统采集到的所有数据都为数字,建议使用数字格式,能够节省空间和提高性能。如果数据中包括非数字的字符串,那只能选择字符串格式。

存储状态

勾选存储状态后,数据库在存储数据的同时,存储设备当前状态。当设备处于离线状态时,采集数据仍会是上一次采集到的值。设备状态具体值见附录1。

数据库维护

当传输配置修改之后,数据库结构会作出相应的修改。为了清理冗余的结构和数据,系统提供了三种维护操作:

清洗表结构:清除不使用的列和不使用的表。

清空数据:清空所有数据。

重建表结构:清除旧的结构和数据,重新创建表结构。

链路配置

链路配置页面(传输配置->链路配置)如下图所示:

cf616bc4ffb2d27cce2a0da548881106.jpeg

目前支持的链路类型及需要配置的内容如下表所示:

a4a16cfbc42576979880dc17a18c1ce7.jpeg

设备配置
设备配置

设备配置主要是对通信协议的配置。设备配置页面(传输配置->设备配置)如下图所示:

5fe22332d136a088959e5d7e4db8a27e.jpeg

设备采用不同的驱动,配置信息会有所差异。但某些信息是所有设备都需要配置的,如下表所示:

d7473a8b9fe7574f9b4e9977e1cc6e4b.jpeg

因子配置

设备包含因子(没有添加因子的设备一般不会采集数据),因子配置页面(从设备配置页面,点击某一设备最右侧的按钮进入)如下图所示:

0c98da9160fa66707994c6a52e6c85da.jpeg

采用不同驱动的设备,因子需要配置的信息有所不同。几个公共属性说明如下:

fb4d665c994869d89465f4844a8efaac.jpeg

数据上传配置

数据上传需要配置通信链路以及通信协议。其中通信链路的配置跟采集是一致的。

上传服务配置页面(传输配置->上传配置)如下图所示:

054bb4a7eefdfa15e1b85b75eb313c90.jpeg

上传服务中需要配置上传的因子,在上传因子配置页面(从上传配置页面,点击某一上传服务最右侧的按钮进入)进行配置,如下图所示:

a89fee1ae2fd1862ed148b47b01e3729.jpeg

配置内容根据协议的不同会有所差异,以下为各上传因子共有属性:

编码

对于大部分的上传协议,都是如果填写,就以编码上传,如果不填写,就以因子原来的名称上传。例如对于MQTT上传协议,假设因子是设备1.因子1,如果不填写编码,上传的topic是data/设备1.因子1;如果填写了编码code1,那么上传的topic是data/code1。

配置导入和导出

配置导出

在配置导出页面(传输配置->配置导出)中导出配置,如下图所示:

7bd195c76094ae687d9368583135f06e.jpeg

导出过程中,需要选择导出的设备和上传服务。导出时,相关的链路配置、存储方案会同时被导出。

配置导入

在配置导入页面(传输配置->配置导入)中导入配置,如下图所示:

10f9a5f08b4283cc3e916cf8952cdea8.jpeg

导入配置时,由以下选项,可根据实际情况进行选择:

清空配置:清除所有已配置内容。

直接覆盖:先清除原来所有配置,再添加导入的配置。

补充配置:增量式地添加导入配置,如果原有配置和导入配置具有相同ID或名称,则不会使用导入配置。

实时监控

系统启停

在系统标题栏的位置,可以启动或停止系统,如下图所示:

38d842156fe21d8097b5b7aa6aff4d6a.jpeg

此处的启停是对整个系统的启停(包括采集和上传),如果希望暂停某一设备或某一上传服务,可在设备监控和上传监控页面进行操作(禁用或启用)。

设备监控

如果需要查看当前的采集状态,可打开设备监控页面(数据监控->设备监控),如下图所示:

bf9af69828f72441f84655ac609b5c82.jpeg

在此页面中,可以:

  • 查看设备的实时状态。关于设备状态的说明,可参照附录1。
  • 查看每个因子的实时值,以及当前数据时间。
  • 启用或禁用设备。
  • 反控设备,修改因子值。此操作会向设备发送改值、写入命令,并不是虚拟的改值。

上传监控

在上传监控页面(数据监控->上传监控)中,可查看当前上传的状态,如下图所示:

4ddb67241682228dddb37e680df28530.jpeg

同时可以在此页面中暂停上传。

历史数据查询

数据查询

可以使用表格或图表的方式查询历史数据。若在数据查询时发现没有数据,可能的原因有:

  • 因子配置时,是否存储没有勾选。
  • 数据库配置,存储时机为不存储。
  • 没有启动采集。
  • 还没出现一项合法数据。

表格方式

使用表格方式查询到的数据为详细数据,数据查询页面(统计分析->数据查询)如下图所示:

4c3941a0a5cc566e32684d7e1a430f23.jpeg

在页面左侧选择需要查询的因子,选择起始时间和结束时间,即可查询出结果。

当数据前方出现类似[Ex]的标志时(或数据以@开头),表示数据异常,此时的数据只是历史保留值,实际上不可采用。例如当链路断开、或是设备禁用,若查询结果依然有值,此时的结果并没有意义。中括号中的代表为设备状态,可参照附录1。

图表方式

使用图表方式查询到的数据仅为简略数据(当数据量比较大时,图表中不会展示出所有数据),数据图表页面(统计分析->数据图表)如下图所示:

59ecc064085616cbc27fbdd887e606b4.jpeg

告警配置与监控

告警配置

在告警配置页面(传输配置->告警配置)进行告警的配置,如下图所示:

661d503cfe53e7b08b2584253696419b.jpeg

每条告警,可以配置的信息包括告警标题、告警级别以及触发告警发生的条件。在触发条件中使用的表达式为逻辑表达式,因子使用大括号包围,具体内容可参考附录2。

告警存储

默认情况下,告警信息是不存储的。需要存储时,需要进行存储方案的设置。在告警存储方案设置页面(存储管理->告警存储方案)中进行存储方案的设定,如下图所示:

21dda431467f2d5803657d8cf77730b1.jpeg

一般情况下只需要填写连接字符串即可。

最后,回到告警配置页面(传输配置->告警配置),点击右上角的第二个按钮,选择告警存储方案即可:

bf8dab8631d7beb777003a9f9ecaf3a7.jpeg

告警监控

系统实时产生的告警信息,可在告警监控页面(数据监控->告警监控)中进行查看:

36ae4839ff01bbb01a660d64c92c62f3.jpeg

告警查询

系统产生的所有告警信息,可在告警查询界面(统计分析->告警查询)中进行查询,如下图所示:

c2e9d7e8ddacdbbdc6827ef5cbf10f1c.jpeg

用户和权限管理

默认用户

系统默认会存在两个用户,如下表所示:

4645117fd856b20725ce9f0c4485b07f.jpeg

正式使用系统之后,如果需要使用权限控制,应修改初始密码。

用户角色

系统定义的角色及其权限如下表所示:

284c3bc17ab552de91fbab973e5ee8a9.jpeg

组态可视化

功能概述

本系统提供组态和可视化功能,具有强大的低代码可视化搭建编排能力,配置简易、控件丰富、自定义程度高。结合数据采集与控制系统,能够实现实时和历史数据的显示,以及设备实时控制。

系统支持以下功能:

  • 可添加用户自定义图片(支持JPG、PNG、GIF、SVG等格式)。
  • 可添加用户自定义组件。
  • 支持表格和图表等数据展示组件。
  • 可显示实时数据和历史数据。
  • 可向设备发送控制指令。
  • 提供大量辅助设计功能(辅助线、标尺、磁吸、对齐等)。

应用示例

以下为使用可视化功能设计的页面:

f2db0256c5a8d517a79087720f40d88d.jpeg

界面介绍

可视化首页

系统首页如下图所示:

1beb284151ea0166558e55a66dde243f.jpeg

可在此页面中添加多个视图。对于每个视图,点击画面可进去运行页面,点击右下角的设计按钮进行设计画面。

可视化设计页

系统设计页如下图所示:

371644d5023c002ccc10404fde217407.jpeg

页面总局

设计页顶部是标题栏,点击视图名称可修改名称,点击预览按钮进入运行页。

主体部分的左侧是资源库,包括组件库和图片库,可拖动资源到主画布中。

主体部分的右侧是属性配置面板,选中不同的元素,将显示该元素特有的属性配置。

主体部分的中心是主画布,可在其中拖动资源和调整资源位置。主画布下方是缩略图和显示比例,主画布的位置通过此处进行移动和缩放。

一般设计步骤

设计页的操作步骤一般是:

1. 从资源库中拖动资源至画布中。

2. 调整资源的大小和位置。

3. 修改资源的样式、数据源和触发事件。

资源库

系统的资源库包括两种,分别是组件库和图片库。

图片库中的元素只是单纯的图片,用户可上传自定义图片,支持的格式包括png、jpg、gif、svg等。

组件库中的元素包含了代码功能,能够提供较为丰富的交互功能,例如是图表、进度条、输入框等。用户也可以根据开发文档进行组件的开发,然后上传至系统使用。

资源属性

不同种类的资源具有不同的属性,例如矩形有圆角半径的属性、管道有流动形状的属性。但所有的资源,其属性都可分成三部分,分别是样式、数据库和事件。

样式部分包括大小、位置、颜色、字体等信息。

数据源部分定义了资源如何进行动态变化,通过填写表达式完成功能。例如在显示条件里填写{D1.F1}==1这样的表达式后,资源将在D1.F1为1时显示,其他情况则隐藏。又如文本文字,填写当前值为:{D1.F1}这样的表达式后,资源将在D1.F1为1时,显示出这样的文字:当前值为:1。

事件部分定义了在运行页面上,对资源进行一些操作之后所发生的事情。例如在点击事件中填写{D1.F1}=2,那么用户在点击资源后,系统将向设备发出修改值为2的指令。又如在输入框修改值事件中填写<var1>=value,当用户在输入框中输入了12.5这样的内容后,变量var1的值就会变为12.5。

可视化运行页

运行页中只有设计出来的内容,没有额外的页面元素,如下图所示:

c9d4e9e0a30a7904e04429bf51810f5a.jpeg

在运行页面,可使用的功能包括:

  • 显示实时采集到的设备数值。
  • 显示数据历史记录。
  • 显示动态变化的系统流程。
  • 通过操作页面元素,向设备下发指令和数值。
  • 切换至不同的视图页面。

数据源

数据引用

在数据源中引用因子,在因子名称外加大括号,其表达式为:

{设备名.因子名}

在数据源中引用临时变量,在变量名称外加尖括号,其表达式为:

<变量名>

文字数据源

文字数据源可正常书写文字,在需要引用数据的地方,插入引用表达式即可。如:

当前测量值为:{D1.F1} mg/L

条件数据源

条件数据源要求书写内容为逻辑表达式,如:

{D1.F1}>=10 && {D1.F2}<=30

图表数据

读取因子数据的格式为:

factor|factors|minutes|interval|format

第一个factor为固定字符串。

factors是因子名称列表,用逗号隔开,如D1.F1,D1.F2。

minutes是取最近多少分钟的数据。

interval是间隔多少分钟一条数据。

format是时间显示的格式,年月日时分分别用yyyy、MM、dd、HH、mm表示。

以下举一个例子。取D1.F1和D3.F1的数据,取一个小时内的,每5分钟一条数据,时间的显示格式为HH:mm,那么填写内容为:

factor|D1.F1,D3.F1|60|5|HH:mm

事件

事件概述

每一个事件,可以包含多条指令,指令之间使用分号相隔,如:

指令1;指令2;指令3

指令类型包括修改因子、修改变量、切换页面等。

修改因子事件

修改因子事件的格式为:

{设备名.因子名}=值

其他,值可以是一个固定数字,也可以是一个变量,如:

{D1.F1}=<var1>

值改变事件

某些控件(如输入框),具有值修改事件。当事件发生时,使用value指代新修改的值。格式为:

因子或变量=value

以下举一个例子,实现这样一个功能:在视图中加入一个输入框和一个按钮,点击按钮时,把输入框的值发送给因子D1.F1。要完成这样一个功能,可在输入的值改变事件中输入:

<var1>=value

然后在按钮的点击事件中输入:

{D1.F1}=<var1>

页面切换事件

页面切换事件的格式为:

page=页面名[,new]

如果要替换当前页面,则命令为:

page=页面名

如果要打开新的页面,则在命令后加上,new,如下所示:

page=页面名,new

附录1 设备状态代码

设备状态代码及意义如下表所示:

203d2c9f7a7eb201f9bae26698be764d.jpeg

附录2 数据源与表达式

A2.1 变量引用

在设备配置中,通过配置一个因子对硬件进行读写。在使用表达式的地方,这个因子就指代了对应的硬件。使用设备名.因子名表示因子。

例如,添加了一个使用Modbus协议的设备D1,再添加一个因子F1,读写寄存器40001地址的值。那么,D1.F1,就代表了寄存器40001。

在表达式中,变量需要书写在大括号中:

{设备名.因子名}

对于自身的引用,可以使用this:

{this}

A2.2 表达式类型

系统中使用的表达式有4种,分别是:

数值表达式:计算的结果是一个数值,例如:{a}*2.5+3

逻辑表达式:计算的结果是一个逻辑值,例如:{a}>10

文字表达式:只能计算大括号中的内容,没有固定格式,例如:a的值为{a}mg/L

命令表达式:中间有等号,等号左边是变量,右边的赋值内容,例如:{a}=10

A2.3 因子配置表达式

在因子配置中,可以输入一个表达式。这一般用在采集值与实际展示值之间存在某种函数关系的情况。例如,采集值以kg为单位,但存储要求以g为单位。那么,此值采集后,便需要使用表达式进行转换。

因子配置表达式是一个数值表达式。以上述例子为例,假设因子为D1.F1,实际要将此因子乘以1000。表达式可以写为:

{D1.F1}*1000

由于表达式里填写的因子就是本因子,所以也可以使用this替代,为:

{this}*1000

当表达式只是简单地乘以一个倍率,或加上一个偏差值(只能是乘或加),可以直接简写为:

*1000

+10

附录3 MODBUS配置说明

A3.1 驱动和链路选择

Modbus协议包括三种,分别是Modbus-RTU、Modbus-TCP和Modbus-ASCII,需要根据实际选择合适的采集驱动。三种通信协议都可在TCP客户端或串口链路下进行通信。

A3.2 采集间隔选择

对于Modbus通信协议,采集间隔和周期等待都可设置为0,接收等待需要在100ms以上。如果发现接收数据时出现数据混乱的情况,一般是接收等待时间不够造成的。出现这种问题,可适当增加接收等待时间。如果希望知道准确一点的时间,可向设备发送一条Modbus指令,观察数据回复的时间。

A3.3 存储模式

Modbus协议中定义了多种数据存储的空间,包括寄存器、线圈、输入寄存器和输入线圈。使用何种存储模式,根据文档说明进行选择。

A3.4 通道类型

对于寄存器,通道类型是多样的,包括FLOAT、INT、BIT等;而对于线圈,通道类型只有BIT。

多字节的数据,不同的设备字节的存储顺序会有差异,需根据实际情况进行选择。以下是常用的字节顺序:

1d6b063ddb8c17f27de42a9e69cbe427.jpegf9633cf5c6b9b32b9311007c826a5647.jpeg

A3.5 按位取值

存储模式选择寄存器,通道类型选择BIT,则可以按位取值。起始地址是寄存器的地址,位地址则说明取第几位的数据。位地址从右到左,也就是最右一位是第0位。

A3.6 连续地址

如果有若干个因子通道类型相同,地址连续,可以进行一次配置。在通道数量中填入超过1的数值即可,自动创建的因子地址会根据通道类型自动调整。以下列出通道数量填入5之后的实例:

ca8b492a0dcd13ea5d0726b7ef7f3637.jpeg

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

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

相关文章

闪烁与常亮的符号状态判断机制(状态机算法)

背景说明 在视觉项目中&#xff0c;经常要判断目标的状态&#xff0c;例如&#xff1a;符号的不同频率闪烁、常亮等。然而常规的视觉算法例如YOLO&#xff0c;仅仅只能获取当前帧是否存在该符号&#xff0c;而无法对于符号状态进行判断&#xff0c;然而重新写一个基于时序的卷积…

DDD领域应用理论实践分析回顾

目录 一、DDD的重要性 &#xff08;一&#xff09;拥抱互联网黑话&#xff08;抓痛点、谈愿景、搞方法论&#xff09; &#xff08;二&#xff09;DDD真的重要吗&#xff1f; 二、领域驱动设计DDD在B端营销系统的实践 &#xff08;一&#xff09;设计落地步骤 &#xff0…

Ansys Mechanical|使用Trace Mapping建立PCB板的有限元模型

Trace Mapping需要使用ECAD的方法 传统方法 vs ECAD方法 传统方法既繁琐又费时。以下是一些数据&#xff1a; 导出电路板布局的step文件大约需要30分钟。 导入Ansys SpaceClaim中大约需要10分钟。 进行布尔运算和共享拓扑操作大约需要24小时甚至更久。 而ECAD方法更加快速且…

剧本新纪元:探索短剧系统的魔力

在现代社会&#xff0c;随着科技的迅猛进步和生活节奏的不断加快&#xff0c;传统的长篇电视剧和电影已不能完全满足所有人的需求。短剧&#xff0c;由于其简短、快速、直接的特性&#xff0c;正在逐步成为一种文化新趋势。短剧系统正是这一趋势的典型代表&#xff0c;它以独特…

自己用pip下载好模块啦,但是在pycharm里面不显示?

问题&#xff1a; 今天在cmd里面用pip命令安装第三方模块&#xff0c;最后用pip list 命令发现已经成功安装&#xff0c;但是在pycharm里面用该模块的时候&#xff0c;还是爆红&#xff0c;显示没有该库 。 解决方法&#xff1a; 第一种&#xff08;项目刚创建&#xff09;&am…

如何学习软件测试,并成功找到工作

在IT行业日益繁荣的今天&#xff0c;软件测试作为确保软件质量的关键环节&#xff0c;越来越受到企业的重视。对于初入职场的小白来说&#xff0c;掌握软件测试技能不仅能够帮助他们快速适应工作&#xff0c;还能为未来的职业发展奠定坚实的基础。本文将为职场小白推荐学习软件…

NVIDIA DeepStream SDK 说明及链接

NVIDIA DeepStream SDK DeepStream 的多平台支持为您提供了一种更快、更简单的方式来开发视觉AI应用程序和服务。您甚至可以在本地、边缘和云中部署它们&#xff0c;只需单击一个按钮。 开始 在Launchpad上试用 什么是 NVIDIA DeepStream&#xff1f; NVIDIA 的 DeepStream …

公交车载视频监控系统解决方案

公交车载视频监控系统基于iVMS-7200移动视频监控管理平台&#xff0c;通过3G/4G网络接入车载前端&#xff0c;实现实时监控、录像回放、GIS地图定位、轨迹回放、设备状态查询、紧急报警等功能。 车载前端包含车载硬盘录像机(简称车载DVR或MDVR)、车载专用摄像机、车载LCD显示屏…

50.Python-web框架-Django中引入静态的bootstrap样式

目录 Bootstrap 官网 特性 下载 在线样例 Bootstrap 入门 Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网 在django中使用bootstrap 新建static\bootstrap5目录&#xff0c;解压后的Bootstrap文件&#xff0c;拷贝项目里就好。 在template文件里引用css文…

k8s metrics-server服务监控pod 的 cpu、内存

项目场景&#xff1a; 需要开启指标服务&#xff0c;依据pod 的 cpu、内存使用率进行自动的扩容或缩容 pod 的数量 解决方案&#xff1a; 下载 metrics-server 组件配置文件&#xff1a; wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/…

植物大战僵尸杂交版 MacBook 苹果电脑下载安装详细教程

最近老是看到别人玩植物大战僵尸杂交版&#xff0c;可是找了一圈发现都是PC版本的&#xff0c;原来游戏作者只做了一个PC版本&#xff0c;还好最终没有放弃终于在 Mac 上安装上了植物大战僵尸杂交版 版本是 2.0.88 真的蛮好玩的就是关卡有亿点点难&#xff0c;我最爱玩无尽模式…

一站式解决ComfyUI安装、调试和界面操作,附安装包 C001

点击打开以上网页&#xff0c;页面往下拉&#xff0c;找到“Direct link to download”&#xff0c;点击即可下载官方安装包。 下载完成后&#xff0c;将安装包移动到你想要安装的地方&#xff0c;解压&#xff08;推荐使用7-Zip&#xff09;&#xff0c;然后点击“run_nvidia_…

无需插件脚本,IDEA配置多服务一键启动

分享本教程的初衷是本人在本地调试时业务场景中需要调用多个服务&#xff0c;并且每次为了找到需要启动的服务花了很多不必要的时间&#xff0c;我相信很多同为开发的小伙伴也有和我一样的困扰。但是学会这招后多个服务需要同时启动时仅需一键即可搞定。接下来让我们一步步设置…

【PasteSpider】的集群组件【PasteCluster】(让你的项目快速支持集群模式)的思路及实现(含源码)

PasteSpider是什么? 一款使用.net编写的开源的Linux容器部署助手&#xff0c;支持一键发布&#xff0c;平滑升级&#xff0c;自动伸缩&#xff0c;Key-Value配置&#xff0c;项目网关&#xff0c;环境隔离&#xff0c;运行报表&#xff0c;差量升级&#xff0c;私有仓库&…

物联网网关和飞鸟物联平台如何助力其实现智能化升级,提升生产效率-天拓四方

随着工业4.0时代的到来&#xff0c;物联网技术逐渐成为推动工业转型升级的关键力量。物联网网关作为连接工业设备与网络的核心枢纽&#xff0c;在工业自动化、数据收集与分析等方面发挥着越来越重要的作用。本案例将围绕一家知名制造企业&#xff0c;展示物联网网关和飞鸟物联平…

提升消费者满意度的五星售后服务认证

在当今竞争激烈的市场环境中&#xff0c;消费者满意度是企业取得成功的重要因素。五星售后服务认证作为一种权威性认证&#xff0c;可以显著提高消费者满意度&#xff0c;增强企业的竞争力。本文将从四个方面探讨五星售后服务认证如何提高消费者满意度。 五星售后服务认证是由国…

SpringCash

文章目录 简介引入依赖application.yml配置常用注解使用1. 启动类添加注解使用方法上添加注解 简介 Spring Cache是一个框架&#xff0c;实现了基于注解的缓存功能底层可以使用EHCache、Caffeine、Redis实现缓存。 注解一般放在Controller的方法上&#xff0c;CachePut 注解一…

高精度定位技术的必要性与实际应用

在当今社会&#xff0c;随着科技的飞速发展&#xff0c;高精度精准定位技术已成为一项不可或缺的基础技术&#xff0c;其应用范围涉及军事、航空、智能交通、无人驾驶、智慧城市建设等众多领域。高精度精准定位不仅为人们的日常生活带来极大便利&#xff0c;还对提升国家的科技…

鸿蒙轻内核A核源码分析系列六 MMU协处理器(1)

在前面系列分析虚实映射时&#xff0c;涉及到了一些MMU协处理器与相关的汇编代码没有深入讲解。本文来专门分析那些协处理器与汇编代码。 本文中所涉及的源码&#xff0c;以OpenHarmony LiteOS-A内核为例&#xff0c;均可以在开源站点 https://gitee.com/openharmony/kernel_l…

运行mvn命令打包项目jar包报错?“Fatal error compiling: 无效的目标发行版: 19 ”, 让我来看看~

最近写实验&#xff0c;要打包项目&#xff0c;但是不管是在cmd运行“mvn clean package -Dmaven.test.skiptrue”命令&#xff0c;还是在idea上去操作&#xff0c;都出现了这样的一个错误&#xff1a; [EROR] Failed to exeoute goal org.apache.maven.plugins:maven-comnpile…