PLC-Recorder的高速采集有多快?0.5ms算快吗?看控制器能力了!
大家知道,PLC-Recorder有一个高速采集的功能,基于TCP连接或UDP报文,速度取决于发送端的能力。对于西门子PLC,能做到1-2ms的采集速度,但是,我在前面的文章里提到了0.5ms的高速采集,哪个控制器能这么牛叉呢?就是帕姆齐传动设备公司的SOLO系列的多功能微控制器(专门配合西门子传动进行快速控制,带有多种网络接口,巴掌大小,图1所示)。

图1 智能控制器外观
这个控制器用CODESYS进行应用开发,能够方便地进行控制功能的开发和调整。传动控制我不懂,感兴趣的是它通讯能力:速度快,并且周期均匀,能用于咱们软件的高速采集测试(咱们的高速采集,开始就是为该控制器开发的)。
前一段时间,他们那边反映:他们电文发出来了,但是,我们接收有缺失。结合电文捕捉和PLC-Recorder的电文处理机制,分析出原因所在:
计算机系统里的网络不稳定,部分报文集中到达(windows系统里的接收不均匀,红框里看到接收时间间隔为0,当然也可能是其他原因导致的。见图2),多个报文同时送到PLC-Recorder时,软件来不及处理,进行了抛弃,以免影响后续电文处理,曲线上表现为数据点的缺失。

图2 电文集中到达情况
图3 部分点被抛弃
目前,PLC-Recoder已经针对带有时间戳的高速采集进行了优化(很快就会发布),将电文进行缓存,依据电文的时间戳和前面的对时,反算出接收时间,减少电文抛弃的几率。朋友那边测试结果:在报文到达不均匀的情况下,采集非常均匀、稳定。
图4 修正后的效果
在非稳定系统下的高速采集要解决接收、解析、存盘等各环节的抖动,是一门实践性强的活,需要不断优化。另外,这么神奇的控制器,我也讨要了一个,找时间要好好学习一下,也可以促使咱们的采集软件越来越强大。
相关文章:
PLC-Recorder的高速采集有多快?0.5ms算快吗?看控制器能力了!
大家知道,PLC-Recorder有一个高速采集的功能,基于TCP连接或UDP报文,速度取决于发送端的能力。对于西门子PLC,能做到1-2ms的采集速度,但是,我在前面的文章里提到了0.5ms的高速采集,哪个控制器能这…...
KMP算法总结
KMP算法总结 BF算法引导BF算法步骤(图片演示)代码演示 KMP算法推next数组代码演示 BF算法引导 BF算法是一个暴力的字符串匹配算法,时间复杂度是o(m*n) 假设主串和子串分别为 我们想要找到子串在主串的位置 BF算法核…...
消息中间件ActiveMQ介绍
一、消息中间件的介绍 介绍 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于 数据通信 来进行分布式系统的集成。 特点(作用) 应用解耦 异步通信 流量削峰 (海量)日志处理 消息通讯 …... 应用场景 根据消息队列的特点&a…...
【100天精通python】Day9:数据结构_字典、集合
目录 目录 1 字典 1.1 字典的基本操作示例 1.2 字典推导式 2 集合 2.1 集合的常用操作示例 3 列表、元组、字典、集合的区别 1 字典 在Python中,字典(Dictionary)是一种无序的数据结构,用于存储键值对的集合。每个…...
上海VR全景展示,快速了解VR全景拍摄
导语: 随着科技的不断进步,虚拟现实技术的应用日益广泛。在这其中,VR全景图片作为一种数字化助力的全景拍摄方式,正逐渐成为人们关注的焦点。通过数字化技术,VR全景图片能够以360度全方位的视角呈现真实的场景&#x…...
VScode远程不用再输入密码操作
安装插件remote development 1.先检查自己电脑上有没有生成一对公钥和私钥。(一般会在这个目录) 如果没有的话就自己生成一下。 打开命令行输入以下命令 ssh-keygen -t rsa2.在虚拟机中先看一下有没有公钥和私钥。如果没有的话就自己生成一下。 打开…...
MyBatis基本用法-@TableId
TableId 注解是 MyBatis Plus 框架中用于标识实体类中的主键字段的注解,它有一些可选的配置项。下面是详细说明: 首先,需要在项目中添加 MyBatis Plus 的依赖。可以在项目的 pom.xml 文件中添加以下代码: <dependency><…...
React AntDesign写一个导出数据的提示语 上面有跳转的路径,或者点击知道了,关闭该弹层
效果如下: 代码如下: ForwardDataCenterModal(_blank);export const ForwardDataCenterModal (target?: string) > {let contentBefore React.createElement(span, null, 数据正在处理中,请稍后前往);let contentAfter React.creat…...
小红书课程发光社群知识库,点亮哥专为超级个体设计解决方案
小红书课程点亮哥知识库 开创了学习小红书教育培训先河 针对超级个体轻创业的学习需求场景 创新推出了“知识库全新学习方式”。 一个人如何做好小红书? 超级个体轻创业,如何做好小红书? 通过打造个人IP、或者塑造老板个人品牌,来实现互联网变现,如何做好小红书? 就像挑…...
基于SpringBoot+Vue的摄影跟拍预定管理系统设计与实现(源码+lw+部署文档等)
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...
HCIA 第二课总结
配置网络设备的明文密钥实验组网 实验拓扑 将一个路由器使用配置口进行连接 sys #进入系统视图模式 sysname RTA #给设备命名 user-interface console 0 #进入用户接口配置界面 authentication-mode password #配置认证模式为密钥认证 set authentication password ciphe…...
linux-------联网下载文件和配置
1.Wget Wget是一个十分常用命令行下载工具,多数Linux发行版本都默认包含这个工具。如果没有安装可在http://www.gnu.org/software/wget/wget.html下载最新版本,并使用如下命令编译安装: 1.#tar zxvf wget-1.9.1.tar.gz #cd wget-1.9.1 #./c…...
字典树Trie
Trie树又称字典树,前缀树。是一种可以高效查询前缀字符串的树,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 它的优点是:利用字符串…...
算法之桶排序算法
桶排序的基本思想是: 把数组 arr 划分为 n 个大小相同子区间(桶),每个子区间各自排序,最 后合并 。计数排序是桶排序的一种特殊情况,可以把计数排序当成每个桶里只有一个元素的情况。 1.找出待排序数组中的…...
读kafka生产端源码,窥kafka设计之道(下)
背景 在上一篇文章《读kafka生产端源码,窥kafka设计之道(上)》 留下了kafka设计上比较优秀的一个点;内存的循环使用。本篇文章准备盘盘它。 好奇 为什么 kafka减少发送消息时向JVM频繁申请内存,就可以降低JVM GC的执…...
Pytorch个人学习记录总结 06
目录 神经网络-卷积层 torch.nn.Conv2d 神经网络-最大池化的使用 torch.nn.MaxPool2d 神经网络-卷积层 torch.nn.Conv2d torch.nn.Conv2d的官方文档地址 CLASS torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue,…...
Rust之泛型、特性和生命期(四):验证有生存期的引用
开发环境 Windows 10Rust 1.71.0 VS Code 1.80.1 项目工程 这里继续沿用上次工程rust-demo 验证具有生存期的引用 生存期是我们已经在使用的另一种泛型。生存期不是确保一个类型具有我们想要的行为,而是确保引用在我们需要时有效。 我们在第4章“引用和借用”一…...
kubesphere安装中间件
kubesphere安装mysql 创建configMap [client] default-character-setutf8mb4[mysql] default-character-setutf8mb4[mysqld] init_connectSET collation_connection utf8mb4_unicode_ci init_connectSET NAMES utf8mb4 character-set-serverutf8mb4 collation-serverutf8mb4_…...
zookeeper学习(二) 集群模式安装
前置环境 三台centos7服务器 192.168.2.201 192.168.2.202 192.168.2.150三台服务器都需要安装jdk1.8以上zookeeper安装包 安装jdk 在单机模式已经描述过,这里略过,有需要可以去看单机模式中的这部分,注意的是三台服务器都需要安装 安装…...
选择合适的图表,高效展现数据魅力
随着大数据时代的来临,数据的重要性愈发凸显,数据分析和可视化成为了决策和传递信息的重要手段。在数据可视化中,选择合适的图表是至关重要的一环,它能让数据更加生动、直观地呈现,为观众提供更有说服力的信息。本文将…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
