簡思中文編程PLC入門:運動控制類-雙軸控制

【控制要求】
①實現(xiàn)兩軸機械回零,回零時遇外部零點信號停機。
②兩軸執(zhí)行先后動作,或者同時動作。
③電機運行過程中,對位置進(jìn)行比較再觸發(fā)電磁閥動作。
④整體程序進(jìn)行有限次數(shù)循環(huán),并設(shè)置外部清零按鈕。
⑤采用簡思四代PLC,型號:SFa-1616A2MT。
【流程圖說明】

【元件說明】
PLC輸入端:
X0-啟動按鈕;X1-電機右限信號,X2-清零按鈕,X6-軸1零點,X7-軸2零點(零點開關(guān)位置是PLC內(nèi)設(shè)的,PLC對應(yīng)X端直接連接零點傳感器就行,無需在程序中設(shè)置)。
PLC輸出端:
Y0-軸1脈沖信號(程序中無需設(shè)置該端口),Y2-軸1方向信號(程序中無需設(shè)置該端口)。Y10-1號電磁閥;Y11-2號電磁閥;Y12-3號電磁閥;Y13-4號電磁閥。
特別說明:伺服電機/步進(jìn)電機均屬于運動控制類,PLC支持24V脈沖輸出信號,若電機驅(qū)動器支持24V脈沖,則可以將驅(qū)動器的脈沖信號和方向信號線直接連接到PLC輸出端的脈沖控制端口,此時用作運動控制的輸出端口就不能做普通開關(guān)量控制;若電機驅(qū)動器不支持24V脈沖信號,電機驅(qū)動器的方向線和脈沖線都必須串一個2.2K電阻。
【軟件別名】
PLC輸入端:

PLC輸出端:請注意Y10、Y11、Y12和Y13在實際程序中是不需要用到的,只是此處別名以示區(qū)分。

【編程指令要義】
啟動信號:“等待輸入X通”,等外部條件給信號到PLC。
限位信號:也是給的PLC輸入端,故在程序中一樣用到“等待輸入X”的指令。
普通輸出端:“觸發(fā)輸出Y通/斷”,用于控制電磁閥推出/縮回的動作。
伺服電機控制指令:運動指令版塊,其中涉及到“速度控制”-給電機賦予速度比值;“單軸運動”-給電機賦予位移長度;“單軸等待”-等待正在運行的電機停止;“單軸操作”-控制電機停止或運行,或回零。
機械回零:為PLC內(nèi)部設(shè)置零點動作,在程序中只需要添加“單軸操作”指令,選擇回零,PLC就會持續(xù)發(fā)出脈沖,電機開始以快搜的速度尋找零點開關(guān)位置,找到零點有信號時,電機切換成慢搜速度,直至零點信號斷開,電機停下,此處就是外部零點位置;而電機的零點開關(guān)位置是硬設(shè)零點,固定位,在軟件中軸參數(shù)位置可以查詢,不是自己隨意選定的。
【程序編輯】
①主流程程序在時序環(huán)0環(huán)實現(xiàn):

程序解析:
嚴(yán)格對照流程圖編輯,一個動作一條指令。
幀0:“等待輸入X00通”,動作的啟動信號。
幀1-幀2:電機機械回零:幀1“單軸操作-A1正向回零”,幀2“單軸操作-A2正向回零”兩條指令直接控制兩軸開始回零,為同時執(zhí)行;以快搜的速度自動尋找零點,待X6有信號,軸1切換慢搜速度直至X6信號斷開,軸1停下,此過程無需添加等待X6通的指令;同理,待X7有信號,軸2切換慢搜速度直至X7信號斷開,軸2停下,此過程無需添加等待X7通的指令。
幀3-幀4:“單軸等待”,等電機回零點后停止下來,該條指令有效的起到了保證電機在執(zhí)行回零的過程中,程序避免向下執(zhí)行的作用。
幀5:“延時等待”,按照流程圖動作添加對應(yīng)的延時指令。
幀6-幀8:軸1基礎(chǔ)運動程序:幀6“速度控制”,賦予電機運動一個速度比值,比如500;幀7“單軸增量”,采用的單軸運動指令 ,屬性設(shè)置選擇運動方式:增量(表示位移值在原有的基礎(chǔ)繼續(xù)增加),運動方向:正向,位移值:5000;幀8“單軸等待”,等電機執(zhí)行完5000個脈沖位置后停止下來,該條指令有效的起到了保證電機在運行的過程中,程序避免向下執(zhí)行的作用。

“單軸增量”屬性參數(shù):

幀9:“延時等待”,按照流程圖動作添加對應(yīng)的延時指令。
幀10-幀14:軸2電機反轉(zhuǎn)碰限位停機:幀10“速度控制”,賦予電機運動一個速度比值,比如300,軸號改成2;幀11“單軸增量”,采用的單軸運動指令 ,屬性設(shè)置軸號改成2,選擇運動方式:增量(表示位移值在原有的基礎(chǔ)繼續(xù)增加),運動方向:正向,位移值:2000000000(因為是碰限位傳感器,電機在運轉(zhuǎn)的過程中要尋找限位,所以該位移值盡可能設(shè)置大一點,單條指令最大位移是2后面9個0);幀12“等待輸入X1通”表示右限位傳感器有信號;幀13:“單軸操作-減速停止”控制電機停止,軸號改成2;幀14“單軸等待”,軸號改成2,等待電機完全停止下來。

幀15:“延時等待”,按照流程圖動作添加對應(yīng)的延時指令。
幀16-幀17:電機脈沖位置清零:軸1采用賦值運算:Pa1=D0+D0,軸2采用賦值運算:Pa2=D0+D0,0+0所得結(jié)果全是0,就是將之前兩臺電機所運轉(zhuǎn)的位移值全部清空,為下面實現(xiàn)比較電機脈沖位置的程序打好鋪墊。

幀18-幀21:電機的總位移長度:幀18-幀19“速度控制”,分別賦予電機運動的初步速度比值,A1表示軸1,A2表示軸2,速比值比如800,兩臺電機速比值一致;幀20-幀21“單軸增量”,都是采用的單軸運動指令 ,屬性設(shè)置選擇運動方式:增量(表示位移值在原有的基礎(chǔ)繼續(xù)增加),運動方向:正向,軸1的位移值:10000,軸2的位移值:20000。

幀22-幀23:軸1電機位置比較,進(jìn)而觸發(fā)4個電磁閥推出:

幀22“邏輯比較”:比較軸1電機的當(dāng)前脈沖位置P1,將這段比較位移值5000保存在寄存器W0里面,當(dāng)P1>W0時,執(zhí)行幀23“觸發(fā)輸出Y010-013通”控制1號/2號/3號/4號電磁閥同時推出,此處采用觸發(fā)輸出的多端口模式,一條指令可以連續(xù)觸發(fā)多個端口。
幀24-幀25:軸2電機位置比較,進(jìn)而觸發(fā)1號電磁閥和2號電磁閥同時縮回:

幀24“邏輯比較”:比較軸2電機的當(dāng)前脈沖位置P2,將這段比較位移值10000保存在寄存器W1(同一個寄存器不能重復(fù)使用)里面,當(dāng)P1>W1時,執(zhí)行幀25“觸發(fā)輸出Y010-011斷”控制電磁閥1號和2號同時縮回。
幀26-幀27:“單軸等待”,等待電機停止,幀26軸號為1,幀27軸號為2,等待兩臺電機完全停止下來,此處其實A1電機早已運行完10000的脈沖位置,實際等待是等待A2電機停止,但寫上等待軸1停止也沒有影響。

幀28:“延時等待”,按照流程圖動作添加對應(yīng)的延時指令。
幀29-幀31:根據(jù)動作流程圖,依次控制3號電磁閥縮回,延時,在控制4號電磁閥推出s。

幀32-幀37:軸1電機和軸2電機同時運行,但非同速非同位移:

幀32:“速度控制”為軸1賦予速比值,如700;幀33“速度控制”為軸2賦予速比值,軸號要改成2,如300;幀34“單軸運動”為軸1位移值,改軸號1,如5000,運動方式:增量,運動方向:正向;幀35“單軸運動”為軸2位移值,改軸號2,位移值如2000,運動方式:增量,運動方向:正向;幀36-幀37“單軸等待”,等待電機停止,幀36軸號為1,幀37軸號為2,等待兩臺電機完全停止下來。
幀38:觸發(fā)4號電磁閥縮回,觸發(fā)輸出Y13斷。
幀39-幀40:補充程序,可以在程序最后加上脈沖清零,清空電機的所有位移值,此段程序可加可不加。

幀41:“延時等待”,按照流程圖動作添加對應(yīng)的延時指令。
幀42:“計數(shù)循環(huán)1幀50次”,程序結(jié)束實現(xiàn)有限次數(shù)循環(huán),用計數(shù)循環(huán)指令將程序跳轉(zhuǎn)到幀1,再次回到電機機械回零的動作,繼續(xù)往下執(zhí)行,直接跳過啟動條件。

屬性設(shè)置:

寄存器W值保存設(shè)置,兩臺電機位移比較值,保存在W32位寄存器里面:

②計數(shù)清零程序在時序環(huán)1環(huán)實現(xiàn):

程序解析:
對主程序計數(shù)功能清零,我們稱為計數(shù)清零,需要用到“賦值運算”指令。
環(huán)1幀0-幀1:“等待輸入X02斷”,“等待輸入X02通”表示清零按鈕從斷到通的瞬間信號,也就是一次動作。
幀2:計數(shù)清零:“賦值運算”Rc0=D0+D0,0+0=0,該指令就能實現(xiàn)直接清零;Rc0中的Rc表示時序環(huán)的計數(shù)變量,Rc0中的0表示計數(shù)器的序號(一個時序環(huán)最多能調(diào)用10個計數(shù)器),也就是Rc0表示時序環(huán)的第一個計數(shù)變量。至于該計數(shù)器是哪一個時序環(huán)的計數(shù)器,在屬性選擇環(huán)號就行。
賦值運算屬性設(shè)置:
