一、 任務描述
1、案例(項目)描述如下,有一臺觸摸屏,連接了一臺3U的PLC,PLC下面帶了一臺步進電機,現在需要寫一段控制的程序對步進電機進行控制。( 步進電機步距角1.8,螺距2mm,細分設置為4;X5是負極限 ,X4是原點,X3是正極限)。
2、要求:1)手動模式下,可自動正反轉。
2)按下回原點按鈕,能夠自動回原點,回完原點才可進行自動。
3)自動模式下,同時原點回歸完畢 ,按下啟動按鈕,電機按照設定的位置走(位置1——位置2——位置3——位置4——位置5——位置1)不斷循環。
4)按下急停按鈕按鈕,步進電機立即停止運行。需重新執行一次原點回歸指令。
5)按下暫停按鈕時,設備停止,重新按下啟動時設備繼續動作。
二、元件選型I/O排布
1、電氣元件選型: 2、I/O分配:三、電機接線
四、程序編寫
1、手動控制:M8343和M8344分別是Y0軸的正負極限特殊繼電器,直接和外部信號一一對應,這樣電機碰到對應的極限就會停,在手動M2斷開時,M2常閉觸點導通,觸摸屏的正反轉按鈕M3和M4控制了可變速脈沖輸出指令控制電機正反轉,頻率暫時固定為3000HZ。
2、原點回歸:PLC開機時,用M8002設置爬行速度和回歸速度,把回歸速度設置為3000HZ,爬行速度設置為500HZ;
當plc開機時,或者觸摸屏按下回原點按鈕M5時,觸發M0去驅動原點回歸指令,執行原點回歸,執行完畢就復位M0,同時置位M1,M1置位原點回歸完成標志位,它導通了說明原點回歸完成,后面才可以控制自動控制的動作。
3、數據計算:已知步進電機步距離角1.8°,細分4,也就是一個脈沖走的角度是1.8/4=0.45°,360°除以0.45度,等于800,也就是發送800個脈沖轉動一圈,已知螺桿的螺距是2mm,電機轉動一圈走2mm,需要800個脈沖,可以得出脈沖當量=2mm/800 =0.0025mm
計算時,用距離除以脈沖當量就是實際脈沖數,把5個位置的距離從D200、D202、D204、D206、D208轉化到D0、D2、D4、D6、D8。
D8340是Y0周的位置信息,把脈沖信息通過DFLT指令轉換成浮點數,然后乘以脈沖當量,就得出實際距離,放在D210里面,在觸摸屏進行顯示。
4、自動控制啟停:在手動狀態,并且回原點完成,D100 =0時,就進入第1步動作,導通M7啟動標志位,順序運行的程序在后面寫。
按下停止按鈕復位D100,復位原點回歸完成,復位啟動標志。
5、順序控制:動作需要逆序寫,第一步寫在最后,動作完成M8029會導通,使用INC讓D100加1,后面每一步都一樣;運行到第5步,用M8029導通M10線圈,M10的常開寫在這一行程序上面,用MOV指令讓D100回到第1步,這樣寫是為了隔開一個掃描周期,讓第5步的動作和第一步的定位指令不在同一個掃描周期里面運行。
觸摸屏做M7的按鈕時,要選擇復位按鈕,按下停止,就只能斷開M7,下次按下啟動時,就重新導通M7,重新運行。
以上就是我們案例的全部內容了,這里再留一個思考題目給大家,如果需要在觸摸屏上面設置一個速度的輸入框,單位是mm/s,能實現對速度的調節,該如何編寫程序?