当前位置: 首页 > 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…...

ngx_create_pidfile

1 定义 ngx_create_pidfile 函数 定义在 ./nginx-1.24.0/src/core/ngx_cycle.cngx_int_t ngx_create_pidfile(ngx_str_t *name, ngx_log_t *log) {size_t len;ngx_int_t rc;ngx_uint_t create;ngx_file_t file;u_char pid[NGX_INT64_LEN 2];if (ngx_process >…...

别让AI被‘带坏’:手把手教你用开源工具复现大模型越狱攻击(附防御实战)

大模型安全攻防实战&#xff1a;从开源工具复现到防御策略部署 当ChatGPT在2022年底掀起AI浪潮时&#xff0c;很少有人预料到三年后的大模型会面临如此复杂的对抗攻击。作为一名长期从事AI安全测试的工程师&#xff0c;我亲眼见证了攻击手段从最初的简单提示注入发展到如今的神…...

开源工具Rufus实现专业级启动盘制作的完整指南

开源工具Rufus实现专业级启动盘制作的完整指南 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 系统重装时遇到的启动失败、镜像损坏、硬件不兼容等问题是否让你束手无策&#xff1f;作为一款免费…...

Keil5嵌入式开发场景联想:Cosmos-Reason1-7B辅助生成硬件驱动注释与调试思路

Keil5嵌入式开发场景联想&#xff1a;Cosmos-Reason1-7B辅助生成硬件驱动注释与调试思路 1. 引言&#xff1a;从嵌入式调试到AI辅助编程 如果你用过Keil5这类嵌入式开发工具&#xff0c;肯定对那种感觉不陌生&#xff1a;面对着一行行寄存器配置代码&#xff0c;或者一个复杂…...

Ray框架实战:如何用分布式训练加速你的AI模型(附BERT调参案例)

Ray框架实战&#xff1a;如何用分布式训练加速你的AI模型&#xff08;附BERT调参案例&#xff09; 当你的BERT模型训练时间从72小时缩短到8小时&#xff0c;GPU利用率从35%提升到89%时&#xff0c;那种"早该用这个工具"的顿悟感会瞬间击中你。这就是Ray框架带给AI工程…...

突破设备壁垒:用swyh-rs构建零成本家庭音频网络的新方案

突破设备壁垒&#xff1a;用swyh-rs构建零成本家庭音频网络的新方案 【免费下载链接】swyh-rs Stream What You Hear written in rust, inspired by SWYH. 项目地址: https://gitcode.com/gh_mirrors/sw/swyh-rs 在智能家居普及的今天&#xff0c;音频设备却常常陷入&qu…...

Windows Server 2008 R2提权实战:用MS15-051漏洞从WebShell到System权限的完整操作记录

Windows Server 2008 R2权限提升实战&#xff1a;从低权限到系统控制的技术剖析 在渗透测试的实战场景中&#xff0c;获取初始立足点往往只是开始。当安全研究人员或红队成员通过Web漏洞获得了一个低权限的WebShell后&#xff0c;如何突破权限限制&#xff0c;获取系统最高控制…...

Halcon实战:用shape_trans算子5分钟搞定不规则区域的最小外接矩形提取

Halcon实战&#xff1a;5分钟精准提取不规则区域最小外接矩形的工业级方案 在工业视觉检测领域&#xff0c;我们常常需要从复杂的背景中快速定位目标物体的精确边界。无论是印刷电路板上的字符识别、机械零件的尺寸测量&#xff0c;还是包装盒的位置校准&#xff0c;准确的目标…...

FreeSWITCH视频通话常见问题排查:编解码错误与媒体协商失败解决方案

FreeSWITCH视频通话故障排查手册&#xff1a;从编解码协商到媒体流修复 1. 视频通话架构与常见故障点全景 FreeSWITCH作为企业级通信平台的核心枢纽&#xff0c;其视频通话功能建立在SIP信令与RTP/RTCP媒体流的协同工作基础上。典型的视频通话故障通常出现在三个关键层面&#…...

如何高效完成从SVN到Git的完整迁移:svn2git实战指南

如何高效完成从SVN到Git的完整迁移&#xff1a;svn2git实战指南 【免费下载链接】svn2git 项目地址: https://gitcode.com/gh_mirrors/sv/svn2git 在软件开发生命周期中&#xff0c;版本控制系统迁移是一个关键但充满挑战的任务。随着Git在分布式版本控制领域的统治地位…...