可編程控制器(PLC),或可編程控制器是一種工業數字計算機,它已經過了堅固和適應,以控制生產過程,如裝配線,或機器人設備,或任何需要高可靠性控制和易於編程和過程故障診斷的活動。
它們最初是在汽車工業中發展起來的,它提供了靈活、耐用、易於編程的控制器來代替硬連接的繼電器、定時器和序列器。自那以後,它們被廣泛採用為適合惡劣環境的高可靠性自動化控制器。PLC是一個「硬」實時系統的例子,因為必須在有限的時間內對輸入條件產生輸出結果,否則會導致意外的操作。
PLCs可以從小型的「建築磚」設備,包括幾十個輸入和輸出(I/O),在一個與處理器的外殼集成中,到大型的rack-安裝模塊設備,包含數千個I/O,這些設備通常與其他PLC和SCADA系統聯網。
它們可以被設計成多種形式的數字和模擬I/O,擴展溫度範圍,對電氣噪音的免疫力,以及對振動和衝擊的抵抗。控制機器操作的程序通常存儲在電池備份或非易失性存儲器中。
它來自美國的汽車工業。生產汽車的PLC、控制、定序、安全聯鎖邏輯主要由繼電器、凸輪定時器、鼓式定序器、專用閉環控制器組成。由於這些設備可以在數百甚至數千的範圍內進行,因此,為每年的模型轉換更新這些設施的過程非常耗時和昂貴,因為電工需要對繼電器進行單獨的重新連接,以改變其操作特性。
當數字計算機成為可用的通用可編程設備時,它們很快被應用於工業過程中的順序和組合邏輯。然而,這些早期的計算機需要專業的編程人員和嚴格的環境控制來控制溫度、清潔度和電能質量。為了應對這些挑戰,PLC開發了幾個關鍵的屬性。它將容忍車間的環境,它將支持離散(位形式)的輸入和輸出,以易於擴展的方式,它不需要多年的培訓使用,並且它將允許它的操作被監控。由於許多工業過程的時間跨度很容易通過毫秒響應時間來處理,現代(快速、小型、可靠的)電子產品極大地促進了建立可靠的控制器,並且性能可以被用於可靠性。
1968年,通用汽車公司(通用汽車公司的自動變速器部門)發布了一份關於電子替代品的申請,該提議是基於由工程師愛德華·r·克拉克(Edward R. Clark)編寫的一份白皮書提出的。獲勝的提案來自麻薩諸塞州貝德福德的貝德福德協會。第一個PLC被命名為084,因為它是Bedford Associates的第84個項目。貝德福德協會成立了一個新公司,致力於開發、製造、銷售和服務這一新產品:Modicon,它代表模塊化的數字控制器。在這個項目上工作的人之一是Dick Morley,他被認為是PLC的「父親」。Modicon品牌在1977年被出售給Gould Electronics,後來被德國AEG公司收購,然後由法國施耐德電氣,目前的所有者。
在施耐德電氣位於麻薩諸塞州北安多佛的工廠裡。這是通用汽車公司在經過近20年的不間斷服務後退休後,被通用汽車公司提出的。Modicon在其產品系列的最後,使用了84個名字,直到984的名字出現。汽車工業仍然是最大的PLCs用戶之一。
早期的PLCs被設計用來取代繼電器邏輯系統。這些PLCs是在「梯形邏輯」中編寫的,它非常類似於繼電器邏輯的原理圖。選擇這個程序符號是為了減少對現有技術人員的培訓需求。其他早期的PLCs使用了一種基於堆棧的邏輯求解器的指令列表編程形式。
現代的PLCs可以通過多種方式編程,從底層的階梯邏輯到程式語言。另一種方法是狀態邏輯,一種非常高級的程式語言,它設計基於狀態轉換圖的PLCs。目前,大多數PLC系統都遵循IEC 61131/3控制系統編程標準,定義了5種語言:梯形圖(LD)、結構化文本(ST)、函數框圖(FBD)、指令列表(IL)和順序流程圖(SFC)。
許多早期的PLCs並沒有相應的編程終端,它們能夠對邏輯進行圖形化的表示,因此,邏輯在某種形式的布爾格式中表示為一系列邏輯表達式,類似於布爾代數。隨著編程終端的不斷發展,基於上述原因的梯形邏輯變得越來越常見,因為它是一種常見的用於機電控制面板的格式。新的格式,如狀態邏輯和功能塊(類似於使用數字集成邏輯電路時所描述的邏輯),但它們仍然不像梯形邏輯那樣受歡迎。這其中的一個主要原因是,PLCs在可預測和重複序列中解決了邏輯問題,而梯形邏輯允許程式設計師(編寫邏輯的人)更容易地看到邏輯序列的時間問題,而不是其他格式的問題。
早期的PLCs,直到上世紀90年代中期,使用專用編程面板或專用編程終端編程,這些終端通常有專用的功能鍵,代表PLC程序的各種邏輯元素。一些專有編程終端將PLC程序的元素顯示為圖形符號,但普通的接觸、線圈和導線的ASCII字符表示是常見的。程序存儲在盒式磁帶上。由於缺乏內存容量,列印和文檔的設備非常少。最古老的PLCs使用非揮發性磁芯存儲器。
最近,PLCs在個人電腦上使用應用軟體編程,現在用圖形代替字符符號來表示邏輯。計算機通過USB、乙太網、RS-232、RS-485或RS-422電纜連接到PLC。編程軟體允許對梯形邏輯進行輸入和編輯。在一些軟體包中,也可以在函數框圖、順序流程圖和結構化文本中查看和編輯程序。一般來說,該軟體提供了對PLC軟體進行調試和故障排除的功能,例如,通過突出顯示在操作過程中或通過模擬顯示當前狀態的部分邏輯。該軟體將上傳和下載PLC程序,用於備份和恢復。在一些可編程控制器的模型中,程序從個人電腦轉到PLC,通過編程板將程序寫入一個可移動的晶片,例如EPROM。
在PLC中有兩種類型的接觸,它們通常是打開的,通常是關閉的開關。通常開放的接觸意味著在按壓/關閉時接觸,而通常閉合的接觸在打開/不按壓時打開。觸點代表真實世界輸入的狀態,如傳感器,開關,如果零件是現在的,空的,滿的等。PLC也包括線圈,它是輸出,如電機,泵,燈,定時器等。它們也可以用作梯形圖中其他的梯級的輸入。