上篇文章講述的是PLC的時鐘與部分指令,顯然,PLC也可以作為時鐘用于查看時間,但我想,沒有誰會專門買個PLC做鐘表用吧?
所以上篇文章所分享的指令是時鐘數據讀/寫指令,即TRD和TWR。
三菱FX PLC基礎 | 時鐘處理指令知識分享
這次我們繼續解讀,時鐘的其他指令,分别是時鐘數據比較指令TCMP、時鐘數據區間比較指令TZCP、時鐘數據加法指令TADD、時鐘數據減法指令TSUB。
觀察以上4個指令,大家是否覺得似曾相識?
回顧我之前分享的比較指令和數值運算指令,前提是你們看過的話,就會發現,它們是多麼的相似!
既然如此相似,那麼它們的區别在哪呢?我們接着往下看。
01、TCMP時鐘數據比較指令TCMP指令的編程手冊截圖如下圖26-1所示。從圖可知,TCMP指令隻适用于16位,有連續執行型和脈沖執行型兩種。
圖26-1
TCMP指令是一個時鐘比較指令,即它比較的是時間,這裡的時間顯然不是年月日,而是時分秒。其梯形圖形式截圖如下圖26-2所示。
圖26-2
TCMP指令有5個操作數S1、S2、S3、S、D,它們的含義如下:
S1:指定比較基準時間的“時”或其存儲地址;
S2:指定比較基準時間的“分”或其存儲地址;
S3:指定比較基準時間的“秒”或其存儲地址;
S :指定時間數據的存儲首地址,占3個點,即S、S 1、S 2分别存儲時間數據的時、分、秒;
D :根據比較結果輸出ON/OFF,占3個點,且D、D 1、D 2在驅動條件斷開後仍能對當前狀态保持不變。
其中,時間數據的“時”設定範圍為0~23,“分”和“秒”的設定範圍為0~59。從圖26-2所示可以看到,當驅動條件成立時,将指定的時間數據(S、S 1、S 2)與基準時間(S1、S2、S3)進行大小比較,根據比較結果驅動位元件D、D 1、D 2中的一個。
圖26-3
如圖26-3,位元件的驅動依據如下:
(1)當時間數據S:S 1:S 2(時:分:秒)<基準時間S1:S2:S3(時:分:秒)時,D為ON;
(2)當時間數據S:S 1:S 2(時:分:秒)= 基準時間S1:S2:S3(時:分:秒)時,D 1為ON;
(3)當時間數據S:S 1:S 2(時:分:秒)>基準時間S1:S2:S3(時:分:秒)時,D 2為ON。
和數據比較指令CMP想比較,顯然TCMP的約束比較多,首先是操作數,TCMP指令中的操作數有5個,占用軟元件有9個,而CMP指令操作數有3個,占用5個軟元件。
其次是所比較的數據,TCMP比較的是時間數據,所以數據設定範圍有規定,但CMP指令的數據沒有設定範圍(除了字元件本身的存儲範圍)。
另外,TCMP指令隻适用于16位,而CMP可用于32位。
總的來說,兩個指令都是數據的比較,而且都是根據比較結果驅動相應的位元件。
對于時間大小的比較,這個就不用我解釋了吧?會有人認為5點鐘比6點鐘大的嗎?這已經是常識了~
知道了TCMP指令後,我們繼續看TZCP指令。
02、TZCP時鐘數據區間比較指令TZCP指令的編程手冊截圖如下圖26-3所示。從圖可知,TZCP指令也隻适用于16位,有連續執行型和脈沖執行型兩種。
圖26-4
知道了TCMP指令,想來TZCP指令的解讀也不難,它和ZCP指令非常類似。TZCP指令有4個操作數S1、S2、S、D,如下圖26-5所示,比TCMP少了一個,但TZCP指令占用的軟元件比TCMP多。各個操作數的含義如下:
S1:指定比較基準下限時間的“時”或其存儲地址,占用3個點;
S2:指定比較基準上限時間的“時”或其存儲地址,占用3個點;
S :指定時間數據的“時”的存儲地址,占3個點,即S、S 1、S 2分别存儲時間數據的時、分、秒;
D :根據比較結果輸出ON/OFF,占3個點,且D、D 1、D 2在驅動條件斷開後仍能對當前狀态保持不變。
圖26-5
根據各個操作數的定義,可以看到,TZCP指令共占用了12個軟元件,使用時一定要注意這些軟元件是否被共享。
TZCP指令的執行功能如下:
(1)當時間數據S:S 1:S 2(時:分:秒)<下限時間S1:S1 1:S1 2(時:分:秒)時,D為ON;
(2)當下限時間S1:S1 1:S1 2(時:分:秒)≤時間數據S:S 1:S 2(時:分:秒)≤上限時間S2:S2 1:S2 2(時:分:秒)時,D 1為ON;
(3)當時間數據S:S 1:S 2(時:分:秒)>上限時間S2:S2 1:S2 2(時:分:秒)時,D 2為ON。
TZCP指令和ZCP指令的區别類似于TCMP指令和CMP指令,在此不再贅述。
03、TADD時鐘數據加法指令和TSUB時鐘減法指令TADD指令和TSUB指令的編程手冊截圖如下圖26-6所示,兩條指令的執行形式、适用軟元件都一樣,分别用于時鐘數據的相加減。
時鐘的相加減,進制顯然不是簡單的十進制或二進制,小白都知道,“時”的進制為24,“分”和“秒”的進制為60。
圖26-6
時間的相加如下圖26-7所示,把6時10分30秒和2時30分30秒相加,秒鐘相加滿60,進一位到分鐘,最終得到的結果為8時41分0秒;
再如16時10分30秒和10時30分20秒相加,16時加10時等于26小時,此時小時數超過24,産生進位,進位标志位M8022将為ON。
圖26-7
同理,時間的相減如下圖26-8所示,把6時10分30秒和2時30分30秒相減,10分鐘減30分鐘不夠減,向“時”借1(60分鐘)變為70分鐘,6時被借1後變為5時,最終得到的結果為3時40分0秒;
再如10時30分30秒和16時20分10秒相減,10時減16時不夠減,時間不能為負,所以10小時借1(24小時)變為34小時,再減去16小時,由于有借位,所以借位标志位M8021将為ON。
圖26-8
另外,若時間相加或相減後的結果為0(包括産生進位或借位後的結果),零位标志位M8020也将置ON。
TADD指令和TSUB指令的梯形圖形式如下圖26-9所示,它們都有3個操作數S1、S2、D,共占用9個點。
圖26-9
這些操作數的含義如下:
S1:被加數(被減數)時間數據中“時”的元件地址,占用3個點;
S2:加數(減數)時間數據中“時”的元件地址,占用3個點;
D :S1 S2的和(S1-S2的差)時間數據中“時”的元件地址,占用3個點;
在TADD指令中,當驅動條件成立時,将S1(時):S 1(分):S 2(秒)的時間數據加上S2(時):S2 1(分):S2 2(秒)的時間數據,然後将結果存放到D(時):D 1(分):D 2(秒)中。
在TSUB指令中,當驅動條件成立時,将S1(時):S 1(分):S 2(秒)的時間數據減去S2(時):S2 1(分):S2 2(秒)的時間數據,然後将結果存放到D(時):D 1(分):D 2(秒)中。
TADD指令和TSUB指令也比較簡單,它們的形式和ADD指令、SUB指令非常相似,區别在于TADD指令、TSUB指令是時間的加減,ADD指令、SUB指令是普通數據的加減。
以上的4個指令,較為常用的是時間的比較指令TCMP和TZCP,例如控制指示燈的亮滅,要求指示燈在23:00到第二天的6:00之間關閉,其程序梯形圖如下圖26-10所示。
圖26-10
總而言之,包括上篇文章在内的時鐘指令雖然形式簡單,但其占用或涉及的軟元件比較多,所以我們在學習的過程中要多次練習,才能熟練運用。
以上,這次的學習分享就到這裡。
注:本文章内容都是基于三菱FX PLC 所寫
選自《三菱FX系列PLC功能指令詳解》第十二章第110~112課時
(來源:技成培訓網,作者:楊思慧,未經授權不得轉載,違者必究)
如何用盡可能短的時間,讓你找到技能關鍵點和提升方向,同時也能建立自己的學習規劃體系。
小白入門必懂PLC軟件 幹貨包 重磅加餐,PLC入門學習全流程、電工基礎大全、電工進階PLC、PLC例程、西門子工程師地圖……
這些曾經讓你頭秃、加班熬夜的技術幹貨,我們都為你準備好了!
軟件彙總
學習步驟學習步驟
或許過去的你一直都在被質疑,而現在這麼好的機會能證明自己為什麼不努力一把呢?
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!