控制由觸摸屏去控制,控制的功能鍵如下
M0是手自動切換開關,M1是啟動按鈕,再自動狀态下,按下M1,電機會走到位置1,再走到位置2,再走到位置3,再到4,再到5,然後回到第一步,不斷循環。M2是停止的按鈕,按下去後動作停止,M3是正轉點動控制,M4是反轉點動控制,M5是原點回歸啟動,按下原點回歸,電機能夠自動回到原點X3。
下面我們開始寫程序,先寫手動控制的程序,兩個對應的M點分别控制輸出正轉和反轉,把正反極限寫入。然後是原點回歸的程序,觸發由M5觸發,由M6保持自鎖,然後秒是原點回歸完成标志位,當原點回歸完畢後M7會導通,後面的自動控制程序需要在這個條件下才能觸發。把D8340的位置信息傳送到D30,然後由觸摸屏顯示實際的位置,通過D8345和D8346設定好爬行速度和原點回歸速度。
接下來我們在觸摸屏裡面輸入的是實際的距離,那麼需要進行計算,這裡我們需要學習定位的計算相關知識點。我們這裡通過之前做好的一個FB塊,通過變址,把對應的5個位置的信息進行計算,計算出實際所需的脈沖數,原本是D20、D22、D24、D26、D28,計算出的脈沖結果保存在D10、D12、D14、D16、D18裡面,後面我們通過自動的程序去進行調用。
FB塊内部的程序如下,是結合ST語言去編寫的下:
得到D10、D12、D14、D16、D18這幾個位置信息後,下面我們寫定位的順序控制程序,通過M1按鈕對程序進行啟動,通過D0來記錄動作的步驟,用mov指令把K1送到D0裡面,程序進入第一步:
自動第一步,用絕對得指令,讓電機走到D10的位置:
動作完成M8029導通,把K2傳送到D0裡面,程序進入第二步,電機走到D12的位置
動作完成M8029導通,把K3傳送到D0裡面,程序進入第三步,電機走到D14的位置
動作完成M8029導通,把K4傳送到D0裡面,程序進入第四步,電機走到D16的位置
動作完成M8029導通,把K5傳送到D0裡面,程序進入第四步,電機走到D18的位置
動作完成M8029導通,把K1傳送到D0裡面,回到第一步,不斷循環。
這一部分的程序需要注意,由于受掃描周期影響(這個需要看課程講解,不然文字解釋不清楚)上面那些動作需要逆序去寫程序。
來源:PLC發燒友,作者:陳育鑫
有話要說...