怎樣讀和寫S7-214的實(shí)時(shí)時(shí)鐘
***概述***
---- 這個(gè)程序示例涉及到關(guān)于實(shí)時(shí)時(shí)鐘的兩種特殊指令:讀和寫日期及時(shí)鐘時(shí)間。
---- 為了進(jìn)行這些操作,需要有如下結(jié)構(gòu)的8字節(jié)緩沖區(qū):
---- 字節(jié)0: 年(00-99) 字節(jié)4: 分(00-59)
---- 字節(jié)1: 月(1-12) 字節(jié)5: 秒(00-59)
---- 字節(jié)2: 日(1-31) 字節(jié)6: 未分配
---- 字節(jié)3: 時(shí)(00-24) 字節(jié)7: 星期(1-7=Su-Sa)
---- 為了讀或?qū)懛奖?,這些數(shù)據(jù)用BCD碼存儲。當(dāng)操作開關(guān)I0.0為1時(shí),就將預(yù)定日期和時(shí)間寫入實(shí)時(shí)時(shí)鐘。為了顯示當(dāng)前的秒值,將其值拷貝到輸出字節(jié)QB0.當(dāng)I0.1=1時(shí),則用BCD碼顯示;當(dāng)I0.1=0時(shí),則用二進(jìn)制碼顯示。
***程序和注釋***
---- 通過按輸入開關(guān)I0.0,可調(diào)用子程序0。這個(gè)子程序按照要求的時(shí)間和日期,預(yù)先將其值置入VB100到VB107這8個(gè)字節(jié),然后用TODW指令,將此設(shè)置傳送給實(shí)時(shí)時(shí)鐘
---- 每個(gè)周期都讀出實(shí)時(shí)時(shí)鐘的值,這些數(shù)據(jù)以BCD碼形式(4位代表0-9的數(shù)字)存儲在VB400到VB407這8個(gè)字節(jié)中。如果輸入I0.1為1,這些值就被直接拷貝到輸出字節(jié)QB0,以供顯示。
---- 如果輸入開關(guān)I0.1為0,將數(shù)據(jù)從VW404拷貝到VW204,再將包含分鐘值的VW204清零。這一步是必須的,因?yàn)榘衙胫祻腂CD碼的形式轉(zhuǎn)換成二進(jìn)制碼的形式,只能按字來轉(zhuǎn)換現(xiàn)時(shí)的二進(jìn)制碼的秒值被傳輸?shù)捷敵鲎止?jié)QB0,以供顯示。
具體程序(有詳細(xì)中文注釋)可以下載直接調(diào)試:tip0008.zip(6.27KB)
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。