共有7條時(shí)鐘運(yùn)算類指令,指令的編號(hào)分布在FNC160 - FNC169之間。時(shí)鐘運(yùn)算指令是對(duì)時(shí)鐘數(shù)據(jù)進(jìn)行運(yùn)算和比較,對(duì)PLC內(nèi)置實(shí)時(shí)時(shí)鐘進(jìn)行時(shí)間校準(zhǔn)和時(shí)鐘數(shù)據(jù)格式化操作。時(shí)鐘運(yùn)算指令如表4-16所示。
表4-16 時(shí)鐘運(yùn)算指令
(1)時(shí)鐘數(shù)據(jù)比較指令TCMP (FNC160)
TCMP (P)的功能是比較指定時(shí)刻與時(shí)鐘數(shù)據(jù)的大小。
示例及使用:如圖4-66所示,將源操作數(shù)[S1.]、[S2.]、[S3.]中的時(shí)間與[S.]起始的3點(diǎn)時(shí)間數(shù)據(jù)比較,根據(jù)它們的比較結(jié)果決定目標(biāo)操作數(shù)[D.]中起始的3點(diǎn)單元中取ON或OFF的狀態(tài)。該指令只有16位運(yùn)算,占11個(gè)程序步。它的源操作數(shù)可取T、C和D,目標(biāo)操作數(shù)可以是Y、M和S。
(2)時(shí)鐘數(shù)據(jù)加法運(yùn)算指令TADD(FNC162)
TADD (P)指令的功能是將兩源操作數(shù)的內(nèi)容相加結(jié)果送入目標(biāo)操作數(shù)。源操作數(shù)和目標(biāo)操作數(shù)均可取T、C和D。TADD為16位運(yùn)算,占7個(gè)程序步。
示例及使用:如圖4-67所示,將[S1.]指定的D10 - D12和D20 - D22中所放的時(shí)、分、秒相加,把結(jié)果送入[D.]指定的D30 - D32中。當(dāng)運(yùn)算結(jié)果超過24h時(shí),進(jìn)位標(biāo)志位變?yōu)镺N,將進(jìn)行加法運(yùn)算的結(jié)果減去24小時(shí)后作為結(jié)果進(jìn)行保存。
圖4-66 時(shí)鐘數(shù)據(jù)比較指令的使用
圖4-67 時(shí)鐘數(shù)據(jù)加法運(yùn)算指令的使用
(3)時(shí)鐘數(shù)據(jù)讀取指令TRD (FNC166)
TRD (P)指令為16位運(yùn)算,占7個(gè)程序步。[D.]可取T、C和D。它的功能是讀出內(nèi)置的實(shí)時(shí)時(shí)鐘的數(shù)據(jù)放入由[D.]開始的7個(gè)字內(nèi)。
示例及使用:如圖4-68所示,當(dāng)X1為ON時(shí),將實(shí)時(shí)時(shí)鐘(它們以年、月、日、時(shí)、分、秒、星期的順序存放在特殊輔助寄存器D8013 - 8019中)傳送到D10 - D16中。
圖4-68 時(shí)鐘數(shù)據(jù)讀取指令的使用