)
簡介這是面向FANUC機器人調試與運維人員的PNS自動運行設置指導手冊專門解決多任務生產線中程序號選擇與自動調用的配置難題。手冊以步驟化方式完整梳理PNS功能原理、系統(tǒng)登錄、機器人程序創(chuàng)建、3100等PNS參數(shù)設定、外部信號觸發(fā)啟動等核心環(huán)節(jié)強調每個程序號須對應有效且完整的作業(yè)程序并避免空號或重復號。結合多品種小批量生產、流水線作業(yè)、物料搬運等典型場景說明如何通過預設程序號實現(xiàn)產品切換與動作銜接從而減少人工干預、提升產線靈活性。資源為單個docx文檔整體約1.61MB除操作流程外還補充了安全區(qū)域確認、系統(tǒng)狀態(tài)監(jiān)控、錯誤代碼定位、故障排查步驟及人員培訓維護建議便于現(xiàn)場按章查閱。目前已有977人學習下載適合電氣工程師、自動化項目人員及機器人維護工程師作為PNS配置與排錯的實操參考。 做機器人集成這幾年最常被現(xiàn)場問到的問題不是“怎么讓機器人動起來”而是“怎么讓機器人自己動起來”。FANUC機器人自動運行的核心環(huán)節(jié)之一就是PNSProgram Number Select程序號選擇模式——PLC把要運行的程序號發(fā)給機器人機器人自動執(zhí)行對應的程序。這個功能在R-30iB、R-30iB Mate控制器上非常常見網上資料不少但大多只講參數(shù)開關不講完整配置思路和現(xiàn)場坑。我這次把一套可落地的PNS設置流程整理出來包括硬件接線、信號映射、系統(tǒng)參數(shù)、程序調度和安全時序適合正在做自動化集成的電氣工程師、調試工程師參考也適合想遠程啟動PNS的新手按圖索驥。1. 先搞清楚PNS是什么別一上來就開配置頁PNS的全稱是Program Number Select翻譯過來就是“程序號選擇”。在FANUC的自動運行生態(tài)里它不是單純指某一個按鈕或信號而是一整套聯(lián)動機制外部控制器一般是PLC通過現(xiàn)場總線或硬接線把目標程序號送到機器人控制器機器人控制器確認號碼有效后把對應的程序設為“待執(zhí)行狀態(tài)”然后再接收啟動信號程序開始運行。整個過程可以理解為PLC是“調度員”機器人是“執(zhí)行員”PNS是兩者之間的“任務單傳遞協(xié)議”。1.1 PNS和RSR兩種遠程啟動方式的差異很多人會把PNS和RSR搞混。RSRRobot Service Request遠程啟動請求解決的是“遠程啟動/停止某一個固定程序”的問題而PNS解決的是“遠程選擇并啟動任意一個程序”的問題。從名字也能看出來RSR的核心在“Request”PNS的核心在“Number Select”。我自己的選型經驗是如果產線只需要遠程啟停同一個程序用RSR更省事如果一條線要切換多種工件、多種節(jié)拍流程那PNS才是對的。比如一個焊接工作站要兼容三款產品每個產品有不同的焊接路徑和參數(shù)那PLC就必須根據(jù)不同產品型號下發(fā)對應程序號這種情況PNS幾乎是標準答案。選錯模式后續(xù)改起來很麻煩PNS的配置量比RSR大不少但靈活性和擴展性也好得多。1.2 PNS在自動化產線中的典型位置一條典型的PNS自動化產線里機器人不是“孤島”而是整個控制環(huán)路上的一個執(zhí)行節(jié)點。上層PLC負責總調度比如讀取傳感器、識別產品型號、判斷工位狀態(tài)當PLC決定“該讓機器人干活了”就會把程序號通過總線發(fā)給機器人同時給一個啟動信號機器人執(zhí)行完程序后通過UO信號回傳“完成”狀態(tài)PLC收到后再放行下一工位。這套環(huán)節(jié)看似簡單但里面有個關鍵點PNS通信節(jié)點在機器人控制柜內部它對接的不是某個用戶程序而是FANUC控制器底層的程序選擇機制。如果你不了解這條鏈路現(xiàn)場碰到“信號通了但機器人不干活”就會一頭霧水。2. 開工前先盤硬件通信模塊、信號規(guī)劃與接線2.1 確認控制器型號和通信協(xié)議PNS配置的第一步不是碰示教器而是先把硬件盤清楚。FANUC目前在產線上常見的控制器有R-30iB、R-30iB Mate老一點的R-J3、R-J31iB也能支持PNS但菜單和參數(shù)叫法略有差異。本文以R-30iB/Mate為例新老機型在思路上完全一致。通信協(xié)議的選擇則取決于你這條線用的什么PLC。FANUC支持DeviceNet、Profibus-DP、EtherNet/IP、CC-Link等主流現(xiàn)場總線控制柜里需要安裝對應的通信從站模塊。如果現(xiàn)場沒有總線系統(tǒng)也可以直接用控制器的DI/DO硬接線但程序號位數(shù)一多布線量和點位開銷會直線上升。我建議能用總線就用總線后面擴容、排查都方便。注意選通信模塊時不要只看型號還要確認模塊的從站地址、波特率、數(shù)據(jù)長度這幾個參數(shù)。很多“信號沒反應”的問題追根溯源都是PLC和機器人兩側的通信參數(shù)沒對齊。2.2 UI/UO信號怎么規(guī)劃才不會亂在FANUC的體系里UIUniversal Input是“來自PLC的指令”UOUniversal Output是“回給PLC的狀態(tài)”。PNS模式下程序號、啟動、暫停、復位這些信號都通過UI進入機器人機器人的運行中、完成、故障、準備就緒等狀態(tài)則通過UO反饋給PLC。動手接線前我強烈建議先在電腦上做一張信號規(guī)劃表把每個UI/UO的含義、映射的總線地址、正常狀態(tài)值全部列出來。比如“UI[1]用于啟動”“UO[3]用于程序完成反饋”“UO[5]用于急停狀態(tài)”。這張表既是你自己的調試依據(jù)也是日后甲方設備維護的救命文檔。信號方向功能類型場景說明UI輸入程序號選擇PLC將目標程序號編碼后送入UI輸入啟動/暫停/復位控制機器人運行狀態(tài)切換UO輸出運行中/完成/故障PLC據(jù)此決定下一步動作UO輸出當前程序號回傳用于雙向確認避免選錯程序2.3 接線防坑三件事一是屏蔽層要單端接地不要兩端都接避免形成地環(huán)路二是信號線盡量遠離動力線纜尤其不要和變頻器輸出線走同一個線槽三是24V電源不要圖省事直接從機器人柜里亂拉先確認模塊供電容量再決定是柜內供電還是外部獨立電源。另外R-30iB的急停回路是雙通道設計接線時一定要保證所有急停觸點正常閉合?,F(xiàn)場經常遇到“明明沒按急停但機器人報IMSTP輸入”的報警其實就是急?;芈分虚g某個觸點松動或者線斷了。這塊問題我后面第5章還會細說。3. R-30iB/Mate控制器PNS配置全流程3.1 打開系統(tǒng)配置里的PNS總開關硬件和信號規(guī)劃做完才輪到碰示教器。PNS配置的第一道開關藏在系統(tǒng)配置里按MENU進入菜單選擇SYSTEM再進Config配置頁找到Program Number Select這項把默認的DISABLE改成ENABLE。這一步有幾個容易踩的坑一是很多控制器的Config頁面需要專家模式或管理員權限才能看到普通操作員賬戶進去根本找不到這個選項二是改完這個參數(shù)后控制器會提示需要重啟不重啟不生效這是最常見的“改了跟沒改一樣”的原因三是改系統(tǒng)參數(shù)前最好先導出一份完整備份萬一改出一個奇怪的行為也好恢復。提示在配置頁里別只盯著Program Number Select這一項同一頁還有幾個和程序選擇機制相關的選項。如果項目里用到了外部程序選擇最好把這幾個選項一起看避免只改一處導致其他地方打架。3.2 UI/UO信號映射到現(xiàn)場總線PNS總開關打開并重啟后第二步是把UI/UO信號映射到具體的總線地址。操作路徑是MENU、I/O找到你安裝的通信模塊DeviceNet、Profibus等在I/O分配頁面里把UI[1]到UI[8]、UO[1]到UO[8]對應到通信模塊的DI/DO地址。這一步的本質是告訴FANUC控制器“PLC發(fā)過來的這個位代表的是UI哪個信號”。很多新手會問為什么不能讓PLC直接發(fā)一個數(shù)字到機器人內存因為FANUC的PNS機制是靠這些UI/UO點來工作的系統(tǒng)不會主動去解析某個寄存器里的數(shù)字除非你通過宏程序把外部數(shù)據(jù)讀進來再轉換成程序號。所以UI/UO映射是PNS能跑起來的基礎。調試技巧第一次接線時先別接PLC直接在示教器的I/O監(jiān)控畫面里強制置位某個UI信號看機器人有沒有反應。這樣能把問題分成兩段排查——先確認機器人側信號鏈路通不通再接上PLC聯(lián)調。3.3 程序號與程序的對應規(guī)則信號鏈路通了以后接下來要想清楚“程序號N到底對應哪個程序”。這里有兩種常見實現(xiàn)方式我分別說優(yōu)缺點。第一種是依賴FANUC內置的PNS機制讓控制器根據(jù)PLC發(fā)來的程序號直接去選對應編號的程序。這種方式配置簡單如果程序名和編號能嚴格對上比如PNS號1對應程序PROG_00012對應PROG_0002直接就能用。但缺點是程序名一旦帶產品型號編號規(guī)則很容易亂排查時得拿著表去對特別費勁。第二種是自建調度程序寫一個主程序作為“調度入口”PNS號先落到某個寄存器或系統(tǒng)變量里主程序用SELECT語句根據(jù)號碼跳轉到對應的子程序。我在現(xiàn)場更推薦這種方式因為邏輯完全可見增刪程序時只需要改主程序的跳轉表不用動系統(tǒng)配置。! 主程序MAIN示例 R[1]$SBR[1].$PARAM[47] ! 讀取PNS程序號緩存 SELECT R[1] CASE 1 CALL PROG_PRODUCT_A ! 產品A流程 CASE 2 CALL PROG_PRODUCT_B ! 產品B流程 CASE 3 CALL PROG_PRODUCT_C ! 產品C流程 END SELECT注意上面這段只是示意。實際項目中PNS號來源可能是寄存器也可能是專用系統(tǒng)變量讀取方式要根據(jù)你的控制器版本和信號映射方式來定。關鍵思路是“號碼先落地主程序統(tǒng)一調度”。3.4 系統(tǒng)變量$SBR[n].$PARAM[47]與宏調度搜索技術社區(qū)經常能看到有人問$SBR[n].$PARAM[47]這個變量怎么用。這其實是用宏/TP程序做PNS調度時常用到的一組系統(tǒng)變量本質上是子程序參數(shù)區(qū)里的一個存儲位。常見玩法是PLC通過總線把程序號寫進這個變量機器人主程序讀取出來做分支跳轉相當于把FANUC內置的PNS選擇機制繞過去自己做一套“軟PNS”調度。但用這套方案要特別注意編碼一致性。PLC發(fā)過來的程序號到底是二進制還是BCD碼兩邊必須完全對齊否則你在示教器上看到的值和PLC發(fā)出的值會對不上。我們在現(xiàn)場最快的一次排查程序號錯位問題就是因為PLC那邊默認發(fā)了BCD機器人這邊按二進制解析結果PLC想選3號程序機器人一直準備跑7號程序。打印出原始十六進制數(shù)據(jù)一對比問題立刻暴露。4. 自動運行的啟動時序、安全策略與多程序調度4.1 一次完整的PNS啟動時序PNS配置完成后真正考驗人的是啟動時序。一次規(guī)范完整的PNS自動運行應該這樣走PLC把目標程序號穩(wěn)定輸出到UI信號區(qū)并保持至少一個掃描周期。機器人控制器鎖存程序號確認程序存在且允許運行。PLC再發(fā)送啟動信號START。機器人閉合伺服、開始執(zhí)行對應程序。程序運行結束機器人通過UO輸出“完成”信號。PLC收到完成信號后再決定是復位、切換到下一個程序還是繼續(xù)等待。這里最要緊的一個原則是先給程序號后給啟動信號。如果兩個信號同時變化機器人可能在啟動瞬間讀到上一個程序號輕則跑錯程序重則造成安全事故。我在現(xiàn)場見過不止一次“并行下發(fā)”導致的詭異問題把啟動時序錯開后故障直接消失。4.2 遠程模式下的安全回路配置PNS模式一旦啟用機器人就能脫離示教器被PLC遠程啟動這時候的安全策略必須比手動示教模式更嚴格。急停雙回路、安全門、光幕這些外圍保護設施一定要接入安全繼電器或安全PLC不要圖省事只接普通繼電器。另外我建議在遠程自動運行模式里增加一個速度倍率限制。調試期把程序運行速度限制在比較保守的值跑順了再放開。再一個容易被忽略的點任何一次修改過PNS相關參數(shù)或程序后第一次合伺服、第一次自動運行都一定要有人站在急停按鈕旁邊盯著別一上來就全自動跑。4.3 多程序調度的程序結構建議程序多的時候最怕的是“改了一個程序帶到另一個程序”。我習慣把程序分成三層主調度程序、產品子程序、公共工具程序。主調度程序只做邏輯跳轉不寫具體動作產品子程序只放該產品專屬的路徑和工藝參數(shù)公共工具程序統(tǒng)一處理報警、日志、信號復位這些通用功能。這樣分下來新增一個產品時只需要復制一個子程序模板改參數(shù)再在主調度里加一行CALL。除此之外我還會在程序開頭加一段“自檢邏輯”比如校驗當前PNS寄存器里的值是否等于PLC回傳的當前程序號雙向確認無誤后才開始走動作。5. 高頻問題與排查經驗5.1 故障速查表PNS調試過程里遇到過的坑我整理成了一張速查表。絕大多數(shù)現(xiàn)場問題都能在下面這幾類里找到影子現(xiàn)象可能原因排查建議機器人不進自動模式PNS功能未使能或參數(shù)沒生效檢查Config中Program Number Select改完后必須重啟PLC發(fā)了程序號但機器人沒反應信號映射沒對齊或總線通信斷開在示教器I/O監(jiān)控頁面看對應DI/UI狀態(tài)是否變化程序號總是錯位編碼方式不一致二進制/BCD或位序反了兩端確認編碼格式打印原始十六進制值對比程序啟動后瞬間報警急停類急停回路未閉合、安全輸入斷線檢查急停雙通道和端子接線排除虛接遠程啟動后運行速度不對倍率信號被外部拉低或速度限制參數(shù)異常檢查UI中倍率選擇信號確認自動速度上限5.2 程序號錯位這類“慢性病”怎么治程序號錯位是最難復現(xiàn)、也最容易扯皮的問題??偨Y下來有三個高頻來源第一編碼格式不一致二進制/BCD各說各話第二PLC掃描周期短于機器人信號鎖存周期號碼還沒穩(wěn)定就被刷新掉了所以啟動信號必須晚于程序號至少一個周期第三寄存器被其他邏輯意外改寫這種情況多發(fā)生在宏程序里排查時先看當前值再查是哪個任務在往里面寫。我處理這類問題的固定套路是先在PLC側把所有程序號做成一張常量表不允許手寫數(shù)字然后在機器人側加一段程序開始時的號碼校驗邏輯最后把兩邊的原始值都打印出來對比。三層下來絕大多數(shù)錯位問題都能定位到具體環(huán)節(jié)。5.3 幾條調試階段的心得第一先用硬線短接模擬UI信號把機器人側跑通再接PLC聯(lián)調。這樣做的好處是問題邊界清晰不用一上來就面對兩邊都是黑的局面。第二改PNS相關參數(shù)前一定用U盤做鏡像備份順帶把系統(tǒng)變量也導出來。第三驗收時要讓PLC連續(xù)切換10次以上程序號反復驗證鎖存穩(wěn)定性不能只跑一兩個循環(huán)就說“沒問題了”。另外我強烈建議在程序里用宏統(tǒng)一中轉外部信號不要直接在業(yè)務程序里判斷物理DI點。這個習慣能讓你在后期改I/O映射時只改一處而不是翻遍所有程序。我在現(xiàn)場的習慣是每臺機器人交付前都在程序里放一組“運行自注釋”宏把PNS號、啟動時間、完成時間寫到寄存器并輸出給上位機。這樣后面不管是設備報警還是產量對不上翻數(shù)據(jù)就能定位到是調度問題還是機器人問題。PNS設置本身不難真正體現(xiàn)水平的是配置思路和調試細節(jié)希望這篇整理能幫你少走幾趟現(xiàn)場。本文還有配套的精品資源點擊獲取