有關(guān)西門子S7-200的編程例子,時鐘指令在自動化控制中經(jīng)常用到,比如交通信號燈、路燈等,以下是西門子S7-200系列PLC實例中時鐘指令的入門教程,一起來看下。
西門子S7-200時鐘指令用法
以一個路燈程序為例,來學(xué)習(xí)下時鐘指令的用法。
1、設(shè)計要求
這里要用到“時鐘”指令,時鐘指令有分為READ和SET兩種,指令說明如下:
(1)讀取實時時鐘指令:從硬件時鐘讀取當(dāng)前時間和日期,并將其載入以地址T起始的8個字節(jié)的時間緩沖區(qū)。
(2)設(shè)置實時時鐘指令:將當(dāng)前時間和日期寫入用T指定的8個字節(jié)的時間緩沖區(qū)開始的硬件時鐘。
先來打開程序,找到“時鐘指令”:
8個字節(jié)時間緩沖區(qū)格式(T)
T字節(jié) 說明 字節(jié)數(shù)據(jù)
0 年(0-99) 當(dāng)前年份(BCD值)
1 月(1-12) 當(dāng)前月份(BCD值)
2 日期(1-31) 當(dāng)前日期(BCD值)
3 小時(0-23) 當(dāng)前小時(BCD值)
4 分鐘(0-59) 當(dāng)前分鐘(BCD值)
5 秒(0-59) 當(dāng)前秒(BCD值)
6 00 保留-始終設(shè)置為00
7 星期幾(1-7) 當(dāng)前是星期幾,1=星期日(BCD值)
為什么1=星期日,可以看下自己的電腦的日期和時間,會發(fā)現(xiàn)“星期日”是日期統(tǒng)計中的第一列,這也是與系統(tǒng)日期、時間的配列規(guī)律相一致的。
選擇變量存儲區(qū)的字節(jié)數(shù)據(jù)類型,從0開始。則讀取“小時”數(shù)據(jù),則是從VB3中讀取。
2、完成指令設(shè)置后,給PLC設(shè)置時鐘:
在確保電腦聯(lián)網(wǎng)的情況下,運(yùn)用電腦上的時間給PLC加上實時的時間:
然后在點(diǎn)擊“狀態(tài)監(jiān)控”的情況下,來看下VB0-VB7的數(shù)據(jù)值:
可見當(dāng)前值除了有一個秒的位置,在實時變化之外,而其他數(shù)據(jù)值都與實際值不符。原因在于這里顯示的數(shù)據(jù),都是基于BCD碼的。先來重溫下BCD、二進(jìn)制以及16進(jìn)制的關(guān)系:
為什么明明是21年,卻變成了+33?
來看下這個操作:把“有符號”改成“二進(jìn)制”,變化后的符號親切了不少,比如VB0的“0010_0001”,分成兩位,分別不就是2_1么?合起來,就是21(年)了?
確實是這樣的。這里選擇的“有符號”就是用BCD碼形式表示,而BCD碼如何轉(zhuǎn)換成二進(jìn)制,需要根據(jù)以前學(xué)習(xí)的內(nèi)容來思考下。