一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹獲取一個(gè)精確到微秒的Uint32時(shí)間戳的方法

autozhineng ? 來(lái)源:電工電氣學(xué)習(xí) ? 2023-02-03 15:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在數(shù)據(jù)采集時(shí),精準(zhǔn)的相對(duì)時(shí)間是非常重要的。尤其是高速采集時(shí),上位機(jī)的軟件(尤其是windows系統(tǒng)里的軟件)很難精準(zhǔn)地確定信息的時(shí)刻。這時(shí)候,如果PLC能夠在提供數(shù)據(jù)時(shí),同時(shí)提供一個(gè)精準(zhǔn)的時(shí)間標(biāo)志(時(shí)間戳),將能極大地提高數(shù)據(jù)采集的計(jì)時(shí)準(zhǔn)確性,并降低采集系統(tǒng)的復(fù)雜性。

下面將介紹獲取一個(gè)精確到微秒的Uint32時(shí)間戳的方法。雖然S7-1500已經(jīng)支持64位的整型,但是,考慮到低端的PLC還不支持64位的整型,因此,此處選擇相對(duì)通用的32位無(wú)符號(hào)整型。

PART01 完整程序

程序在準(zhǔn)備工作結(jié)束后,進(jìn)行一次時(shí)間戳計(jì)算,包括了時(shí)鐘獲取、轉(zhuǎn)換等過(guò)程。

44ab9a7c-a38e-11ed-bfe3-dac502259ad0.jpg

PART02 將時(shí)鐘轉(zhuǎn)換成整型數(shù)

首先讀取時(shí)鐘,寫入到一個(gè)長(zhǎng)時(shí)間類型LDT,然后,轉(zhuǎn)成64位無(wú)符號(hào)整型ULInt。這個(gè)轉(zhuǎn)化是無(wú)損失的,"timeMeasure".timeNowULInt精確到納秒(ns)。

44c6e4a8-a38e-11ed-bfe3-dac502259ad0.jpg

PART03 獲取相對(duì)時(shí)間

精確到納秒的時(shí)間位數(shù)很長(zhǎng)(從1970-1-1開始計(jì)算),是無(wú)法被32位整數(shù)容納的,因此,此處僅計(jì)算其相對(duì)時(shí)間。起始時(shí)間"timeMeasure".timeNowULIntStart在開始通訊,或者PLC啟動(dòng)時(shí)獲取。

44d91754-a38e-11ed-bfe3-dac502259ad0.jpg

PART04 轉(zhuǎn)成微秒(μs),并轉(zhuǎn)成32位無(wú)符號(hào)整數(shù)

此處截取微秒的部分,并強(qiáng)制轉(zhuǎn)化成32位無(wú)符號(hào)整數(shù)"dbGen_1024".stamp。

44e771c8-a38e-11ed-bfe3-dac502259ad0.png

PART05 翻轉(zhuǎn)的問(wèn)題

用32位無(wú)符號(hào)整數(shù)表達(dá)微秒的時(shí)間戳?xí)r,由于32位無(wú)符號(hào)整數(shù)的最大值是4_294_967_295,大概1.2小時(shí)就會(huì)溢出而自然翻轉(zhuǎn)到0,因此,采集軟件必須注意處理翻轉(zhuǎn)的問(wèn)題。

44fcce56-a38e-11ed-bfe3-dac502259ad0.jpg

PART06 有時(shí)間戳采集時(shí)的對(duì)時(shí)機(jī)制

由于PLC的對(duì)時(shí)(調(diào)表)不是很方便,因此,PLC里的絕對(duì)時(shí)間很可能是原始的時(shí)間,因此,我們只利用其準(zhǔn)確的相對(duì)時(shí)間來(lái)生成時(shí)間戳。

在采集軟件里要進(jìn)行對(duì)時(shí)操作(PLC-Recorder是在收到第一個(gè)完整電文時(shí),讀取電文內(nèi)的時(shí)間戳和系統(tǒng)時(shí)間,完成對(duì)時(shí),后續(xù)都用相對(duì)時(shí)間來(lái)處理,實(shí)際工作時(shí),還要考慮PLC初始化、網(wǎng)絡(luò)中斷等很多其他因素)。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5031

    文章

    13847

    瀏覽量

    473259
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    40

    文章

    7076

    瀏覽量

    116106
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    963

    瀏覽量

    55701
  • S7-1500
    +關(guān)注

    關(guān)注

    3

    文章

    301

    瀏覽量

    6796

原文標(biāo)題:西門子PLC S7-1500產(chǎn)生精確時(shí)間戳及各種數(shù)據(jù)處理的方法

文章出處:【微信號(hào):PLC與自控設(shè)備,微信公眾號(hào):PLC與自控設(shè)備】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    時(shí)間同步獲取時(shí)間

    新手枚,對(duì)單片機(jī)原理還不是很清楚,求教:TinyOS中的時(shí)間同步首先要獲取本地時(shí)間,getStartTime(),想知道它是怎么
    發(fā)表于 03-20 10:37

    如何查詢時(shí)間

    有的時(shí)候,我們破解的某些軟件,需要修改時(shí)間,比如Mybase這款筆記軟件,破解的時(shí)候主要是修改時(shí)間。查詢方法
    發(fā)表于 02-15 16:54

    請(qǐng)問(wèn)RX23T如何獲取系統(tǒng)時(shí)鐘,以便獲取類似時(shí)間,如何獲取此段代碼運(yùn)行時(shí)間

    RX23T 如何獲取系統(tǒng)時(shí)鐘,以便獲取類似時(shí)間,如何獲取此段代碼運(yùn)行時(shí)間。 系統(tǒng)
    發(fā)表于 07-23 08:09

    1個(gè)Uint16和1個(gè)Uint32總共占用3字,實(shí)際上sizeof返回值為4是為什么?

    16和Uint32類型的數(shù)據(jù)定義在起,組成個(gè)結(jié)構(gòu)體,用sizeof獲取結(jié)構(gòu)體的長(zhǎng)度,在Uint
    發(fā)表于 06-01 13:14

    ulog里現(xiàn)在默認(rèn)的時(shí)間是從哪里獲取的呢?

    我現(xiàn)在用的外部RTC,想在ulog里的時(shí)間顯示外部RTC的時(shí)間,ulog里現(xiàn)在默認(rèn)的時(shí)間是從哪里獲取
    發(fā)表于 11-14 14:22

    求助,求一個(gè)時(shí)間的RTC示例

    我正在尋找些關(guān)于使用 STM32WB55 的內(nèi)置 RTC 獲取 UNIX UTC 時(shí)間(以毫秒為單位)的示例代碼。或者自 1970 年 1 月 1 日以來(lái)的毫秒數(shù)。如果有人有
    發(fā)表于 12-09 06:46

    有什么辦法可以獲取精確小于0.1秒的時(shí)間

    ,我需要種快速的方法來(lái)獲取精確小于 0.1 秒的時(shí)間
    發(fā)表于 12-23 10:21

    如何在tilebox上獲取時(shí)間?

    你好我知道 tilebox 有個(gè) RTC 模塊,所以我意識(shí)獲取當(dāng)前時(shí)間來(lái)為數(shù)據(jù)生成時(shí)間
    發(fā)表于 01-05 08:59

    可由CR設(shè)定數(shù)微秒~數(shù)十秒時(shí)間的通用定時(shí)器

    可由CR設(shè)定數(shù)微秒~數(shù)十秒時(shí)間的通用定時(shí)器 電路的功能 如果定時(shí)脈
    發(fā)表于 05-10 15:22 ?2266次閱讀
    可由CR設(shè)定數(shù)<b class='flag-5'>微秒</b>~數(shù)十秒<b class='flag-5'>時(shí)間</b>的通用定時(shí)器

    UNIX時(shí)間和北京時(shí)間的相互轉(zhuǎn)換

    )開始所經(jīng)過(guò)的秒數(shù),不考慮閏秒。個(gè)小時(shí)表示為UNIX時(shí)間格式為:3600秒;天表示為UNIX時(shí)間
    發(fā)表于 11-21 19:06 ?11次下載
    UNIX<b class='flag-5'>時(shí)間</b><b class='flag-5'>戳</b>和北京<b class='flag-5'>時(shí)間</b>的相互轉(zhuǎn)換

    GD32精確延時(shí)和時(shí)間

    ;stdint.h>uint32_t get_systick_us(void);uint32_t get_systick_ms(void);void delay_ms(uint32_t ms);void delay_us(
    發(fā)表于 11-24 18:51 ?22次下載
    GD32<b class='flag-5'>精確</b>延時(shí)和<b class='flag-5'>時(shí)間</b><b class='flag-5'>戳</b>

    uCOS-III(2) 時(shí)間

    的實(shí)現(xiàn)A:想要計(jì)算代碼運(yùn)行的時(shí)間真的有這么簡(jiǎn)單嗎?用個(gè)定時(shí)器中斷不就好了?B:?jiǎn)纹瑱C(jī)的硬件定時(shí)器的精度都是us級(jí)別的,而測(cè)量幾條代碼需要的級(jí)別是ns級(jí)別的A:那怎么辦?B:在ARM內(nèi)核中有
    發(fā)表于 01-14 16:04 ?4次下載
    uCOS-III(2) <b class='flag-5'>時(shí)間</b><b class='flag-5'>戳</b>

    西門子PLC S7-1500如何獲取精確Uint32時(shí)間

      在數(shù)據(jù)采集時(shí),精準(zhǔn)的相對(duì)時(shí)間是非常重要的。尤其是高速采集時(shí),上位機(jī)的軟件(尤其是windows系統(tǒng)里的軟件)很難精準(zhǔn)地確定信息的時(shí)刻。這時(shí)候,如果PLC能夠在提供數(shù)據(jù)時(shí),同時(shí)提供個(gè)精準(zhǔn)的
    發(fā)表于 02-01 16:04 ?3483次閱讀
    西門子PLC S7-1500如何<b class='flag-5'>獲取</b><b class='flag-5'>精確</b><b class='flag-5'>Uint32</b><b class='flag-5'>時(shí)間</b><b class='flag-5'>戳</b>

    西門子PLC S7-1500產(chǎn)生精確時(shí)間及各種數(shù)據(jù)處理的方法

    標(biāo)志(時(shí)間),將能極大地提高數(shù)據(jù)采集的計(jì)時(shí)準(zhǔn)確性,并降低采集系統(tǒng)的復(fù)雜 性。 下面將介紹獲取個(gè)
    發(fā)表于 04-20 09:49 ?0次下載
    西門子PLC S7-1500產(chǎn)生<b class='flag-5'>精確</b><b class='flag-5'>時(shí)間</b><b class='flag-5'>戳</b>及各種數(shù)據(jù)處理的<b class='flag-5'>方法</b>

    西門子S7-1500產(chǎn)生精確時(shí)間方法

    精確納秒的時(shí)間位數(shù)很長(zhǎng)(從1970-1-1開始計(jì)算),是無(wú)法被32位整數(shù)容納的,因此,此處僅計(jì)算其相對(duì)時(shí)間。起始時(shí)間"timeMeasur
    的頭像 發(fā)表于 05-12 16:25 ?1526次閱讀
    西門子S7-1500產(chǎn)生<b class='flag-5'>精確</b><b class='flag-5'>時(shí)間</b><b class='flag-5'>戳</b>的<b class='flag-5'>方法</b>