解析:從接線調(diào)試到緩沖存儲器編程)
簡介三菱A系列伺服定位模塊AD71(S1/S2/S7)/A1SD71-S2(S7)詳解手冊面向工業(yè)自動化領(lǐng)域從事PLC運(yùn)動控制、設(shè)備調(diào)試與維護(hù)的工程師尤其適合需要高精度定位控制的復(fù)雜機(jī)械場景。手冊系統(tǒng)覆蓋模塊概述、高分辨率高精度定位能力、多樣化通信接口、點(diǎn)到點(diǎn)/連續(xù)軌跡/同步運(yùn)動等控制模式以及PLC編程實現(xiàn)定制化運(yùn)動邏輯的方法同時詳細(xì)說明硬件安裝、接線步驟、參數(shù)設(shè)置并給出故障代碼排除指南、安全注意事項與技術(shù)規(guī)格表幫助用戶建立從硬件接入到調(diào)試排錯的完整知識鏈路。資源為1個PDF文件英文原版說明書壓縮包大小8.06MB內(nèi)含詳細(xì)的模塊技術(shù)參數(shù)如定位精度、響應(yīng)能力等并包含出口合規(guī)說明及三菱官方聯(lián)系信息適合作為工作中隨時查閱的技術(shù)檔案。目前已有142人學(xué)習(xí)瀏覽對希望掌握AD71定位模塊具體配置方法、快速排查運(yùn)行問題的技術(shù)人員具有直接參考價值。1. 三菱AD71詳細(xì)手冊先搞清這個模塊到底解決什么問題產(chǎn)線設(shè)備停下來的時候電氣柜里最值錢的東西不是PLC是那臺負(fù)責(zé)精確位置控制的定位模塊。三菱AD71就是這樣一塊老牌定位模塊專門掛在FX系列PLC旁邊用脈沖輸出去驅(qū)動步進(jìn)或伺服驅(qū)動器完成那些“轉(zhuǎn)多少度、走多少毫米、在哪?!钡幕睢:芏嗳税袮D71的詳細(xì)手冊當(dāng)文檔存著真到接線、寫參數(shù)、調(diào)程序那天才發(fā)現(xiàn)這本手冊里最值得讀的不是指令表而是緩沖存儲器地址和時序圖。這篇筆記就是照著AD71手冊的落地邏輯把“這是什么、硬件怎么搭、控制數(shù)據(jù)怎么填、程序怎么寫、坑在哪”一條線走通。適合手里正好有AD71設(shè)備、或者準(zhǔn)備在舊產(chǎn)線改造里用它的人看。新手能照著搭出一套能動的定位程序熟手能對著后面的排查章節(jié)少走幾次彎路。2. AD71硬件構(gòu)成與選型單軸還是雙軸接線前先做這三件事AD71這個模塊在手冊里的正式叫法是“定位單元”它本身不帶運(yùn)算邏輯所有定位控制由模塊內(nèi)的CPU完成PLC只負(fù)責(zé)通過緩沖存儲器給它下發(fā)參數(shù)和指令。這種設(shè)計的好處是定位過程不占用PLC的掃描周期哪怕PLC程序再亂AD71也能按設(shè)定把脈沖一絲不茍地發(fā)完。所以它特別適合那些“動作復(fù)雜但又要精確停位”的單機(jī)設(shè)備比如貼標(biāo)機(jī)的裁切長度控制、鉆床的孔位進(jìn)給、繞線機(jī)的排線行程。2.1 AD71-S1與AD71-S2先分清單軸還是雙軸手冊封面底下那一行小字最容易看漏。AD71分成兩個型號AD71-S1是單軸AD71-S2是雙軸。S1只能控制一臺驅(qū)動器S2能控制兩臺但兩個型號的模塊寬度和占用的PLC擴(kuò)展地址不一樣。選型時別只看軸數(shù)還要看這臺設(shè)備以后會不會加第二軸。我見過某廠的設(shè)備最初只做單軸定位用了S1半年后要加一個橫移軸只能再掛一個模塊PLC擴(kuò)展槽位和地址全部重排電氣柜里的線纜也返工了一次。如果項目初期就有加軸的可能直接上S2是更省事的決定。另外一個容易忽略的差異是輸出形式。AD71的脈沖輸出是集電極開路方式手冊里明確寫了它的最大輸出頻率和輸出信號的電平邏輯。挑驅(qū)動器時要注意很多現(xiàn)代伺服驅(qū)動器默認(rèn)接受差動輸出的脈沖指令集電極開路信號雖然也能接但抗干擾能力差一截線一長就容易丟脈沖。我的習(xí)慣是控制柜內(nèi)走線超過1.5米或者現(xiàn)場有大功率變頻器就直接在模塊和驅(qū)動器之間加一個光電耦合轉(zhuǎn)換板把集電極開路轉(zhuǎn)成差動脈沖這是花小錢消大隱患的典型做法。2.2 一套可落地的系統(tǒng)組成清單AD71從來不是孤立工作的它要穩(wěn)定跑起來至少需要下面這些部分。我一般把這張表打印出來貼在控制柜門上調(diào)試的時候?qū)χ楸确謨钥斓枚唷=M成部件型號/形式示例作用與注意點(diǎn)PLC主機(jī)FX3G、FX3U等系列通過擴(kuò)展總線與AD71通信下發(fā)控制指令定位模塊AD71-S1或AD71-S2輸出脈沖串完成定位運(yùn)算驅(qū)動器步進(jìn)驅(qū)動器或伺服驅(qū)動器接收脈沖與方向信號驅(qū)動電機(jī)電機(jī)步進(jìn)電機(jī)或伺服電機(jī)帶動機(jī)械執(zhí)行定位動作外接電源24V DC給AD71內(nèi)部控制及輸入信號供電原點(diǎn)/限位開關(guān)三線制NPN型接近開關(guān)提供原點(diǎn)信號、正負(fù)限位信號這里重點(diǎn)說24V電源。AD71的輸入信號公共端和傳感器電源都靠這路24V如果現(xiàn)場變壓器容量不夠或者24V電源和電機(jī)驅(qū)動共用一路定位過程中一啟動脈沖輸出電壓就被拉低模塊直接進(jìn)入保護(hù)狀態(tài)。我用過一個小經(jīng)驗AD71系統(tǒng)單獨(dú)用一只100W以上的開關(guān)電源不與PLC其他24V負(fù)載混用。這在手冊里不會特別強(qiáng)調(diào)但實際調(diào)試中能省掉大半“莫名報警”的問題。2.3 接線前必須確認(rèn)的三個電源與信號地問題接線是最容易翻車的一步翻車了還特別難看因為位置偏差和信號干擾的表現(xiàn)很像。第一個問題是電源極性。AD71的輸入信號公共端分漏型/源型接法NPN傳感器配漏型接法最常用但很多電氣新手把24V和24V-接反模塊的輸入指示燈全亮成異常狀態(tài)。記得上電前用萬用表二極管擋量一下公共端對地的壓降方向。第二個問題是信號地。AD71的脈沖輸出和外部輸入信號雖然都是24V系統(tǒng)但一定要把模塊的COM端與驅(qū)動器的信號地、傳感器負(fù)端連成同一個電位參考點(diǎn)。否則現(xiàn)場有干擾時脈沖計數(shù)會漂定位位置一次一個樣非常像參數(shù)沒設(shè)對實際上是地沒接好。我見過有人調(diào)了兩天定位精度最后發(fā)現(xiàn)是COM線沒接這就是典型的“玄學(xué)”問題。第三個問題是屏蔽層。脈沖線和方向線必須用雙絞屏蔽線屏蔽層在控制柜一端單點(diǎn)接地。很多工程師覺得線短不用屏蔽實際現(xiàn)場一臺5.5kW的變頻器一啟動脈沖線就是一根天線AD71偶爾多發(fā)或少發(fā)一個脈沖機(jī)械位置就對不上了。屏蔽這步?jīng)]有技術(shù)含量但是血淚經(jīng)驗換來的。3. AD71緩沖存儲器與控制數(shù)據(jù)手冊里最常被翻的一張表AD71和PLC之間沒有復(fù)雜的通信協(xié)議一切交互都通過緩沖存儲器BFM完成。PLC用FROM指令讀AD71的狀態(tài)用TO指令寫控制數(shù)據(jù)。手冊里那張“緩沖存儲器一覽表”就是整個模塊的映射關(guān)系搞清楚它等于拿到了這套系統(tǒng)的地圖。很多程序?qū)懖怀鰜聿皇遣粫懼噶疃遣恢滥膫€地址是干什么的。3.1 控制數(shù)據(jù)與狀態(tài)數(shù)據(jù)的地址模型AD71的緩沖存儲器按軸分開分配每軸占用一段連續(xù)地址??刂茢?shù)據(jù)包括定位模式、目標(biāo)位置、運(yùn)行速度、加減速時間、回原點(diǎn)速度等參數(shù)狀態(tài)數(shù)據(jù)包括正在運(yùn)行標(biāo)志、定位完成標(biāo)志、報警代碼、當(dāng)前位置等。我習(xí)慣把它們的地址關(guān)系整理成一張表寫程序時直接查地址偏移方向功能備注0寫入控制指令字啟動、停止、復(fù)位等1寫入定位模式增量/絕對、回原點(diǎn)模式選擇2寫入目標(biāo)位置低16位單位是脈沖數(shù)3寫入目標(biāo)位置高16位與低16位組成32位雙字4寫入運(yùn)行速度低16位單位是Hz或脈沖/s5寫入運(yùn)行速度高16位與低16位組成32位雙字6寫入加/減速時間單位ms10讀出當(dāng)前狀態(tài)字判斷運(yùn)行中/完成/報警11讀出當(dāng)前位置低16位監(jiān)控用以上地址偏移是常見分配方式不同批次模塊的具體偏移以手冊中的緩沖區(qū)分配表為準(zhǔn)。上電后用編程軟件在線監(jiān)視也能直接看到這些地址對應(yīng)的值不必死記。從編程角度看最核心的是兩類控制指令字和定位模式字??刂浦噶钭质敲顚憽皥?zhí)行”AD71就開始按其它參數(shù)跑寫“停止”它就立刻減速停下寫“復(fù)位”清報警。定位模式字則決定了這次定位的基準(zhǔn)增量模式是從當(dāng)前位置開始走相對距離絕對模式是走到一個絕對坐標(biāo)位置。選錯模式往往導(dǎo)致位置差了整整一個行程程序邏輯卻看不出來。3.2 用ST寫一個寫入控制數(shù)據(jù)的程序骨架明白了地址模型程序就順了。下面是一段用結(jié)構(gòu)化文本ST寫的寫入控制數(shù)據(jù)骨架作用是完成一次“走到指定位置再?!钡慕^對定位(* 模塊擴(kuò)展地址由PLC參數(shù)分配這里假設(shè)從U0開始 *) (* 第1軸控制數(shù)據(jù)寫入 *) U0\G1 : 2; (* 定位模式2 絕對定位模式 *) U0\G2 : 50000; (* 目標(biāo)位置低位50000脈沖 *) U0\G3 : 0; (* 目標(biāo)位置高位0組合后位置為50000 *) U0\G4 : 10000; (* 運(yùn)行速度低位10000脈沖/s *) U0\G5 : 0; (* 運(yùn)行速度高位0 *) U0\G6 : 200; (* 加減速時間200ms *) U0\G0 : 1; (* 控制指令字寫入1為執(zhí)行定位 *)代碼里要點(diǎn)全在注釋里。U0是指PLC擴(kuò)展總線上該模塊的首地址G是緩沖存儲器編號G1對應(yīng)地址偏移1。先寫模式、位置、速度和加減速參數(shù)最后寫控制指令字觸發(fā)執(zhí)行。這個順序不能反要先讓參數(shù)準(zhǔn)備到位再給出執(zhí)行命令。反過來AD71可能讀取到上一次的程序殘留參數(shù)位置就不對了。參數(shù)說明有兩點(diǎn)要注意位置和速度都是32位所以要把高16位和低16位分開寫高16位一般寫0但如果目標(biāo)位置超過32767或者速度超過設(shè)定頻率上限高16位就必須參與計算加減速時間200ms是讓電機(jī)平滑起停的緩沖設(shè)得太小會讓機(jī)械振動大設(shè)得太大又拖慢節(jié)拍。一般步進(jìn)系統(tǒng)從0到目標(biāo)速度按200ms起步再根據(jù)負(fù)載微調(diào)。3.3 時序與軟元件不要和PLC主掃描搶數(shù)據(jù)AD71的設(shè)計初衷是獨(dú)立完成定位所以程序和它通信的時機(jī)很講究。FROM和TO指令在PLC掃描周期里執(zhí)行如果PLC的掃描周期太長比如程序里有大段PID運(yùn)算或通信處理那么每次寫入AD71參數(shù)的時間間隔就不穩(wěn)定。AD71發(fā)出脈沖的頻率和加減速曲線是模塊內(nèi)部自己生成的不受PLC掃描周期影響但“指令下發(fā)到模塊”這個動作本身受掃描周期影響。我的做法是所有AD71的控制數(shù)據(jù)寫入集中在同一段程序里放在掃描周期的固定位置避免在中斷程序里寫控制字。中斷程序里只做急停和硬限位處理不做定位參數(shù)寫入。這里還有一個容易掉進(jìn)去的坑不要在一段掃描周期里連續(xù)往同一個地址寫兩次不同的值否則最后一次寫入會覆蓋前一次程序看起來寫了但實際生效的是你不想用的那個參數(shù)。調(diào)試時在監(jiān)視窗口看寫入值的變化能很快發(fā)現(xiàn)這類覆蓋問題。4. 用AD71跑通一個定位程序從參數(shù)設(shè)定到定位完成判斷有了前面兩層基礎(chǔ)這一章直接進(jìn)入正題怎么寫出一個能跑的定位程序。我不打算貼一整段復(fù)雜梯形圖那會讓你對著屏幕發(fā)懵。常見做法是把程序拆成參數(shù)設(shè)定、回原點(diǎn)、執(zhí)行定位、狀態(tài)判斷四步一步一塊代碼每一塊都能單獨(dú)測試。4.1 模塊參數(shù)設(shè)定表哪幾個參數(shù)不設(shè)置會直接報警上電第一件事是設(shè)定模塊參數(shù)這些參數(shù)不是通過程序?qū)懭氲亩窃谀K側(cè)或者通過PLC參數(shù)區(qū)設(shè)置的。AD71有部分設(shè)定參數(shù)需要在上電初始化時寫入比如原點(diǎn)方向、限位輸入邏輯、脈沖輸出形式。手冊里把這類參數(shù)稱為“初始化參數(shù)”或“系統(tǒng)參數(shù)”。不設(shè)對的話模塊不一定馬上報警但一回原點(diǎn)就莫名其妙跑反方向或者在限位處一直抖動。我列了四個最關(guān)鍵的參數(shù)調(diào)試新設(shè)備時先檢查它們參數(shù)項設(shè)定說明典型報警表現(xiàn)脈沖輸出形式選擇方向脈沖還是正反脈沖電機(jī)只朝一個方向轉(zhuǎn)原點(diǎn)方向確定找原點(diǎn)時電機(jī)旋轉(zhuǎn)方向回原點(diǎn)直接撞限位限位輸入邏輯常開/常閉一定要與硬件接線一致模塊上電就報限位錯誤偏差計數(shù)器清零方式選擇定位完成時清零或連續(xù)模式停機(jī)位置與目標(biāo)位置不符其中“限位輸入邏輯”是最坑的。很多接近開關(guān)是常開型碰到擋塊時輸出24V也有常閉型斷線時反而報警。如果參數(shù)里設(shè)定的是常閉邏輯但現(xiàn)場裝的常開開關(guān)模塊一上電就認(rèn)為自己已經(jīng)在限位狀態(tài)里所有定位指令都被鎖死。排查這類問題最快的方式是看模塊面板上的輸入指示燈手動碰限位開關(guān)看對應(yīng)指示燈是不是按預(yù)期亮滅不亮就說明邏輯反了。4.2 從回原點(diǎn)到單軸定位的最小程序回原點(diǎn)是定位系統(tǒng)不可缺少的一步它告訴AD71“現(xiàn)在這個位置才是坐標(biāo)零點(diǎn)的位置”。沒有回原點(diǎn)絕對定位就沒有基準(zhǔn)。下面這段ST代碼實現(xiàn)的是每次上電先回原點(diǎn)成功后執(zhí)行一次絕對定位。(* 步驟1啟動回原點(diǎn) *) U0\G1 : 1; (* 定位模式1 回原點(diǎn)模式 *) U0\G4 : 5000; (* 回原點(diǎn)速度高速找DOG信號 *) U0\G6 : 300; (* 加減速時間300ms *) U0\G0 : 1; (* 執(zhí)行回原點(diǎn)命令 *) (* 步驟2等待回原點(diǎn)完成讀取狀態(tài)字 *) WHILE (U0\G10 AND 1) 0 DO (* 狀態(tài)字第0位為“回原點(diǎn)完成”為0則繼續(xù)等待 *) END_WHILE; (* 步驟3回原點(diǎn)完成后執(zhí)行絕對定位 *) U0\G1 : 2; (* 定位模式2 絕對定位 *) U0\G2 : 20000; (* 目標(biāo)位置20000脈沖 *) U0\G3 : 0; U0\G4 : 8000; (* 運(yùn)行速度8000脈沖/s *) U0\G5 : 0; U0\G6 : 200; (* 加減速時間200ms *) U0\G0 : 1; (* 執(zhí)行定位 *)邏輯說明回原點(diǎn)模式和絕對定位模式共用一個控制字區(qū)別只在模式字不一樣?;卦c(diǎn)過程AD71會自己按“高速找DOG信號碰到后減速到爬行速度最后停在原點(diǎn)”的流程走程序不需要干預(yù)。WHILE循環(huán)是同步等待實際項目里不建議在PLC主程序里這么寫因為會卡住整個掃描周期常見做法是用狀態(tài)機(jī)讓AD71在后臺跑PLC每掃描一次就查一下狀態(tài)字不阻塞其它邏輯。參數(shù)說明這里回原點(diǎn)速度為5000脈沖/s是“高速找DOG”的速度一般設(shè)成正常定位速度的30%到50%太慢影響效率太快容易沖過DOG。絕對定位位置20000脈沖假設(shè)機(jī)械每脈沖移動0.01mm對應(yīng)行程就是200mm。如果你要走的距離是100mm把位置改成10000就行。4.3 定位完成判斷與錯誤復(fù)位邏輯定位完成后不能直接進(jìn)行下一步動作必須先確認(rèn)AD71真的停在了目標(biāo)位置。我一般讀狀態(tài)字里兩個位運(yùn)行位和定位完成位。運(yùn)行位為1表正在走定位完成位為1表已到達(dá)。兩者的時序關(guān)系是運(yùn)行位先置1再清零隨后定位完成位置1。(* 讀取第1軸狀態(tài)字 *) IF (U0\G10 AND 2) 2 THEN (* 第1位為1模塊正在運(yùn)行 *) RUN_FLAG : TRUE; END_IF; IF (U0\G10 AND 4) 4 THEN (* 第2位為1定位完成 *) DONE_FLAG : TRUE; (* 這時才允許下一步機(jī)械動作 *) END_IF; (* 錯誤復(fù)位邏輯 *) IF (U0\G10 AND 32) 32 THEN (* 第5位為1報警 *) U0\G0 : 8; (* 控制指令字寫入8復(fù)位報警 *) END_IF;這段代碼比上一段更接近實戰(zhàn)。第一個判斷是運(yùn)行狀態(tài)第二個判斷完成狀態(tài)第三個是報警復(fù)位。位置完成后把DONE_FLAG置位把它當(dāng)作聯(lián)鎖信號傳給后面氣缸、夾爪等動作程序。復(fù)位邏輯要放在報警發(fā)生后的處理分支里不能在主循環(huán)里反復(fù)寫復(fù)位否則報警一不停程序就一直在復(fù)位-報警-復(fù)位之間打轉(zhuǎn)。這里有一個細(xì)節(jié)值得多說一句定位完成位在收到下一次執(zhí)行命令之前會一直保持為1所以程序不會漏掉完成信號。但如果你在同一掃描周期里先讀完成位、又下發(fā)了新的定位命令那么完成位可能在下個掃描周期就清了。編碼方式上完成信號最好用上升沿去觸發(fā)后續(xù)動作不要用電平觸發(fā)這樣即使AD71完成信號保持時間很短也不容易丟。5. AD71典型故障排查五個翻車現(xiàn)場與對應(yīng)處理AD71用得越久越會發(fā)現(xiàn)它的定位精度和穩(wěn)定性其實很好絕大多數(shù)故障出在外部接線和參數(shù)配合上。這一章我按“現(xiàn)象→原因→解決”的方式寫五個最常見的坑都是我實際調(diào)試中遇到過或幫別人收拾過的。5.1 模塊插上后PLC掃描不到擴(kuò)展地址怎么都對不上現(xiàn)象把AD71插到PLC擴(kuò)展底座上上電后PLC報“擴(kuò)展模塊數(shù)量錯誤”或者干脆不識別編程軟件里看不到這個模塊。原因最常見的是擴(kuò)展線沒插到位或者模塊背后的擴(kuò)展連接器被柜內(nèi)線纜卡住了接觸不良。其次是PLC參數(shù)里設(shè)置的擴(kuò)展模塊數(shù)量與實際安裝不符AD71占用2個擴(kuò)展地址只給它分配1個就會報錯。解決先斷電重插一遍擴(kuò)展連接器聽到“咔嗒”聲才算到位。然后進(jìn)PLC參數(shù)里看擴(kuò)展模塊配置表確認(rèn)AD71被識別成定位模塊且模塊數(shù)正確。排除接觸問題后如果依然不認(rèn)就換一個擴(kuò)展槽試極少情況下是底座壞了。5.2 脈沖輸出有值但電機(jī)紋絲不動驅(qū)動器收不到信號現(xiàn)象程序里控制字、位置、速度都寫了監(jiān)視緩沖存儲器也有數(shù)據(jù)在變化但電機(jī)一步都不轉(zhuǎn)。這時用萬用表量AD71的脈沖輸出端子又能量到電壓跳變驅(qū)動器卻像沒收到一樣。原因多數(shù)是脈沖輸出公共端沒接對。集電極開路輸出必須有外部上拉或公共端接到驅(qū)動器的脈沖輸入端正極上否則信號無法形成回路。另一個常見原因是驅(qū)動器的輸入信號類型和AD71輸出形式不匹配比如驅(qū)動器設(shè)成了差動輸入而AD71給的是集電極開路信號電平夠不到驅(qū)動器輸入閾值。解決把AD71脈沖輸出端的COM線按手冊接到驅(qū)動器脈沖輸入端子的公共端然后查驅(qū)動器的輸入信號方式參數(shù)改為集電極開路/OC輸入。接完線后不要急著試運(yùn)行先用手動模式讓驅(qū)動器點(diǎn)動一下確認(rèn)驅(qū)動器本身收外部信號沒問題。5.3 定位位置每次都少走一段固定距離調(diào)大速度又正常現(xiàn)象設(shè)備慢速運(yùn)行時定位正常一提高運(yùn)行速度每次停下來的位置都比目標(biāo)位置少了相同的脈沖數(shù)誤差隨速度升高而變大。原因加減速時間太短。AD71按設(shè)定加速度勻加速到目標(biāo)速度如果加速度很大電機(jī)實際能跟上的脈沖頻率響應(yīng)跟不上模塊發(fā)出的指令頻率步進(jìn)電機(jī)會發(fā)生失步導(dǎo)致停下來時少走了脈沖。伺服電機(jī)不容易失步但增益沒調(diào)好也會出現(xiàn)輪廓誤差。解決把加減速時間從默認(rèn)的100ms往上調(diào)比如調(diào)到300~500ms再試。如果問題消失就說明是加速曲線太陡。步進(jìn)系統(tǒng)常見做法是“先慢后快”第一段加速到中速穩(wěn)定后再加速到高速但這在AD71里需要分成兩次定位指令完成不要過度依賴單次定位的加減速處理。5.4 回原點(diǎn)時撞限位不回頭DOG信號看著有但就是不?,F(xiàn)象按下回原點(diǎn)按鈕電機(jī)以高速朝原點(diǎn)方向走到了原點(diǎn)擋塊處DOG信號燈已經(jīng)亮了但電機(jī)不停下來繼續(xù)往前走直到撞限位。原因DOG信號的有效沿和回原點(diǎn)方向參數(shù)不匹配。AD71回原點(diǎn)邏輯是高速碰到DOG信號的上升沿后開始減速在DOG信號的下降沿處低速爬行找最終原點(diǎn)。如果方向反了或者DOG用常閉信號但參數(shù)設(shè)成了常開邏輯模塊就永遠(yuǎn)等不到那個下降沿。解決先分清你的DOG開關(guān)是常開還是常閉然后照著手冊把DOG輸入的邏輯參數(shù)改過來。最簡單的方法是讓機(jī)械擋塊觸發(fā)DOG觀察模塊的DOG指示燈燈亮表示信號有效。如果燈亮電機(jī)卻不停多半是方向反了把回原點(diǎn)方向參數(shù)反向試一次。5.5 急停后再啟動AD71的坐標(biāo)全亂了現(xiàn)象運(yùn)行中按急停排除故障后重新啟動設(shè)備不再回原點(diǎn)直接執(zhí)行定位結(jié)果每個位置都偏。有的操作員知道出了問題但程序不會自動提示要回原點(diǎn)。原因急停斷的是驅(qū)動器和電機(jī)的動力電源AD71模塊還在運(yùn)行但它輸出的脈沖和電機(jī)實際位置已經(jīng)失步了。模塊“以為”自己走到了目標(biāo)位置實際上電機(jī)停在半路上。定位完成位已經(jīng)置1程序就放行了后續(xù)動作。解決程序里做聯(lián)鎖急停信號復(fù)位后強(qiáng)制要求做一次回原點(diǎn)才能解除“定位就緒”標(biāo)志。判斷標(biāo)準(zhǔn)很簡單回原點(diǎn)完成位為1才允許后續(xù)定位指令下發(fā)。不要試圖靠電氣方式同步位置急停后回原點(diǎn)是保證坐標(biāo)唯一正確的最簡單方式。這個習(xí)慣不加上去早晚會出一次連續(xù)性事故。6. 讓AD71程序更好用的調(diào)試習(xí)慣從點(diǎn)到面的驗證方法程序?qū)懲昴芘苤皇堑谝徊侥懿荒芊€(wěn)定跑一個季度不讓人半夜進(jìn)車間才是真正分高下的地方。這一章講三個調(diào)試習(xí)慣都是圍繞AD71這臺模塊總結(jié)出來的。第一個習(xí)慣是“點(diǎn)動先行”。不管程序里寫了多少邏輯第一次上電測試永遠(yuǎn)用手動點(diǎn)動模式讓驅(qū)動器單獨(dú)轉(zhuǎn)起來確認(rèn)電機(jī)方向、轉(zhuǎn)速和實際機(jī)械方向一致后再接AD71的自動定位。很多工程師跳過了這一步直接寫絕對定位程序一運(yùn)行發(fā)現(xiàn)電機(jī)往反方向沖嚇得趕緊拍急停。其實方向反了不一定全是接線錯也可能是AD71的模式字或驅(qū)動器方向輸入信號接反了。手動點(diǎn)動確認(rèn)方向能把這個變量提前排除掉。第二個習(xí)慣是“每次改參數(shù)都記錄”。AD71的定位行為受緩沖存儲器參數(shù)、模塊初始化參數(shù)、驅(qū)動器電子齒輪比三層影響。改了一層另外兩層沒同步改位置就會出現(xiàn)微小偏差。我會做一張紙質(zhì)的定位參數(shù)驗證表記錄設(shè)定位置、實際停位、偏差脈沖數(shù)、方向、速度、加減速時間每次調(diào)試填一行。二十行數(shù)據(jù)積累下來哪一層出了問題看得一清二楚。這個習(xí)慣幫我查過一次電子齒輪設(shè)置錯誤——程序里位置沒變但機(jī)械行程變了就是驅(qū)動器那里的倍率動了。第三個習(xí)慣是“保留一個復(fù)位入口”。AD71程序里必須有一個獨(dú)立復(fù)位按鈕作用不是啟動定位而是把報警狀態(tài)清掉。復(fù)位動作只發(fā)生在急停復(fù)位之后且只允許在模塊不運(yùn)行的狀態(tài)下執(zhí)行。這樣做看似多余實際能省掉很多誤操作操作員看到面板報警燈亮了第一反應(yīng)是反復(fù)按啟動結(jié)果程序卡在報警聯(lián)鎖里越按越亂。有了明確的復(fù)位邏輯誰都能看得懂這個系統(tǒng)的狀態(tài)。最后養(yǎng)成一個習(xí)慣我在每個AD71項目里都會這么做在程序開頭留一段注釋把緩沖存儲器地址和對應(yīng)功能列完整方便換人維護(hù)時光看注釋就能上手。維修人員最怕程序里只有指令沒有說明過了半年連自己都忘了當(dāng)初為什么在G10和2做與運(yùn)算。代碼是寫給別人看的這一點(diǎn)在工業(yè)設(shè)備上尤為重要。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取