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