西门子PLC S7-1500产生精确时间戳及各种数据处理的方法

news2024/11/19 7:22:33

目录

1、完整程序

 2、将时钟转换成整型数

3、获取相对时间

4、转成微秒(μs),并转成32位无符号整数

5、翻转的问题

6、有时间戳采集时的对时机制


在数据采集时,精准的相对时间是非常重要的。尤其是高速采集时,上位机的软件(尤其是windows系统里的软件)很难精准地确定信息的时刻。这时候,如果PLC能够在提供数据时,同时提供一个精准的时间标志(时间戳),将能极大地提高数据采集的计时准确性,并降低采集系统的复杂性。

下面将介绍获取一个精确到微秒的Uint32时间戳的方法。虽然S7-1500已经支持64位的整型,但是,考虑到低端的PLC还不支持64位的整型,因此,此处选择相对通用的32位无符号整型。

1、完整程序

程序在准备工作结束后,进行一次时间戳计算,包括了时钟获取、转换等过程。

 2、将时钟转换成整型数

首先读取时钟,写入到一个长时间类型LDT,然后,转成64位无符号整型ULInt。这个转化是无损失的,"timeMeasure".timeNowULInt精确到纳秒(ns)。

3、获取相对时间

精确到纳秒的时间位数很长(从1970-1-1开始计算),是无法被32位整数容纳的,因此,此处仅计算其相对时间。起始时间"timeMeasure".timeNowULIntStart在开始通讯,或者PLC启动时获取。

4、转成微秒(μs),并转成32位无符号整数

此处截取微秒的部分,并强制转化成32位无符号整数"dbGen_1024".stamp。

5、翻转的问题

用32位无符号整数表达微秒的时间戳时,由于32位无符号整数的最大值是4_294_967_295,大概1.2小时就会溢出而自然翻转到0,因此,采集软件必须注意处理翻转的问题。

6、有时间戳采集时的对时机制

由于PLC的对时(调表)不是很方便,因此,PLC里的绝对时间很可能是原始的时间,因此,我们只利用其准确的相对时间来生成时间戳。

在采集软件里要进行对时操作(PLC-Recorder是在收到第一个完整电文时,读取电文内的时间戳和系统时间,完成对时,后续都用相对时间来处理,实际工作时,还要考虑PLC初始化、网络中断等很多其他因素)。

2022年12月10日

 

 

 

 

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

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

相关文章

算法训练第四十五天 | LeetCode 70、322、279背包问题

LeetCode 70爬楼梯 题目简析: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 思路分析: 用完全背包的思路来做,见注释 //普通dppublic int climbStairs(in…

Redis框架(四):大众点评项目 基于Redis的短信登录

大众点评项目 基于Session的短信登录需求:基于Redis实现短信验证登录基于Redis的短信登录实战优化为Redis login方法配置拦截器实现双重验证配置类实现异步/排序 拦截结果展示SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会…

【图像处理】DWT图像处理【含Matlab源码 198期】

⛄一、数字图像处理简介 图像处理基础教程链接 1 【基础教程】基于matlab图像处理(表示方法数据结构基本格式类型转换读取点运算代数运算)【含Matlab源码 834期】 2 【基础教程】基于matlab图像处理(读写显示运算转换变换增强滤波分析统计&a…

jvm学习笔记(一)----jvm简史

文章目录1. JVM简单介绍2. java虚拟机介绍1. JVM简单介绍 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏…

ASP.NET微信快速开发框架源码【源码分享】

ASP.NET微信快速开发框架源码 微信公众平台快速开发框架源码 需要源码学习,查看文末卡片获取,或私信我。 框架主要技术: ASP.NET MVC5、ASP.NET Identity、Bootstrap、KnockoutJs、Entity Framework等。 主要特色: 1、快速迭代开…

Redis主从复制原理

前面的文章中我们演示过Redis主从配置的操作,可以查看之前的博文Redis主从配置教程。这篇文章主要介绍一下Redis主从复制的工作过程和原理。 Redis复制工作过程 Redis复制的工作过程如上图,主要包含以及几个阶段: 1. 设置IP端口并建立连接 …

C++学习笔记(十九)——stack和queue的模拟实现

容器适配器 deque的简单介绍 stack的模拟实现 queue的模拟实现 容器适配器 适配器:一种设计模式,该种模式是将一个类的接口转换成客户希望的另外一个接口. stack和queue的底层结构 可以看出的是,这两个容器 相比我们之间见过的容器多了一个模板参数,也就是容器类的模板参数,…

数据结构复习+答案

一、选择题:(每小题2分,共30分) 1、在数据的逻辑结构中,树结构和图结构都是( ) A.非线性结构 B.线性结构 C.动态结构 D.静态结构 2.在一个长度为n的顺序表中插入一个元素的算法的时间复杂度为&…

ThinkPHP文件包含漏洞分析

出品|长白山攻防实验室(ID:A_Tree) 0x00 声明 以下内容,来自长白山攻防实验室的A_Tree作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室…

全宇宙最强AI 聊天机器人模型ChatGPT惊艳来袭,你还不上车?居然能写演讲稿和帮忙写代码

目录1、ChatGPT介绍2、ChatGPT如何注册,国内不可用3、VS Code下载安装ChatGPT3.1 打开VS Code找到ChatGPT3.2 ChatGPT 详细安装步骤:3.3 用法3.4 国外模式’ 此模式下,速度会比较稳定,如果有条件,建议使用本模式。 理论…

大数据HDFS凭啥能存下百亿数据?

前言 大家平时经常用的百度网盘存放电影、照片、文档等,那有想过百度网盘是如何存下那么多文件的呢?难到是用一台计算机器存的吗?那得多大磁盘啊?显然不是的,那本文就带大家揭秘。 分布式存储思想 既然一台机器的存储…

Spring 核心与设计思想 · Spring IoC容器 · 控制反转式程序开发 · DI概念

Spring 是什么?一、什么是容器?二、什么是 IoC?2.1 传统程序开发2.2 控制反转式程序开发2.3 对比总结规律三、理解 Spring IoC四、DI 概念说明Spring 是什么? 我们通常说的 Spring 是指 Spring Framework(Spring 框架…

【Mysql】知识体系结构构建以及常见考题汇总

【Mysql】知识体系结构构建以及常见考题汇总1、基本SQL知识1.1、D_L语法以及表中常用约束1.2、mysql表列常用数据结构1.3、事务(此处展示并发事务问题以及解决方案、实现原理见2.3)read uncommitted有脏读问题read committed解决脏读、有不可重复读问题r…

Android基础学习(二十)—— 线程安全

1、Android中线程的常见用法 (1)继承 Thread class MyThread extends Thread{Overridepublic void run(){//处理具体的逻辑} } new MyThread().start(); //启动此线程//使用匿名类 new Thread(){Overridepublic void run(){//处理具体的逻辑} }.star…

【加油站会员管理小程序】03 创建应用

我们上一篇介绍了数据源的创建,本篇我们介绍应用的创建。 微搭低代码中一共有两类应用,一类是数据模型应用,一类是自定义应用。数据模型应用往往对应着PC端的管理后台,例如我们的小程序通常需要一个管理后台来录入数据。 自定义…

【linux】2022年还能用,网易真的是良心啊,网易云音乐linux版本现在还是可以使用的超赞!!官方网的下载地址还可以使用,音乐使用的是qt5进行开发的。

目录前言1,关于网易云音乐2,可以正常使用,可以登录前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/128261513 未经博主允许不得转载。 博主CSDN地址是:https://blog.csdn.net/freewebsys 博主掘金地址…

vue.js:父子组件的实训案例

作业需求 需求1:定义两个输入框,通过输入框输输入的值改变页面显示的值需求2:改变第一个输入框的值的同时使得第二个输入框的值变为100倍并显示需求3:改变第二个输入框的值的同时使得第一个输入框的值变为1/100并显示 实训代码实…

CentOS搭建基于ZIPKIN的数据追踪系统

ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。分布式跟踪系统还有其…

TinUI4.0发布

引言 TinUI4登场~~~ 更新一览: 优化radiobox效果修复listview返回元素不全的问题新增树状图 treeview使用TinUI LOGO.ico新增普通图片 image随包发布 TinUI帮助手册 实用程序,在\test目录下 修复 这是常规更新,修复了listview创建过程中…

ChatGPT怎么用

最开始了解ChatGPT居然是抖音上看到的,之前了解过GPT-3,最开始认为可能类似的语言模型,上手以后才发现,这玩意挺有意思,某些方面,比百度强,但是比人还差十万八千里,智力不好说&#…