工赋开发者社区 | 工业数字孪生:西门子工业网络与设备虚拟调试案例(TIA+MCD+SINETPLAN)

news2024/10/7 20:27:32

PART1

案例背景及基本情况

新生产系统的设计和实施通常是耗时且高成本的过程,完成设计、采购、安装后,在移交生产运行之前还需要一个阶段,即调试阶段。如果在开发过程中的任何地方出现了错误而没有被发现,那么每个开发阶段的错误成本将大大增加,未检测到的错误可能会在调试期间造成设备重大的损坏。

数字孪生对实施过程的前中后进行容错冲销,将大部分的操作-除了最后安装之外全部移到虚拟层,设计、开发、调试等工作都是虚拟层进行,得到最优和最确定的方案后有相当的把握再上线使用。

随着工艺要求和控制复杂度的增加,使得本来就很棘手的设备调试变得更加棘手,脱离了现场运行环境,机械、电气部件和自动化软件就得不到充分的调试,设备设计的正确性和有效性等得不到有效的保障。在调试阶段,工程师会发现错误,修改设计,编写和优化程序,以及对操作人员进行新设备、新操作流程培训。

工艺设计和虚拟调试,特别适合一些禁止远程调试的业务场景。其实这些事情很多供应商也干过,只不过未必是数字孪生罢了:模拟安装环境啊,而且还不是局部模拟,是全局模拟。当然有条件的设备供应商可以自己模拟一个小型环境,如果成本太高,也可以用数字孪生来模拟一个虚拟的调试和安装环境。通过现实的运行机理导入数据和流程到数字孪生,这里我们再超前一点:数字孪生能不能搞用户化和通用化呢,当然也可以。

这个阶段是难以计划,会延迟生产,也会造成成本超支,并可能导致延迟发货,影响客户满意度。由于数字孪生是物理资产的准确表征,可以用于对新网络或设备设计的虚拟调试。

在虚拟调试时,如果发现问题需要进行设计优化,则可以在计算机上对虚拟的系统模型进行更改,虚拟调试允许重新更改网络规划、重新编程机器人或更改变频驱动器、PLC 编程等操作。一旦重新编程,系统会再次进行测试,如果通过,则可以进行下一阶段的物理部署。

通过虚拟调试实现对设备的设计进行仿真验证,缩短从设计到物理实现的时间;

使用虚拟调试来提前测试设备运动部件以发现机械干涉以及提前验证自动化 PLC 编程和上位软件,这样可以使现场的调试速度更快,风险更低。

PART2

系统框架

网络规划和仿真验证系统

在设计阶段,通过 SINETPLAN 实现对工业网络 PROFINET 的规划设计和仿真,识别潜在的问题并避免发生。

新建、组态 PROFINET 网络,或导入现有项目,进行网络负载仿真,流量整形保证网络运行安全可靠,优化网络资源和透明化网络利用率;也可以对已安装 PROFINET 网络进行在线扫描和验证。

网络架构让真正网络工程师去搞,我不懂。知道它是啥就行,不用什么都通,面面俱到:知道需要什么,输出什么,标准是什么,流程是什么差不多了,再配合配合嘛。

设备的数字孪生

在设备开发中应用虚拟调试,首先要创建一个设备的数字孪生即虚拟设备,虚拟设备构成主要有三部分,即物理和运动系统模型电气和行为模型自动化模型

其中:

物理和运动系统模型主要是机械组件,比如设备主体、执行机构、输送带、工装夹具等;

电气和行为模型主要是一些活动组件例如驱动器、阀门和外设行为;

自动化模型是 DCS,PLC 程序和上位机软件。

这三种模型都需要数字孪生仿真

虚拟调试系统(这个东西是核心,其他都是辅助)

虚拟调试系统分软件在环(SiL: Software in Loop)和硬件在环 (HiL:Hardware in Loop),根据不同的仿真环境可以选择软件在环或硬件在环。

软件在环是把整体设备完全虚拟化,即由虚拟控制器 CPU、虚拟 HMI、虚拟信号及模型算法、虚拟机械模型组成;

(软件在环就是软件虚拟化,仿真化,不仅仿真软件模型,贴张图说这个就是HMI视图也可以,还要仿真的软件的功能)

硬件在环是把设备主要的硬件放在仿真环境中,使用真实 HMI、真实控制器 CPU、现场 IO 设备与虚拟机械模型组成虚拟设备模型。

(硬件在环是将现实的硬件设备和虚拟硬件设备仿真模型连接起来,共同组成一个硬件仿真环境,无论是软件也好,硬件也好,最终都是仿真实体的模型和机理,就这两件事,看清楚了就不觉得复杂了。)

通过搭建虚拟调试平台,对包含多物理场以及通常存在于机电一体化产品中的自动化相关行为进行 3D 建模和仿真,使机械、电气和自动化设计能够同时工作,并行协同设计一个项目:

a)对工业网络 PROFINET 进行高效规划、布局、仿真和验证。(网络规划)

b)机械工程师可以根据三维形状和运动学创建数字模型。(实体数字模型,前面的基础知识篇中有这些概念,感兴趣的小伙伴可以去看一下)

c)电气工程师可以选择并定位传感器和驱动器等行为模型。(行为模型仿真,别忘了还有上一篇里面提及的动作控制柜,什么原理呢,所有相关的物理性操作的集成封装到一个控制系统中)

d)自动化编程人员可以设计设备的控制逻辑和 HMI 程序,然后与机械模型、电气模型连接,实现基于事件或命令的控制和运动模型。

(视图交互模型,没有这个称不上数字孪生,最多算个仿真分析程序)

PART3

案例特点

虚拟调试不同于在物理世界中调试新网络或设备,而是通过在虚拟世界中创建数字孪生,然后模拟新网络或设备的功能测试和模型验证,这样可以实现:

a)规划-仿真-测试

b)虚拟环境中的程序代码测试和调试

c)设备运行仿真,可以发现设计问题以及对解决方案的快速评估

d)机器人单元操作的仿真

e)仿真新设备的产能,识别空间限制和对现有操作的影响,以便在安装前解决这些问题

f)对设备操作人员的培训

PART4

实施步骤

对PFOFINET工业网络的规划、仿真与测试,通过三步即可达到目的,包括创建/加载项目、调整、分析并输出报告。

对设备的虚拟调试,需要以下几个主要步骤:

1.建立虚拟设备模型

首先要了解设备的真实控制机理,分析每个运动的真实物理场景中

所对应的控制信号,在 NX MCD 建立虚拟设备模型,创建及匹配相应的信号,并使用信号来控制运动模型的动作,仿真实际机械部件的运动情况,

为后续使用 PLC 的虚拟调试做基础。

2.建立虚拟控制系统

在 TIA Portal 中编写 PLC 控制程序和 HMI 画面,编程和 HMI 工作完成后,启动 PLCSIM Advanced 建立虚拟 PLC,与真实 PLC 具有相同的功能,将 PLC 控制程序下载到虚拟 PLC 中;并启动 HMI 人机界面仿真器建立虚拟 HMI 人机界面。

3.建立虚拟模型与虚拟控制系统的映射关系

将 PLC 中的输入、输出变量与 NX MCD 中输入、输出信号建立联系,从而达到 PLC 中的输出信号作为 NX MCD 的输入信号,反之 PLC 中输入信号作为 NX MCD 的输出信号。

4.通过虚拟调试试验验证设计的可用性

启动虚拟 PLC,在线监控 PLC 控制程序的运行情况;在 NX MCD 中运行虚拟设备模型,查看程序控制的运动情况。通过虚拟设备模型的运动和控制逻辑仿真,优化改进自动化模型、电气和行为模型,以及物料和运动模型,而不会造成硬件资源的浪费。

这个流程说明我们昨天扯的还是比较正确的,数字孪生怎么实现:先用传统的方式把流程走出来,然后用数字孪生的技术进行赋能。这也是个人比较建议的一种方式。MES的系统怎么实现,先用数据采集去完成数据完整性效验,在此基础上对着需求和MES的框架或核心功能去构建。说白了,就是在数据的基础上用MES的理论和框架进行赋能。ERP也是一样的道理。什么意思呢?先用传统的方式把整个业务流程理清楚了,把数据准备好了,最后再此基础上用数字化进行赋能。什么是系统:主体就是数据和业务流程,其他都是服务。这20%搞定了也就平衡了80%的系统需求。为什么要搞用户化和通用化,就是这个原因。

PART5

核心技术

软件在环仿真技术

软件在环(SiL: Software in Loop)仿真是采用虚拟控制器模型和虚拟对象模型连接起形成闭环,以运行仿真对象来模拟其运行行为和状态,可以完成一些实际中难于实现的场景测试。

(因为软件本身就是半虚拟的,其实说白了就是在数字孪生的场景中把软件的功能集成进来,就这么个事情。比如网络监测软件,是检测网络通信本身的状态,或者网络电缆的检测软件-探伤功能,这些都可以集成进来)

硬件在环 (HiL: Hardware in Loop) 仿真是将实时处理器和虚拟对象结合起来运行仿真模型来模拟仿真对象的运行行为和状态,通过 I/O、OPCUA 及网络等接口与被测对象相连接。也称为半实物仿真,是将需要仿真的部分系统硬件直接放到仿真回路中的仿真系统,仿真时,实际系统的一部分设备与计算机通过各种信息通道相连,计算机和实际硬件共同完成仿真工作,并将仿真结果在电脑中进行分析,从而判断硬件的运行情况。

(硬件的仿真就是虚实结合,实现实际设备和虚拟模型的敛收速率同步,其实就是状态和运行机理同步。数字孪生搞什么?模型状态和运行机理啊。)

硬件在环仿真不仅弥补了纯数字仿真中的许多缺陷,提高了整个模型的置信度,而且可以大大减轻编程的工作量。这种仿真的另一个优势在于它实现了仿真模型和实际系统间的实时数据交互,使仿真结果的验证过程非常直观,大大缩短了产品开发周期。

PART6

案例成效和意义

工业网络和设备的设计过程很难预测到生产和使用过程会不会出现问题,而虚拟调试带来许多好处之一就是验证工业网络和设备设计的可行性。

虚拟调试允许设计者在物理设备生产之前进行任何修改和优化,因为用户在测试过程中可以修复错误,及时对自动化系统或机械设计进行改进优化,可以节省时间。虚拟调试将每个设计细节都验证好之后,就可以把这台设备做出来,然后只要在物理设备上再做 15%或者 20%这样少量的软件优化,设备就可以正常运行。

通过数字孪生技术的应用,帮助企业在实际投入物理对象(如设备、生产线)之前即能在虚拟环境中进行设计、规划、优化、仿真、测试、维护与预测等,在实际的生产运营过程中同步优化整个生产流程,以明珞装备为例,通过虚拟调试系统在规划、设计和调试阶段与客户交换数据和协调,将项目周期缩短了 20%-30%,减少 50% 以上的工程现场调试时间,最终实现高效的柔性生产,提高企业核心竞争力。通过对 PROFINET 的规划与仿真,实现调试前的透明化,节约成本,变被动为主动。

· E小萌 ·

添加小助手微信

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

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

相关文章

Linux服务:Nginx服务重写功能

目录 一、重写功能 1、重写功能作用 2、rewrite指令 ①if指令 ②return指令 ③ set指令 ④break指令 3、rewrite标志 ①redirect标志 ②permanent标志 ③break标志 ④last标志 ⑤rewrite标志实验 一、重写功能 1、重写功能作用 重写功能(rewrite)用于实现URL的重…

CentOS 8利用Apache安装部署下载服务器

1:部署的目的是做一个类似下面开源镜像网站,把一些软件或者资料上传到服务器上面,减少用户在互联网上下载资料,提高效率,减少病毒。 2:使用下面的命令配置本机的IP地址主机名等信息。后期使用IP地址进行访问…

CRF条件随机场 | 关键原理+面试知识点

😄 CRF之前跟人生导师:李航学习过,这里结合自己的理解,精简一波CRF,总结一下面试中高频出现的要点。个人觉得没网上说的那么复杂,我看网上很大部分都是一长篇先举个例子,然后再说原理。没必要原…

webservice接口开发详解(.Net)

环境:win10 工具:Visual Studio2015 语言:vb.net WebService: 1.打开vs2015,新建visual basic项目,选择ASP.NET Web应用程序,单击确定 2.右键解决方案,添加新建项-Web-Web 服务(ASMX) 3.生成的WebServi…

Qt QMAKE_MSC_VER

文章目录摘要修改conf文件参考链接关键字: Qt、 QMAKE_MSC_VER 、 conf、 version、 关键字5摘要 今天在又有了新的小项目需要CV一下,但是第三方提供的是COM组件的库,所以第一步还是老实使用VS版本的Qt 来开发,以防不测&#xf…

3个月,入门网络安全并找到工作

在我进入大学之前,我一直对计算机感兴趣。虽然只是考了一个一般大学,但是选专业的时候还是选了计算机专业。 本来以为自己会在大学里学到很多有用的知识,并且能够很快找到一份好工作。但是,事实并不是这样。在大学期间&#xff0c…

深入浅出C++ ——哈希

文章目录前言一、unordered系列关联式容器1. unordered_map2. unordered_set二、哈希1. 哈希概念2. 哈希冲突3. 哈希函数4. 哈希冲突解决方法三、模拟实现unordered系列容器1. 哈希表的改造2. 模拟实现 unordered_set3. 模拟实现 unordered_map前言 在C11中,STL又提…

git之创建远程仓库

创建远程仓库 以下操作为演示在Github网站上创建远程仓库 1.登陆注册Github 2.创建仓库入口 3.编辑仓库信息 4.仓库创建完成 5.查看仓库地址 配置SSH 选择SSH操作 如果某台电脑需要与Github上的仓库交互,那么就要把这台电脑的SSH公钥添加到…

TestNG和Junit的区别,测试框架该如何选择?

要想知道两个框架的区别,首先分别介绍一下两个框架。 TestNG是一个java中的开源自动化测试框架,其灵感来自JUnit和NUnit,TestNG还涵盖了JUnit4整个核心的功能,但引入了一些新的功能,使其功能更强大,使用更…

【更新公告】Airtest更新至1.2.9版本

1. 前言 本次更新为Airtest库更新,版本提升至1.2.9,主要新增 对Android13的支持 、新增Windows和iOS的录屏接口 等。 2. 更新功能 1)新增对Android13的支持 Airtest1.2.9版本新增了对Android13设备的支持,有该系统设备连接/自…

第二章 编写MBR主引导记录

主引导记录(MBR,Master Boot Record)是采用MBR分区表的硬盘的第一个扇区,即C/H/S地址的0柱面0磁头1扇区,也叫做MBR扇区 计算机的启动过程 为什么程序要载入内存 CPU的硬件电路被设计成只能运行处于内存中的程序&…

前端开发常用的18个JavaScript框架和库

JavaScript 可以说是最流行的编程语言之一,也是Web 开发人员必须学习的 3 种语言之一,JavaScript 几乎可以做任何事情,更可以在包括物联网在内的多个平台和设备上运行。在WebGL库和SVG/Canvas元素的支持下,JavaScript变得惊人的强…

Spring Cloud Nacos源码讲解(四)- Nacos服务端服务注册源码分析

Nacos服务端服务注册源码分析 服务端调用接口 ​ 我们已经知道客户端在注册服务的时候实际上是调用的NamingService.registerInstance这个方法来完成实例的注册,而且在最后我们也告诉了大家实际上从本质上讲服务注册就是调用的对应接口nacos/v1/ns/instance&#…

网络工程(三)ensp配置静态路由

配置静态路由 这里选择的路由器是AR2220 因为有三个GE接口 下面说拓扑图 一、定义AR路由ip地址和下一条 AR1system-viewsysname AR1interface g0/0/0ip address 10.0.0.254 8interface g0/0/1ip address 50.0.0.1 8下一条代码[AR1]ip route-static 0.0.0.0 0 50.0.0.2AR2 s…

Linux SID 开发指南

Linux SID 开发指南 1 前言 1.1 编写目的 介绍Linux 内核中基于Sunxi 硬件平台的SID 模块驱动的详细设计,为软件编码和维护提供基 础。 1.2 适用范围 内核版本Linux-5.4, Linux-4.9 的平台。 1.3 相关人员 SID 驱动、Efuse 驱动、Sysinfo 驱动的维护、应用开…

Java 方法超详细整理,适合新手入门

目录 一、什么是方法呢? 二、方法的优点 三、带返回值方法定义 语法: 示例: 四、带返回值方法调用 语法: 示例: 五、结果示例 一、什么是方法呢? Java方法是语句的集合,它们在一起执行…

Android 9.0 仿ios的hotseat效果修改hotseat样式

1.概述 在9.0的系统rom定制化的产品中,在launcher3的定制化需求中,有很多功能需求点需要开发,在对一下ui的定制化的过程中,会参考ios的样式进行定制化,所以最近项目需求 要求仿ios的hotseat的样式来进行产品的定制,开发一款仿ios的hotseat,所以需要对hotseat进行分析,然…

C语言进阶(八)—— 链表

1. 链表基本概念1.1 什么是链表链表是一种常用的数据结构,它通过指针将一些列数据结点,连接成一个数据链。相对于数组,链表具有更好的动态性(非顺序存储)。数据域用来存储数据,指针域用于建立与下一个结点的…

【CKA】

— k8s basic — 安装版本信息查询 命令行自动补全功能设置 01. Namespaces and Pods 02. Assigning Pods to Nodes 03. Basic Deployments 04. Advanced Deployment 05. Jobs, Init Containers and Cron Jobs 06. Manage DaemonSets 07. Manage Services 08. Manage Ingress …

【技术】雷达液位计设备安装方案

一、设备概述 雷达液位计为我司自主研发,采用FMCW技术,以24G毫米雷达波作为载波信号,该产品测量精度高、功耗低、体积小、重量轻;测量过程不受温度、气压、泥沙、灰尘、河流污染物、水面漂浮物、空气等环境因素的影响&#xff0c…