在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹獲取一個精確到微秒的Uint32時間戳的方法

autozhineng ? 來源:電工電氣學習 ? 2023-02-03 15:00 ? 次閱讀

在數據采集時,精準的相對時間是非常重要的。尤其是高速采集時,上位機的軟件(尤其是windows系統里的軟件)很難精準地確定信息的時刻。這時候,如果PLC能夠在提供數據時,同時提供一個精準的時間標志(時間戳),將能極大地提高數據采集的計時準確性,并降低采集系統的復雜性。

下面將介紹獲取一個精確到微秒的Uint32時間戳的方法。雖然S7-1500已經支持64位的整型,但是,考慮到低端的PLC還不支持64位的整型,因此,此處選擇相對通用的32位無符號整型。

PART01 完整程序

程序在準備工作結束后,進行一次時間戳計算,包括了時鐘獲取、轉換等過程。

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

PART02 將時鐘轉換成整型數

首先讀取時鐘,寫入到一個長時間類型LDT,然后,轉成64位無符號整型ULInt。這個轉化是無損失的,"timeMeasure".timeNowULInt精確到納秒(ns)。

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

PART03 獲取相對時間

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

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

PART04 轉成微秒(μs),并轉成32位無符號整數

此處截取微秒的部分,并強制轉化成32位無符號整數"dbGen_1024".stamp。

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

PART05 翻轉的問題

用32位無符號整數表達微秒的時間戳時,由于32位無符號整數的最大值是4_294_967_295,大概1.2小時就會溢出而自然翻轉到0,因此,采集軟件必須注意處理翻轉的問題。

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

PART06 有時間戳采集時的對時機制

由于PLC的對時(調表)不是很方便,因此,PLC里的絕對時間很可能是原始的時間,因此,我們只利用其準確的相對時間來生成時間戳。

在采集軟件里要進行對時操作(PLC-Recorder是在收到第一個完整電文時,讀取電文內的時間戳和系統時間,完成對時,后續都用相對時間來處理,實際工作時,還要考慮PLC初始化、網絡中斷等很多其他因素)。






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • plc
    plc
    +關注

    關注

    5031

    文章

    13766

    瀏覽量

    472370
  • 數據采集
    +關注

    關注

    40

    文章

    6982

    瀏覽量

    115772
  • 上位機
    +關注

    關注

    27

    文章

    960

    瀏覽量

    55613
  • S7-1500
    +關注

    關注

    3

    文章

    301

    瀏覽量

    6744

原文標題:西門子PLC S7-1500產生精確時間戳及各種數據處理的方法

文章出處:【微信號:PLC與自控設備,微信公眾號:PLC與自控設備】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    時間同步獲取時間

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

    如何查詢時間

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

    請問RX23T如何獲取系統時鐘,以便獲取類似時間,如何獲取此段代碼運行時間

    RX23T 如何獲取系統時鐘,以便獲取類似時間,如何獲取此段代碼運行時間。 系統
    發表于 07-23 08:09

    1Uint16和1Uint32總共占用3字,實際上sizeof返回值為4是為什么?

    16和Uint32類型的數據定義在起,組成結構體,用sizeof獲取結構體的長度,在Uint
    發表于 06-01 13:14

    ulog里現在默認的時間是從哪里獲取的呢?

    我現在用的外部RTC,想在ulog里的時間顯示外部RTC的時間,ulog里現在默認的時間是從哪里獲取
    發表于 11-14 14:22

    求助,求一個時間的RTC示例

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

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

    ,我需要種快速的方法獲取精確小于 0.1 秒的時間
    發表于 12-23 10:21

    如何在tilebox上獲取時間

    你好我知道 tilebox 有 RTC 模塊,所以我意識獲取當前時間來為數據生成時間
    發表于 01-05 08:59

    可由CR設定數微秒~數十秒時間的通用定時器

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

    UNIX時間和北京時間的相互轉換

    )開始所經過的秒數,不考慮閏秒。小時表示為UNIX時間格式為:3600秒;天表示為UNIX時間
    發表于 11-21 19:06 ?11次下載
    UNIX<b class='flag-5'>時間</b><b class='flag-5'>戳</b>和北京<b class='flag-5'>時間</b>的相互轉換

    GD32精確延時和時間

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

    uCOS-III(2) 時間

    的實現A:想要計算代碼運行的時間真的有這么簡單嗎?用定時器中斷不就好了?B:單片機的硬件定時器的精度都是us級別的,而測量幾條代碼需要的級別是ns級別的A:那怎么辦?B:在ARM內核中有
    發表于 01-14 16:04 ?4次下載
    uCOS-III(2) <b class='flag-5'>時間</b><b class='flag-5'>戳</b>

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

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

    西門子PLC S7-1500產生精確時間及各種數據處理的方法

    標志(時間),將能極大地提高數據采集的計時準確性,并降低采集系統的復雜 性。 下面將介紹獲取
    發表于 04-20 09:49 ?0次下載
    西門子PLC S7-1500產生<b class='flag-5'>精確</b><b class='flag-5'>時間</b><b class='flag-5'>戳</b>及各種數據處理的<b class='flag-5'>方法</b>

    西門子S7-1500產生精確時間方法

    精確納秒的時間位數很長(從1970-1-1開始計算),是無法被32位整數容納的,因此,此處僅計算其相對時間。起始時間"timeMeasur
    的頭像 發表于 05-12 16:25 ?1488次閱讀
    西門子S7-1500產生<b class='flag-5'>精確</b><b class='flag-5'>時間</b><b class='flag-5'>戳</b>的<b class='flag-5'>方法</b>
    主站蜘蛛池模板: 在线国产你懂的 | 日a在线 | 国产福利影视 | 欧美成人精品一区二区 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片图片 | 99精品免费视频 | 韩国理伦片在线观看2828 | 丁香五六月婷婷 | 一级片在线免费看 | 成人18毛片 | 一区二区影院 | 包你爽综合网 | 国产玖玖| 91精品国产亚洲爽啪在线影院 | 美女一级牲交毛片视频 | 欧美一级高清免费播放 | 韩国三级hd中文字幕 | 在线观看视频高清视频 | 香蕉久久高清国产精品免费 | www奇米影视com | 免费啪 | 天堂在线免费 | 天堂在线影院 | 啪啪激情综合 | 亚洲国产成人久久三区 | 日产国产精品亚洲系列 | 羞羞色男人的天堂伊人久久 | 五月激情六月婷婷 | 嘿嘿嘿视频在线观看 | 狠狠操狠狠摸 | 在线看片一区 | 伊人久久成人爱综合网 | 67pao强力打造 | 亚洲综合色婷婷中文字幕 | 日本黄黄 | 色综合天天综合网国产成人网 | 四色成人网 | 特级淫片aaaaa片毛片 | 人人爽人人干 | 四虎最新网址在线观看 | 在线观看午夜 |