三菱FX PLC學(xué)習(xí)之時(shí)鐘處理指令(下)
吳翠萍
發(fā)布于2021-03-11 15:15
12
2
標(biāo)簽:三菱PLC,三菱FX PLC
【點(diǎn)擊領(lǐng)取】三菱案例 | 西門子案例 | 電工手冊 | 工具箱 軟件
【點(diǎn)擊獲取】三菱PLC例程117個(gè)|西門子PLC例程777個(gè)
【點(diǎn)擊下載】2020最新電工仿真軟件
上篇文章講述的是PLC的時(shí)鐘與部分指令,顯然,PLC也可以作為時(shí)鐘用于查看時(shí)間,但我想,沒有誰會(huì)專門買個(gè)PLC做鐘表用吧?
上篇文章所分享的指令是時(shí)鐘數(shù)據(jù)讀/寫指令,即TRD和TWR。這次我們繼續(xù)解讀時(shí)鐘的其他指令,分別是時(shí)鐘數(shù)據(jù)比較指令TCMP、時(shí)鐘數(shù)據(jù)區(qū)間比較指令TZCP、時(shí)鐘數(shù)據(jù)加法指令TADD、時(shí)鐘數(shù)據(jù)減法指令TSUB。
觀察以上4個(gè)指令,大家是否覺得似曾相識(shí)?回顧我之前分享的比較指令和數(shù)值運(yùn)算指令,前提是你們看過的話,就會(huì)發(fā)現(xiàn),它們是多么的相似!
既然如此相似,那么它們的區(qū)別在哪呢?我們接著往下看。
一、TCMP時(shí)鐘數(shù)據(jù)比較指令
TCMP指令的編程手冊截圖如下圖26-1所示。從圖可知,TCMP指令只適用于16位,有連續(xù)執(zhí)行型和脈沖執(zhí)行型兩種。
圖26-1
TCMP指令是一個(gè)時(shí)鐘比較指令,即它比較的是時(shí)間,這里的時(shí)間顯然不是年月日,而是時(shí)分秒。其梯形圖形式截圖如下圖26-2所示。
圖26-2
TCMP指令有5個(gè)操作數(shù)S1、S2、S3、S、D,它們的含義如下:
S1:指定比較基準(zhǔn)時(shí)間的“時(shí)”或其存儲(chǔ)地址;
S2:指定比較基準(zhǔn)時(shí)間的“分”或其存儲(chǔ)地址;
S3:指定比較基準(zhǔn)時(shí)間的“秒”或其存儲(chǔ)地址;
S :指定時(shí)間數(shù)據(jù)的存儲(chǔ)首地址,占3個(gè)點(diǎn),即S、S 1、S 2分別存儲(chǔ)時(shí)間數(shù)據(jù)的時(shí)、分、秒;
D :根據(jù)比較結(jié)果輸出ON/OFF,占3個(gè)點(diǎn),且D、D 1、D 2在驅(qū)動(dòng)條件斷開后仍能對當(dāng)前狀態(tài)保持不變。
其中,時(shí)間數(shù)據(jù)的“時(shí)”設(shè)定范圍為0~23,“分”和“秒”的設(shè)定范圍為0~59。從圖26-2所示可以看到,當(dāng)驅(qū)動(dòng)條件成立時(shí),將指定的時(shí)間數(shù)據(jù)(S、S 1、S 2)與基準(zhǔn)時(shí)間(S1、S2、S3)進(jìn)行大小比較,根據(jù)比較結(jié)果驅(qū)動(dòng)位元件D、D 1、D 2中的一個(gè)。
圖26-3
如圖26-3,位元件的驅(qū)動(dòng)依據(jù)如下:
(1)當(dāng)時(shí)間數(shù)據(jù)S:S 1:S 2(時(shí):分:秒)<基準(zhǔn)時(shí)間S1:S2:S3(時(shí):分:秒)時(shí),D為ON;
(2)當(dāng)時(shí)間數(shù)據(jù)S:S 1:S 2(時(shí):分:秒)= 基準(zhǔn)時(shí)間S1:S2:S3(時(shí):分:秒)時(shí),D 1為ON;
(3)當(dāng)時(shí)間數(shù)據(jù)S:S 1:S 2(時(shí):分:秒)>基準(zhǔn)時(shí)間S1:S2:S3(時(shí):分:秒)時(shí),D 2為ON。
和數(shù)據(jù)比較指令CMP想比較,顯然TCMP的約束比較多,首先是操作數(shù),TCMP指令中的操作數(shù)有5個(gè),占用軟元件有9個(gè),而CMP指令操作數(shù)有3個(gè),占用5個(gè)軟元件。其次是所比較的數(shù)據(jù),TCMP比較的是時(shí)間數(shù)據(jù),所以數(shù)據(jù)設(shè)定范圍有規(guī)定,但CMP指令的數(shù)據(jù)沒有設(shè)定范圍(除了字元件本身的存儲(chǔ)范圍)。另外,TCMP指令只適用于16位,而CMP可用于32位。
總的來說,兩個(gè)指令都是數(shù)據(jù)的比較,而且都是根據(jù)比較結(jié)果驅(qū)動(dòng)相應(yīng)的位元件。
對于時(shí)間大小的比較,這個(gè)就不用我解釋了吧?會(huì)有人認(rèn)為5點(diǎn)鐘比6點(diǎn)鐘大的嗎?這已經(jīng)是常識(shí)了╮(╯_╰)╭。
知道了TCMP指令后,我們繼續(xù)看TZCP指令。
二、TZCP時(shí)鐘數(shù)據(jù)區(qū)間比較指令
TZCP指令的編程手冊截圖如下圖26-3所示。從圖可知,TZCP指令也只適用于16位,有連續(xù)執(zhí)行型和脈沖執(zhí)行型兩種。
圖26-4
知道了TCMP指令,想來TZCP指令的解讀也不難,它和ZCP指令非常類似。TZCP指令有4個(gè)操作數(shù)S1、S2、S、D,如下圖26-5所示,比TCMP少了一個(gè),但TZCP指令占用的軟元件比TCMP多。各個(gè)操作數(shù)的含義如下:
S1:指定比較基準(zhǔn)下限時(shí)間的“時(shí)”或其存儲(chǔ)地址,占用3個(gè)點(diǎn);
S2:指定比較基準(zhǔn)上限時(shí)間的“時(shí)”或其存儲(chǔ)地址,占用3個(gè)點(diǎn);
S :指定時(shí)間數(shù)據(jù)的“時(shí)”的存儲(chǔ)地址,占3個(gè)點(diǎn),即S、S 1、S 2分別存儲(chǔ)時(shí)間數(shù)據(jù)的時(shí)、分、秒;
D :根據(jù)比較結(jié)果輸出ON/OFF,占3個(gè)點(diǎn),且D、D 1、D 2在驅(qū)動(dòng)條件斷開后仍能對當(dāng)前狀態(tài)保持不變。
圖26-5
根據(jù)各個(gè)操作數(shù)的定義,可以看到,TZCP指令共占用了12個(gè)軟元件,使用時(shí)一定要注意這些軟元件是否被共享。
TZCP指令的執(zhí)行功能如下:
(1)當(dāng)時(shí)間數(shù)據(jù)S:S 1:S 2(時(shí):分:秒)<下限時(shí)間S1:S1 1:S1 2(時(shí):分:秒)時(shí),D為ON;
(2)當(dāng)下限時(shí)間S1:S1 1:S1 2(時(shí):分:秒)≤時(shí)間數(shù)據(jù)S:S 1:S 2(時(shí):分:秒)≤上限時(shí)間S2:S2 1:S2 2(時(shí):分:秒)時(shí),D 1為ON;
(3)當(dāng)時(shí)間數(shù)據(jù)S:S 1:S 2(時(shí):分:秒)>上限時(shí)間S2:S2 1:S2 2(時(shí):分:秒)時(shí),D 2為ON。
TZCP指令和ZCP指令的區(qū)別類似于TCMP指令和CMP指令,在此不再贅述。
三、TADD時(shí)鐘數(shù)據(jù)加法指令和TSUB時(shí)鐘減法指令
TADD指令和TSUB指令的編程手冊截圖如下圖26-6所示,兩條指令的執(zhí)行形式、適用軟元件都一樣,分別用于時(shí)鐘數(shù)據(jù)的相加減。時(shí)鐘的相加減,進(jìn)制顯然不是簡單的十進(jìn)制或二進(jìn)制,小白都知道,“時(shí)”的進(jìn)制為24,“分”和“秒”的進(jìn)制為60。
圖26-6
時(shí)間的相加如下圖26-7所示,把6時(shí)10分30秒和2時(shí)30分30秒相加,秒鐘相加滿60,進(jìn)一位到分鐘,最終得到的結(jié)果為8時(shí)41分0秒;再如16時(shí)10分30秒和10時(shí)30分20秒相加,16時(shí)加10時(shí)等于26小時(shí),此時(shí)小時(shí)數(shù)超過24,產(chǎn)生進(jìn)位,進(jìn)位標(biāo)志位M8022將為ON。
圖26-7
同理,時(shí)間的相減如下圖26-8所示,把6時(shí)10分30秒和2時(shí)30分30秒相減,10分鐘減30分鐘不夠減,向“時(shí)”借1(60分鐘)變?yōu)?0分鐘,6時(shí)被借1后變?yōu)?時(shí),最終得到的結(jié)果為3時(shí)40分0秒;再如10時(shí)30分30秒和16時(shí)20分10秒相減,10時(shí)減16時(shí)不夠減,時(shí)間不能為負(fù),所以10小時(shí)借1(24小時(shí))變?yōu)?4小時(shí),再減去16小時(shí),由于有借位,所以借位標(biāo)志位M8021將為ON。
圖26-7
另外,若時(shí)間相加或相減后的結(jié)果為0(包括產(chǎn)生進(jìn)位或借位后的結(jié)果),零位標(biāo)志位M8020也將置ON。
TADD指令和TSUB指令的梯形圖形式如下圖26-8所示,它們都有3個(gè)操作數(shù)S1、S2、D,共占用9個(gè)點(diǎn)。
圖26-8
這些操作數(shù)的含義如下:
S1:被加數(shù)(被減數(shù))時(shí)間數(shù)據(jù)中“時(shí)”的元件地址,占用3個(gè)點(diǎn);
S2:加數(shù)(減數(shù))時(shí)間數(shù)據(jù)中“時(shí)”的元件地址,占用3個(gè)點(diǎn);
D :S1 S2的和(S1-S2的差)時(shí)間數(shù)據(jù)中“時(shí)”的元件地址,占用3個(gè)點(diǎn);
在TADD指令中,當(dāng)驅(qū)動(dòng)條件成立時(shí),將S1(時(shí)):S 1(分):S 2(秒)的時(shí)間數(shù)據(jù)加上S2(時(shí)):S2 1(分):S2 2(秒)的時(shí)間數(shù)據(jù),然后將結(jié)果存放到D(時(shí)):D 1(分):D 2(秒)中。
在TSUB指令中,當(dāng)驅(qū)動(dòng)條件成立時(shí),將S1(時(shí)):S 1(分):S 2(秒)的時(shí)間數(shù)據(jù)減去S2(時(shí)):S2 1(分):S2 2(秒)的時(shí)間數(shù)據(jù),然后將結(jié)果存放到D(時(shí)):D 1(分):D 2(秒)中。
TADD指令和TSUB指令也比較簡單,它們的形式和ADD指令、SUB指令非常相似,區(qū)別在于TADD指令、TSUB指令是時(shí)間的加減,ADD指令、SUB指令是普通數(shù)據(jù)的加減。
以上的4個(gè)指令,較為常用的是時(shí)間的比較指令TCMP和TZCP,例如控制指示燈的亮滅,要求指示燈在23:00到第二天的6:00之間關(guān)閉,其程序梯形圖如下圖26-9所示。
圖26-9
總而言之,包括上篇文章在內(nèi)的時(shí)鐘指令雖然形式簡單,但其占用或涉及的軟元件比較多,所以我們在學(xué)習(xí)的過程中要多次練習(xí),才能熟練運(yùn)用。
以上,這次的學(xué)習(xí)分享就到這里。
注:本文章內(nèi)容都是基于三菱FX PLC 所寫
選自《三菱FX系列PLC功能指令詳解》第十二章第110~112課時(shí)

技成培訓(xùn)
微信公眾號(hào):jcpeixun
|

技成電工課堂
微信公眾號(hào):jcdgkt
|

學(xué)PLC聯(lián)盟
微信公眾號(hào):jcpx006
|