17838383235
6SL3210-1KE23-2AF1现货西门子代理
西门子: G120C
变频器: 15KW内置A级滤波版
德国: 3AC 380-480V滤波A级
报价: 面议
最小起订: 1
有效期至: 长期有效
发布时间: 2024-05-14 10:53
发布IP: 175.13.200.46
浏览次数: 24
手机号: 17838383235
在线咨询: 点击这里给我发消息
17838383235
详细信息

西门子S7-1500产生jingque时间戳的方法



概述

在数据采集时,的相对时间是非常重要的。尤其是高速采集时,上位机的软件(尤其是windows系统里的软件)很难地确定信息的时刻。这时候,如果PLC能够在提供数据时,同时提供一个的时间标志(时间戳),将能极大地提高数据采集的计时准确性,并降低采集系统的复杂性。下面将介绍获取一个jingque到微秒的Uint32时间戳的详细步骤。虽然S7-1500已经支持64位的整型,但是,考虑到低端的PLC还不支持64位的整型,因此,此处选择相对通用的32位无符号整型。
PART 01
完整程序
程序在准备工作结束后,进行一次时间戳计算,包括了时钟获取、转换等过程。

图片

PART 02
将时钟转换成整型数

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


图片


PART 03
获取相对时间

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


图片

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

图片

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

图片

PART 06
有时间戳采集时的对时机制

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


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




相关产品
相关西门子产品
联系方式
  • 地址:中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
  • 手机:17838383235
  • 联系人:徐嘉泉
产品分类
最新发布
企业新闻
站内搜索