倍福TwinCAT3.0软件与C++通讯问题(EAP通讯)

文章目录

  • 一. TwinCAT控制器之间的几种通讯方式
  • 1.添加EAP设备
  • 2.添加变量刷新的Task周期
  • 3. 测试

一. TwinCAT控制器之间的几种通讯方式

协议硬件要求实时性说明
ADS通讯普通网卡,支持无线典型值:< 100msServer/Client,要写 PLC 程序,不用配置 IO
EAP通讯支持 Y-Driver 的有线网卡 ,最好独占或EL660x交换机模块典型值:< 10msPublisher/Subscriber,不用写 PLC 程序,要配置 IO
EtherCAT主从通讯从站控制器应有 Slave接口,e.g CX8090、-B110、FC11xx 等最小值:< 1msMaster/Slave,不用写 PLC 程序,要配置 IO

目前上位机-控制器的控制模式很普遍,属于上位机与控制器的通讯而非传统的控制器之间的通讯,在实时性要求不高的场合,可以仅通过远程ADS,以变量名读取的方式进行变量之间的传递,一般可以达到100ms以内;
而实时性要求高的场合,由于不是控制器之间的通讯,因此无法直接通过EAP进行通讯,但是可以转变思路,通过在上位机上建立一个本地中间Twincat程序,上位机C++程序通过本地ADS与本地中间Twincat程序进行信息传递,而在控制器上运行的Twincat程序与本地中间Twincat程序进行EAP通讯,从而将原本是远程ADS通讯变为了本地ADS通讯和EAP通讯的组合,这种方式一般可以达到10ms以内的实时性。

1.添加EAP设备

  1. 新建工程,在I/O中的DEVICE中添加EAP,如下图:

    在这里插入图片描述

  2. 选择Network Variables类型

    在这里插入图片描述

  3. 有时需要设置网络适配器来激活EAP,在Adapter中选择search,选择网络适配器后确定,之后激活配置方可进行下一步。

    在这里插入图片描述

2.添加变量刷新的Task周期

  1. 在Task上右键添加 task with image类型。

    在这里插入图片描述
    在这里插入图片描述

    EAP通讯是通过设置task周期性刷新通讯的变量,因此也可以自行设置task周期循环时间以及task优先级,在此不具体叙述。

  2. 在task子目录Inputs和Outputs分别新建需要通讯的变量名称和类型,在此我们设置类型为BOOL的变量outputTest和inputTest。

    在这里插入图片描述
    在这里插入图片描述

  3. 添加收发器(subscriber和publisher)

    在这里插入图片描述

  4. 同理在subscriber和publisher中添加变量,设置变量名和类型

    在这里插入图片描述

  5. 添加完我们可以看到,收发器下拉列表出现了VarData,我们将分别其链接到task中已经设置好的变量outputTest和inputTest中,然后重新激活配置。

    在这里插入图片描述

3. 测试

对于本项目(上位机-控制器),其中Inputs对应控制器程序通过EAP传递来的变量,即subscriber;Outputs对应控制器程序通过上位机ADS通讯传递来的变量,即publisher。因此对于Outputs,我们只需要在task变量中写入值便可以模拟ADS通讯传递过来变量的工况(上位机ADS通讯的方式与此前文章方法同理,都是以变量名读取的方式,例如“Tasks.Outputs.outputTest”);对于Inputs,需要在IO的subscriber中写入来模拟控制器EAP传递过来的变量

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

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

相关文章

ROS | 新建工作空间及功能包

文章目录 概述一、操作教程1.创建工作空间2.创建功能包3.新建程序文件4.编写CMakeLists5.编译功能包6.运行节点概述 本节详细介绍了如何新建一个工作空间、功能包以及在功能包中如何创建程序文件并编译。 一、操作教程 1.创建工作空间 mkdir -p 自定义空间名称/src cd 自定义…

onlyoffice的介绍搭建、集成过程。Windows、Linux

文章目录 什么是onlyoffice功能系统要求安装必备组件 windows搭建资源下载安装数据库onlyoffice安装测试 Linux搭建dockerdocker-compose 项目中用到的技术&#xff0c;做个笔记哈~ 什么是onlyoffice 在本地服务器上安装ONLYOFFICE Docs Community Edition Community Edition…

网络安全—小白学习笔记

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟入…

AC修炼计划(AtCoder Regular Contest 165)

传送门&#xff1a;AtCoder Regular Contest 165 - AtCoder 本次习题参考了樱雪猫大佬的题解&#xff0c;大佬的题解传送门如下&#xff1a;Atcoder Regular Contest 165 - 樱雪喵 - 博客园 (cnblogs.com) A - Sum equals LCM 第一题不算特别难 B - Sliding Window Sort 2 对…

众和策略:小盘和大盘的关系?

在股票商场上&#xff0c;股票能够被分为小盘股和大盘股两类。那么&#xff0c;二者之间有什么联络呢&#xff1f;这篇文章将从多个视点来分析小盘和大盘的联络。 商场表现 首要&#xff0c;让我们看看两者在商场表现上的差异。大盘股是市值较大的股票&#xff0c;一般在首要股…

沉睡的木乃伊:var_export() 与可解析字符串

文章目录 参考环境var_export()概念应用场景数据持久化调试 函数 var_export() 自定义类__set_state() 魔术方法设置 __set_state 魔术方法的逻辑以复原对象注意事项 通用内置空类 stdClassstdClass对 __set_state() 的天然支持 参考 项目描述搜索引擎Bing、GoogleAI 大模型文…

Python 的基本数据类型

三、Python 的基本数据类型 1、字符串 字符串英文 string ,是 python 中随处可见的数据类型,字符串的识别也非常的简单,就是用「引号」括起来的。 引号包括单引号 ,双引号 " " 和 三引号 ,比如 abc ,"123" 等等。 这里请注意,单引号 或双引…

Python- JSON-RPC创建一个远程过程调用

我们使用JSON-RPC创建一个远程过程调用的例子&#xff0c;我们将使用jsonrpcserver库和Flask框架创建一个后端服务&#xff0c;并使用jsonrpcclient作为客户端。这个例子将包括&#xff1a; 一个计算服务&#xff0c;提供加、减、乘、除四个方法。错误处理&#xff1a;除数为零…

Vue2+SpringBoot实现数据导出到csv文件并下载

前言 该功能用于导出数据到csv文件&#xff0c;并且前端进行下载操作。涉及到java后端以及前端。后端获取数据并处理&#xff0c;前端获取返回流并进行下载操作。csv与excel文件不大相同。如果对导出的数据操作没有很高要求的话&#xff0c;csv文件就够了。具体差异自行百度。我…

Python机器学习零基础理解AffinityPropagation聚类

如何解决社交媒体上的好友推荐问题? 想象一下,一个社交媒体平台希望提供更加精准的好友推荐功能,让用户能更容易地找到可能成为好友的人。这个问题看似简单,但当面对数百万甚至数千万的用户时,手动进行好友推荐就变得几乎不可能。 解决这个问题的一个方案就是使用机器学…

百度Apollo自动驾驶

百度从2013年开始布局自动驾驶领域&#xff0c;十年来一直坚持压强式的、马拉松式的研发投入&#xff0c;以技术创新驱动长期发展。百度Apollo L4级自动驾驶运营测试里程累计已超5000万公里&#xff0c;拥有自动驾驶专利族超4600件&#xff0c;其中高级别自动驾驶专利族数全球第…

BootStrap-前端框架

资料:https://v3.bootcss.com/components/ BootStrap的概念&#xff08;Web框架&#xff09; Bootstrap&#xff0c;来自 Twitter&#xff0c;是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的&#xff0c;它简洁灵活&#xff0c;使得 Web 开发更加快捷。…

TLS/SSL 详解

目录 基础理论入门HTTPS对称加密非对称加密证书TLS握手过程握手总结 TLS 定义(记录层/握手层)HTTPS HTTP over TLS加密记录层分片 (Fragmentation)记录压缩和解压缩 (Record compression and decompression)空或标准流加密 (Null or standard stream cipher)CBC 块加密 (分组加…

C语言编译过程

最近在看C语言的基础知识&#xff0c;之前只关注编译最后生成的二进制文件&#xff0c;不知道编译过程&#xff0c;学习到了整理一下。 一、C语言编译过程 过程如下&#xff1a; 预编译---->编译---->汇编---->链接器输出---->二进制文件。 编译器将编译分为预…

出差学知识No3:ubuntu查询文件大小|文件包大小|磁盘占用情况等

1、查询单个文件占用内存大小2、显示一个目录下所有文件和文件包的大小3、显示ubuntu所有磁盘的占用情况4、查看ubuntu单个包的占用情况 1、查询单个文件占用内存大小 使用指令&#xff1a;ls -lh 文件 2、显示一个目录下所有文件和文件包的大小 指令&#xff1a;du -sh* 3…

【全栈开发指南】打包sentinel-dashboard镜像推送到Docker Hub镜像仓库

Docker Hub是Docker官方提供的一个公共的镜像仓库&#xff0c;它是一个中央的存储库&#xff0c;用户可以在其中存储和分享Docker镜像。通过Docker Hub&#xff0c;用户可以方便地搜索、下载和共享Docker镜像&#xff0c;并可以将它们用于构建和部署容器化应用程序。Docker Hub…

java 获取 request

第一种&#xff0c;通过springmvc,参数注入 PostMapping(value "/xxx") public Result xxx(HttpServletRequest request) {}第二种&#xff0c;通过RequestContextHolder获取 这种方式在项目任何地方都可以拿到&#xff0c;只要Request已经注入 private static Htt…

【特纳斯电子】基于单片机的火灾监测报警系统-实物设计

视频及资料链接&#xff1a;基于单片机的火灾监测报警系统-实物设计 - 电子校园网 (mcude.com) 编号&#xff1a; T0152203M-SW 设计简介&#xff1a; 本设计是基于单片机的火灾监测报警系统&#xff0c;主要实现以下功能&#xff1a; 1.通过OLED显示温度、烟雾、是否有火…

Linux:Termius连接本地虚拟机与虚拟机快照

Termius连接本地虚拟机与虚拟机快照 1. Termius连接本地虚拟机2. 虚拟机快照与还原2.1 设置快照以及恢复 附录 1. Termius连接本地虚拟机 ifconfig -a 查看配置 连接成功 2. 虚拟机快照与还原 在学习阶段我们无法避免的可能损坏Linux操作系统。 如果损坏的话&#xff0c;重新…

【WIFI】【WPS】基础介绍(主要根据sniffer log角度和kernel log去介绍)

Wps简介 WPS(Wi-Fi Protected Setup,WiFi保护设置),它是由WiFi联盟组织实施的可选认证项目,它主要致力于简化无线网络设置及无线网络加密等工作。 一般情况下,用户在新建一个无线网络时,为了保证无线网络的安全,都会对无线网络名称(SSID)和无线加密方式进行…