Clock_Integer 指令庫及其使用
使用 S7-200 SMART的 READ_RTC(讀取實(shí)時(shí)時(shí)鐘)和 SET_RTC(設(shè)置實(shí)時(shí)時(shí)鐘)指令時(shí), 讀取和設(shè)置的數(shù)據(jù)格式都是 BCD 碼的。如果覺得不便計(jì)算、處理,可使用 Clock Integer 指令庫。
Clock_Integer 指令庫用于將 BCD 碼格式的 S7-200 SMART日期、時(shí)間轉(zhuǎn)換為十進(jìn)制整數(shù)格式,以及將十進(jìn)制整數(shù)格式的日期、時(shí)間值設(shè)定為 S7-200 SMART時(shí)鐘。
注意:此指令庫/程序的作者和擁有者對(duì)于該軟件的功能性和兼容性不負(fù)任何責(zé)任。使用該軟件的風(fēng)險(xiǎn)完全由用戶自行承擔(dān)。由于它是免費(fèi)的,所以不提供任何擔(dān)保,錯(cuò)誤糾正和熱線支持,用戶不必為此聯(lián)系西門子技術(shù)支持與服務(wù)部門。
要使用 Clock_Integer 指令庫,須遵循下列步驟:
- 取得 Clock_Integer 指令庫文件,并添加到編程軟件 STEP 7-Micro/WIN SMART中;
- 按照要求編寫用戶程序調(diào)用 Clock_Integer 指令庫。
添加 Clock_Integer 指令庫
Clock_Integer 指令庫
程序下載掃碼關(guān)注公眾號(hào)菜單欄回復(fù):991
點(diǎn)擊上面的鏈接下載 Clock_Integer 指令庫到本地計(jì)算機(jī)硬盤, 然后將指令庫庫手動(dòng)添加到STEP 7 Micro/WIN SMART軟件中。
成功添加指令庫后,用戶可以在STEP7 Micro/win的指令樹中找到‘Clock_Integer (v1.1)'
圖1.Clock_Integer 庫
Clock_Integer 指令庫編程應(yīng)用 - 讀取系統(tǒng)時(shí)鐘
1、調(diào)用 READ_RTC_I,讀取 PLC 時(shí)鐘 ,并將其轉(zhuǎn)換為十進(jìn)制整數(shù)格式 :
圖 2. READ_RTC_I
表 1. READ_RTC_I參數(shù)
參數(shù) | 數(shù)據(jù)類型 | 注釋 |
---|---|---|
EN | BOOL | 信號(hào)為‘1’時(shí)激活庫指令 |
Address | DWORD | 起始偏移地址,轉(zhuǎn)換為十進(jìn)制格式的 PLC 時(shí)鐘被保存在以此地址為起始地址的 8 個(gè)字節(jié)中 |
2、分配庫存儲(chǔ)區(qū):
調(diào)用指令 READ_RTC_I 或 SET_RTC_I 后,必須定義 8個(gè)字節(jié)的 V 存儲(chǔ)區(qū)為庫存儲(chǔ)區(qū),庫存儲(chǔ)區(qū)分配過程如圖3. 所示。
圖 3. 分配庫存儲(chǔ)區(qū)
注意:庫存儲(chǔ)區(qū)分配地址不能與程序中其他部分使用的地址重疊!
表2. 字節(jié)時(shí)間緩沖區(qū)的格式
Address | 年 |
---|---|
Address+1 | 月 |
Address+2 | 日 |
Address+3 | 小時(shí) |
Address+4 | 分鐘 |
Address+5 | 秒 |
Address+6 | 保留 |
Address+7 | 星期(1) |
(1) 1 = 星期天;7 = 星期日;0 = 禁止星期
如圖 2 所示,當(dāng) V50.0 為 ‘1’ 時(shí),轉(zhuǎn)換后的實(shí)時(shí)時(shí)鐘被存儲(chǔ)在 VB10 至 VB17 中。
注意:此指令庫讀取的整數(shù)格式時(shí)鐘數(shù)據(jù)以連續(xù)字節(jié)的形式保存,而后續(xù)的整數(shù)運(yùn)算需要一個(gè)字(兩個(gè)字節(jié))長度的數(shù)據(jù)。編程時(shí)要注意這一點(diǎn)。
Clock_Integer 指令庫編程應(yīng)用 - 設(shè)置系統(tǒng)時(shí)鐘
1、調(diào)用 SET_RTC_I,將以十進(jìn)制整數(shù)格式存儲(chǔ)的日期時(shí)間設(shè)定為 PLC 時(shí)鐘
圖4.SET_RTC_I
參數(shù) | 數(shù)據(jù)類型 | 注釋 |
---|---|---|
EN | BOOL | 信號(hào)為‘1’時(shí)激活庫指令 |
Address | DWORD | 起始偏移地址,以此地址為起始地址的 8 個(gè)字節(jié)中,應(yīng)已經(jīng)存儲(chǔ)著用戶時(shí)間數(shù)據(jù) |
表 3. SET_RTC_I 參數(shù)
8 字節(jié)時(shí)間緩沖區(qū)的格式同表 2。
2、分配庫存儲(chǔ)區(qū):
調(diào)用指令 READ_RTC_I 或 SET_RTC_I 后,必須定義 8 個(gè)字節(jié)的 V 存儲(chǔ)區(qū)為庫存儲(chǔ)區(qū)。
Clock_Integer 指令庫應(yīng)用例程
Clock_Integer 指令庫例子程序
程序下載掃碼關(guān)注公眾號(hào)菜單欄回復(fù):991
注意:此指令庫/程序的作者和擁有者對(duì)于該軟件的功能性和兼容性不負(fù)任何責(zé)任。使用該軟件的風(fēng)險(xiǎn)完全由用戶自行承擔(dān)。由于它是免費(fèi)的,所以不提供任何擔(dān)保。
注意:
- 在使用 ‘SET_RTC_I’ 設(shè)定 PLC 時(shí)鐘時(shí),被設(shè)定的時(shí)間必須有實(shí)際意義,否則設(shè)定操作不能成功完成。例如: 不能將月份設(shè)為 13,或者將分鐘設(shè)為 61 等。
- Address 端必須輸入地址指針,如:&VB10,&VB20;或者為雙字地址,如:VD100,MD10,AC0等,在該地址中存有地址。
常問問題:
Clock_Integer 指令庫和STEP 7 Micro/WIN SMART指令樹中的讀、寫實(shí)時(shí)時(shí)鐘指令有什么不同?
Clock_Integer 指令庫讀出或?qū)懭氲?PLC 時(shí)鐘是以十進(jìn)制整數(shù)格式存儲(chǔ);而讀、寫實(shí)時(shí)時(shí)鐘指令讀出或?qū)懭氲?PLC 時(shí)鐘為 BCD 碼格式。