解決兩個(gè)問(wèn)題:一是西門子PLC S7-200 SMART主模塊內(nèi)的時(shí)鐘如何在程序中讀寫,二是BCD碼及轉(zhuǎn)換。 先說(shuō)BCD碼,簡(jiǎn)單來(lái)說(shuō)BCD碼是用用4位二進(jìn)制數(shù)來(lái)表示1位十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)碼。舉個(gè)例子,一位十進(jìn)制數(shù)“9”的二進(jìn)制BCD碼是“1001”,兩位十進(jìn)制數(shù)“99"的BCD二進(jìn)制碼是“10011001”。這個(gè)二進(jìn)制數(shù)如果直接轉(zhuǎn)化為十進(jìn)制是“153”,但是如果是BCD碼,就表示“99”。和四位自然二進(jìn)制碼不同的是,它只選用了四位二進(jìn)制碼中前10組代碼,即用0000~1001分別代表它所對(duì)應(yīng)的十進(jìn)制數(shù),余下的六組代碼不用。 然后再說(shuō)怎么讀寫PLC的時(shí)鐘,有兩條指令。下圖給出了這兩條指令
READ_RTC指令會(huì)把PLC的內(nèi)部時(shí)鐘讀出來(lái),以BCD碼的形式,存放在T參數(shù)指定存儲(chǔ)單元開(kāi)始的8個(gè)字節(jié)內(nèi),圖上是從VB100開(kāi)始的8個(gè)存儲(chǔ)單元內(nèi),具體內(nèi)容如下圖。 SET_RTC指令會(huì)把從T參數(shù)指定的存儲(chǔ)單元開(kāi)始的8個(gè)字節(jié)內(nèi)的值寫入到PLC的內(nèi)部時(shí)鐘,具體內(nèi)容如下圖。我們要把要時(shí)鐘值,以BCD碼形式,先存儲(chǔ)到這8個(gè)字節(jié)內(nèi),上圖指令中是從VB1000開(kāi)始的8個(gè)字節(jié)。
比如今天是2020年02月19日星期三,讀取出來(lái)時(shí)鐘后,如果T=VB100,那么VB100開(kāi)始的前三個(gè)字節(jié)的值用十進(jìn)制表示依次是:32,02,25, (分別是20,02,19的BCD碼)。表示星期的VB107內(nèi)的值用十進(jìn)制表示為04,也就是星期三。
審核編輯:郭婷
-
plc
+關(guān)注
關(guān)注
5007文章
13109瀏覽量
461477 -
西門子
+關(guān)注
關(guān)注
93文章
2996瀏覽量
115496
原文標(biāo)題:西門子PLC S7-200 SMART 時(shí)鐘如何在程序中讀寫,BCD碼及轉(zhuǎn)換
文章出處:【微信號(hào):電子技術(shù)控,微信公眾號(hào):電子技術(shù)控】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論