:PNP與NPN傳感器原理及西門子/三菱接線指南)
1. 為什么PNP和NPN總讓人栽跟頭干自動化這行十幾年我見過太多人在這兩個詞上翻車。不是他們不懂三極管原理而是教科書講的是電子學(xué)現(xiàn)場要的是“這根線到底接24V還是0V”。我印象最深的一次一個做了五年電氣的老師傅新項目用三菱FX3U接歐姆龍的光電開關(guān)傳感器是NPN的他按習(xí)慣把信號線接進(jìn)X0公共端S/S接24V結(jié)果PLC輸入燈常亮不滅換了個傳感器還是老樣子最后查了一下午才發(fā)現(xiàn)是公共端接反了。這種問題不復(fù)雜但就是沒人給你講透。這篇文章要解決的就是這個事。PLC輸入端的PNP和NPN說到底就是傳感器輸出信號的電平邏輯不同導(dǎo)致PLC公共端和信號線的接法完全相反。你搞懂了這個底層邏輯西門子、三菱、匯川、臺達(dá)所有品牌的PLC接線規(guī)則都是一通百通。我下面會從三極管原理講起然后落到西門子S7-200 SMART和S7-1200、三菱FX3U和FX5U的實際接線最后給一份常見問題速查表。不管你是剛?cè)胄械男率诌€是干了幾年但一直沒徹底搞明白的老手看完都能直接上手接線不用再翻手冊試錯。提示本文所有接線方案均基于漏型輸入Sink和源型輸入Source兩種PLC輸入類型展開這是理解PNP/NPN接線的關(guān)鍵前提。2. 從三極管到傳感器PNP和NPN的本質(zhì)區(qū)別2.1 三極管導(dǎo)通條件回顧PNP和NPN的名字來源于三極管的結(jié)構(gòu)。NPN型三極管發(fā)射極E接低電位0V集電極C接高電位24V基極B收到高電平信號時導(dǎo)通電流從C流向E。PNP型三極管反過來發(fā)射極接高電位24V集電極接低電位0V基極收到低電平信號時導(dǎo)通電流從E流向C。這個基礎(chǔ)很重要因為傳感器內(nèi)部的輸出級就是一只三極管。NPN傳感器輸出的是低電平有效信號PNP傳感器輸出的是高電平有效信號。你可以這樣記NPN輸出拉低PNP輸出拉高。這個口訣在現(xiàn)場比什么都管用。2.2 傳感器輸出級的實際電路以常見的光電開關(guān)為例NPN型傳感器的輸出三極管是NPN管發(fā)射極接地集電極接信號輸出線。當(dāng)傳感器檢測到物體時三極管導(dǎo)通信號線被拉到0V所以輸出低電平。PNP型傳感器的輸出三極管是PNP管發(fā)射極接24V集電極接信號輸出線。檢測到物體時三極管導(dǎo)通信號線輸出24V所以輸出高電平。這里有個容易混淆的點傳感器本身的供電都是24V和0V兩根線但輸出線的電平邏輯取決于內(nèi)部三極管的類型。你用萬用表測輸出線對0V的電壓NPN傳感器有信號時是0V沒信號時是懸空或通過下拉電阻拉到接近0VPNP傳感器有信號時是24V沒信號時是懸空或通過下拉電阻拉到接近0V。實測下來懸空狀態(tài)用萬用表測會有虛電壓所以最好接上PLC輸入端子再測。2.3 為什么PLC輸入類型決定了接法PLC的輸入端子內(nèi)部也有一個光耦光耦的發(fā)光二極管需要電流才能點亮。這個電流的方向決定了PLC是漏型輸入還是源型輸入。漏型輸入Sink的公共端S/S接24V電流從外部傳感器經(jīng)過信號線流入PLC輸入端子再經(jīng)過光耦到公共端最后回到24V電源的0V。源型輸入Source的公共端S/S接0V電流從PLC內(nèi)部24V經(jīng)過光耦流出輸入端子再經(jīng)過外部傳感器回到0V。所以NPN傳感器配漏型輸入PLCPNP傳感器配源型輸入PLC這是最標(biāo)準(zhǔn)的搭配。但現(xiàn)場經(jīng)常遇到傳感器類型和PLC輸入類型不匹配的情況這時候就需要通過改變公共端接法來適配。下面我會分別講西門子和三菱的具體操作。3. 西門子PLC實戰(zhàn)接線S7-200 SMART與S7-12003.1 S7-200 SMART的輸入公共端接法S7-200 SMART的輸入端子排上有一個1M、2M這樣的公共端。以CPU ST20為例輸入點I0.0到I0.7共用1MI1.0到I1.7共用2M。這個公共端可以接24V也可以接0V接法不同支持的傳感器類型就不同。接NPN傳感器時1M接24V。傳感器的信號線接I0.0傳感器的0V接電源0V傳感器的24V接電源24V。當(dāng)傳感器有信號時輸出0V電流從1M24V經(jīng)過PLC內(nèi)部光耦流向I0.0再經(jīng)過傳感器輸出三極管到0V光耦導(dǎo)通PLC讀到信號。這個電流方向是從公共端流向輸入端子所以叫漏型輸入。接PNP傳感器時1M接0V。傳感器的信號線接I0.0傳感器供電不變。當(dāng)傳感器有信號時輸出24V電流從傳感器信號線流入I0.0經(jīng)過光耦流向1M0V光耦導(dǎo)通。這個電流方向是從輸入端子流向公共端所以叫源型輸入。我實測過S7-200 SMART的輸入公共端接錯不會燒PLC但輸入燈會常亮或者不亮因為光耦一直導(dǎo)通或者一直不導(dǎo)通。所以接線前一定要確認(rèn)傳感器類型然后決定公共端接24V還是0V。3.2 S7-1200的輸入公共端接法S7-1200的輸入公共端標(biāo)注為1M、2M和S7-200 SMART類似。但S7-1200的輸入電路設(shè)計略有不同它支持漏型和源型兩種接法但需要在硬件配置中確認(rèn)輸入濾波等參數(shù)。實際接線時1M接24V對應(yīng)NPN傳感器1M接0V對應(yīng)PNP傳感器。這里有個細(xì)節(jié)S7-1200的輸入端子有24V輸出端子L和0V端子M可以直接給傳感器供電。但要注意傳感器的總電流不要超過PLC的24V輸出能力一般S7-1200的24V輸出只有400mA左右接幾個傳感器沒問題接多了要外接電源。3.3 西門子PLC接線實戰(zhàn)步驟以S7-200 SMART接NPN光電開關(guān)為例完整步驟如下確認(rèn)傳感器類型看傳感器標(biāo)簽NPN常開或常閉。確認(rèn)PLC輸入公共端找到1M端子。接線傳感器棕色線接24V藍(lán)色線接0V黑色線接I0.0。1M接24V。上電測試用手遮擋光電開關(guān)觀察PLC輸入指示燈是否亮起。如果指示燈常亮不滅檢查1M是否接錯或者傳感器輸出是否被短路。接PNP傳感器時只需把1M改接0V其他不變。這個操作我做過上百次只要公共端接對基本一次成功。注意西門子S7-200 SMART的輸入公共端是分組隔離的1M和2M之間不連通。如果你用了I0.0和I1.0需要分別接1M和2M不能只接一個。4. 三菱PLC實戰(zhàn)接線FX3U與FX5U4.1 FX3U的輸入公共端接法三菱FX3U的輸入端子排上S/S是公共端。FX3U的輸入類型是漏型還是源型取決于S/S接24V還是0V。S/S接24V時輸入是漏型支持NPN傳感器S/S接0V時輸入是源型支持PNP傳感器。FX3U的輸入端子內(nèi)部電路和西門子類似都是光耦隔離。但FX3U的輸入電流要求是7mA左右所以傳感器輸出能力要足夠。我遇到過用FX3U接一個低功耗的NPN接近開關(guān)輸出電流只有3mA結(jié)果PLC輸入燈微亮但程序讀不到信號。換了一個輸出電流10mA的傳感器就好了。所以選傳感器時除了看PNP/NPN還要看輸出電流是否滿足PLC輸入要求。4.2 FX5U的輸入公共端接法FX5U的輸入公共端也是S/S但FX5U支持更靈活的輸入接法。FX5U的輸入端子可以分組設(shè)置每個組的公共端可以獨立接24V或0V。這意味著你可以同時接NPN和PNP傳感器只要把不同組的S/S分別接對應(yīng)的電平。FX5U的輸入電路還支持高速輸入用于編碼器等高速信號。但高速輸入端子對PNP/NPN的接法有額外要求具體要看手冊。我一般建議高速輸入統(tǒng)一用NPN傳感器因為NPN輸出拉低抗干擾能力更強高速信號更穩(wěn)定。4.3 三菱PLC接線實戰(zhàn)步驟以FX3U接NPN接近開關(guān)為例確認(rèn)傳感器類型NPN常開。接線傳感器棕色接24V藍(lán)色接0V黑色接X0。S/S接24V。上電測試用金屬物體靠近接近開關(guān)觀察X0指示燈。如果指示燈不亮用萬用表測傳感器輸出對0V電壓有信號時應(yīng)該是0V。如果電壓正常但燈不亮檢查S/S是否接24V或者X0端子是否損壞。接PNP傳感器時S/S改接0V。這個操作和西門子完全一致所以我說一通百通。提示三菱FX3U的S/S端子是所有輸入點共用的不能分組。如果你需要同時接NPN和PNP傳感器FX3U做不到只能換FX5U或者加中間繼電器轉(zhuǎn)換。5. 常見問題與排查技巧實錄5.1 輸入指示燈常亮或不亮這是最常見的故障。輸入指示燈常亮說明光耦一直導(dǎo)通可能是公共端接錯或者傳感器輸出被短路到24V。輸入指示燈不亮說明光耦一直不導(dǎo)通可能是公共端接錯或者傳感器輸出沒有信號或者傳感器供電接反。排查步驟先用萬用表測傳感器輸出對0V電壓有信號時NPN應(yīng)該是0VPNP應(yīng)該是24V。如果電壓不對檢查傳感器供電和傳感器本身。如果電壓對檢查PLC公共端接法。如果公共端對檢查PLC輸入端子是否損壞可以用短接線直接把輸入端子對公共端短接看指示燈是否亮。5.2 傳感器輸出電流不足有些傳感器輸出電流只有幾毫安而PLC輸入光耦需要7-10mA才能可靠導(dǎo)通。這種情況下輸入指示燈可能微亮但程序讀不到信號。解決方法換輸出電流更大的傳感器或者加一個中間繼電器轉(zhuǎn)換或者選用低功耗輸入的PLC型號。我實測過歐姆龍E3Z系列光電開關(guān)輸出電流是100mA完全沒問題。但一些小型接近開關(guān)輸出電流只有5mA接FX3U就會出問題。所以選型時一定要看傳感器手冊的輸出電流參數(shù)。5.3 同時接NPN和PNP傳感器如果PLC輸入公共端不能分組比如FX3U就不能同時接NPN和PNP傳感器。解決方法加中間繼電器把PNP傳感器信號轉(zhuǎn)換成NPN信號或者反過來。中間繼電器的線圈接傳感器輸出觸點接PLC輸入公共端按觸點類型接。如果PLC輸入公共端可以分組比如FX5U或S7-1200可以把不同組的公共端分別接24V和0V然后分別接NPN和PNP傳感器。但要注意同一組的傳感器類型必須一致。5.4 常見問題速查表故障現(xiàn)象可能原因排查方法解決方法輸入燈常亮公共端接錯檢查S/S或1M接法按傳感器類型改接公共端輸入燈不亮傳感器無輸出萬用表測輸出電平檢查傳感器供電和類型輸入燈微亮輸出電流不足測傳感器輸出電流換傳感器或加繼電器程序讀不到信號輸入濾波過長檢查PLC輸入濾波設(shè)置調(diào)整濾波時間高速計數(shù)不準(zhǔn)傳感器類型不匹配檢查高速輸入接法統(tǒng)一用NPN傳感器5.5 獨家避坑技巧第一個技巧接線前先用萬用表確認(rèn)傳感器類型。方法很簡單給傳感器接上24V和0V用金屬物體或手觸發(fā)傳感器測輸出線對0V電壓。有信號時0V就是NPN24V就是PNP。這個操作30秒搞定比查手冊快。第二個技巧PLC公共端接法不確定時先接24V試NPN如果燈常亮就改接0V試PNP。因為接錯不會燒PLC所以可以大膽試。但要注意如果傳感器是PNP公共端接24V輸入燈會常亮因為傳感器輸出24V和公共端24V之間沒有壓差光耦不導(dǎo)通但指示燈電路可能通過其他路徑微亮。所以最好還是用萬用表確認(rèn)。第三個技巧多組輸入公共端時用不同顏色的線區(qū)分。比如1M用紅色接24V2M用黑色接0V這樣一眼就能看出哪組接了什么。我見過一個項目1M和2M接反了查了半天才發(fā)現(xiàn)。第四個技巧傳感器供電和PLC供電共0V。如果傳感器用獨立電源一定要把傳感器電源的0V和PLC電源的0V接在一起否則信號電平?jīng)]有參考點PLC讀不到正確信號。這個坑我踩過當(dāng)時傳感器用開關(guān)電源PLC用另一個開關(guān)電源0V沒共結(jié)果輸入燈亂閃。6. 從接線到程序PNP/NPN對編程的影響6.1 輸入邏輯的取反處理NPN傳感器輸出低電平有效PNP傳感器輸出高電平有效。這意味著同樣的物理動作在PLC程序中讀到的狀態(tài)是相反的。比如一個NPN常開傳感器檢測到物體時輸出0VPLC輸入端子讀到0程序里對應(yīng)輸入點是OFF。而PNP常開傳感器檢測到物體時輸出24VPLC輸入端子讀到1程序里對應(yīng)輸入點是ON。所以如果你換了傳感器類型但沒有改程序邏輯就會反。解決方法在程序里對輸入點取反或者用常閉觸點代替常開觸點。我一般建議在硬件接線時統(tǒng)一傳感器類型避免程序里到處取反容易亂。6.2 高速計數(shù)和中斷輸入高速計數(shù)和中斷輸入對PNP/NPN更敏感。因為高速信號頻率高光耦的響應(yīng)速度有限NPN輸出拉低比PNP輸出拉高更快所以高速輸入一般推薦用NPN傳感器。三菱FX5U的高速輸入端子手冊里明確寫了推薦NPN接法西門子S7-1200的高速輸入也推薦漏型接法。如果你用PNP傳感器接高速輸入可能會出現(xiàn)計數(shù)不準(zhǔn)或丟脈沖。解決方法換NPN傳感器或者降低信號頻率或者加高速光耦轉(zhuǎn)換。6.3 模擬量輸入的PNP/NPN問題模擬量輸入不涉及PNP/NPN因為模擬量是電壓或電流信號不是開關(guān)信號。但有些PLC的模擬量輸入端子有公共端需要接0V或24V這個和數(shù)字量輸入的公共端類似。具體要看手冊但一般模擬量輸入公共端接0V。7. 選型建議與擴展思考7.1 傳感器選型NPN還是PNP國內(nèi)項目一般推薦NPN傳感器因為國內(nèi)PLC市場三菱和國產(chǎn)PLC占比高這些PLC默認(rèn)漏型輸入配NPN傳感器最方便。歐洲項目一般推薦PNP傳感器因為西門子PLC默認(rèn)源型輸入配PNP傳感器更常見。但這不是絕對的具體要看PLC型號和項目要求。我個人的經(jīng)驗是如果項目用西門子PLC優(yōu)先選PNP傳感器如果項目用三菱或國產(chǎn)PLC優(yōu)先選NPN傳感器。如果項目混用多種PLC統(tǒng)一用NPN傳感器然后通過公共端接法適配。7.2 中間繼電器轉(zhuǎn)換方案如果傳感器類型和PLC輸入類型不匹配又不想換傳感器可以用中間繼電器轉(zhuǎn)換。NPN傳感器接繼電器線圈線圈另一端接24V繼電器觸點接PLC輸入公共端按觸點類型接。這樣NPN信號就轉(zhuǎn)換成了繼電器觸點信號PLC輸入類型就不重要了。但中間繼電器有響應(yīng)時間一般10ms左右不適合高速信號。而且繼電器壽命有限頻繁動作會壞。所以只適合低速、低頻的場景。7.3 光耦隔離轉(zhuǎn)換模塊市面上有專門的光耦隔離轉(zhuǎn)換模塊可以把NPN信號轉(zhuǎn)換成PNP信號或者反過來。這種模塊響應(yīng)速度快壽命長適合高速信號。但價格比中間繼電器貴而且需要額外供電。我一般用在高速計數(shù)或精密控制場景。7.4 未來趨勢IO-Link和智能傳感器現(xiàn)在越來越多的傳感器支持IO-Link通過數(shù)字通信傳輸信號不再依賴PNP/NPN電平。IO-Link傳感器接IO-Link主站主站再接PLC接線簡單參數(shù)可配置還能傳輸診斷信息。但I(xiàn)O-Link成本高目前主要用于高端設(shè)備。傳統(tǒng)PNP/NPN傳感器在低成本場景下還會長期存在。我個人在實際操作中的體會是PNP和NPN這個問題說到底就是電流方向的問題。你只要記住NPN輸出拉低、PNP輸出拉高然后根據(jù)PLC公共端接法判斷電流方向就能搞定所有品牌的PLC接線。我見過太多人在這上面浪費時間其實花5分鐘搞懂原理后面接線就是肌肉記憶。最后再分享一個小技巧接線前用萬用表確認(rèn)傳感器類型接線后用短接線測試PLC輸入端子這兩個步驟能排除90%的故障。