ERTEC200P-2 PROFINET设备完全开发手册(7-1)

news2024/11/24 9:52:04

7. 配置模块及自定义模块

7.1.1 PN设备的基本模型

初次接触PN的开发者,最容易出现的错误就是设备的实际配置与TIA的组态不一致。为了开发的过程更加顺利,非常有必要掌握PN设备的基础模型。PN设备的基本模型如下图描述:

 PN设备的基本构成是插槽slot,所有的设备均是由一个或多个插槽组成,每个插槽均由若干子插槽sub-slot组成。其中插槽0固定作为总线接口,也叫做设备访问点(DAP-device access point)。插槽1及之后的插槽(2 …) 作为输入输出,提供周期数据访问或非周期数据访问以及报警、诊断功能。在GSDML文件中,描述了每个槽上可用的模块,以及每个模块包含的可用子模块。在组态软件(TIA博图)中根据实际的设备配置,将模块、子模块分配到槽和子槽。

注意,这里的组态的配置必须与设备实际的配置相同。如果组态的配置与设备实际的配置的不相同,如下图所示,PLC不会建立与设备的控制关系(IOC-AR) 

 同时,PLC会为每个模块、子模块的IO数据在过程映像区内分配对应的地址。输入数据对应I过程映像区, 输出数据对应Q映像区。基于PN通讯,PLC通过指定的OB块(例如:OB0、OB30或OB61),将从PN设备接收的输入数据更新到I区,以及将Q区的数据发送至PN设备建立输出。PLC应用程序在OB块内通过地址访问过程映像区,处理输入设置输出。

7.1.2 协议栈中的模块配置

用户程序可以通过PNIO_sub_plug()在设备中添加一个模块,也通过PNIO_sub_plug_list设备中添加多个模块。以APP1参考代码为例,协议栈按照如下方式初始化设备的实际配置:

然后再初始化过程中,通过调用PNIO_sub_plug_list完成IO设备的实际配置:

 

这样就完成如下图的设备配置:

 

 

其中Slot1、Sub-slot1为64bytes 的输入模块,模块MOD-ID=0x30、子模块SUBMOD-ID=0x01; Slot2、Sub-slot1为64bytes 的输出模块,模块MOD-ID=0x31、子模块SUBMOD-ID=0x01

参考第2章,如果PLC需要与设备建立控制关系,在组态过程中就需要按照下图所示与实际设备的配置一致。

按照第2章的内容建立环境,以及对PLC进行组态。将协议栈的初始化配置列表改为如下形式:

即从配置中移除64bytes 的输出模块,如下图所示: 

 

如果PLC的组态保留原有配置,在串口的打印信息中可以看到:

 由于组态配置与实际插入模块不符,可以通过打印信息看到isWrong=1。同时,PLC的故障灯亮起,从PLC的诊断信息可以看出,Slot2 Subslot1 的子模块出现错误信息:

 

200P协议栈支持动态添加模块,通过API PNIO_sub_plug 可动态的添加模块、子模块到对应的插槽和子插槽上。在App1中可以通过输入‘S’调用PNIO_sub_plug添加模块“64bytes output” 到slot2 subslot1。终端的显示信息如下:

 由于添加模块后,设备的配置与TIA中的组态一致,可以看到PLC恢复正常工作:

 

 在某些情况下我们需要设备自动的适配TIA的组态,例如slot2 subslot1初始化为“64bytes output

 但是我们在TIA的组态中配置为“1byte out”

可以通过自动适配模块的方式将设备的配置自动替换为与PLC的组态一致的模块。具体方法如下:

PLC的发送连接请求到设备时,会触发PNIO_cbf_ar_ownership_ind回调函数,在回调函数中如果发现PLC组态与模块不一致,首先调用PNIO_sub_pull移除原有的模块(64bytes output),然后调用PNIO_sub_plug添加新的模块(1byte out)。代码片段如下

 编译后运行,可以看到设备已经自动适配到PLC的组态。

 

 

 

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

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

相关文章

No.039<软考>《(高项)备考大全》【第23章】综合测试管理

【第23章】综合测试管理1 章节相关1.1 考试相关1.2 案例相关2 测试监控3 测试风险管理4 测试人员绩效考核4.1 测试分类测试类型分类执行方式分类开发阶段分类5 开发测试分类参考答案1 章节相关 1.1 考试相关 必考1分选择,案例概率低。 1.2 案例相关 2020年下半年…

关于IOS系统时间格式显示NAN问题以及小程序项目运行报错app.json找不到

目录 问题一:关于IOS系统时间格式显示NAN 一、比较常见的情况,时间格式为"yyyy-MM-dd HH:mm:ss"格式在 iOS 会出现 NAN 二、关于时间临界值:对于00:00:00和24:00:00这两个时间临界值, ios会转成NAN 三、时间格式为2022/09&#…

Java语法理论和面经杂疑篇《六.泛型(Generic)》

1. 泛型概述 1.2 泛型的引入 在Java中,我们在声明方法时,当在完成方法功能时如果有未知的数据需要参与,这些未知的数据需要在调用方法时才能确定,那么我们把这样的数据通过形参表示。在方法体中,用这个形参名来代表那…

Medical X-rays Dataset汇总(长期更新)

目录​​​​​​​ ChestX-ray8 ChestX-ray14 VinDr-CXR VinDr-PCXR ChestX-ray8 ChestX-ray8 is a medical imaging dataset which comprises 108,948 frontal-view X-ray images of 32,717 (collected from the year of 1992 to 2015) unique patients with the text-mi…

Nginx(下载安装、常用命令、反向代理、负载均衡)

官网:https://nginx.org/Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。下载和安装下载在Nginx的官网的下载页面中(http://nginx.org/en/download.html)&#xff…

01、Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS)

01、Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS) 硕士学电磁场去了,写点博客记录下学习过程。 参考的教程是B站的视频:allegro软件入门视频教程全集100讲 本科的时候就对Cadence有所耳闻&am…

网络安全漏洞分析与漏洞复现

前言 4 月 6 日和 5 月 18 日,VMware 官方发布的两则安全公告中显示,关乎旗下产品的 CVE 漏洞多达 10 个,其中不乏有 CVSSv3 评分 9.8 的高危漏洞!如此高频的出洞速率,吸引了笔者注意。笔者将对 CVE-2022-22954 VMwar…

用CTGAN生成真实世界的表格数据

随着CLIP和稳定模型的快速发展,图像生成领域中GAN已经不常见了,但是在表格数据中GAN还是可以看到它的身影。 现实世界的复杂性与许多方面相关(例如,缺失数据、不平衡数据、噪声数据),但最常见的一个问题是包含异构(或“混合”)数…

软考电子商务设计师如何备考?

关于软考电子商务设计师考什么?如何备考? 一、电子商务设计师概述? 电子商务设计师属于软考中级资格考试,软考是由国家人力资源和社会保障部(原人事部)、工业和信息化部(原信息产业部)领导的…

使用Softing edgePlug软件扩展数控机床的连接性

那些使用SINUMERIK 840D控制器来运行数控机床的制造商正面临着一个挑战——从车间提取机床性能和过程数据来进行分析。这些数据对于优化流程至关重要,但它们却无法通过传统方式来被获取。对此,制造商的应对方法是通过自定义代码来实现数据访问&#xff0…

Redis与MySQL的双写一致性问题

Redis与MySQL的双写一致性问题更新缓存? 删除缓存?先更新缓存再更新数据库先更新数据库,再更新缓存先删除缓存再更新数据库先更新数据库,再删除缓存解决方案1. 重试2. 异步重试2.1 使用消息队列实现重试2.2 Binlog实现异步重试删除…

10万字智慧政务大数据治理平台解决方案(word)

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 1 项目整体建设规划方案 按照《省人民政府关于推进数字政府建设的指导意见》(鄂政发(2019) 4号)的规则要求,结合XX市“互联网政府服务”建设现状&…

【Android笔记93】Android小案例(三)之模仿小米商城(首页商品展示界面)

这篇文章,主要介绍Android小案例(三)之模仿小米商城(首页商品展示界面)。 一、模仿小米商城(首页布局) 1.1、首页运行效果 这篇文章实现的首页布局界面如下所示: 1.2、实现思路 首页轮播图,这里采用一个Banner组件实现,不知道的可以看下我之前写的一篇文章【【And…

DUET详解草稿

详解VLN动机:流程拓扑图Text EncoderCoarse-scale Cross-modal EncoderNode embeddingGraph-aware cross-modal encodingGlobal action predictionFine-scale Cross-modal EncoderVisual EmbeddingFine-grained cross-modal reasoningLocal action prediction and o…

heic格式怎么改成jpg?

你想知道heic格式怎么改成jpg吗?当我们面对heic格式图片时,很有可能就会遇到无法打开图片的情况。因为heic与JPG相比,heic格式占用空间更少,图像质量更无损。HEIC格式照片支持iOS11和macOS High Sierra(10.13)及更高版本。但是这种…

【数据结构】链表 详解

我们不废话,直入正题。引入什么是链表?来看看百度怎么说:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点&#…

STM32+ESP8266点灯(STA 模式)点灯(2)

1、简介 STM32ESP8266点灯(APSTA 模式)点灯(1)一文已经通过串口助手实现与网络调试助手透传,本文通过STM32单片机替代网络调试助手,实现远程点灯。 2、单片机配置 2.1 cubemax配置 2.1.1 RCC配置 2.1.2…

华为手表开发:WATCH 3 Pro(13)websocket 请求数据到服务器

华为手表开发:WATCH 3 Pro(13)websocket 请求数据到服务器初环境与设备文件夹:文件重点核心代码:app.js新增一个文本输入框index.hmlindex.cssindex.js初 希望能写一些简单的教程和案例分享给需要的人 鸿蒙可穿戴开发…

Detectron2小白教程之安装试用篇

这里写自定义目录标题官方安装说明1、安装python2、安装opencv3、安装nvdia显卡驱动4、安装cuda11.75、安装pytorch6、安装nijia7、clone并安装detectron8、试运行detectronDetectron2是facebook主导的支持图像分类(Image classification),目标检测(Object detectio…

【Java EE】-文件IO

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【JavaEE】 分享: 主要内容:文件的认识,绝对路径相对路径,二进制文件文本文件,File的方法的使用,普通文件的…