一、案例描述
有一批物料均勻的呈陣列排布在一個托盤上面,現在需要把物流均勻的搬運到另外一個位置,通過一個3軸的龍門臺控制,需要搭配一個威綸通觸摸屏,要求寫出控制程序。
要求:
1.手動模式下,可手動控制平臺左右前后上下移動。
2.按下回原點按鈕,能夠自動回原點,回完原點才可進行自動
3.自動模式下,按下啟動按鈕,會將物流一個一個從第一個坐標系一一搬運到第二個坐標系。
4.給定第一個坐標系第一個坐標點和給定第二個坐標系第一個坐標點,其他點兩兩之間間隔是10mm,PLC需要自動計算出來。
5.按下急停按鈕按鈕,步進電機立即停止運行。需重新執行一次原點回歸指令。
6.按下暫停按鈕時,設備停止,重新按下啟動時設備繼續動作。
二、電氣元件選型
序號 | 元件 | 數量 |
1 | 空氣開關 | 6個 |
2 | FX3U-16MT plc | 1臺 |
3 | 威綸通觸摸屏TK8071IP | 1個 |
4 | 3軸步進電機滑臺 | 1套 |
5 | 24V開關電源(100W) | 1臺 |
三、I/O分配
輸入點 | 標簽 | 輸出點 | 標簽 |
X0 | Y負極限 | Y0 | Z脈沖 |
X1 | Y原點 | Y1 | X脈沖 |
X2 | Y正極限 | Y2 | Y脈沖 |
X3 | X正極限 | Y3 | Y方向 |
X4 | X原點 | Y4 | X方向 |
X5 | X負極限 | Y5 | Z方向 |
X6 | Z正極限 | Y6 | |
X7 | Z原點 | Y7 |
觸摸屏的界面設置如上,下面把這些點位寫成表格,如下圖表:
點位 | 標簽 | 點位 | 標簽 |
M0 | 啟動 | M10 | 手自動 |
M1 | 停止 | M11 | 回原點開始 |
M2 | 急停 | M12 | 回原點中 |
M3 | X正轉 | M13 | 回原點完成 |
M4 | X反轉 | M14 | X軸回原完成 |
M5 | Y正轉 | M15 | Y軸回原完成 |
M6 | Y反轉 | M16 | Z軸回原完成 |
M7 | Z正轉 | M17 | 確認下降點 |
坐標系的地址如下,啟點的X坐標使用D1000開始的連續25個雙字寄存器,起點的Y坐標用D1100開始的連續25個雙字寄存器;
第一個坐標系第一個點坐標是(D1000,D1100),第2個點是(1002,1102)......
同樣的方法,終點的X坐標用D1200開始的連續25個雙字寄存器,終點的Y坐標用D1200開始的連續25個雙字寄存器;
后面計算就給這些地址賦值可以搭建好坐標系。
四、程序編寫
1.原點回歸速度和爬行速度設置
為了縮短掃描周期,把回歸速度和爬行速度寫在子程序P0里面,設置回歸速度為2000,爬行速度為500。
2.數據計算
觸摸屏只需要給定起點坐標(D1000,D1100),終點坐標(D1200,D1300)其他地址坐標就能自動計算出,這部分的程序比較多,可以寫成子程序,這里使用P1的子程序,需要調用的時候再調用。
首先,求出最下面一行,所有點的橫坐標,如下通過一段FOR循環和變址,后面的每一個點是前一個點坐標加10mm,通過循環變址,循環4遍,就能求出第一行的10個數據橫坐標。
根據第一行的數據,后面每一行的橫坐標都和第一行一樣,因此,使用8個批量測試指令,就能把后面8排地址的數據計算出來,這樣的話橫坐標就都計算完畢。
接下來,求出第一列10個點的縱坐標,如下通過一段FOR循環和變址,后面的每一個點是前一個點坐標加10mm,通過循環變址,循環4遍,就能求出第一行的10個數據縱坐標。
然后就可以求出每一列所有點的縱坐標,通過批量傳送指令,前5行程序就把第一個坐標系的Y點都計算出來,最后一行,終點坐標也是一樣的計算方法,執行完畢,子程序結束。
3.計算調用
上面計算的程序不是需要時時刻刻都執行的,需要當數據發生改變時,再執行一次改變。
起點X坐標D1000的值通過demov指令不斷傳送給D2000,因此,它們是相等的,這比較指令,會讓M51導通(常閉觸點斷開),只有給了一個新的值給D1000,它們才會不相等,這時,M51就會失點(常閉觸點會導通),觸發P1指令,執行計算。
其他3個坐標也是同樣的控制原理。
4.數據的調用
在自動控制時,每抓取完一個物料每一遍動作,就導通M100的線圈(這部分的程序在后面),每次就讓D0加1,抓取25個點的物料,就會增加到25。每一次動作,調用的坐標系點位不同,比如第一次啟動時,下面就把D1000Z5(D1000),D1100Z5(D1100),D1200Z5(D1200),D1300Z5(D1300,)坐標給到對應控制的寄存器,執行完畢,M100導通,D1加1,Z5=2;這里調用的坐標是D1000Z5(D1002),D1100Z5(D1102), D1200Z5(D1202),D1300Z5(D1302)
每完成一次,使用的坐標地址就偏移2位,這樣就可以切換坐標位置上;
面計算出來的是浮點數的數據,還需要這幾個數據轉化成脈沖數(已知,絲桿導程是4mm,步進電機設置位800轉每圈),可以求出脈沖當量=4mm/800=0.005mm
因此把之前求出的坐標除以0.005得出實際控制脈沖,并把數據轉化成整數;
5.正負極限設置
6.原點回歸控制
7.手動控制
8.啟停控制
9.順序控制
動作需要逆序寫,第一步寫在最后,動作完成M8029會導通,使用INC讓D100加1,后面每一步都一樣;運行到第5步,用M8029導通M10線圈,M10的常開寫在這一行程序上面,用MOV指令讓D100回到第1步,這樣寫是為了隔開一個掃描周期,讓第5步的動作和第一步的定位指令不在同一個掃描周期里面運行。
10.升降點設置
11.位置顯示
審核編輯 :李倩
-
觸摸屏
+關注
關注
42文章
2307瀏覽量
116285 -
程序
+關注
關注
117文章
3788瀏覽量
81096
原文標題:多圖預警!多點搬運控制案例詳解(內含源程序)
文章出處:【微信號:跟我學PLC,微信公眾號:跟我學PLC吧】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論