點擊"PLC發燒友"關注我們吧!
控制要求
3個開關控制一盞照明燈(切換開關),任何一個開關都能控制照明燈的亮與滅。(此案例可以應用與家庭電路的控制,比如走廊有一個開關,入門處有一個開關,房間内部也有一個開關,多個開關都能控制這個照明燈)
I/O分配
表1-5-1 I/O分配
輸入點 |
注釋 |
輸出點 |
注釋 |
X0 |
開關1 |
Y0 |
照明燈 |
X1 |
開關2 | ||
X2 |
開關3 |
程序編寫及思路
1.普通的觸點和線圈去編寫
1)我們可以列出3個開關的所有情況,打開用1表示,關閉用0表示,最後看各種情況的Y0的狀況
X0 |
X1 |
X2 |
Y0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
圖1-5-1 3真值表
圖1-5-3 完整程序
2)從上面表格可以看出,隻有4種情況,Y0有輸出,這4種情況X0、X1、X2的狀态分别是:(1、0、0)(0、1、0)(0、0、1)(1、1、1),根據這個寫出來4行能控制Y0輸出的程序去控制Y0輸出,完整程序如圖1-5-3
2.使用ALT指令去寫
這種寫法的思維就是,每個按鈕,無論打開或者關閉操作,都會把Y0當前的狀态進行切換,這時我們可以使用3個按鈕的所有上升沿與下降沿。
圖1-5-4 使用ALT指令
3.利用程序掃描周期知識
這個寫法的優點是,開關多了(不超過32個)都可以一步程序直接搞定,需要學習程序掃描周期相關知識點(本書第3章有更多應用案例)。
程序掃描是從第一行開始的,一開始的D0狀态為0,當我們按下或者松開X0到X3之間的任一按鈕時K1X0的值就會改變(由于上一個掃描周期時,程序最後一行把K1X0的值傳送給了D0了)因此會導緻K1X0和D0的值不相等,這時觸發ALT指令把Y0的狀态改變。
最後程序執行第二行,把K1X0的值傳送給D0,,這樣兩個的數據就相等了,下一個周期第一行程序就無法執行了,除非重新觸發某個按鈕,狀态發送了改變,有開始執行什麼描述的控制過程
圖1-5-5 利用程序掃描周期
來源:PLC發燒友,作者:技成培訓網-陳育鑫,轉載請注明出處!評論處大家可以補充文章解釋不對或欠缺的部分,這樣下一個看到的人會學到更多,你知道的正是大家需要的。。。回複:5000,可以領取5000張CAD工程圖紙
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!