前言:
NPN / PNP 是電晶體類型,而對於 PLC 產品的使用者來說更重要的是其接線方式。當 Output 端採用電晶體控制輸出時,電晶體類型 NPN / PNP 影響著電流的方向性,故接線方式要照著電晶體類型來接,市面上一些自動化 Input / Output 裝置標榜自己是 NPN 或 PNP 目的在告訴消費者接線方法。
Output 跟 Input 是相對概念,
- 當 PLC 作為 Output 時,由 Y 腳位輸出,其接受對象就是 Input 端,例如燈泡。
- 當 PLC 作為 Input 時,由 X 腳位輸入,為某種 Output 端的輸出對象,例如 Sensor。
- Input 作為 Output 之受體又稱之為負載。
從第一性原理的角度理解:
- 理解 NPN / PNP 的電流方向性就能理解接線方式
- 不管哪種類型,輸出端通常都採用 open collector 方式接到輸入端。
這是 Output 端為 NPN 電晶體的電流方向,由此可看出作為其負載(Input 端) 應該怎麼接線。

這是 Output 端為 PNP 電晶體的電流方向,由此可看出作為其負載(Input 端) 應該怎麼接線。

上面提到了,當 Output 端採用電晶體控制輸出時,其電晶體類型 NPN 或 PNP 決定了電流方向。接線必須照著接才可驅動:
- NPN(又稱為 Sink)
- 這個架構下的搭配組合稱為 NPN Output / NPN Input
- 電流流向為: Input 端 -> Output 端
- PNP(又稱為 Source)
- 這個架構下的搭配組合稱為 PNP Output / PNP Input
- 電流流向為: Output 端 -> Input 端
其中 Source / Sink 的概念應是以 Output 端的角度出發:
- Output 為 Source 提供電流源。
- Output 為 Sink 則是接收電流源。

PLC 的 S/S 腳位
S/S 腳位是 souce/sink 的縮寫。
如前所述所述,NPN 類型的輸入裝置,就要搭配 NPN 類型的輸出裝置。故要看 PLC 的輸入類型,決定要買哪種類型的 Sensor 搭配使用,反之亦然。
不過有些 PLC 提供了 S/S (Source/Sink) 腳位,那代表 NPN / PNP 兩種 Sensor 都支援。 如果沒有提供 S/S 腳位,代表其只支援一種輸入方式,這樣就得對照買 NPN 或 PNP 型的 Sensor 了。
下圖是提供可設定 S/S 腳位的 PLC,使用者可以看 Sensor 類型決定使用哪種配置。

如何判斷 PLC 類型
有使用手冊自然是看使用手冊。
- PLC 輸出端,看是 Relay 型還是電晶體型,電晶體行就要查是 NPN 或是 PNP。
- PLC 輸入端
- 可以看一下是否有 S/S 腳位可以設定,有的話就可自行設定為 Sink or Source。
- 如果輸入端的形式是固定的,那也可以量測 X 點就可以知道需要哪種感測器,
- 如果是量到 GND,那代表 S/S 是接到 GND,所以你需要買 PNP 型感測器。
- 反之,就代表你需要買 NPN 型感測器。
- 一般來說,台日韓機台都是用 NPN 比較多,歐洲機台則是 PNP 型的比較多
補充: 若 Output 端為繼電器 Relay,則無方向性限制!
Relay 不像 Transistor 有電流的方向性,作為一個沒有方向性的開關,可以配合任何類型的 Input 裝置。
一般繼電器都除了 COM 點,都會提供 NO(Normal Open / a接點) 與 NC(Normal Close / b接點) 2種腳位讓使用者可以自己選擇要使用哪種。
- 不管哪種,一定都有共同的輸入源,稱為 COM 點
- 當 Realy Coil 沒有通電激磁,則 COM 點與 NC 腳位連接,與 NO 腳位斷開。
- 當 Realy Coil 通電激磁,則 COM 點與 NO 腳位連接,與 NC 腳位斷開。

總之,使用 Relay 的好處之一,就是沒有方向性。
- 若搭配的是 NPN Input 裝置,那 Sink 的電流方向就是由 input 端 -> output 端,COM 點就得接到 GND,NO 腳位接到輸出 Y 。
- 若搭配的是 PNP Input 裝置,那 Source 的電流方向就是由 output 端 -> input 端,COM 點就得接到 VCC,NO 腳位接到輸出 Y 。
另外 Relay 還有個優點,就是可以接交流電,這也是電晶體做不到的。