当前位置: 首页 > news >正文

OPC UA:工业领域的“HTML”

        OPC  UA是工业自动化领域的一项重要的通信协议。它的特点是包括了信息模型构建方法。能够建立工业领域各种事物的信息模型。在工业自动化行业,OPCUA 类似互联网行业的HTTP协议和“HTML”语言。能够准确,可靠地描述复杂系统中各个元素,并且实现系统组件之间的互联互通。

        HTML语言能够描述复杂的网页,使用浏览器能够浏览所有基于HTML 的网站,在HTML 语言的发展早期,它只能描述静态网页。美国网景公司(Netscape)率先在其浏览器中导入了JavaScript网页脚本语言。使网页具备了强大的交互能力和信息处理能力。现代HTML5就包括了HTML、CSS和JavaScript三个要素。

     传统的工业领域中,不同厂商的控制设备与上位机的通信协议都不尽相同,几乎每个设备都带有一个组态软件。为了提高系统的兼容性,提高工程效率,工业自动化领域同样需要类似互联网行业 HTML /JavaScript 的统一描述语言和HTTP 协议。OPC UA就是为这个目标而实现的。

        OPCUA 同样具备强大的建模能力,但是与HTML类似,它构建的模型是静态,被动的。需要通过其它程序才能够处理这些模型。它同样需要一种模型处理的脚本语言来增强OPCUA 动态组件的建模。IEC61499 是这种“脚本语言”的最佳选择。

         IEC61499 是分布式控制系统的系统级建模语言。IEC61499 的核心是基于事件的功能块。可以使用OP CUA 封装事件功能块模型,OPCUA 应用软件中嵌入IEC61499 运行时,动态执行功能块网络。两种重要的工业自动化标准相结合,涌现成强大的系统功能。在工业自动化系统中,OPCUA 和IEC61499 的完美结合,能够发挥互联网行业HTML/Javascript组合同样的威力。

  基于上述理念,我们开发了一个实验系统-UAPlus

        UAPlus是开发的开放自动控制系统的软件平台,实现OPC UA与IEC61499 融合。结合时间敏感网络,工业现场连接技术的创新型软件平台,UAPlus成为开放自动化系统的技术平台,UAPlus 的结构示意图。 

开放性与灵活性

开放性(Openess )

      OPC UA是工业自动化领域的一项重要的通信协议。它是一种基于信息模型的通信方式。当一个信息系统中都采用了OPC UA通信协议之后,组件之间能够以模型中的对象,变量,方法和事件来相互交换信息,它将是工业4,0 技术的重要组成部分。

  目前,越来越多的设备和软件都支持OPCUA 通信协议和信息模型,它们包括PLC,DCS 设备和MES,EPR,数字孪生,仿真,HMI和云服务都支持OPCUA 协议。自动化系统采用统一的接口,提升了自动化系统的开放性。支持OPCUA 协议的设备能够快捷地互联互通和互操作。

灵活性(adapability)

                OPCUA应用软件是基于商业版本或者开源版本的OPCUA SDK 库(例如 open62541)实现的。OPCUA 是一个相对比较复杂的标准,即便有了SDK ,软件开发者仍然需要了解大量OPCUA 规范的技术细节。这是影响OPCUA 推广应用的主要障碍之一。

        UA Plus的设计理念是通过OPC UA 与IEC61499 相结合,将OPCUA 模型操作和服务使用IEC61499 功能块实现。从而使OPCUA 应用系统的开发摆脱了OPC UA 的技术细节。而重点关注应用本身。IEC61499 中的功能块,复合功能块,适配器等元素更加适合面向对象程序设计技术的实现,而面向对象的思想是模块化设计的基础。带来了自动化系统开发的灵活性。

        OPC UA 带来了开放性,而IEC61499 带来了灵活性。两者的结合降低了开发工业自动化软件的复杂性。

技术特点

  1. 利用OPCUA 构建信息模型
  2. Sqlite3 历史数据库
  3. 模型自动载入
  4. 利用IEC61499 功能块构建动态执行组件
  5. OPCUA 封装IEC61499 模型
  6. 支持动态功能块,复合功能块,功能块网络,适配器动态载入
  7. OPCUA Pub/Sub 实现设备间通信
  8. 支持tsn实时网络
  9. 模型与开发环境IDE分离
  10. 支持设备端控制协议OPCUA Client,modbusTCP,Profinet,EtherCAT,IO-link协议
  11. 在各种智能设备,云平台,边缘设备上运行。

系统架构

        下图是以UAPlus构建的分布式系统。设备之间使用OPCUA 协议Client/Server和Publish/Subscribe 互联,控制程序使用IEC61499 功能块和功能块网络编排,通过UAPlus内置的运行时执行。

OPC UA 协议与信息模型

        OPC统一架构(OPC UA)是由OPC基金会创建的从传感器到云应用程序的数据交换标准,旨在满足几个领先行业不断增长的计算机化需求。OPC代表开放平台通信,创建了一个OPC服务器,它允许将来自多个来源的信息转换为客户端,提供可以有效使用的访问数据。这种在多个平台和设备之间轻松传输信息的能力被称为OPC UA标准,它被广泛认为是通信的工具资源。此外,OPC UA标准可确保数据访问的集成,一致,可靠且可安全访问。

        UAPlus以OPC UA 为中心构建, OPC统一架构(OPC UA)是一种用于工业自动化的机器对机器通信协议,由OPC基金会开发。实现工业的互操作性,设备和机器制造商以面向对象的方式构建产品的信息模型。大量工业软件和云平台提供了OPCUA 接口,具备访问OPCUA 服务器的能力。OPC UA简化了工业连接,

为了实现数据交换,OPCUA 针对不同的应用场景提供了两种通信机制:

  1. 客户端/服务器模型(Client/Server)
  2. 发布者-订阅者模型(Pub/Sub)

   如果不同的设备制造商能够达成一致,所有相同的设备都具备相同的数据和服务·。那么·这些设备·将会很容易集成到系统中。为此,OPC 基金会和众多的合作伙伴制定了标准化的行业配套规范(companion specifications)。诸如BACnet ,CNC,PackML,PLCopen,Robotics等诸多行业的规范。

   工业4.0 的诸多标准都是在OPC UA 基础之上构建的。这也是OAP 以OPCUA 为主构建的主要原因,这意味着UAPlus平台上,能够进一步构建符合各种行业标准的接口,实现各种设备和软件的互联互通和即插即用。

IEC61499 功能块

        IEC 61499定义了在分布式工业过程测量和控制系统 (IPMCS) 中使用功能块的架构。该架构包括可实现的参考模型、文本语法和图形表示。IEC61499 的核心概念是基于事件的功能块。基于这种功能块能够实现基于组件的系统设计方法。每个系统应用都能够使用功能块网络呈现。而且功能块网络中的功能块能够部署到分布式系统中的各个设备中。

功能块

        功能块封装了功能,它的外部接口包括了事件接口和数据接口,功能块的内部包括了状态机和算法,当外部输入事件与数据一起到达时,会触发内部状态机的变化,并且调用相应的内部算法。算法执行完成后,将输出输出数据,并触发输出事件。

https://img-blog.csdnimg.cn/img_convert/3cff5a1c2486665cc33ba1917231f789.png

功能块网络

        一个分布式控制系统由多个功能块连接成为的网络构成。功能块网络也被称为IEC61499 的应用(Application)。

https://img-blog.csdnimg.cn/img_convert/97fd024f0e1edfbf328cc7d2898675aa.png

部署

https://img-blog.csdnimg.cn/img_convert/086b7cc7ed51325155fa996793a18b07.png

OPCUA 封装IEC61499 模型

OPC UA是工业自动化领域的一项重要的通信协议。它是一种基于信息模型构建的。当一个信息系统中都采用了OPC UA通信协议之后,组件之间能够以模型中的对象,变量,方法和事件来相互交换信息。它将是工业4,0 技术的重要组成部分。

     IEC61499是分布式控制系统建模标准,它的核心是基于事件的功能块。是被人们看好的一项开放自动化领域的技术标准。

        这两项技术们都是一种建模的方法,OPC UA 侧重于信息交换的信息模型,关注设备之间的互联互通,数据交换。而IEC61499 侧重于分布式控制测量系统执行组件的建模。关注程序的执行。所以也有人将IEC61499称为分布式自动化的可执行建模语言。它们之间的互补性非常大。另一方面,它们都是基于面向对象程序设计的思想,它们的方法,概念和术语具有相似性。

   两种侧重点不同的建模技术相结合,将会涌现出更加强大的系统功能。IEC61499 事件功能块网络实现了OPCUA 的分布式系统模型控制流建模。OPC UA 的状态机和方法调用只能实现高层的控制流,而方法的算法仍然需要借助于其它程序设计语言来编写,例如IEC61131-3语言。OPCUA与IEC61499 相结合,能够直接使用IEC61499 功能块网络来描述算法。

    

        OPCUA 与IEC61499 相结合的方法是使用OPCUA 信息模型来封装IEC61499 的功能块,功能块连接和功能块网络模型。原先的IEC61499 运行时通过调用OPCUA 的信息模型来存储和访问功能块数据,并且解释执行功能块网络的执行。通过OPCUA 的Pub/Sub和Client、Server 协议实现分布式设备中功能块之间的事件和数据通信。

IEC61499 模型融入OPCUA 带来的好处在于:

  • 增强了OPCUA 的执行组件的建模能力。在OPC UA 平台上,能够构建IEC61499 的功能块。并且在内部嵌入了IEC61499 运行时。
  • 统一使用OPC UA 信息模型构建模型,避免OT工程师额外学习IEC-61499 的模型。降低了IEC61499 的学习曲线。
  • 统一采用OPC UA 的协议和数据类型,可以借助OPC UA 的设计工具。更好融入以OPC UA 为基础的工业4.0 体系。与其它工业软件互联。
  • 弥补了OPC UA 算法描述能力的不足,提供了构建基于OPCUA 信息模型的分布式控制系统的方法。
  • 以IEC-61499 的方式构建OPC UA 的算法库,模型库。以及逻辑执行模型。

使用OPC UA 信息模型构建IEC61499 模型的任务包括下面几个部分:

  1. 使用OPC UA信息模型封装IEC61499 功能块类型
  2. 使用OPC UA 信息模型封装IECIEC61499 功能块网络
  3. 使用OPC UA 封装IEC61499 系统,资源的信息模型
  4. IEC61499 功能块OPC 模型

    单从IEC61499 的外部封装来看,IEC61499功能块包括了事件的输入,事件的输出,数据的输入和数据的输出。它们完全可以使用OPC UA 信息模型来封装。下图是一个简单Inv功能块的OPC UA 模型封装示意图。

 https://img-blog.csdnimg.cn/3436b42784e84fd19bbf037eddb26b65.png

IEC61499 功能块网络的OPC UA模型

        IEC614999 的应用是功能块网络。功能块网络是功能块实例通过连接(connection)构成的。在OPC UA信息模型中,connection 对应于reference。我们可以使用hasConnection来作为功能块的连接。

   功能块与信息模型的接口

IEC61499 应用程序通过一组功能块存取OPCUA 信息模型

  1. UA_Read
  2. UA_Write
  3. UA_Condition
  4. UA_Method

开发流程

        在UAPlus平台上,所有的模型都是基于OPCUA 信息模型构建,使用Nodeset2.xml 文档描述,并且通过LoadXML 方法动态地下载到UAPlus 的运行时中运行。

        传统的自动化组态工具大多数是基于图形方式设计的。由于行业应用的特点,各个行业的组态工具的图形各不相同,比如PLC 中的梯形图,IEC61499 中的功能块网络,建筑自动化中的图形以及过程控制领域的P&ID,测量仪器应用中的LabView,数字仿真中的Simulink 中都具有各自基于图形的组态方式。通常,这些专用的图形化组态工具与厂商设备是紧耦合。

         UAPlus 主张底层采纳OPC UA 的NodeSet.xml 描述。所有专业的IDE 导出的文档通过一组转换程序转换成NodeSet2 文档。例如,将IEC61499 开发环境IDE 导出的FB.sys 文档转换成为NodeSet2 文档。

        基于这种观点,开发工具与设备,应用和厂商解耦。面向各种应用场景的领域语言(DSL) 能够转换成OPC UA 的NodeSet2 文档。随着AI技术的成熟,领域语言(DSL)将更加自然语言化。自动化组态技术将更多地由软件自动生成。

        这是一个令人兴奋的系统架构,它意味着能够为各个专业领域应用设计组态工具,它们可能采纳不同的图形符号和表达方式,最终可以通过转换工具转换成为统一的OPC UA 模型。下面是将行为树转换成功能块网络和OPCUA 信息模型的例子。

        在UAPlus平台上,能够构建工业控制,智能制造,智能仪表测量,离散过程控制,过程控制,建筑自动化等各个领域的应用。

转换工具及流程

 

IEC61499Converter

将4diac 设计IEC61499 功能块和应用程序转换成为uaModelDesign.xml 文档。

uaModelCompiller

将uaModelDesign.xml 转换成为OPCUA模型文件nodeset2.xml。

uaPlus

UAPlus 导入各种nodeset2.xml文档。

        其它各种应用模型开发工具,能够充分利用IEC61499 功能块建模方式构建基于组件的系统模型,导出ModelDesign.xml 或者Nodeset2.xml 文档,最终导入UAPlus运行时。

UAPlus的应用

  1. OPCUA 网关
  2. 设备、仪表的数字化模型
  3. OPCUA 数据聚合服务器
  4. OPCUA 实时数据库
  5. 物联网应用
  6. 基于OPCUA 的工厂互联
  7. 设备和能效数据采集
  8. OPCUA HMI智能屏
  9. 数据存储,分析和可视化

UAPlus 的运行平台

操作系统

UAPlus 在linuxOS 上运行。

硬件

根据系统对算力需求的不同,可以选择X86,ARM,RISC-V 等处理器架构的硬件控制器。

目前支持的硬件控制器

  1. UAPlus-6 系列控制器

基于NXP I.MX6 处理器的32bitARM控制器,

  1. UAPlus-8 系列控制器

基于NXP I.MX8 处理器的64bit控制器

  1. UP6000控制器

基于Intel Atom6000 处理器控制器

I/O 模块与现场总线

现在,标准化的小型PLC,远程IO模块和IO-Link 等设备已经相当成熟,接口模块种类繁多,价格低廉。遵循“不重复建造轮子”的原则,没有必要设计控制器与IO模块一体化的硬件产品,UAPlus主张控制器与IO模块解耦。通过标准的现场总线与传统的PLC,远程IO模块和IO-Link 设备连接。目前支持的工业现场总线包括:

  1. modbusTCP
  2. EtherCAT
  3. Ether/IP
  4. Profinet
  5. IO-Link

结束语

OPC UA 将成为工业自动化领域的“HTML” 语言,IEC61499 作OPCUA  伴随的脚本语言,将会给开放自动化,边缘计算带来强大的活力。为此,我们在不断地研究与实验,目前该项目已经设计完成,进一步测试中。

相关文章:

OPC UA:工业领域的“HTML”

OPC UA是工业自动化领域的一项重要的通信协议。它的特点是包括了信息模型构建方法。能够建立工业领域各种事物的信息模型。在工业自动化行业,OPCUA 类似互联网行业的HTTP协议和“HTML”语言。能够准确,可靠地描述复杂系统中各个元素,并且实现…...

【golang】Windows环境下Gin框架安装和配置

Windows环境下Gin框架安装和配置 我终于搞定了Gin框架的安装,花了两三个小时,只能说道阻且长,所以写下这篇记录文章 先需要修改一些变量,这就需要打开终端,为了一次奏效,我们直接设置全局的: …...

多测师肖sir_高级金牌讲师__接口测试之tonken (5.6)

接口测试之tonken 网站:http://shop.duoceshi.com/login?redirect2Fdashboard 第一个接口:uiid接口 uiid接口url:http://manage.duoceshi.com/auth/code test中语句: var jsonData JSON.parse(responseBody); postman.setEnvi…...

C++常见面试问题之内存对齐

一、内存对齐是什么 1.内存对齐是什么 还是用一个例子带出这个问题,看下面的小程序,理论上,32位系统下,int占4byte,char占一个byte,那么将它们放到一个结构体中应该占415byte;但是实际上&…...

网络协议--TCP:传输控制协议

17.1 引言 本章将介绍TCP为应用层提供的服务,以及TCP首部中的各个字段。随后的几章我们在了解TCP的工作过程中将对这些字段作详细介绍。 对TCP的介绍将由本章开始,并一直包括随后的7章。第18章描述如何建立和终止一个TCP连接,第19和第20章将…...

网络协议--BOOTP:引导程序协议

16.1 引言 在第5章我们介绍了一个无盘系统,它在不知道自身IP地址的情况下,在进行系统引导时能够通过RARP来获取它的IP地址。然而使用RARP有两个问题:(1)IP地址是返回的唯一结果;(2)…...

33基于MATLAB的对RGB图像实现中值滤波,均值滤波,维纳滤波。程序已通过调试,可直接运行。

基于MATLAB的对RGB图像实现中值滤波,均值滤波,维纳滤波。程序已通过调试,可直接运行。 33 MATLAB、图像处理、维纳滤波 (xiaohongshu.com)...

WPF十六(页面内嵌加载)

在WPF中进行页面内嵌的加载 当存在一定需求时,比如当前页面C左侧是一个A页面,右侧是一个B页面,A页面是一个公用页面时,此时只需要做内嵌A页面,然后B页面进行正常处理,既可以节省时间,又做到了WP…...

JAVA基础(JAVA SE)学习笔记(九)异常处理

前言 1. 学习视频: 尚硅谷Java零基础全套视频教程(宋红康2023版,java入门自学必备)_哔哩哔哩_bilibili 2023最新Java学习路线 - 哔哩哔哩 第三阶段:Java高级应用 9.异常处理 10.多线程 11.常用类和基础API 12.集合框架 13.泛型 14…...

Miniconda、Vscode下载和conda源、pip源设置

1、常用软件下载 1、Miniconda软件下载: windows网址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/?CS&OA 2、最新版Miniconda下载网址:https://docs.conda.io/projects/miniconda/en/latest/ 3、常用代码编辑器VsCode下…...

CAN接口的PCB Layout规则要求汇总

随着时代高速发展,控制器局域网(CAN)接口的应用越来越广泛,尤其是在汽车电子、航空航天等领域中发挥着重要作用,为了确保CAN接口的可靠性和稳定性,工程师必须在其PCB Layout方面下功夫,下面来看…...

IP网络矿用打点紧急广播方案

IP网络矿用打点紧急广播方案 一、概述 目前,随着计算机网络技术的迅速普及,信息化已经走向煤矿。很多煤矿都陆续具有了稳定可靠、覆盖矿井上下的工业以太网。科学技术的不断进步和信息化矿山建设步伐的不断加快,井下工业以太网将逐渐得到推…...

系列六、FactoryBean vs ApplicationContext

一、FactoryBean vs ApplicationContext 1.1、概述 BeanFactory是一个工厂类,负责生产和管理bean,在Spring中BeanFactory是IOC容器的核心接口,它的主要职责就是生产bean及建立各个bean之间的依赖。applicationContext是BeanFactory的一个子接…...

AOP简单使用模版

AOP面向切面编程 切面类的定义之模版 package com.xie.service;import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.*; import org.aspectj.lang.ProceedingJoinPoint; import org.springframework.stereotype.Component; import javax.servlet.http.Http…...

手机注册.

<!DOCTYPE html> <html><head><title>注册</title><meta http-equiv"content-type" content"text/html; charsetutf-8"/><meta name"apple-mobile-web-app-capable" content"yes"/><lin…...

PostgreSQL 17新特性之登录事件触发器

PostgreSQL 9.3 就提供了事件触发器功能&#xff0c;可以基于 DDL 语句触发相应的操作。 正在开发中的 PostgreSQL 17 增加了基于登录事件的触发器&#xff0c;可以在用户登录时执行某些检查或者特定操作。登录事件触发器的使用方法和其他触发器一样&#xff1a;创建一个返回 …...

Docker 搭建 LNMP + Wordpress

[TOC](Docker 搭建 LNMP Wordpress 一、项目介绍1.1、项目环境1.2、 服务器环境1.3、 任务需求 二、部署Nginx2.1、建立工作目录2.2、 编写 Dockerfile 脚本2.3、准备 nginx.conf 配置文件2.4、生成镜像2.5、创建自定义网络 三、部署Mysql3.1、建立工作目录3.2、编写 Dockerfi…...

大数据调度最佳实践 | 从Airflow迁移到Apache DolphinScheduler

迁移背景 有部分用户原来是使用 Airflow 作为调度系统的&#xff0c;但是由于 Airflow 只能通过代码来定义工作流&#xff0c;并且没有对资源、项目的粒度划分&#xff0c;导致在部分需要较强权限控制的场景下不能很好的贴合客户需求&#xff0c;所以部分用户需要将调度系统从…...

node实战——搭建带swagger接口文档的后端koa项目(node后端就业储备知识)

文章目录 ⭐前言⭐初始化项目⭐配置router目录自动扫描路由⭐swagger文件配置自动生成json文件⭐封装扫描目录路由加入swagger⭐配置项目入口总文件⭐运行效果⭐总结⭐结束⭐前言 大家好,我是yma16,本文分享关于node实战——搭建带swagger接口文档的后端koa项目(node后端就…...

Qt篇——子控件QLayoutItem与实际控件的强转

方法&#xff1a;使用qobject_cast<QLabel*>() &#xff0c;将通过itemAt(i)获取到的子控件(QLayoutItem)强转为子控件的实际类型(如QLineEdit、QLabel等)。 场景举例&#xff1a; QLabel *label qobject_cast<QLabel*>(ui->horizontalLayout_40->itemAt(0…...

Css3使用

CSS3是CSS&#xff08;层叠样式表&#xff09;的最新版本&#xff0c;它引入了许多新特性&#xff0c;使网页设计更加灵活和富有创意。在本文中&#xff0c;我们将介绍CSS3的一些新特性&#xff0c;包括选择器、布局、动画和变形效果。 一、选择器 CSS3引入了一些新的选择器&…...

【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构

完全解耦的时间片轮询框架构 简介项目代码timeslice.htimeslice.clist.hlist.c 创建工程移植代码实验函数说明timeslice_task_inittimeslice_task_addtimeslice_tak_deltimeslice_get_task_num 结尾 简介 timeslice是一个时间片轮询框架&#xff0c;他是一个完全解耦的时间片轮…...

人工智能期末考试(刷题篇部分题有答案)

参考&#xff1a; 人工智能 经典考试试题及答案 - 百度文库 大学人工智能期末考试题库 - 百度文库 人工智能【期末复习题】 - 百度文库 人工智能期末试题及答案完整版 - 百度文库 一、选择题 AI的缩写是 Artificial Intelligence反演归结&#xff08;消解&#xff09;证明…...

手写Vue渲染器render函数

使用js对象来描述UI更加的灵活。“这种对象”在vue框架中被称为虚拟DOM&#xff0c;渲染函数内部可以创建虚拟DOM&#xff0c;然后vue.js可以将其内容进行渲染。 1.渲染器的介绍 渲染器的作用就是把虚拟DOM渲染为真实DOM 思考下&#xff0c;我们有一个虚拟 DOM&#xff0c;如…...

CGAL+QT

先安装CGAL和QT 安装完QT其中MSVC 这两个没配置 1、x32配置选择的是 x64配置选择的是 2、CGAL 5.4.5 - Manual: Using CGAL on Windows (with Visual C) 参数文章配置一些环境变量 3、 测试 新建build 进行cmake QT、Boost、CGAL都自动匹配上了&#xff08;环境变量已经配…...

GBase8a SSL 配置

GBase8a SSL 配置 GBase8a MPP Cluster 支持 SSL 标准协议&#xff0c; SSL 协议是一种安全性更高的协议标准&#xff0c; 它加入了数字签名和数字证书来实现客户端和服务器的双向身份验证&#xff0c;保证了通信双方更加安全的数据传输。 配置客户端使用 SSL 安全连接的方式连…...

数据结构之队列(源代码➕图解➕习题)

前言 在学过栈之后&#xff0c;会了解到栈的底层是根据顺序表或者链表来构建的&#xff0c;那么我们今天要学习的队列是否也是基于顺序表和链表呢&#xff1f;那我们直接进入正题吧&#xff01; 1. 队列的概念&#xff08;图解&#xff09; 还是跟上节一样&#xff0c;依旧用图…...

社区迭代|ETLCloud社区新增“论坛”啦!

ETLCloud社区是谷云科技RestCloud旗下面向开发工程师、集成研发人员等技术人员提供全方位交流和学习的开放式平台&#xff0c;也是ETLCloud在产品生态赋能上的一大亮点&#xff0c;旨在能够帮助更多的用户更快捷高效的掌握技能&#xff0c;也为企业提供集成人才培养赋能&#x…...

ohos的代码同步以及添加自己的代码

首先我们需要获取到官方的repo工具&#xff0c;命令如下curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ./repo&#xff0c;这里我们就拿到repo工具了&#xff0c;这个repo可以放任意地方&#xff0c;也可以放 /usr/local/bin/repo下&#xff0c;这样可以…...

Python的Pandas库(二)进阶使用

Python开发实用教程 DataFrame的运算 DataFrame重载了运算符&#xff0c;支持许多的运算 算术运算 运算方法运算说明df.add(other)对应元素的加&#xff0c;如果是标量&#xff0c;就每个元素加上标量df.radd(other)等效于otherdfdf.sub(other)对应元素相减&#xff0c;如果…...