西門子CPU224XP模塊6ES7214-2BD23-0xB8 |
Clock_Integer 指令庫(kù)及其使用
使用 S7-200 的 READ_RTC(讀取實(shí)時(shí)時(shí)鐘)和 SET_RTC(設(shè)置實(shí)時(shí)時(shí)鐘)指令時(shí), 讀取和設(shè)置的數(shù)據(jù)格式都是 BCD 碼的。如果覺(jué)得不便計(jì)算、處理,可使用 Clock Integer 指令庫(kù)。
Clock_Integer 指令庫(kù)用于將 BCD 碼格式的 S7-200 日期、時(shí)間轉(zhuǎn)換為十進(jìn)制整數(shù)格式,以及將十進(jìn)制整數(shù)格式的日期、時(shí)間值設(shè)定為 S7-200 時(shí)鐘。
注意:此指令庫(kù)/程序的作者和擁有者對(duì)于該軟件的功能性和兼容性不負(fù)任何責(zé)任。使用該軟件的風(fēng)險(xiǎn)*由用戶自行承擔(dān)。由于它是免費(fèi)的,所以不提供任何擔(dān)保,錯(cuò)誤糾正和支持,用戶不必為此西門子與服務(wù)部門。
要使用 Clock_Integer 指令庫(kù),須遵循下列步驟:
- 取得 Clock_Integer 指令庫(kù)文件,并添加到編程軟件 STEP 7-Micro/WIN 中;
- 按照要求編寫用戶程序調(diào)用 Clock_Integer 指令庫(kù)。
添加 Clock_Integer 指令庫(kù)
Clock_Integer 指令庫(kù)
點(diǎn)擊上面的鏈接下載 Clock_Integer 指令庫(kù)到本地計(jì)算機(jī)硬盤,建議保存在 Micro/WIN 安裝目錄的 Lib 文件夾中。以下是一個(gè)完整路徑的例子:
C:Program FilesSiemensSTEP 7-Micro/WIN V4.0Lib
然后將指令庫(kù)庫(kù)手動(dòng)添加到 Micro/WIN 軟件中。
參見(jiàn)添加指令庫(kù)。
成功添加指令庫(kù)后,用戶可以在STEP7 Micro/win的指令樹(shù)中找到‘Clock_Integer (v1.0)'
圖1.Clock_Integer 庫(kù)
Clock_Integer 指令庫(kù)編程應(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í)激活庫(kù)指令 |
Address | DWORD | 起始偏移地址,轉(zhuǎn)換為十進(jìn)制格式的 PLC 時(shí)鐘被保存在以此地址為起始地址的 8 個(gè)字節(jié)中 |
2、分配庫(kù)存儲(chǔ)區(qū):
調(diào)用指令 READ_RTC_I 或 SET_RTC_I 后,必須定義 8 位(一個(gè)字節(jié))的 V 存儲(chǔ)區(qū)為庫(kù)存儲(chǔ)區(qū)。
參考:分配庫(kù)指令數(shù)據(jù)區(qū)
表2. 8 字節(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 中。
在狀態(tài)表中用戶可以看到:
圖3.狀態(tài)表
可以看出,此時(shí)的 PLC 時(shí)鐘為: 2006 年 4 月 6 日,23 時(shí) 48 分 1 秒,星期四。
注意:此指令庫(kù)讀取的整數(shù)格式時(shí)鐘數(shù)據(jù)以連續(xù)字節(jié)的形式保存,而后續(xù)的整數(shù)運(yùn)算需要一個(gè)字(兩個(gè)字節(jié))長(zhǎng)度的數(shù)據(jù)。編程時(shí)要注意這一點(diǎn)。
Clock_Integer 指令庫(kù)編程應(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í)激活庫(kù)指令 |
Address | DWORD | 起始偏移地址,以此地址為起始地址的 8 個(gè)字節(jié)中,應(yīng)已經(jīng)存儲(chǔ)著用戶時(shí)間數(shù)據(jù) |
表 3. SET_RTC_I 參數(shù)
8 字節(jié)時(shí)間緩沖區(qū)的格式同表 2。
2、分配庫(kù)存儲(chǔ)區(qū):
調(diào)用指令 READ_RTC_I 或 SET_RTC_I 后,必須定義 8 位(一個(gè)字節(jié))的 V 存儲(chǔ)區(qū)為庫(kù)存儲(chǔ)區(qū)。
參考:分配庫(kù)指令數(shù)據(jù)區(qū)
Clock_Integer 指令庫(kù)應(yīng)用例程
Clock_Integer 指令庫(kù)例子程序
注意:該例程必須使用 Micro/WIN V4.0 SP3 或以上版本軟件打開(kāi)。
注意:此指令庫(kù)/程序的作者和擁有者對(duì)于該軟件的功能性和兼容性不負(fù)任何責(zé)任。使用該軟件的風(fēng)險(xiǎn)*由用戶自行承擔(dān)。由于它是免費(fèi)的,所以不提供任何擔(dān)保,錯(cuò)誤糾正和支持,用戶不必為此西門子與服務(wù)部門。
注意:
- CPU221、CPU222 沒(méi)有內(nèi)置的實(shí)時(shí)時(shí)鐘,需要外插“時(shí)鐘/電池卡”才能獲得此功能。
- 只有 STEP7 Micro/Win V3.2+SP4 和 V4.0 版本才支持使用該指令庫(kù)。
- 在使用 ‘SET_RTC_I’ 設(shè)定 PLC 時(shí)鐘時(shí),被設(shè)定的時(shí)間必須有實(shí)際意義,否則設(shè)定操作不能成功完成。例如: 不能將月份設(shè)為 13,或者將分鐘設(shè)為 61 等。
- Address 端必須輸入地址指針,如:&VB10,&VB20;或者為雙字地址,如:VD100,MD10,AC0等,在該地址中存有地址。
西門子CPU224XP模塊6ES7214-2BD23-0xB8 |