時(shí)間:2021-07-13 10:47:38來(lái)源:深圳市正運(yùn)動(dòng)技術(shù)有限公司
梯形圖(LAD, LadderLogic ProgrammingLanguage)是PLC使用得最多的圖形編程語(yǔ)言,被稱為PLC的第一編程語(yǔ)言。
梯形圖語(yǔ)言沿襲了繼電器控制電路的形式,梯形圖是在常用的繼電器與接觸器邏輯控制基礎(chǔ)上簡(jiǎn)化了符號(hào)演變而來(lái)的,具有形象、直觀、實(shí)用等特點(diǎn),電氣技術(shù)人員容易接受,是運(yùn)用上最多的一種PLC的編程語(yǔ)言。
正運(yùn)動(dòng)技術(shù)的ZMC006CE就是一款高性價(jià)比的,支持ZBasic、ZPlC編程語(yǔ)言,以及可以使用正運(yùn)動(dòng)技術(shù)ZHMI界面編程的EtherCAT運(yùn)動(dòng)控制器。在正式學(xué)習(xí)直線插補(bǔ)之前,我們先簡(jiǎn)單了解一下這個(gè)產(chǎn)品。
教學(xué)視頻
一梯形圖介紹梯形圖介紹
(一)梯形圖運(yùn)行邏輯
PLC梯形圖執(zhí)行從左側(cè)的母線開始,從左至右,從上至下依次掃描,從第一行程序開始順序掃描到END為一個(gè)掃描周期,然后又開始新一輪程序掃描,直到程序被停止。
PLC運(yùn)行時(shí),主要經(jīng)過(guò)自檢測(cè)、通訊處理、輸入檢測(cè)、程序執(zhí)行、輸出刷新這五個(gè)階段。掃描程序之前,先執(zhí)行故障檢測(cè)與程序檢查,發(fā)現(xiàn)異常停機(jī)顯示出錯(cuò)信息,打印程序編寫問題,再執(zhí)行與其他設(shè)備的通信響應(yīng)。
掃描周期示意圖
一個(gè)掃描周期包括輸入檢測(cè)、程序執(zhí)行、輸出刷新三個(gè)階段。
1.輸入檢測(cè)
PLC以掃描方式順序讀入各輸入端子的通斷狀態(tài),并寫入相應(yīng)的輸入狀態(tài)寄存器,即刷新輸入,接著轉(zhuǎn)入程序執(zhí)行階段。一般來(lái)說(shuō),輸入信號(hào)的寬度要大于一個(gè)掃描周期,否則可能導(dǎo)致信號(hào)丟失。
2.程序執(zhí)行
PLC按從左至右,從上至下的順序?qū)γ織l梯形圖指令進(jìn)行掃描,并將相應(yīng)的運(yùn)算和處理結(jié)果保存在輸出狀態(tài)寄存器中。在程序執(zhí)行的過(guò)程中,若輸入信號(hào)狀態(tài)發(fā)生改變,但此時(shí)狀態(tài)寄存器內(nèi)的輸入狀態(tài)沒有改變,直到下一掃描開始時(shí)再讀入輸入信號(hào)狀態(tài)。
3.輸出刷新
在所有指令執(zhí)行完畢后,輸出狀態(tài)寄存器的通斷狀態(tài)寫入輸出端子,驅(qū)動(dòng)相應(yīng)的輸出設(shè)備。
掃描周期主要取決于程序的長(zhǎng)短、指令的類型、CPU 執(zhí)行指令的速度。掃描周期的時(shí)間可以通過(guò)特殊寄存器 D8010(掃描時(shí)間)、D8011(掃描最小時(shí)間)、D8012(掃描最大時(shí)間)來(lái)查看。
(二)梯形圖混合Basic
1.PLC調(diào)用BASIC指令
PLC可以通過(guò)EXE指令或EXEP指令調(diào)用Basic標(biāo)準(zhǔn)指令。EXEP指令是EXE指令的脈沖形式,僅在驅(qū)動(dòng)輸入由OFF變?yōu)镺N后,才調(diào)用Basic標(biāo)準(zhǔn)指令。
語(yǔ)法格式如下:
“EXE @BASIC指令”等價(jià)于“BASIC指令”。
2.PLC調(diào)用BASIC和PLC程序
PLC使用CALL指令調(diào)用子程序。程序文件必須在同一項(xiàng)目文件(.ZPJ)內(nèi)才可調(diào)用。
2.1 PLC調(diào)用PLC子程序
CALL調(diào)用子程序后,跳轉(zhuǎn)到對(duì)應(yīng)LBL行執(zhí)行,執(zhí)行到SRET指令處返回。
2.2 PLC調(diào)用Basic子程序
PLC調(diào)用Basic子程序時(shí),需要在SUB函數(shù)名前加上@,調(diào)用時(shí)可根據(jù)實(shí)際情況選擇是否傳入?yún)?shù),如右圖的參數(shù)LV0。
PLC梯形圖程序
被調(diào)用的Basic子程序
3.BASIC調(diào)用PLC文件
程序文件必須在同一項(xiàng)目文件(.ZPJ)內(nèi)才可調(diào)用。
3.1 Basic啟動(dòng)PLC任務(wù)
Basic里可使用語(yǔ)句“run"xxx.plc",任務(wù)編號(hào)”來(lái)啟動(dòng)PLC文件任務(wù)。
PLC子程序SRET子程序返回指令可以帶上返回值,返回值存儲(chǔ)在LV局部寄存器中,返回值是浮點(diǎn)格式,調(diào)用者通過(guò)RETURN指令獲取返回值。
3.2. Basic調(diào)用PLC子程序
Basic里使用“CALL SUB_FUNC”或“RUNTASK 任務(wù)號(hào), SUB_FUNC”來(lái)調(diào)用PLC子程序LBL。
如下圖,Basic程序執(zhí)行到CALL語(yǔ)句后跳轉(zhuǎn)到PLC程序的LBL子程序執(zhí)行,執(zhí)行完子程序SRET返回參數(shù)LV1保存在RETURN中。
二插補(bǔ)功能介紹梯形圖介紹
(一)插補(bǔ)原理
直線插補(bǔ)方式中,兩點(diǎn)間的插補(bǔ)沿著直線的點(diǎn)群來(lái)逼近。首先假設(shè)在實(shí)際輪廓起始點(diǎn)處沿X方向走一小段(給一個(gè)脈沖當(dāng)量軸走一段固定距離),發(fā)現(xiàn)終點(diǎn)在實(shí)際輪廓的上方,則下一條線段沿Y方向走一小段,此時(shí)如果線段終點(diǎn)還在實(shí)際輪廓下方,則繼續(xù)沿Y方向走一小段,直到在實(shí)際輪廓上方以后,再向X方向走一小段,依此類推,直到到達(dá)輪廓終點(diǎn)為止。實(shí)際輪廓是由一段段的折線拼接而成,雖然是折線,但每一段插補(bǔ)線段在精度允許范圍內(nèi)非常小,那么此段折線還是可以近似看做一條直線段,這就是直線插補(bǔ)。
假設(shè)軸需要在在XY平面上從點(diǎn)(X0,Y0)運(yùn)動(dòng)到點(diǎn)(X1,Y1),其直線插補(bǔ)的加工過(guò)程如下圖所示。
給軸發(fā)送一個(gè)脈沖運(yùn)動(dòng)的距離由電機(jī)的特性決定,不同的軸單個(gè)脈沖運(yùn)動(dòng)距離有所不同。
(二)梯形圖插補(bǔ)指令介紹
在正運(yùn)動(dòng)梯形圖編程中,有兩種形式的插補(bǔ)指令其分別為Zbasic形式和PLC形式。
梯形圖使用Zbasic形式插補(bǔ)指令
梯形圖使用PLC形式插補(bǔ)指令
1.Zbasic插補(bǔ)指令介紹
MOVE -- 直線運(yùn)動(dòng)
2.PLC形式插補(bǔ)指令介紹
MOVE
指令說(shuō)明: MOVE指令為直線插補(bǔ)相對(duì)運(yùn)動(dòng)指令。操作數(shù):
S1:T,C,D,K,H,Z,V,LV,DT,@
S2:T,C,D,K,H,Z,V,LV,DT,@
……
S8:T,C,D,K,H,Z,V,LV,DT,@
操作數(shù)若使用字寄存器,寄存器中的數(shù)值需用浮點(diǎn)指令賦值。編程示例:
直接使用PLC指令中的MOVE指令
三梯形圖直線插補(bǔ)示例梯形圖介紹
(一)梯形圖混合Zbasic例程
演示視頻
主循環(huán)部分
上電M8002導(dǎo)通一次,調(diào)用軸初始化函數(shù)執(zhí)行,由M0調(diào)用相對(duì)運(yùn)動(dòng)函數(shù)執(zhí)行。
軸初始化部分
插補(bǔ)運(yùn)動(dòng)部分
當(dāng)設(shè)置了軸0和軸1的S曲線后,平滑時(shí)間100ms,SRAMP=100,100,此時(shí)的速度曲線如下圖:
ld m8002exe @Axis_Initldp m0EXE @RelativeMoveendlbl @Axis_Initld m8000EXE @BASE(0,1)EXE @UNITS = 100,100EXE @ACCEL = 1000,1000EXE @DECEL = 1000,1000EXE @SPEED = 100,100EXE @DPOS = 0,0EXE @MPOS = 0,0sretLBL @RelativeMove ld m8000EXE @BASE(0,1)exe @Triggerexe @MOVE(300,400)sret
梯形圖對(duì)應(yīng)語(yǔ)句表
·
Axis_Init
WHILE 1
IF SCAN_EVENT(MODBUS_BIT(0)) > 0 THEN Axis_Move ENDIFWEND
END
GLOBAL SUB Axis_Init() BASE(0,1) UNITS= 100,100 ACCEL = 1000,1000 DECEL = 1000,1000 SPEED = 100,100 DPOS = 0,0 MPOS = 0,0ENDSUB
GLOBAL SUB Axis_Move() BASE(0,1) TRIGGER MOVE(300,400)ENDSUB
與該梯形圖直線插補(bǔ)程序等價(jià)的Zbasic形式程序
本次,正運(yùn)動(dòng)技術(shù)EtherCAT運(yùn)動(dòng)控制器的PLC編程(一) 直線插補(bǔ),就分享到這里。
本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國(guó)智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來(lái)源。
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-06-09
從外觀到內(nèi)核的「超進(jìn)化」!NK550M五軸...
2025-06-06
2025-05-19
2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11