Programlanabilir Mantık Kontrolcüleri Katı-hal mantık devrelerine gelmeden önce, yalnızca elektromekaniksel röleler etrafında mantıksal kontrol sistemleri tasarlandı ve inşa edildi. Yeni röle tasarımları eskisinden çok farklıdır fakat mantık-seviye kontrol aygıtları gibi önceki rollerinin çoğu değiştirildi, çoğunlukla yüksek akım ve/veya yüksek gerilim anahtarlama gerektiren uygulamalara indirgendi. Modern ticaret ve endüstride sistemler ve işlemler bolca "açık/kapalı" kontrol gerektirmektedir fakat böyle kontrol sistemleri elektromekaniksel rölelerden veya farklı mantık geçitlerinden nadiren inşa edilirler. Onun yerine çeşitli mantıksal fonksiyonları yapacak programlanabilir sayısal bilgisayarlar ihtiyacı karşılar. 1960 ların sonunda Bedford Associates isimli bir Amerikan şirketi MODICON olarak adlandırılan bir hesaplama aygıtı piyasaya sürdü. Kısaltmanın anlamı Modüler Sayısal Kontrolcüdür (Modular Digital Controller) ve daha sonra tasarım, üretim ve özel-amaçlı kontrol bilgisayarlarının satışı için tahsis edilmiş şirket bölümünün ismi oldu. Diğer mühendislik firmaları bu aygıtın kendi versiyonlarını geliştirdiler ve sonunda tescilsiz PLC (yada Programmable Logic Controller (Programlanabilir Mantık Kontrolcüleri) ) olarak bilinen terimler haline geldi. PLC nin amacı direkt olarak elektromekaniksel röleleri mantık öğeleri ile değiştirmektir, kaydedilmiş programlı katı-hal sayısal bilgisayarın haricinde belirli mantıksal görevlerin gerçekleştirmek için birçok rölenin birbirine bağlanmasına benzetilebilir. PLC birçok "giriş" terminaline sahiptir, bununla beraber sensörlerden ve anahtarlardan gelen "yüksek" ve "düşük" mantıksal durumları yorumlar. Aynı zamanda birçok çıkış terminaline sahiptir, bununla beraber ışıklar, solenoitler, kontaktörler, küçük motorlar ve diğer aygıtlara onların açık/kapalı kontrollerine yol gösteren "yüksek" ve "düşük" güç sinyalleri gönderir. PLC leri programlamaya çalışmak kolaydır, programlama dilleri merdiven mantık diyagramlarına benzer tasarlanmıştır. Böylece merdiven mantık şemalarını okumaya alışkın bir endüstriyel elektrikçi yada elektrik mühendisi aynı kontrol fonksiyonlarını gerçekleştirmek için PLC programlamayı rahatlıkla anlayacaktır. PLC ler endüstriyel bilgisayarlardır ve bu sıfatla giriş ve çıkış sinyalleri tipik olarak 120 volt AC dir tıpkı değiştirilmek için tasarlanmış elektromekaniksel kontrol röleleri gibi. Bazı PLC lerin, mantık geçit devrelerinde kullanılan büyüklüğün düşük-seviyede DC gerilim sinyalini alma ve gönderme yeteneğine sahip olmasına rağmen bu bir istisnadır ve kural değildir. PLC nin farklı modelleri arasında sinyal bağlantısı ve programlama standartları değişir fakat burada PCL programlama için yeterince benzer "genel" uygulamaya izin verirler. Ön görünümünden belli olduğu gibi aşağıdaki örnekleme basit bir PLC göstermektedir. L1 ve L2 olarak etiketlenmiş 2 vida terminali PCL nin dahili devresine 120 volt AC güç sağlamak için bağlantıyı sağlar. Sol taraftaki altı vida terminali giriş aygıtlarına bağlantıyı sağlar, her bir terminal kendi "X" etiketiyle farklı bir giriş "kanal"ını göstermektedir. Solda en alttaki vida terminali genel olarak 120 VAC güç kaynağının L2 (nötr) ye bağlandığı "Genel" bağlantıdır.
PLC levhası içerisinde her bir giriş terminali ile Genel terminal arasında bağlı olan bir opto-yalıtkan aygıttır (Light-Emitting Diode (Işık-Yayan Diyot)), bu kendi giriş terminali ile Genel terminal arasına 120 VAC güç kaynağı bağlandığında bilgisayar devresine (LED in ışığını yorumlayan bir fototransistör) elektriksel olarak izole edilmiş "yüksek" mantık sinyali sağlar. PLC nin ön panelindeki gösterge LED i "enerji verilmiş" girişin görsel gösterimini sağlar: Çıkış sinyalleri, "Kaynak" terminaline "Y-" etiketli çıkış terminallerinden biri bağlanarak anahtarlama aygıtını (transistör, TRIAC veya hatta bir elektromekaniksel röle) aktive eden PLC bilgisayar devresi tarafından üretilir. Uygun bir şekilde bir "Kaynak" terminali genellikle 120 VAC güç kaynağının L1 tarafına bağlanır. PLC nin ön panelindeki her bir giriş için gösterge LED i "enerji verilmiş" çıkışın görsel gösterimini sağlar:
Böylece PLC, anahtarlar ve solenoitler gibi gerçek-dünya aygıtları ile arabirim oluşturabilir. Kontrol sisteminin gerçek mantığı bir bilgisayar programı ile PLC nin içinde oluşur. Bu program hangi çıkışa hangi girdi koşullarında enerji verileceğini bu program belirler. Program anahtar ve röle sembollerine sahip bir merdiven mantık diyagramı gibi görünse de PLC içinde çalışan giriş ve çıkış arasında mantıksal ilişki kuracak gerçek anahtar kontakları ve röle bobinleri yoktur. İsterseniz bunlara sanal kontaklar ve bobinler diyebilirsiniz. Program PLC nin programlama portuna bağlı bir bilgisayar ile girilir ve görüntülenir. Aşağıdaki devreyi ve PLC programını göz önüne alın:
Basma düğmeli anahtar harekete geçirilmemişken (basılmamışken) PLC nin X1 girişine güç gönderilmez. Program izlendiğinde Y1 bobini ile seri normalde-açık X1 kontağı görülür ve Y1 bobinine "güç" gönderilmez. Böylece PLC nin Y1 çıkışı enerjisiz kalır ve buna bağlı olan gösterge lambası yanmaz. Eğer basma düğmeli anahtar basılırsa PLC nin X1 girişine güç gönderilir. Programda görülen bütün X1 kontakları (normal-olmayan) harekete geçirilmiş durumu kabul eder, sanki "X1" adında bir röle bobininin enerji vermesiyle harekete geçmiş röle kontakları gibi. Bu durumda X1 girişine enerji vermek normalde-açık olan X1 kontağını "kapatır", Y1 bobinine de "güç" gönderir. Programdaki Y1 bobinine "enerji giderse" gerçek Y1 çıkışına da enerji gitmiş olur buna bağlı lamba yanar:
Bilgisayarın ekranında görülen X1 kontağı, Y1 bobini, bağlantı kablolar ve "güç" terimlerinin hepsinin sanal olduğu anlaşılmalıdır. Bunlar gerçek elektrik bileşenleri gibi değildir. Bunlar bir bilgisayar programının komutlarıdır -- sadece bir programın parçası -- bu sadece gerçek bir röle şema diyagramına benzer. Aynı şekilde önemli olan nokta şu ki PLC nin sürekli çalışması için, PLC nin programını gösteren ve düzenleyen bilgisayar gerekli değildir. Bir kez bilgisayardan PLC ye program yüklendiğinde bilgisayar PLC den çıkartılabilir ve PLC program komutlarını çalıştırmaya devam eder. Ben bu gösterimlerde bilgisayar ekranını, sizin gerçek hayattaki durumlar arasındaki ilişkileri (düğmelerin ve lambaların durumları) ve programın durumunu (sanal kontaklar ve sanal bobinler üzerindeki "güç" durumu) daha rahat görebilmeniz için ekledim. Bir kontrol sisteminin davranışını değiştirmek istediğimizde gerçek güç ve PLC nin durumu ortaya çıkar. PLC programlanabilir bir cihaz olduğundan, ona bağlı elektrik bileşenlerini yeniden ayarlama yapmadan sadece ona verdiğimiz komutları değiştirerek davranışını değiştirebiliriz. Örneğin, bu anahtar-ve-lamba devresi fonksiyonunu tersten çalıştırmak isteyebiliriz: düğmeye basınca lamba
söner ve bırakınca yanar. "Donanımsal" bir çözüm normalde-kapalı bir basma düğmesinin normalde-açık olan bir anahtar ile değiştirilmesini gerektirirdi. "Yazılım" çözümü çok daha kolaydır: X1 kontağının normalde-açık olması yerine normalde-kapalı olmasını programla değiştirmek yeterli. Aşağıdaki örneklemede basma düğmesinin harekete geçirilmemiş (başılmamış) olduğu değiştirilmiş durum gösterilmiştir: Bu sonraki örneklemede anahtar harekete geçirilmiş gösteriliyor (basılmış):
Donanım yerine yazılımsal mantık kontrolü kullanılmasının bir avantajı giriş sinyallerini programda istendiği kadar tekrar kullanılabilmesidir. Örneğin, aşağıdaki devre ve programı düşünelim, burada üç basma düğmesinden en az iki tanesi birlikte harekete geçirildiğinde lamba yanar:
Elektromekanik röleler kullanarak eşdeğer bir devre yapmak istersek her bir giriş anahtarına iki kontak sağlamak için normalde-açık olan kontağa sahip üç tane röle kullanmak gerekir. Fakat PLC kullanırsak hiçbir ek donanım eklemeden her bir "X" girişi için istediğimiz kadar kontak programlayabiliriz çünkü her bir giriş ve çıkış PLC nin sayısal hafızasında tek bir bitten farklı bir şey değildir (0 veya 1) ve istendiği kadar tekrar çağrılabilir. Ayrıca PLC deki her bir çıkış hafızada bir bitten farklı bir şey değildir, bir PLC programına bir çıkış (Y) durumu ile "harekete geçirilen" kontaklar atayabiliriz. Örnek olarak sıradaki bir motor başlatmadurdurma kontrol devresini düşünelim:
X1 girişine bağlı basma düğmesi "Çalıştırma" anahtarı olarak görev yapar, aynı şekilde X2 girişine bağlı anahtarda "Durdurma" görevini yapar. Programda Y1 adındaki diğer bir kontak doğrudan çıkış bobininin durumunu kullanır böylece "Çalıştırma" düğmesi devreye girdiğinde motor kontaktörü enerji almaya devam eder. Normalde-kapalı olan X2 kontağı renkli bir blok içinde görünür bu da onun kapalı ("elektrik ileten") durumda olduğunu gösterir. "Çalıştırma" düğmesine bastığımızda X1 girişine enerji gelir, böylece programda X1 kontağı "kapanır", Y1 "bobinin" "güç" gönderilir, Y1 çıkışına enerji gelir ve gerçek motorun kontaktör bobinine 120 volt AC güç uygulanır. Paralel olan Y1 kontağı da "kapanır" böylece "devre" enerji verilmiş durumda kalır:
Şimdi "Çalıştırma" basma düğmesini bırakırsak, normalde-açık olan X1 "kontağı" "açık" durumuna geri döner ama Y1 kontağı Y1 bobinine "gücün" "devamlılığını" sağlar ve böylece Y1 çıkışı enerji verilmiş durumda kalır, sonuçta motor çalışmasına devam eder:
Motoru durdurmak için, "Durdurma" basma düğmesine anlık basmalıyız ki bu X2 girişine enerji verecek ve Y1 "bobin"inin sürekliliğini keserek normalde-kapalı "kontak"ı "açacak"tır:
"Durdurma" basma düğmesi bırakıldığında X2 girişindeki enerji kesilir, X2 "kontağı" normal durumuna yani "kapalı" durumuna döner. Fakat motor "Çalıştırma" düğmesine basılıncaya kadar tekrar başlamaz çünkü Y1 in "basılı kalma" durumu kaybolmuştur:
Burada dikkat edilmesi gereken hata-korumalı tasarımın elektromekaniksel röle-kontrollü sistemlerde olduğu kadar PLC-kontrollü sistemlerde de önemli olduğudur. Kişi hatalı (açık) kablolamanın kontrol edilen cihaz veya cihazlara etkisini her zaman dikkate almalıdır. Bu kontrol devresi örneğinde bir problemimiz var: eğer X2 ("Durdurma" düğmesi) nin girişi kablolamasında açılma hatası oluşsa motoru durdurmanın hiç bir yolu olmaz! Bu problemin çözümü PLC programı içindeki X2 "kontağı" ile gerçek "Durdurma" basma düğmeli anahtar arasındaki mantığın ters çevrilmesidir:
Normalde-kapalı "Durdurma" basma düğmesi harekete geçirilmemişse (basılmamışsa) PLCnin X2 girişine enerji verilir, böylece program içindeki X2 "kontağı" kapanır. Bu X1 girişine enerji geldiğinde motorun çalışmasını sağlar ve "Çalıştırma" düğmesi basılmasa dahi çalışmasına devam etmesini sağlar. "Durdurma" basma düğmesi harekete geçtiğinde X2 girişinden enerji kesilir, böylece PLC programı içerisindeki X2 "kontağı" "açılır" ve motor kapanır. Böylece eski tasarım ile bu yeni tasarım arasında çalışma açısından bir fark yoktur. Fakat X2 girişindeki giriş kablosu açılmazsa "Durdurma" basma düğmesi basılmış gibi X2 girişinden enerji kesilir. Sonuçta X2 girişindeki bir bağlantı hatası sonucunda motor derhal kapanır. Bu daha önceki gösterilenden daha güvenli bir tasarımdır çünkü öncekinde "Durdurma" düğmesindeki bir bağlantı hatası motorun kapatılamamasına yol açabilir. (X) giriş ve (Y) çıkış program öğelerine ek olarak PLC lerde dışarıdaki dünyayla bağlantısı olmayan dahili bobinler ve kontaklar vardır. Bunlar standart röle devrelerindeki "kontrol röleleri" (CR1, CR2, vs.) gibi kullanılır: gerektiğinde mantık sinyallerinin evirilmesini sağlar.
Bu "dahili" rölelerin nasıl kullanıldığını göstermek için aşağıda üç-girişli NAND geçidinin fonksiyonuna benzemek üzere tasarlanan devre ve programı düşünelim. PLC program öğeleri normalde tek harflerle gösterildiği için röle kontrol devresinde alışılagelmiş olduğu üzere dahili kontrol rölesine "CR1" yerine "C1" ismini vereceğim: Bu devrede basma düğmelerinden herhangi biri basılmamış durumda kaldığında yanma yanmaya devam eder. Lambayı söndürmek için her üç düğmeye de basmamız gerekir, şu şekilde:
Programlanabilir mantık kontrolcüleri hakkındaki bu bölüm onların yeteneklerinden sadece küçük bir örneğini gösterir. Bilgisayar olarak PLC ler zamanlama fonksiyonlarını (zaman-gecikmeli rölelerin eşdeğeri için), tambur dizilimi ve elektromekaniksel mantık cihazlarından çok daha güvenilir ve kesin diğer gelişmiş fonksiyonları icra edebilirler. Birçok PLC nin altı giriş ve altı çıkıştan çok daha fazla kapasitesi vardır. Aşağıdaki fotoğraf tek bir Allen-Bradley PLC sinin çeşitli giriş ve çıkış modüllerini göstermektedir.
Her bir modülde giriş veya çıkış olarak görev yapan onaltı "nokta" vardır ve bu PLC düzinelerce cihazı kontrol ve izleme yapar. Bir PLC aynı fonksiyonlarını gören elektromekaniksel rölelerden çok daha az yer kaplar ve bir kontrol kabinine rahatça sığabilir:
PLC lerin elektromekaniksel röleler tarafından kolayca kopyalanamayacak olan bir avantajı, sayısal bilgisayar ağları aracılığıyla uzaktan izleme ve kontrol özelliğidir. PLC özel-amaçlı bir sayısal bilgisayardan başka birşey olmadığından diğer bilgisayarlarla kolayca iletişim kurabilir. Aşağıdaki fotoğraf bir PLC tarafından kontrol edilen gerçek sıvı-seviye işleminin (bir belediyenin atık su arıtma sistemi için bir pompalama yada "kaldırma" istasyonu) görüntüsünü gösteren bir bilgisayar ekranıdır. Gerçek pompalama istasyonu bilgisayar ekranından kilometrelerce uzaktadır: