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