【KingSCADA】如何建立硬件系统及相关变量

news2024/11/16 12:18:58

小伙伴们大家好,我是雷工!
本篇学习了解KingSCADA3.8如何建立硬件系统及相关变量,以下为学习过程和操作记录。

一、前言

本篇主要讲解如何定义设备,如何定义变量。
KingSCADA3.8的采集系统是指负责和现场设备进行通讯,并采集现场数据和控制现场数据的模块,称之为采集器,也叫IOServer应用,它是一组独立的应用程序,可以脱离KingSCADA3.8软件,它依赖于KingSCADA3.8驱动产品,通过驱动与IO设备进行通讯。
采集系统由通讯链路,设备,数据块组成。
链路:链路是指计算机通过什么方式(接口)与设备进行连接,链路类别:串口,以太网,GPRS,Modem,通信卡,采集卡,无链路。
设备: 设备是通过串口、接口板等方式与KingSCADA3.51的数据采集系统进行数据信息交换的外部数字设备,包括可编程逻辑控制器(PLC)、分布式控制系统(DCS)、PID控制器、远程终端单元(RTU)、智能仪表、板卡、变频器、电力调整器等等。
变量: 变量是对应硬件设备具体通道或地址的标识,由设备监视和控制的,反映现场运行状况的参数信息,如:温度、压力、流量等,在其他系统有时被称为I/O变量(输入输出变量)。

二、建立硬件系统

1、新建设备

1.1、打开KingIOServer工程设计器,选择打开已有工程或新建工程,选择“IOServer应用组”,右键菜单-选择“添加新IOServer应用”菜单,或者选择“文件”菜单→“添加新应用”命令,在弹出的“新建应用/工程”对话框,设置如下:
新建IOServer应用对话框
对话框说明:
应用GUID: 应用的标示符,由系统自动生成;
应用名称: 用户自定义,为必填项。不能包含无效字符:!@#$%^&*() +_;:[{}]|.>,</? `~。 有效长度小于99个字符。

应用路径: 输入新建应用的路径,如果输入的路径不存在,系统将自动提示用户;或单击“…”按钮,从弹出的路径选择对话框中选择应用路径。该文本框只在创建新的工程时有效。
应用类型: 包括“Server”、“Client”和“IOServer”三个选项,不同的应用类型,其应用树节点有区别。目前,默认为IOServer类型。
工程: 包括“新的工程”和“添加到当前工程”两个选项,选择“新的工程”选项,系统将会把新应用建立在一个新的工程下;选择“添加到当前工程”选项,将会把新应用添加到当前工程下。
工程名称: 选择“新的工程”选项时,可用。默认与应用名称相同,用户也可以自己输入。
**创建人:**新建该应用的用户。
公司: 新建该应用的公司的名称,非必填项。
创建时间: 创建该应用的时间,默认为当前系统时间,不可修改。
描述: 新建应用的描述文本,用户自定义,可以为空,有效长度为32个字符。

单击“确定”按钮对所填内容进行验证,若验证成功,新创建的工程或应用会在树型目录区显示;若验证不成功,会给出提示信息。单击“取消”按钮关闭“新建应用”对话框。

一个工程中可以建立多个IOServer应用,且IOServer应用可以脱离KingSCADA3.8独立存在。IOServer应用分本地IOServer应用(KingSCADA3.8与IOServer应用在同一台机器上)和远程IOServer应用(KingSCADA3.8与IOServer应用不在同一台机器上),区别在于IOServer应用中的网络配置。

在这里我们以本地IOServer为例,名称设置为:IOServer1,存储路径设置为E:\雷工笔记\KingSCADA3.8\My Projects\雷工笔记\。
设置完毕后,单击“确认”按钮,完成I/O Servers的建立,如下图所示:
工程设计器
1.2、在“IOServer1”应用中,选中“设备”,右键菜单“新建设备”,弹出“设备定义”对话框:
设备属性 设定包括设备名称描述、采集属性、设备地址3部分。

1.2.1、其中名称描述设定部分:包含有设备名称、设备描述、激活、优化采集属性选择4部分。

设备名称:Modbus采集设备1(用户定义,不可为空,不可与同IOServer中其他设备同名,并且第一个字符不能为数字,64字符,为必填项。非法字符包含空格字符和如下28个无效字符:,:;±/%&!~|^<>={}.`’ ”\ ?*)

注:设备名称区分大小写,例如:ModbusRTU与MODBUSrtu与ModbusRTu都是不同的设备。

设备描述: 此处用ModbusSlave模拟设备;(用户定义,可以为空,32字符长。)
激活: 默认勾选,该参数用于配置设备是否采集。如果此处勾选,并且整条链路也处于“激活”状态,则表示在启动IOServer时,该设备进行初始化、采集、尝试连接等。如果不勾选,则表示此设备则不进行初始化、采集等。
优化采集: 默认不勾选,该参数用于配置设备是否优化采集。如果此处勾选,则表示此设备需要优化采集,即不与此设备所在链路下的其他设备共用一条线程采集变量,而是使用线程池线程采集变量;如果不勾选,则表示此设备不优化采集,即与此设备所在链路下的其他设备共用一条线程采集变量。
设置如下图:
【设备名称描述设定】

注意:
1.优化采集需要谨慎使用,只有能保证该设备独占所在链路(串口时,该COM口链路下只包括此设备;以太网链路时,该Socket下只包括此设备)时才能使用,不然会导致采集数据出错。
2. 优化采集时,线程池最大线程数可以通过CollectOptimizationConfiguration.ini文件进行配置。CollectOptimizationConfiguration.ini文件位于工程文件夹中,内部包含参数ThreadNumber。ThreadNumber默认值为0,并且为非负整数。当ThreadNumber值为0时,线程池最大线程数为4倍CPU核心数;当ThreadNumber大于0时,线程池最大线程数为ThreadNumber的值。

1.2.2、采集属性设定部分:
设备系列:此次练习选择“ModbusMaster”(用户选择所使用的驱动文件,每个驱动反映了一个厂商的一系列设备集或一种标准,下拉菜单中按照厂家、设备名称分类,用户可双击驱动名称来选择所需驱动)。
【设备采集属性设定】

1.2.3、地址属性设定:
设备地址 : 此处设置1:500:500(用户输入,与驱动地址校验接口交互,验证正确与否。可以通过“帮助”按钮查阅对应的驱动帮助文档)。
指定冗余设备: 此次练习未勾选(用户选择,选择“冗余设备”复选框,下面的下拉列表框变为可用,即可选择冗余从设备。“冗余设备”复选框默认未勾选)。
【冗余地址配置】

1.2.4、链路属性设定
根据用户所选驱动及现场实际情况需要确定的链路属性,与驱动的DES文件中的通讯描述无关。这次练习采用串口,选择COM6。
[1]、串口
串口链路: 选择设备实际使用串口,支持COM1…512。
波特率: 选择设备实际使用波特率,支持从1200至115200多种规格,默认为9600。
数据位: 选择设备实际使用数据位,支持7和8,默认为8。
停止位: 选择设备实际使用停止位,支持1和2,默认为1。
奇偶校验 :选择设备实际使用奇偶效验方式,支持无校验(None),奇校验(Odd),偶校验(Even),1校验(Mark),0校验(Space)。默认为NONE。默认为偶校验。
连接超时: 链路连接超时时间,范围是:0-65535,单位为毫秒。当链路连接在设定的时间范围内连接失败,IOServer会再次连接链路。
在这里插入图片描述

如果选用的COM口已经被使用,那么波特率、数据位、停止位、奇偶效验等属性会与之前的设定保持一致。可编辑,一旦编辑则会改变与该串口相关的所有位置的对应参数。
如果选用的COM口设备的驱动与本设备选择的驱动不一致,并且不支持同一链路创建不同驱动的设备,那么新建设备时将会提示错误,如下图所示。

注意:支持同一链路创建不同驱动设备的驱动满足两个条件:
①、新开发包开发的驱动,即安装目录下BIN文件夹下Driver文件夹中驱动有同名的xml依赖文件;
②、驱动采集类型为问答式。

1.2.5、通讯参数
尝试连接间隔: 当IOServer和设备通讯失败后,IOServer将根据此处的设定时间和设备尝试通讯一次,单位为秒、分,范围为5秒到1440分钟。超过范围时,单击“完成”按钮会弹出提示框。
最长连接时间: 当IOServer和设备通讯失败后,超过此设定的时间仍然和设备通讯不上的话,IOServer将不再尝试和设备通讯。当最长连接时间设置为“0”时,表示当通讯出现异常时,会一直进行重连。 单位为秒、分钟、小时、天,范围为5秒到30天。超过范围时,单击“完成”按钮会弹出提示框。

这里我们选择默认设置即可,设置好所有参数点击“完成”按钮。
在这里插入图片描述

此IOServer应用建立完成之后可以供本机SCADA应用引用或者被别的电脑上的SCADA应用做为远程IOServer引用。

2、定义变量

变量对应的是外部采集和控制设备通过某种方式传递来的现场数据。KingSCADA3.8支持的变量类型如下:系统变量:基本的变量点,每个变量点是一个单独的变量对象,不能修改。基本变量:基本的变量点,每个变量点是一个单独的变量对象。结构变量:以结构的形式存在,是多个基本变量点的集合。引用变量:以一组变量,替代多组数据类型相同的变量。基本类型的变量也可以按照数据类型分为离散型、实型、整型和字符串类型。
(1)、内存离散变量、I/O离散变量
类似一般程序设计语言中的布尔(BOOL)变量,只有0、1两种取值,用于表示一些开关量。
(2)、内存实型变量、I/O实型变量
类似一般程序设计语言中的浮点型变量,用于表示浮点数据,取值范围10E-38~10E+38,有效值7位。
(3)、内存整数变量、I/O整数变量
类似一般程序设计语言中的有符号长整数型变量,用于表示带符号的整型数据,取值范围-2147483648~2147483647。
(4)、内存字符串型变量、I/O字符串型变量
类似一般程序设计语言中的字符串变量,可用于记录一些有特定含义的字符串,如名称:密码等,该类型变量可以进行比较运算和赋值运算。

2.1、在IOServer应用中定义IO变量

2.1.1、在“IOServer1”应用中,选中“变量”,右键菜单“新建变量”,弹出“新建变量”对话框,如下图所示:
【新建变量对话框】

在“基本属性”标签页中,变量名:leigong_Tag1;变量类型:IOFloat。2.1.2、选择“采集属性”标签页,关联设备:Modbus采集设备1,寄存器:选择4,地址3,即寄存器为43,采集数据类型:FLOAT,采集频率:1.00s,其他默认,如下图所示:
在这里插入图片描述

采集数据类型与数据类型的对应关系如下表所示:

数据采集类型变量类型字节数范围
BITIODisc10或1
BYTEIOChar 有符号1-128—127
BYTEIOByte 无符号10-255
SHORTIOShort 有符号2-32768—32767
USHORTIOWord 无符号20—65535
LONGIOLong 有符号4-2147483648—2147483647
LONGIODWord 无符号40-4294967295
FLOATIOFloat410e-38—10e38
STRINGIOString1128个字符长度
DOUBLEIODouble8
INT64IOInt648

2.1.3、选中“转换属性”标签页,在这里设置转换类型为线性,设置原始范围为0-10000,设置工程量程为0-1000,如下图所示:
在这里插入图片描述

2.1.4、选中“存储属性”标签页,测试未设置存储按默认值,如下图所示:
在这里插入图片描述

IOServer里面的变量可以直接采集数据并进行实时数据存储(Redis)和历史数据存储(KH)。
是否存储: 勾选该项时,此变量进行实时数据存储。
无: 选择该项,则该变量不进行历史记录。
改变: 系统运行时,变量的实时值在发生变化,如果变量的当前值与上一次记录的历史数据值之间的差值大于设置的死区范围时,该变量的值才会被记录到历史库中,这种方式适用于数据变化较快的场合。
间隔: 无论变量变化与否,系统运行时按定义的时间间隔将变量的值记录到历史库中,每隔设定的时间对变量的值进行一次记录。最小定义时间间隔单位为1秒,范围1-3600。这种方式适用于数据变化缓慢的场合,缺省设置为60秒。
每次采集记录: 系统运行时,按照变量的采集频率进行数据记录,每到一次采集频率,记录一次数据。该功能只适用于IO变量,内存变量没有该记录方式。该功能应慎用,因为当数据量比较大,且采集频率比较快时,使用“每次采集记录”,存储的历史数据文件会消耗很多的磁盘空间。
2.1.5、选中“转发属性”标签页,此次测试暂不测试该部分,保持默认值。
在这里插入图片描述

IOServer中的变量可以通过OPCUA Server/OPCDA Server/MQTT进行转发。
是否转发(OPCUA): 勾选该项时,此变量通过OPCUA进行转发,转发模式为值变化或质量戳变化转发。
是否转发(OPCDA): 勾选该项时,此变量通过OPCDA进行转发,转发模式为值变化或质量戳变化转发。
无: 选择该项,则该变量不进行MQTT转发。
改变: 系统运行时,变量的实时值在发生变化时推送给MQTT broke。
间隔: 无论变量变化与否,系统运行时按定义的时间间隔将变量推送给MQTT broke,每隔设定的时间对变量的值进行一次推送。最小定义时间间隔单位为1秒,范围1-3600。这种方式适用于数据变化缓慢的场合,缺省设置为60秒。
每次采集转发: 系统运行时,按照变量的采集频率进行数据推送。

2.2、在Server应用中定义IO变量

2.2.1、选择“IOServer应用组”→“IOServer1”→“网络配置”,如下图所示:
【leigongIOServer网络配置】

站点名设置为:leigongIOServer,IP地址默认为本机IP,端口默认为12380。
2.2.2、选择“服务端应用组”→“雷工笔记”→“网络配置”→“其他服务器”→“IOServer服务器”→“站点管理”,如下图所示:
【IOServer站点配置1】
IOServer站点配置1

单击“添加站点”按钮,在弹出的“添加IOServer站点”对话框中,选项上面建好的IOServer1,如下图所示:
【IOServer站点配置2】
单击“确定”按钮,如下图所示:
【IOServer站点配置3】
单击“确定”按钮,如下图所示,单击“是”按钮,完成站点保存。
【IOServer站点配置4】
2.2.3、选择“服务端应用组”→“雷工笔记”→“建点”→“数据词典”,单击右侧“内容显示区”中的“新建”按钮,弹出对话框,如下图所示:
在这里插入图片描述
【新建变量对话框】

打开IO属性卡,单击访问名称后面的按钮,弹出如下图所示的对话框,选中上面建好的Tag1变量后,单击“确定”按钮。
【新建变量对话框】
【新建变量对话框】
设置好变量的属性和访问名称后,单击“确定”按钮会校验“访问名称”中的变量域的类型和变量的数据类型是否一致,不一致的话弹出提示框:变量数据类型不一致!。
采集设置: 分为允许、强制读、强制写三个复选项:
允许: 控制变量采集与否,此项被选中表示KingSCADA运行时采集该变量的值,否则不采集变量的值。用户也可以在运行环境中通过IOEnable域动态更改该属性值。
强制读: 此项为复选项,当该项被选中时,每次采集(数据上报),不管数据是否发生变化,都要强制记录、报警和进行其它处理。用户也可以在KingSCADA运行环境中通过IORead域动态更改该属性值。
强制写: 此项为复选项,当此项被选中时,在KingSCADA画面中只要用户重新设置、输入了变量值,不管是否发生了变化,KingSCADA都完成一次写操作,将数据写到设备上。用户也可以在运行环境中通过IOWrite域动态更改该属性值。
写回馈: 此项为复选项,当此项被选中时,对io变量进行写操作后,会获取写回馈结果成功或是失败信息。如果配置了记录操作事件,会同步产生一条操作记录事件。
定义完变量的属性后,单击“确定”按钮,新建的变量会增加到数据词典中。

2.3、定义基本变量

在KingSCADA3.8工程设计器中,选择“服务端应用组”→“雷工笔记”→“建点”→“数据词典”选项,单击右侧“内容显示区”中的“新建”按钮,弹出对话框,如下图所示:
【新建变量对话框】
基本属性卡中的各项用来设置变量的基本特征,各项含义如下:
变量名: 设置变量的名称,变量名里可以包含英文字母、数字、中文字符等。
变量名称规范要求:
①、同一应用中的变量不能重名
②、变量名区分大小写
③、变量名最长不能超过64个字符
④、第一个字符不能是数字
⑤、不能包含空格字符和如下28个无效字符:,:;±*/%&!~|^<>={}.`’ ”?
⑥、不能包含如下26个片假名字符:
ゴ ガ ギ グ ゲ ザ ジ ズ ヅ デ ド ポ ベ プ ビ パ ヴ ボ ペ ブ ピ バ ヂ ダ ゾ ゼ
例如:温度、压力、液位、var1等均可以作为变量名。
变量类型: 分为基本类型和引用类型两种,可任选其中的一种,这里选择基本类型。
数据类型: 设置变量的数据类型,在下拉框中选择其中的一种。
描述: 设置变量的描述信息,限制128个字符。
死区: 数据类型为整型或实型时此项有效,只有当该数据变量值的变化幅度超过死区中设置的数值时,KingSCADA才更新与之相连接的画面显示,缺省为0。
初始值: 此项内容与所定义的变量类型有关,定义模拟量时出现编辑框可输入一个数值,定义离散量时出现开或关两种选择。定义字符串变量时出现编辑框可输入字符串,它们规定软件开始运行时变量的初始值。
最小值/最大值: 设置整型或实型变量的量程范围。默认为-999999999~~999999999
工程单位:设置整型或实型变量的工程单位,限制8个字符。
保存值: 该项被选中后,那么运行态下,保存值是当运行系统退出时会将退出时刻的值保存到变量定义的初始值中,作为下次运行时的初始值。
保存参数: 该项被选中后,系统运行时,如果变量的域(可读可写型)值发生了变化,KingSCADA运行系统退出时,系统自动保存修改的域值。运行系统再次启动后,变量的初始域值为上次系统运行退出时保存的值,否则,系统不会保存退出前修改的域值。
注意:变量的保存参数,起作用的区域是变量定义时,变量属性里出现的属性可以保存,如高限报警、低限报警等,变量属性里没出现的属性如AlarmEnable,则不能保存。
允许其他应用访问: 该项被选中后,变量可以被第三方程序访问,如DDE、OPC、API,否则该变量不能够被第三方程序访问。
记录事件: 该项被选中后,那么运行态下,用值输入动画、鼠标事件、图素、控件的事件脚本里导致该变量值域或其它域的值发生变化,都会生成操作事件,操作事件会在事件窗口中显示,也可以保存到报警事件库里,使用户能够了解到该变量的操作变化情况。
安全区: 设置变量所属的安全区,只有拥有这个安全区的用户才能操作该变量。

2.4、定义数据模型变量

在定义数据模型变量之前,我们要先介绍一下数据模型,因为数据模型实例化的产物是数据模型变量,所以要先有数据模型才会有数据模型变量。
数据模型: 模拟现实中的生产设备的数据部分,把某一设备的一些变量和关于这些变量的一些脚本运算组合在一起形成数据模型,用户在使用时只需要将模型实例化,即配置相关的参数,可以快速把这些数据点和脚本部署到工程中。
使用数据模型可以实现快速建立变量的功能,而对于复杂的、点数相对较大的工程或者在不同的工程中具有复用性的模型,这个功能是非常有用的。使用这个功能的关键是如何提炼出符合要求的数据模型。
数据模型创建过程如下:
2.4.1、在KingSCADA3.8工程设计器中,选择“建点”→“数据模型”选项,在右侧编辑中单击“新建”按钮,弹出对话框,如下图所示:
【创建数据模型步骤】
【创建数据模型对话】
在该对话框中输入数据模型的名称:如:leigongModel1,其他属性可以根据需要输入,比如密码,如果设置了密码,用户在对数据模型编辑时要正确输入。初始ID和当前ID是由系统自动生成的,默认即可。
设置完毕后,单击“确认”按钮,该数据模型将出现在内容显示区,如下图所示:
【编辑区中的数据模型】

2.4.2、在上图中选中模型图标,单击“编辑”按钮或双击数据模型图标,弹出对话框,如下图所示(如果在创建数据模型对话框中设置密码的话,在编辑之前系统会提示密码输入对话框,只有输入正确后才可弹出下图):
【数据模型编辑对话框】
数据模型内容包括:变量、参数和脚本,在该对话框中可以建立数据模型中用到的变量、参数并编写相关的控制脚本。这里建立的变量是局部变量,适应范围仅仅是该数据模型。
新建参数:
数据模型参数主要于定义数据模型变量时,变量的属性值可以直接关联某个参数,或者包含某些参数,这样当数据模型在实例化成数据对象时,只需要改变参数的值,即可改变变量的属性值,参数起到了宏替换的作用。
参数支持的数据类型如下:字符串类型、长整型、浮点型、布尔类型
在下图中选择“参数”选项,单击鼠标右键,在弹出的右键菜单中执行“新建参数”命令。
在这里插入图片描述
弹出对话框,在数据模型中定义AlarmValue参数,如下图所示:
【新建参数对话框】
新建变量:
在下图中选择“变量”选项,单击鼠标右键,在弹出的右键菜单中执行“新建变量”命令。
在这里插入图片描述
弹出对话框,在数据模型中定义temperature变量,如下图所示:
在这里插入图片描述
数据模型变量属性可以进行锁定,属性一旦被锁定,则数据模型属性变化时,将会传播到实例化后的数据模型变量中,修改属性的变化,否则,不会传播到数据模型变量中。单击属性后面的按钮,默认为锁定状态,当该按钮变为,表示该属性未被锁定。
在这里插入图片描述

点击“报警”选项卡,设置高限报警设定,高低限报警值我们连接上面设置的参数AlarmValue,单击按钮,如下图所示:
在这里插入图片描述

选择相应的参数即可,选择完成后如图3-28。
在这里插入图片描述
在这里插入图片描述

新建数据模型脚本:
数据模型脚本是指在数据模型中编写的脚本程序,脚本中只能使用模型中定义的变量和工程中的系统变量,如: Y e a r 、 Year、 YearMonth、$Day等,但需要注意,系统变量不能作为触发条件,也可以使用组态王提供的所有函数。数据模型支持的脚本类型如下:数据改变脚本、事件脚本、定时脚本、自定义函数脚本。
可以根据需求创建相应的脚本类型,在脚本中编辑控制逻辑。
在表达式脚本中点击“新建”,弹出如下图所示:
在这里插入图片描述
在这里插入图片描述
2.4.3、数据模型实例化,实例化的产物是数据模型变量。
数据模型建立完毕后,必须将其实例化后,才可以完成数据模型实现的功能,数据模型实例化的产物是数据对象,即数据对象的创建过程也就是数据模型实例化的过程。一个数据模型对应一个或多个数据对象,即一个数据模型对应一个或多个实例,从而实现了数据模型可重用的功能。
在KingSCADA3.8工程设计器中,选择“建点”→“数据模型对象”选项,在右侧编辑中单击“新建数据模型对象”按钮。
在这里插入图片描述
弹出对话框,如图所示:
在这里插入图片描述
使用数据模型可以实现快速定义变量的功能,同时还可以在内部定义相应的逻辑控制功能。

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

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

相关文章

通过azure学生认证拿到一年服务器使用权

通过azure学生认证 因为国内备案被迫找其他服务器 开始我买了一个华为的服务器&#xff0c;大家都知道&#xff0c;在国内&#xff0c;服务器是需要备案的。如果你备案过的话&#xff0c;就知道这个是非常麻烦的事情。时间久不说。过程也是非常的繁琐。这个繁琐的过程&#x…

《Linux基础》06. 进程管理 · 服务管理

Linux基础-06 1&#xff1a;进程管理1.1&#xff1a;查看进程1.1.1&#xff1a;ps1.1.2&#xff1a;pstree1.1.3&#xff1a;top 1.2&#xff1a;终止进程1.2.1&#xff1a;kill1.2.2&#xff1a;killall 2&#xff1a;服务管理2.1&#xff1a;运行级别2.2&#xff1a;服务查看…

每日一练2023.4.17-2023.4.18

数轴上的bfs 农夫约翰被通知&#xff0c;他的一只奶牛逃逸了&#xff01;所以他决定&#xff0c;马上出发&#xff0c;尽快把那只奶牛抓回来&#xff0e; 他们都站在数轴上&#xff0e;约翰在N(0≤N≤100000)处&#xff0c;奶牛在K(0≤K≤100000)处&#xff0e;约翰有 两种办…

门控循环神经网络学习笔记

在介绍门控循环神经网络之前&#xff0c;先简单介绍循环神经网络的基本计算方式&#xff1a; 循环神经网络之称之为“循环”&#xff0c;因为其隐藏状态是循环利用的&#xff1a; 上一次输入计算出的隐藏状态与当前的输入结合&#xff0c;得到当前隐藏状态。 cur_output, cur…

【嵌入式笔/面试】嵌入式软件基础题和真题总结——操作系统

在学习的时候找到几个十分好的工程和个人博客&#xff0c;先码一下&#xff0c;内容都摘自其中&#xff0c;有些重难点做了补充&#xff01; 才鲸 / 嵌入式软件笔试题汇总 嵌入式与Linux那些事 阿秀的学习笔记 小林coding 百问网linux 嵌入式软件面试合集 2022年春招实习十四面…

电脑丢失的dll文件怎么一键修复?修复dll方法分享

电脑丢失的dll文件怎么一键修复&#xff1f;电脑状况常常让人遇到各种问题&#xff0c;其中“DLL文件丢失”是最常见的问题之一。在这篇文章中&#xff0c;我们会介绍为何会出现DLL文件丢失的问题&#xff0c;以及提供一种简单、快捷的DLL文件修复方法。 一.为何会出现DLL文件丢…

vue使用vue-mapvgl实现烟台市各区县行政区绘制、三维柱状图

一、效果展示 二、地图组件&#xff1a; vue-mapvgl https://docs.guyixi.cn/vue-mapvgl/#/ 三、代码 main.js //vue-mapvGL import VueBMap from vue-bmap-gl; import vue-bmap-gl/dist/style.css import VueMapvgl from vue-mapvgl; Vue.use(VueBMap); Vue.use(VueMapvg…

c++算法——算法章节-时间空间复杂度

算法开章咯 这次是csp-j组算法 枚举法常用排序合集hash一维前缀和vector结构体queuestack贪心-简单贪心区间递归二分setmap二叉树图的遍历-邻接矩阵迷宫问题-dfs-深度优先搜素bfs-广度优先搜索动态规划-简单动态规划-01背包动态规划-背包-多重背包二分答案 算法是什么嘛&…

腾讯云轻量4核8G12M应用服务器带宽、月流量详细性能评测

腾讯云轻量4核8G12M应用服务器带宽&#xff0c;12M公网带宽下载速度峰值可达1536KB/秒&#xff0c;折合1.5M/s&#xff0c;每月2000GB月流量&#xff0c;折合每天66GB&#xff0c;系统盘为180GB SSD盘&#xff0c;地域节点可选上海、广州或北京&#xff0c;4核8G服务器网来详细…

0基础同学如何快速入门学Python

转自&#xff1a;https://www.zhihu.com/question/596253606/answer/2994169972 想学Python的小伙伴&#xff0c;这里给你们汇总了&#xff1a;学习资源、平台、小白环境配置、相关课程、书籍资料&#xff01;并且&#xff0c;附送学习方法以及计划制定。 一、可以了解到Pyth…

Appuploader证书申请教程

转载&#xff1a;IOS证书制作教程 点击苹果证书 按钮 点击新增 输入证书密码&#xff0c;名称 这个密码不是账号密码&#xff0c;而是一个保护证书的密码&#xff0c;是p12文件的密码&#xff0c;此密码设置后没有其他地方可以找到&#xff0c;忘记了只能删除证书重新制作&…

还在精神内耗?还在焦虑?可以看看这个

作为一个即将毕业的本科生&#xff0c;总是会不由自主的焦虑。因为不考研&#xff0c;所以显得和同学们格格不入&#xff0c;每天都在进行精神内耗&#xff0c;但是我不经意间看到了一个东西-《邓宁克鲁格效应》 上述的四个阶段刻画出了一条典型的“大师养成之路”。但大师毕竟…

华为三层交换机命令集合,已经分好类了,网工建议收藏!

你好&#xff0c;这里是网络技术联盟站。 本文给大家带来的是华为三层交换机的命令集合&#xff0c;我已经分好类&#xff0c;大家可以收藏备用&#xff01; 一、系统管理命令 1.1 查看版本信息 display version此命令用于查看交换机的版本信息&#xff0c;包括交换机的软件…

【AI理论学习】深入理解Prompt Learning和Prompt Tuning

深入理解Prompt Learning和Prompt Tuning 背景Prompt Learning简介1. Prompt是什么&#xff1f;2. 为什么要使用Prompt&#xff1f;3. Prompt Learning的形式&#xff08;举例&#xff09;4. 有哪些Pre-training language model&#xff1f;5. 常见的Prompt Learning的方法 Pro…

WebRTC 源码分析——Android 视频硬件编码

作者&#xff1a;DevYK 1. 简介 本文将重点介绍在 Android 平台上&#xff0c;WebRTC 是如何使用 MediaCodec 对视频数据进行编码&#xff0c;以及在整个编码过程中 webrtc native 与 java 的流程交互。 本篇开始会先回顾一下 Andorid MediaCodec 的概念和基础使用&#xff0…

Node【Global全局对象】之【Process】

文章目录 &#x1f31f;前言&#x1f31f;Process&#x1f31f;process属性&#x1f31f;process.env &#x1f31f;process方法&#x1f31f;process事件&#x1f31f;uncaughtException &#x1f31f;写在最后 &#x1f31f;前言 哈喽小伙伴们&#xff0c;新的专栏 Node 已开…

VSCode + GCC编译器(MinGW)开发环境中文字符乱码问题踩坑与解决办法

文章目录 问题背景问题描述测试代码测试结果现象描述问题分析 解决方案修改默认配置1. 已经存在的文件全部使用gbk编码重新保存。2. 在工程目录下新建.vscode目录&#xff0c;如果已存在则跳过此步骤。3. 在.vscode目录中新建settings.json&#xff0c;launch.json两个文件&…

SAP CAP篇二:为Service加上数据库支持

在篇一快速创建一个Service&#xff0c;基于Java的实现中&#xff0c;可见使用SAP CAP &#xff08;Cloud Programming Model&#xff09;确实可以提高开发效率。尤其是Java技术栈上&#xff0c;对比于之前使用Olingo框架来实现oData&#xff0c;使用SAP CAP真的可以做到指数级…

Hightopo应邀参加 2023 第十届中国工业数字化论坛

3 月 30 日&#xff0c;以“加快数字化转型&#xff0c;助推高质量发展”为主题的第十届中国工业数字化论坛在北京隆重举行。厦门图扑软件科技有限公司&#xff08;以下简称“图扑软件”&#xff09;应邀参展&#xff0c;与诸位专家、领导、业界同仁共同研讨工业领域的数字化创…

红包算法关于---随机分发和平均分发

目录 群发普通红包 流程图 MainRedPacket类 Manager类 Member类 User类 群发普通红包 题目介绍 某软件有多名用户&#xff08;User类&#xff09;&#xff0c;某群聊中有群主&#xff08;Manager类&#xff09;和多名普通成员&#xff08;Member类&#xff09;&#x…