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

news2025/1/24 17:41:58

周期数据分为两大类,输出数据OutputData和输入数据InputData,输出数据是PLC发送给设备的;输入数据是设备发送给PLC。如果采用标准接口(SI),读取输出数据和写入输入数据都是一次初始化数据读写调用和一次/多次回调构成。

为了读取输出数据,用户程序要调用初始化数据读操作PNIO_initiate_data_read 在调用之后,协议栈会获取通讯缓冲区数据,并按照子槽依次回调数据读PNIO_cbf_data_read。用户程序在回调函数中处理子槽对应的过程数据pBuffer(例如保存过程数据到缓冲区),并且完成IOPS、IOCS的操作。回调的次数取决于输出子槽的个数。

为了写入输入数据,用户程序要调用初始化数据写操作PNIO_initiate_data_write 在调用之后,协议栈会获取通讯缓冲区数据,并按照子槽依次回调数据写PNIO_cbf_data_write。用户程序在回调函数中处理子槽对应的过程数据缓冲区pBuffer(例如将缓冲区数据更新到过程数据),并且完成IOPS、IOCS的操作。回调的次数取决于输出子槽的个数。

协议栈在启动以后,会启动任务Task_CycleIO,周期触发数据读写操作。

 

当PLC与200P建立通讯后,在每次周期通讯结束后,协议栈都会触发回调函数PNIO_cbf_trigger_io_exchangePNIO_cbf_trigger_io_exchange每次触发后会发送一个信号量TransEndSemId给周期任务Task_CycleIOTask_CycleIO 在接受到信号量后会执行PnUsr_cbf_IoDatXch这个回调函数。

Task_CycleIO基本工作原理如下图所示:

 

在协议栈中PnUsr_cbf_IoDatXch分别调用初始化读写PNIO_initiate_data_readPNIO_initiate_data_write。因此会触发回调函数PNIO_cbf_data_readPNIO_cbf_data_write。

在回调函数PNIO_cbf_data_read中,过程数据被拷贝至OutData

在回调函数PNIO_cbf_data_write中,InData被更新至过程数据

 

这样,用户程序只需要根据槽和子槽的编号读取OutData,即可获得PLC输出的数据Q;写入InData,即可将输入数据I更新至PLC。 在默认的例程中,64字节输入模块在 slot_num=1,subslotnum=1,对应InData[1][1][0..63]。64字节输出在 slot_num=2,subslotnum=1,对应OutData[2][1][0..63]。 

 

总结一下:因此周期数据读写操作是通过PNIO_initiate_data_read/PNIO_initiate_data_write发起,在PNIO_cbf_data_read和PNIO_cbf_data_write进行数据的读取、写入。

读数据的过程如下图所示:

写数据的过程如下图所示:

对于输出数据,需要判断IOPS,只有当IOPS = GOOD时,才可以将收到的输出数据生效到实际的物理外设上。如果IOPS != GOOD ,表示PLC下发的输出数据无效,这时可以采取的策略时是:1)保持;2)全1;3)全0。如何选择可以由厂商自定义。

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

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

相关文章

【ChatGPT】多国“围堵”,万人抵制,AI发展的红线到底在哪?

个人主页:【😊个人主页】 文章目录前言Chatgpt💻💻💻多国拟发ChatGPT禁令🈲🈲🈲开端发展高潮联名抵制自我辩解🎛️🎛️🎛️名家争言比尔盖茨&…

TiDB进阶篇-TiKV架构

简介 简要的介绍下TiKV的架构。 底层存储RocksDB RocksDB的写操作 在写入WAL的时候为了防止操作系统写入的时候有缓存,要设置操作系统的参数sync_logtrue,也就是说只要有数据就执行刷写到磁盘,就不会存储到操作系统的缓存了。MemTable的数据…

【Python】无限逼近求积分

✨博文作者 wangzirui32 💖 喜欢的可以 点赞 收藏 关注哦~~ 👉本文首发于CSDN,未经许可禁止转载 Hello,大家好,我是wangzirui32,今天我们来学习如何用Python无限逼近求积分,开始学习吧&#xff…

krita源码提供了Tarball 和KDE Repository两套源码的区别

krita系列文章目录 文章目录krita系列文章目录前言一、Tarball 和KDE Repository区别是什么?二、使用步骤前言 krita官方主页 krita官方下载界面 krita源码提供了Tarball 和KDE Repository两套源码,我一下就懵圈了,不知道两者的区别 一…

第二章 自然语言处理与单词的分布式表示

目录2.1 自然语言处理(Natural Language Processing,NLP)2.2 同义词词典2.2.1 WordNet2.2.2 同义词词典的问题2.3 基于计数的方法2.3.1 基于 Python的语料库的预处理2.3.2 单词的分布式表示2.3.3 分布式假设2.3.4 共现矩阵2.3.5 向量间的相似…

有哪些中西合璧的建筑设计?

所谓中西合璧,中即中华文化,体系繁多,源远流长,浩如烟海,是世界三大文化体系之一,在历史上曾是东亚文化的中心,一度影响欧洲;西即西方文化,西方物质文明和精神文明&#…

【JSP学习笔记】1.JSP 教程、简介及开发环境搭建

前言 本章介绍JSP的教程、简介及开发环境搭建。 JSP 教程 JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。 JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户…

2022国赛30:windows脚本题解析

大赛试题内容: ( 九) ) 脚本 【任务描述】 为了减少重复性任务的工作量,节省人力和时间,请采用脚本,实现快速批量的操作。 1.在 windows4 上编写 C:\CreateFile.ps1 的 powershell 脚本,创建20 个文件 C:\test\File00.txt 至 C:\test\File19.txt,如果文件存在,则首先删除…

Servlet初始化参数设置\获取,全局初始化参数的设置、获取

之前在学习SpringMVC、SpringSecurity时,会用到Filter,需要对Filter进行参数配置,而Filter本质上也是一个Servlet,然后对Servlet设置初始化参数已经忘记了,所以打算重新回顾并整理Servlet这一部分的内容(虽…

[Netty源码] 编码和解码相关问题 (十二)

文章目录1.编码和解码的介绍2.相关继承3.解码器分析3.1 ByteToMessageDecoder基类3.2 FixedLengthFrameDecoder3.3 LineBasedFrameDecoder3.4 DelimiterBasedFrameDecoder3.5 LengthFieldBasedFrameDecoder4.编码器分析4.1 解码过程分析4.2 writeAndFlush方法分析4.3 MessageTo…

2007-2020年国际产权指数InternationalPropertyRightsIndex(IPRI)IPRI

2007-2020年国际产权指数InternationalPropertyRightsIndex(IPRI)IPRI 1、来源:国际产权联合会 International Poverty Right Alliance 2、时间:2007-2020 3、范围:全球 4、指标说明: country、region、score、annual change…

提高软件测试效率的6大注意事项

1、测试策略非常重要 测试策略的基础是风险评估,我们需要通过失效概率和失效影响两个维度,对风险进行高、中、低的区分和可能性的判断。如CoCode开发云能够根据风险影响等级,自动计算出风险系数,并对风险进行优先级划分。而系数超…

项目管理:我们每个人都是管理者

项目管理的技能在生活中时时能用到、处处可锻炼。只要有心,项目成员一样可以学习和实践项目管理知识,也可以说,我们每个人都是管理者。 1、管理是职能而不是职位 有的人认为项目管理只是管理者应该学的,其实不是这样的&#xf…

卷积神经网络底层原理

1.卷积神经网络底层原理 声明:以下为《大话计算机》作者冬瓜哥课程视频截图,仅供学习 1.1卷积 一张图经过一种卷积核(核函数)滑动窗口进行卷积运算后得到一张特征图,这只是这种卷积核视角下看到的特征。所以我们需要多…

一起学 WebGL:图形变形以及矩阵变换

之前绘制了三角形,我们现在给它做一个变形操作。 对一个三角形进行变形,其实就是重新这个三角形的三个顶点的位置,计算完后再绘制出来,相比原来就发生了变形。 变形常见的有位移、选择、缩放。位移,其实就是给每个顶…

中国版ChatGPT即将来袭-国内版ChatGPT入口

必应chatGPT入口 目前并不存在“必应ChatGPT”这个概念。必应(Bing)是Microsoft公司推出的一款搜索引擎,而ChatGPT是OpenAI开发的自然语言处理技术,它们是两个不同的产品品牌。 不过,Microsoft也在自然语言处理领域里…

Microsoft 365管理和报告工具

在管理 Microsoft 365 设置的过程中,本机Microsoft 365 功能可能无法满足你的需求。M365 Manager Plus 具有复杂的功能,使 Microsoft 365 管理毫不费力。它提供基于功能的管理,因此你可以单独管理 Microsoft 365 组件。 使用 M365 Manager P…

进程的概念以及PCB的概念

在linux上进程是非常重要的知识点,今天我自我发表浅见。 可执行程序与进程 当在linux上编译完毕一个源文件生成可执行程序,这个时候这可执行程序只能称为普通文件,还不能定义为进程,在加载在内存中后才可称为进程,那…

次优二叉查找树(次优查找树)_递归和非递归实现_20230414

次优二叉查找树(次优查找树)-递归和非递归实现 前言 当有序表中的各记录的查找概率相等的时候,采用折半查找效率可以提升查找性能;如果有序表中的各记录的查找概率不相等,那么折半查找就不再适用。 如果只考虑查找成功的情况&a…

Robocup 仿真2D 学习笔记(四)阵型编辑

一、阵型文件介绍 阵型文件里设置的是球员在比赛中的跑位点 基于helios base的阵型文件,在目录/src/formations-dt中 阵型的调用在/src/strategy.cpp 文件: before-kick-off.conf 是球员上场之后的阵型 (或进球等待开球) no…