有關(guan) 西門子S7-200的編程例子,時鍾指令在自動化控製中經常用到,比如交通信號燈、路燈等,以下是西門子S7-200係列PLC實例中時鍾指令的入門教程,一起來看下。
西門子S7-200時鍾指令用法
以一個(ge) 路燈程序為(wei) 例,來學習(xi) 下時鍾指令的用法。
1、設計要求
這裏要用到“時鍾”指令,時鍾指令有分為(wei) READ和SET兩(liang) 種,指令說明如下:
(1)讀取實時時鍾指令:從(cong) 硬件時鍾讀取當前時間和日期,並將其載入以地址T起始的8個(ge) 字節的時間緩衝(chong) 區。
(2)設置實時時鍾指令:將當前時間和日期寫(xie) 入用T指定的8個(ge) 字節的時間緩衝(chong) 區開始的硬件時鍾。
先來打開程序,找到“時鍾指令”:
8個(ge) 字節時間緩衝(chong) 區格式(T)
T字節 說明 字節數據
0 年(0-99) 當前年份(BCD值)
1 月(1-12) 當前月份(BCD值)
2 日期(1-31) 當前日期(BCD值)
3 小時(0-23) 當前小時(BCD值)
4 分鍾(0-59) 當前分鍾(BCD值)
5 秒(0-59) 當前秒(BCD值)
6 00 保留-始終設置為(wei) 00
7 星期幾(1-7) 當前是星期幾,1=星期日(BCD值)
為(wei) 什麽(me) 1=星期日,可以看下自己的電腦的日期和時間,會(hui) 發現“星期日”是日期統計中的第一列,這也是與(yu) 係統日期、時間的配列規律相一致的。
選擇變量存儲(chu) 區的字節數據類型,從(cong) 0開始。則讀取“小時”數據,則是從(cong) VB3中讀取。
2、完成指令設置後,給PLC設置時鍾:
在確保電腦聯網的情況下,運用電腦上的時間給PLC加上實時的時間:
然後在點擊“狀態監控”的情況下,來看下VB0-VB7的數據值:
可見當前值除了有一個(ge) 秒的位置,在實時變化之外,而其他數據值都與(yu) 實際值不符。原因在於(yu) 這裏顯示的數據,都是基於(yu) BCD碼的。先來重溫下BCD、二進製以及16進製的關(guan) 係:
為(wei) 什麽(me) 明明是21年,卻變成了+33?
來看下這個(ge) 操作:把“有符號”改成“二進製”,變化後的符號親(qin) 切了不少,比如VB0的“0010_0001”,分成兩(liang) 位,分別不就是2_1麽(me) ?合起來,就是21(年)了?
確實是這樣的。這裏選擇的“有符號”就是用BCD碼形式表示,而BCD碼如何轉換成二進製,需要根據以前學習(xi) 的內(nei) 容來思考下。