網(wǎng)站首頁知識問答 >正文
文章目錄[隱藏]
步驟1:配置確認第二步:數(shù)據(jù)技術(shù)分析。第三步:西門子方技術(shù)PLC經(jīng)常使用的時間格式時間;一天中的時間;天;日期和時間;很多人只會賦值,不懂存儲機制。所以當數(shù)據(jù)相互轉(zhuǎn)換,需要在不同設(shè)備之間傳遞時間參數(shù)時,就會出現(xiàn)一個無法解決的問題。我遇到過這個問題。我的北服PLC需要發(fā)送日_時_日期數(shù)據(jù)給西門子PLC,只能字節(jié)傳輸,我沒辦法。讓我一步一步來解決這個問題。
步驟1:配置確認北孚plc與西門子Profibus模塊的通信和數(shù)據(jù)交換。配置中只有字節(jié)選項,如下圖所示。選擇了64字節(jié)的輸入輸出接口,數(shù)據(jù)只能通過BYTE傳輸,然后轉(zhuǎn)換成需要的日期數(shù)據(jù)。
我們需要在項目中傳輸四個時間和日期數(shù)據(jù),TIME;一天中的時間;天;日期和時間;下面逐一分析列舉:
時間的類型是時間數(shù)據(jù),最小單位是1毫秒。格式為:T# xx d xx h xx m xx s xx ms其中:T表示時間常數(shù)的開始,#表示它后面的立即數(shù),D表示天,H表示小時,M表示分鐘,S表示秒,ms表示毫秒。例如,T#1d2h3m4s500ms表示1天2小時3分4秒500ms。
如下圖寫一個模擬程序:將時間存儲在DWORD中,看看每個字節(jié)是怎么顯示的。如下面的程序所示,time類型不能直接賦給DWORD,所以需要指示TIME_TO_DWORD進行轉(zhuǎn)換。
讓程序運行,給tTime賦值1分鐘,如下圖所示。存儲在DWORD數(shù)據(jù)結(jié)構(gòu)dwTime中的32位十六進制數(shù)是000EA60轉(zhuǎn)換成十進制的數(shù)是60000,1分鐘I輸入是60000毫秒,所以dwTime中存儲的數(shù)是tTIME的最小單位。在項目中,可以將32位十六進制數(shù)000EA 60發(fā)送到西門子模塊,西門子可以將其轉(zhuǎn)換為時間。
總結(jié)1分鐘的數(shù)據(jù)存儲結(jié)構(gòu)如下:
一天中的時間類型是一天中的時間。時間的起始時間為12:00AM,最小單位為1ms。時間數(shù)據(jù)的格式是:TOD#HH:mm:ss。其中:TOD表示時間常數(shù)的開始,#表示它后面的數(shù)字,HH表示小時,mm表示分鐘,ss表示秒。如TOD # 13: 30: 30,表示13: 30: 30。
如下圖寫一個模擬程序:將時間存儲在DWORD中,看看每個字節(jié)是怎么顯示的。如下程序所示,時間類型不能直接賦給DWORD,需要指示TOD_TO_DWORD進行轉(zhuǎn)換。
讓程序運行,并為todTime賦值1: 00,如下圖所示。存儲在DWORD數(shù)據(jù)結(jié)構(gòu)dwTime中的32位十六進制數(shù)是0036EE80十進制數(shù)是3600000,我輸入的1: 00比12: 00的起始時間長1小時,也就是3600000ms,所以dwTime中存儲的數(shù)是tTIME的最小單位。在項目中,可以將32位十六進制數(shù)00 36 EE 80發(fā)送到西門子模塊,西門子可以將其轉(zhuǎn)換為時間。
將1: 00時的數(shù)據(jù)存儲結(jié)構(gòu)總結(jié)如下:
日期的類型是DATE,最小單位是秒,起始時間是1970年1月1日。數(shù)據(jù)類型的格式為:日期#YY-MM-DD。其中:DATE表示日期常數(shù)的開始,#表示它后面的數(shù)字,YY表示年,MM表示月,DD表示日。例如,日期#1970-1-2表示1970年1月2日。
如下圖寫一個模擬程序:將時間存儲在DWORD中,看看每個字節(jié)是怎么顯示的。如下面的程序所示,時間類型不能直接賦給DWORD,所以需要指示DATE_TO_DWORD進行轉(zhuǎn)換。
讓程序運行并將值1970-01-02賦給dTime,如下圖所示。存儲在DWORD數(shù)據(jù)結(jié)構(gòu)dwTime中的32位十六進制數(shù)是00 01 51 80;十進制數(shù)是86400,我輸入的1970-01-02比1970-01-01的起始時間大一天,最小單位是S,也就是86400s,所以dwTime中存儲的數(shù)是dTIME的最小單位。在項目中,可以將32位十六進制數(shù)00 01 51 80發(fā)送到西門子模塊,西門子可以將其轉(zhuǎn)換為時間。
將1970年1月2日的數(shù)據(jù)存儲結(jié)構(gòu)總結(jié)如下:
DATE_AND_TIME類型是日期和時間組合的數(shù)據(jù),最小單位是秒,起始時間是1970年1月1日上午12:00。數(shù)據(jù)格式為DT#YY-MM-DD-HH:mm:ss。其中:DT表示日期和時間常數(shù)的開始,#表示它后面的數(shù)字,YY表示年,mm表示月,DD表示日,HH表示小時,MM表示分,ss表示秒。如1970-1-2-13: 30: 30,表示1970年1月2日13: 30: 30。
如下圖寫一個模擬程序:將時間存儲在DWORD中,看看每個字節(jié)是怎么顯示的。如下程序所示,時間類型不能直接賦給DWORD,所以需要指示DT_TO_DWORD進行轉(zhuǎn)換。
讓程序運行,并給datTime賦值1970-01-02-00: 01,如下所示。存儲在DWORD數(shù)據(jù)結(jié)構(gòu)dwTime中的32位十六進制數(shù)是00 01 51 BC;十進制數(shù)是86460,我輸入的1970-01-02-00: 01比1970-01-01的起始時間長一天一分鐘,最小單位是S,也就是86460s,所以dwTime中存儲的數(shù)是dTIME的最小單位。在項目中,可以將32位十六進制數(shù)00 01 51 BC發(fā)送到西門子模塊,西門子可以將其轉(zhuǎn)換為時間。
將1970-01-02-00:01的數(shù)據(jù)存儲結(jié)構(gòu)總結(jié)如下:
西門子的數(shù)據(jù)結(jié)構(gòu)和Codesys平臺的數(shù)據(jù)結(jié)構(gòu)有些不同。比如DATE_AND_TIME的數(shù)據(jù)結(jié)構(gòu)如下圖所示,轉(zhuǎn)換時要注意。這里就不說西門子了,以后再單獨寫西門子的數(shù)據(jù)結(jié)構(gòu)。
最后,時間和日期的數(shù)據(jù)結(jié)構(gòu)在這里也學(xué)得差不多了。不同類型的設(shè)備是相似的,有相同的原理。西門子的上述數(shù)據(jù)結(jié)構(gòu)不同,原理相同,只是劃分了不同的字節(jié)來存儲不同的數(shù)據(jù)。如果你有任何問題,請在評論區(qū)問我。
目前上述的內(nèi)容應(yīng)該能夠為大家解答出大家對于h是什么意思(h單位是小時嗎)的疑惑了,所以如果大家還想要了解更多的知識內(nèi)容,也可以關(guān)注本站其他文章進行了解哦。
版權(quán)說明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!
- 上一篇:今日更新選好的斗母雞的方法
- 下一篇:最后一頁
猜你喜歡:
- 2022-06-25今日更新選好的斗母雞的方法
- 2022-06-25今日更新酸牛奶什么時候喝最好(女人喝酸奶對皮膚好嗎)
- 2022-06-25今日更新為什么會便秘(為什么喝鹽水就馬上要大便)
- 2022-06-25今日更新縣長什么級別(縣長是廳級還是正處級)
- 2022-06-25今日更新甜不辣是什么(甜不辣是哪里的特產(chǎn))
- 2022-06-25今日更新bhd是什么格式(視頻格式轉(zhuǎn)換器哪個沒有水印)
- 2022-06-25今日更新新年心愿的句子示例
最新文章:
- 2022-06-25今日更新選好的斗母雞的方法
- 2022-06-25今日更新酸牛奶什么時候喝最好(女人喝酸奶對皮膚好嗎)
- 2022-06-25今日更新為什么會便秘(為什么喝鹽水就馬上要大便)
- 2022-06-25今日更新縣長什么級別(縣長是廳級還是正處級)
- 2022-06-25什么是融合通信檢測(什么是融合計費)
- 2022-06-25今日更新甜不辣是什么(甜不辣是哪里的特產(chǎn))
- 2022-06-25今日更新bhd是什么格式(視頻格式轉(zhuǎn)換器哪個沒有水印)
- 2022-06-25今日更新新年心愿的句子示例
- 2022-06-25今日更新韓國有什么特產(chǎn)(韓國生活水平怎么樣)
- 2022-06-25今日更新什么水果止咳化痰(柚子可以止咳化痰)
- 2022-06-25蘋果手機怎么打開照相機網(wǎng)格線(iphone蘋果手機照相機怎么設(shè)置打開網(wǎng)格線)
- 2022-06-25今日更新高層槽鋼層有什么作用
- 2022-06-25今日更新抑郁癥吃什么藥好(輕度抑郁癥吃藥多久才能好)
- 2022-06-25街頭籃球運球能力值(街頭籃球 運動項目)
- 2022-06-255566的成員及現(xiàn)狀(5566成員的所有資料)
- 熱點推薦
- 熱評文章