- 歐姆龍PLC應用100例
- 鄭鳳翼主編
- 2860字
- 2018-12-27 13:51:33
1.2 用一般指令編寫的基本控制程序
實際的PLC程序是由這些基本程序擴展和疊加而成的。因此,如果掌握了這些基本控制程序的設計原理和編程技巧,對于編寫一些大型的、復雜的應用程序是非常有利的。在編寫PLC程序的過程中,除了正確應用這些基本控制程序外,還應注意控制程序之間的配合和程序中的順序問題。
【例1-2-1】啟—保—停電路
梯形圖如圖1-2-1所示,程序執行過程如下所述。
1)啟動
2)停止

圖1-2-1 啟—?!k娐返奶菪螆D和時序圖
如圖1-2-2所示為利用置位、復位指令編寫的另一種啟—保—停電路的梯形圖和時序圖。當◎00001[1]閉合時,執行置位指令SET[1],使10000[1]得電,而00001[1]斷開時,10000[1]繼續保持得電狀態;當◎00002[2]閉合時,執行置位指令RSET[2],使10000[1]失電,而00002[2]斷開時,10000[2]繼續保持失電狀態。

圖1-2-2 用置位、復位指令編寫的啟—?!k娐返奶菪螆D和時序圖
【例1-2-2】瞬時接通、延時斷開電路之一
瞬時接通、延時斷開電路的梯形圖和時序圖如圖1-2-3所示。該電路能實現在外部輸入信號為ON時,立即產生相應的輸出信號,而當外部輸入信號變為OFF時,需要延時一段時間,輸出信號才為OFF。其指令語句表如表1-2-1所示。

圖1-2-3 瞬時接通、延時斷開電路(一)的梯形圖和時序圖
表1-2-1 瞬時接通、延時斷開電路(一)指令語句表
程序執行過程:
【例1-2-3】瞬時接通、延時斷開電路之二
梯形圖和時序圖如圖1-2-4所示。

圖1-2-4 瞬時接通、延時斷開電路(二)的梯形圖和時序圖
程序執行過程:
【例1-2-4】延時接通、延時斷開電路之一
梯形圖和時序圖如圖1-2-5所示。電路用00000控制10001,要求在00000變為ON,再過3s后,10001才變為ON,即延時接通;00000變為OFF,再過5s后,10001才變為OFF,即延時斷開。10001用啟—保—停電路來控制。
程序執行過程:
1)延時接通

圖1-2-5 延時接通、延時斷開電路(一)的梯形圖和時序圖
【例1-2-5】延時接通、延時斷開電路之二
如圖1-2-6所示為該電路的梯形圖。

圖1-2-6 延時接通、延時斷開電路(二)的梯形圖
程序執行過程:
1)延時接通
2)延時斷開
【例1-2-6】定時器自復位的脈沖信號產生電路
定時器自復位的脈沖信號產生電路梯形圖如圖1-2-7所示。
程序執行過程:

圖1-2-7 定時器自復位的脈沖信號產生電路的梯形圖和時序圖
【例1-2-7】利用微分指令產生單脈沖電路
在實際應用中,常用單個脈沖來控制系統的啟動、復位、計數器的清零和計數等。在PLC程序設計中,經常用單個脈沖進行一些軟繼電器的復位、啟動和停止。單脈沖往往是在信號變化時產生的,最常用的產生單脈沖的程序就是使用DIFU和DIFD指令實現,利用這兩條指令可以得到寬度為PLC一個掃描周期的單脈沖,如圖1-2-8和圖1-2-9所示。

圖1-2-8 上升沿產生單脈沖的梯形圖和時序圖

圖1-2-9 下降沿產生單脈沖的梯形圖和時序圖
【例1-2-8】順序脈沖發生電路
如圖1-2-10(a)所示為用三個定時器產生一組順序脈沖的梯形圖,順序脈沖時序圖如圖1-2-10(b)所示。

圖1-2-10 順序脈沖發生電路的梯形圖與時序圖
程序執行過程:
【例1-2-9】使用多個定時器接力組合的擴展定時電路
梯形圖和時序圖如圖1-2-11所示。按下啟動按鈕00000后,要求10000和10001按圖1-2-11(b)中的時序工作。用TIM000、TIM001和TIM002對三段時間定時。啟動按鈕提供給00000的是短信號,為了保證定時器的線圈有足夠長的“得電”時間,用啟—?!k娐房刂?1600。

圖1-2-11 使用多個定時器接力組合的擴展定時電路的梯形圖和時序圖
程序執行過程:
【例1-2-10】使用定時器與計數器組合擴展定時范圍
CQM1H系列定時器的最長定時時間為999.9s,如果需要更長的定時時間,可使用如圖1-2-12所示的電路。當00002為OFF時,◎00002[1]斷開、#00002[2]閉合,TIM000[1]和CNT000[2]處于復位狀態,它們不能工作。當00002為ON時,◎00002[1]閉合,TIM000[1]得電,開始計時。300s(即5min)后,0.1s定時器TIM000[1]的定時時間到,其當前值等于設定值,#TIM000[1]斷開,使它自己復位,復位后TIM000[1]的當前值變為0,同時#TIM000[1]復位閉合,使它自己重新得電,又開始定時。TIM000[1]將這樣周而復始地工作,直到00002變為OFF。從上面的分析可知,梯級1是一個脈沖信號發生器,脈沖周期等于TIM000的設定值。
產生的脈沖列送給CNT000[2]進行加1計數,當減滿30000個數(即25000h)后,CNT000[2]的當前值等于0,其動合觸點◎CNT000[3]閉合,使10000[3]得電。設TIM000和CNT000的設定值分別為KT和KC,對于100ms定時器,總的定時時間為T=0.1KTKC(s)。

圖1-2-12 定時范圍的擴展
【例1-2-11】多個定時器串級使用的長定時電路
定時器串級使用時,其總的定時時間為各定時器定時時間之和。其梯形圖和時序圖如圖1-2-13所示。

圖1-2-13 多個定時器串級使用的長定時電路的梯形圖和時序圖
程序執行過程:
【例1-2-12】一個定時器和多個計數器連接,形成的長定時電路
該電路的梯形圖如圖1-2-14所示。在輸入信號00000接通后,TIM038每隔1min產生一個脈沖,是分鐘計時器。CNT000每小時產生一個脈沖,是小時計時器。當5h計時時間到時,CNT001為ON,這時CNT002再計時20min,10000為ON,即總計時時間為5h20min。經過5h20min后將輸出繼電器10000置位。
初始化脈沖25315和外部復位按鈕00001對計數器起復位作用。

圖1-2-14 一個定時器和多個計數器連接的長定時電路的梯形圖
程序執行過程:
1)1min計時器
5)停止工作與復位
【例1-2-13】單故障報警控制
梯形圖如圖1-2-15所示,時序圖如圖1-2-16所示,PLC的I/O接線如圖1-2-17所示。

圖1-2-15 單故障報警控制的梯形圖

圖1-2-16 單故障報警控制的時序圖

圖1-2-17 PLC的I/O接線
程序執行過程:
1)TIM037[1]和TIM038[2]組成閃爍電路,使故障指示燈閃爍
3)報警燈檢測、蜂鳴器檢測
【例1-2-14】多故障報警控制
在實際工程應用中,出現的故障可能不僅一個,而是多個,在聲光多故障報警控制程序中,一種故障對應一個報警指示燈,多種故障共用一個報警蜂鳴器。
當任何一種故障發生時,按該故障的消除蜂鳴器按鈕后,不能影響其他故障發生時報警蜂鳴器的正常鳴響。多故障報警控制梯形圖如圖1-2-18所示。

圖1-2-18 多故障報警控制梯形圖
由于需要處理8個故障,因此使用了8個故障報警燈電路[3~10]與8個消鈴電路[11~18]。
比較圖1-2-18和圖1-2-15可看出,如圖1-2-18所示的脈沖信號發生器、故障1~8的報警燈控制及故障1~8的消鈴電路與圖1-2-15完全相同,只是蜂鳴器電路有所不同。由于只使用一個蜂鳴器電路,因此需將控制各消鈴的支路并聯,控制10010[19]。
圖1-2-18中故障1用輸入信號的◎00000[3、11、19]表示;故障8用00007的◎00007[10、18、19]表示;00010[11~18]為消除報警燈按鈕;◎00011[3~10、19]為試報警燈、試蜂鳴器按鈕。故障1指示燈用信號10000[3]輸出;故障8指示燈用信號10007[10]輸出;10010[19]為報警蜂鳴器輸出信號。
【例1-2-15】集中與分散控制
在多臺單機組成的自動線上,有在總操作臺上的集中控制和在單機操作臺上分散控制的聯鎖。梯形圖如圖1-2-19所示。00002為選擇開關,以其觸點為集中控制與分散控制的聯鎖觸點。當00002為ON時,為單機分散啟動控制;當00002為OFF時,為集中總啟動控制。在兩種情況下,單機和總操作臺都可以發出停止命令。
00001為總停止或集中控制按鈕,00003為集中控制啟動按鈕,00010、00011分別為單機A的啟動、停止按鈕,00020、00012為單機B的啟動、停止按鈕。

圖1-2-19 集中與分散控制的梯形圖
1)集中控制
(1)啟動:
(2)同時停止:
分別停止:當00011[3]、00012[4]分別得電時,◎00011[3]、◎00012[4]分別斷開,可使10010、10020分別失電,實現分別停止的控制要求。
2)分散控制
(1)啟動:
(2)單機A分散控制:
當00010為ON時→◎00010[3]閉合(由于◎00002[3]已閉合)→10010[3]得電并自鎖
(3)單機B分散控制:
當00020為ON時→◎00020[4]閉合(由于◎00002[4]已閉合)→10020[4]得電并自鎖
(4)總停止:
當00001為ON時→10000[1]為ON→#10000[3]、#10000[4]均斷開→使10010[3]、10020[4]均失電
(5)分別停止:
當00011為ON時→#00011[3]斷開→10010[3]失電
當00012為ON時→#00012[4]斷開→10020[4]失電