(1)時鐘指令的認(rèn)識
西門子S7-200SMART時鐘指令分為設(shè)置時鐘和讀取時鐘兩類,通過設(shè)置時鐘指令可對CPU的系統(tǒng)時鐘進(jìn)行修改而通過讀取時鐘指令可讀取CPU的系統(tǒng)時鐘,時鐘指令分為讀取和設(shè)置時鐘指令與讀取和設(shè)置擴(kuò)展時鐘指令,如圖1所示。
圖1:時鐘指令(左側(cè)為讀取時鐘指令,右側(cè)為設(shè)置時鐘指令)
①讀取時鐘指令:當(dāng)指令EN端條件滿足時讀取實時時鐘指令從CPU 讀取當(dāng)前時間和日期,并將其裝載到從字節(jié)地址T 開始的 8字節(jié)時間緩沖區(qū)中。
②設(shè)置時鐘指令:設(shè)置實時時鐘指令通過由T 分配的 8字節(jié)時間緩沖區(qū)數(shù)據(jù)將新的時間和日期寫入到CPU。
需要注意的是讀取出來的值和需要設(shè)定的值均需要進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換才行。
(2)時鐘指令存儲區(qū)格式說明
所有日期和時間值必須采用BCD格式(BCD碼通俗的說法是用16進(jìn)制的形式來表示2進(jìn)制數(shù))分配(例如,16#12 代表2012年)。00至99的BCD值范圍可分配范圍為2000至2099的年份;時間緩沖區(qū)如圖2所示。
圖2
時鐘指令的管腳T就是緩沖區(qū)的起始字節(jié)地址,可以由用戶自由設(shè)置(在CPU允許的V存儲區(qū)范圍內(nèi))。如果設(shè)置T為VB10,那么讀取時鐘后,“年”的信息就會保存在VB10中,“月”保存在VB11中。
二、時鐘指令應(yīng)用
接下來我們通過一個簡單的應(yīng)用示例來充分理解時鐘指令;要求讀取CPU實時時間顯示在上位機(jī)上,同時還可以在上位機(jī)上設(shè)定CPU時間。讀取時間如圖3所示。
圖3:時鐘讀取
調(diào)用時鐘讀取指令并以系統(tǒng)時鐘SM0.5觸發(fā),由于讀取出來的均是BCD碼,因此需要通過轉(zhuǎn)換指令進(jìn)行轉(zhuǎn)換過后才是最終的日期時間。
另外還需要進(jìn)行時間的設(shè)定,由于我們需要在上位機(jī)上進(jìn)行時間的設(shè)定,考慮到設(shè)定的數(shù)據(jù)格式依然是BCD碼,但是上位機(jī)上通常使用的是十進(jìn)制數(shù),因此我們同樣需要進(jìn)行轉(zhuǎn)換之后,再使用其設(shè)定地址的低字節(jié)進(jìn)行傳送至各個字節(jié)地址中,如圖4所示。
圖4:設(shè)定時鐘
三、結(jié)語
通過本示例的分享,相信大家已經(jīng)掌握了其基本的使用。下面為大家分享關(guān)于時鐘指令的幾點需要注意的:
(1)進(jìn)行時鐘的設(shè)定時,只需要導(dǎo)通一個周期即可把設(shè)定值寫入。不能一直導(dǎo)通EN端,否則讀取時鐘指令的時間將會有錯誤。
(2)調(diào)用時鐘指令時需要在EN位中使用SM0.5系統(tǒng)時鐘進(jìn)行調(diào)用。
(3)時鐘指令需要使用連續(xù)的8個字節(jié)作為時間緩沖區(qū)的存儲,其中緩沖區(qū)中的第6個字節(jié)為保留,并且這連續(xù)的8個字節(jié)不能和其他存儲區(qū)重復(fù)使用。
(4)除了通過令設(shè)定時鐘之外,還可以通過編程軟件Micro/WIN SMART 設(shè)置CPU 的時鐘,必須先建立編程通信連接。在Micro/WIN SMART 菜單中選擇“PLC“→”設(shè)置實時時鐘”,打開“PLC時鐘操作”對話框進(jìn)行設(shè)定。
(5)S7-200SMART CPU靠內(nèi)置超級電容為實時時鐘提供電源緩沖,保持時間為典型值7天,最小值6天。緩沖電源放電完畢后,再次上電后時鐘將停止在缺省值,并不開始走動,所以如果設(shè)備停電時間超過一周時,需要添加電池信號板,電池板的時鐘保持時間約為1年。
審核編輯:郭婷
-
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211778 -
西門子
+關(guān)注
關(guān)注
94文章
3039瀏覽量
115881
原文標(biāo)題:S7-200SMART時鐘指令如何正確應(yīng)用?資深工程師詳解
文章出處:【微信號:玩轉(zhuǎn)PLC工業(yè)機(jī)器人,微信公眾號:玩轉(zhuǎn)PLC工業(yè)機(jī)器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論