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