加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子PLC S7-1500產生jingque時間戳及各種數據處理的方法
        發布時間: 2024-01-11 14:42 更新時間: 2024-11-23 08:00
        觀看西門子PLC S7-1500產生jingque時間戳及各種數據處理的方法視頻

        1、完整程序

        2、將時鐘轉換成整型數

        3、獲取相對時間

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

        5、翻轉的問題

        6、有時間戳采集時的對時機制


        在數據采集時,精準的相對時間是非常重要的。尤其是高速采集時,上位機的軟件(尤其是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位無符號整數的Zui大值是4_294_967_295,大概1.2小時就會溢出而自然翻轉到0,因此,caijiruanjian必須注意處理翻轉的問題。

        圖片


        PART 06有時間戳采集時的對時機制


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


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

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415