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