当前位置: 首页 > news >正文

PLC-Recorder对于数据采集时间戳偏差的修正功能

目录

一、修正原理

二、使用步骤

1、初始状态,计算修正系数

2、启动和使用

3、修正系数的手动修改

三、修正前后的效果对比

1、修正前的时间偏差曲线

2、修正后的效果曲线

四、注意事项

1、控制器可能的时钟波动

2、平移参数评估

3、参数保存

五、关于时间处理的小结


 

PLC-Recorder在收听模式的高速采集时,支持PLC发送的时间戳,具体可以参考S7-1500的高速采集案例,来克服计算机(Windows系统)的时钟不稳定性,大大提高了采集数据的时刻稳定性。但是,被采集控制器(以下简称控制器)和计算机是两个不同的设备,有着各自的时钟,两个时钟总是会存在快慢的差异,长期运行后,时间戳就会出现绝对时间的偏差。

对于单台控制器采集,这种时钟的差异只要不是很大,是可以忽略的。

对于多台控制器同步采集,且这些控制器需要进行动作时序比较时(比如,需要精确到ms级别)。如果他们同时开始动作,曲线上却显示出不同的时间偏差,到底是测量问题,还是设备同步问题?用户就会抓狂。在Ana的离线分析里有通道偏移设定,可以手动修正通道间的时间偏差,但是,用户需要找到修正依据,也不是件容易的事情。

为了尽可能解决时间不同步的问题,采集软件开发了时间戳较准的功能(V3.3.0开始支持),增加了修正系数。控制器和计算机的时间同步误差小了,控制器之间的时间错位也会自然变小。

一、修正原理

下图是计算机时钟与控制器时钟的特性曲线,如果他们完全一致,则曲线就是那条虚线,而实际上,是蓝色表示的样子。假设他们是线性关系,则可以通过y=kx+b来进行修正。其中k是修正系数,b是平移系数。

7e601c09243345c99ef1791fe62cbdf6.png

二、使用步骤

1、初始状态,计算修正系数

初始状态时,修正系数为1。开始采集后,软件不断计算时间戳与计算机的时间差异,经过一段时间探索后,就可以观察到趋势,软件进行曲线拟合,推测时间戳与计算机时间的线性关系,当线性关系稳定后,提示有新的修正系数。

点击“使用”按钮,该修正系数存入通道参数。在下次开始采集时,即可应用这个修正系数。

a3d19d78f11e42f8ad4fa875948d9f1e.png

2、启动和使用

在启动采集时,如果修正系数不为1,则进行应用。在进行时间戳同步后,即开始修正。并在初始阶段,进行平移参数的评估和应用。

3、修正系数的手动修改

修正系数的大小与计算机和被采集设备的时钟差异有关。如果I/O项目复制到其他计算机,则该系数不一定合适。这时有两种解决办法:

方法1:通过“复位”按钮,可以重新启动修正系数计算。

方法2:如果知道适合的修正系数,则可以在I/O里直接进行修正。

b9d9f68204004b299b69f39b9c23f5ba.png

三、修正前后的效果对比

1、修正前的时间偏差曲线

45f2e22b3f054a47925b9f1150ddc311.png14d297273f4b4012a77a3b949909f72a.png

2、修正后的效果曲线

bfc76af3756e4bb493b976979e84a581.png554f471227f241d8a28976c4ec84de19.png48a3fa69da7e44a8a2ce5b61b40fb7b0.png

四、注意事项

1、控制器可能的时钟波动

为了提高修正系数的精度,修正系数计算时间至少要1-2小时,如果在计算过程中出现了较大波动,则会自动重新计算。

已经发现很多PLC会定时或者不定时进行时钟的调整,这会导致修正后的时间戳出现相应的变化,以下是几个控制器的情况:

S7-1200会出现1小时1s的调整,修正后,会出现明显的偏差台阶。

S7-1500也有调整,但是,采用了多次,小幅的调整,所以,其修正后的效果还是不错的。

汇川的中型PLC发现半小时内60s的快速修正。

PUM控制器的有自己的时间戳计算机制,脱离了时钟的干扰,时间戳非常稳定,修正效果也最好。

本软件的修正目标是将时钟偏差控制在30ms/12h以内,实际测试偏差都在10ms/12h以内(有台阶偏差的除外)。

2、平移参数评估

在开始采集时,系统稳定性欠佳,经过短暂的稳定期后,会对于平移系数b进行评估和应用,该过程仅持续几秒。

3、参数保存

已经应用的通道修正系数会存入数据文件、配置文件,在软件启动时,会自动加载和应用。也可以从数据文件导入。

五、关于时间处理的小结

为了提高高速采集时间的稳定性,软件采取了一系列的措施,可以选择使用,获取最佳效果:

1、采集阶段:电文/报文带有时间戳、时间戳修正

2、离线分析阶段:通道偏移。

 

相关文章:

PLC-Recorder对于数据采集时间戳偏差的修正功能

目录 一、修正原理 二、使用步骤 1、初始状态,计算修正系数 2、启动和使用 3、修正系数的手动修改 三、修正前后的效果对比 1、修正前的时间偏差曲线 2、修正后的效果曲线 四、注意事项 1、控制器可能的时钟波动 2、平移参数评估 3、参数保存 五、关于…...

自定义监控

代码说明: 导入必要的库 import time import psutil import GPUtil from prometheus_client import start_http_server, Summary, Counter, Gaugepsutil:用于获取系统的CPU、内存、磁盘和网络信息。GPUtil:用于获取GPU信息。prometheus_cli…...

关于使用php的mpdf插件遇到的一些问题

一.插件版本 "mpdf/mpdf": "^8.0", 二.报错&#xff1a;Undefined index: list_style_type 这个是插件无法识别 li 标签导致&#xff0c;生成pdf是加入下面代码 <style> li { list-style-type: none; list-style-image: none; list-style-positi…...

电脑截图,颜色变淡的问题解决

解决 Windows 11 在 HDR 模式下截图 Edge 浏览器界面时画面过曝的问题-腾讯云开发者社区-腾讯云 (tencent.com) 主要是浏览器用错了东西&#xff0c;调一下就好&#xff0c;详情看链接 联想拯救者y9000p为例&#xff0c;选择sRGB&#xff0c;就好啦&#xff0c;拜拜喽&#x…...

uniApp跳转外链

创建一个新的页面&#xff0c;在该页面中使用web-view组件加载外部URL&#xff1a;pages/web-view/web-view <template><view><uni-list><uni-list-itemtitle"打开外部链接"click"openExternalLink"></uni-list-item></…...

科技云报道:大模型引领技术浪潮,AI安全治理面临“大考”

科技云报道原创。 从文生文到文生图&#xff0c;再到文生视频&#xff0c;近年来&#xff0c;以ChatGPT、Sora等为代表的大模型引领了全球人工智能技术与产业的新一轮浪潮。2024年更是被业内称为大模型应用爆发元年。 年初&#xff0c;Sora横空出世验证了Scalling Law在视频生…...

SpringSecurity+Mysql数据库实现用户安全登录认证

Spring Security 是一个提供身份认证、授权和防范常见攻击的安全权限框架。无论是对命令式&#xff0c;还是响应式web应用程序都完美支持&#xff0c;现在主要用作保护基于 Spring 框架的应用程序的事实标准。相对于shiro来说&#xff0c;SpringSecurity功能更加复杂而且更加强…...

虚拟网卡添加ip

1.虚拟机网卡添加 1.进入虚拟机设置添加网卡即网络适配器 2.配置文件修改 1.查看网卡是否添加成功 ip ad ifconfig 其中ens161就是我们新添加的设备同时这个ens161也是我们硬件名字 2.进入系统配置文件 cd /etc/sysconfig/network-scripts/#配置文件目录[rootlocalhost ne…...

Unity向量线性插值Lerp

inline glm::vec3 Lerp(glm::vec3 start, glm::vec3 end, float t){t glm::clamp(t, 0.0f, 1.0f);return (start*(1-t)end*t); }...

fatal: Could not read from remote repository. 解决方法

问题描述&#xff1a; Git : fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists。 解决方法&#xff1a; 当在网上尝试大量方法仍然失败的时候&#xff0c;不妨试试这个方法。 在 github 上&…...

postman查询单条数据Get方法,无任何输出,idea后端也没有任何数据和提示的解决方法

问题描述&#xff1a; 正常使用postman测试&#xff0c;输入内容没有错误&#xff0c;但是却没有任何消息 后端也是&#xff0c;没有任何消息&#xff1a; 解决方法&#xff1a; 问题的原因主要是因为postman&#xff1a; 我们只需要新建一个页面&#xff0c;把刚才的查询语…...

query怎么改写,才能实现高质量的知识问答系统

为了实现高质量的知识问答系统&#xff0c;query改写需要综合利用多种技术&#xff0c;确保改写后的查询更具语义性、准确性和完整性。以下是具体的步骤和方法&#xff1a; 1. 同义词和短语替换 步骤&#xff1a; 建立同义词库&#xff1a;使用现有的同义词词典或根据特定领…...

Python实战——轻松实现动态网页爬虫(附详细源码)

大家好&#xff0c;我是东眠的鱼&#xff0c;专注原创&#xff0c;致力于用浅显易懂的语言分享爬虫、数据分析及可视化等干货&#xff0c;希望人人都能学到新知识。<文末附带精品籽料哦&#xff0c;也可以和博主一起学Python呀&#xff01;> 项目背景 有同学自学爬虫时…...

Python应用—利用opencv实现图像匹配

1.创作需求 我们通常需要从一幅图中找到自己想要的信息,例如从一堆表情中找到,自己需要的表情。 2.创作思路 1.使用模板图片作为卷积核与原图进行卷积运算,得出匹配度超过某一阈值的范围。 2.对该部分进行框选 3.工具 主要使用opencv库实现,通过 cv2.matchTemplate(…...

Excel函数基础(二)

1、单元格名称 框选单元格&#xff08;不含标题&#xff09;&#xff0c;公式选项卡->定义名称&#xff0c; 或者框选单元格后&#xff0c;在左上角的栏位直接输入要定义的名字&#xff0c;按下enter键即可 这样在使用函数时&#xff0c;数据范围参数可以用定义的名称来替…...

学习大数据DAY30 python基础语法3

目录 上机练习 5 File(文件) 读写 文本文件写 文本文件读 csv 文件写 csv 文件读 异常 自定义异常 上机练习 6 上机练习 5 上机练习5的作业我昨天就写完了&#xff0c;但是因为它是今天的作业&#xff0c;我就今天发咯。 # atm 机模拟器&#xff1a;使用 main 入口&…...

一文弄清Java的四大引用及其两大传递

开场白 Hello大家好呀&#xff0c;我是CodeCodeBond✊最近在复习很多很多的基础知识&#xff0c;有了很多新的感悟~ 话不多说&#xff0c;直接发车✈ 四大引用 问题切入点 在学习 Thread线程利用ThreadLocalMap实现线程的本地内存&#xff08;变量副本&#xff09;的时候&…...

arduino程序-MC猜数字5、6(基础知识)

arduino程序-MC猜数字5、6&#xff08;基础知识&#xff09; 1-23 MC猜数字-5 自定义函数自定义函数自定义清理显示内容函数displayClear&#xff08;&#xff09;带参数函数displayNumber带参数、返回值的函数 1-24 MC猜数字-6 完成制作显示0~9数字函数改造产生随机数字函数改…...

【笔记】如何在ps里调整贴图

如图我想要在ps里把角上半部分画成绿色 1.打开ps&#xff0c;拖进贴图 2.把所有图层全选复制&#xff0c;除了实体、选择、背景和uv图层 3.把这些图层合并 4.自己手动选上半部分角 按shift加选 alt减选 5. 这里可以调整饱和度、色相、明度 6. 选好之后用羽化之后边缘会…...

【C++11】深度解析--异步操作(什么是异步?异步有那些操作?异步操作有什么用呢?)

目录 一、前言 二、什么是异步操作呢&#xff1f; &#x1f525;异步的概念&#x1f525; &#x1f525;异步的生活案例说明&#x1f525; 三、异步有那些操作呢&#xff1f; &#x1f525;std::future&#x1f525; &#x1f4a2;std::future 的概念&#x1f4a2; &a…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具&#xff0c;用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中&#xff0c;cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

区块链技术概述

区块链技术是一种去中心化、分布式账本技术&#xff0c;通过密码学、共识机制和智能合约等核心组件&#xff0c;实现数据不可篡改、透明可追溯的系统。 一、核心技术 1. 去中心化 特点&#xff1a;数据存储在网络中的多个节点&#xff08;计算机&#xff09;&#xff0c;而非…...