SOFT PLC

Raspberry Pi PLC. Orange Pi PLC. Windows PLC. Bilgisayar PLC. Windows PLC.

Soft PLC, tüm modern işletim sistemlerinde yüksek performansla çalışır. Böylelikle bilgisayar, Raspberry Pi veya Orange Pi gibi donanımları saniyeler içinde tam teşekküllü bir PLC’ye dönüştürebilirsiniz. Üstelik cihazın GPIO’larını; dijital giriş-çıkış, PWM, seri port ve SPI olarak verimli bir şekilde kullanabilirsiniz. Sisteminize USB seri port veya karekod okuyucu gibi donanımları doğrudan entegre etmeniz de mümkündür. Ayrıca, Fulmatic PLC IO modüllerini Remote IO CPU’su ile kullanarak sisteminizi dilediğiniz gibi genişletebilirsiniz.

Donanım ve Yazılım Gereksinimleri

Soft PLC’nin stabil çalışması için platformunuza Microsoft .Net Core 8.0.4 Runtime (veya daha güncel bir sürüm) kurmalısınız. Yazılım güncellendikçe gerekli .Net Core versiyonu da farklılık gösterebilir. Bu nedenle, en güncel sürüm bilgilerini her zaman ‘Download‘ başlığı altından takip etmenizi öneririz.

Soft PLC Kurulum Rehberi

  • Soft PLC kurulumu hakkında daha kapsamlı bilgilere Fulmatic SOFT Yardım Sayfaları üzerinden ulaşabilirsiniz. Henüz indirmediyseniz, Fulmatic SOFT’u buradan indirin.
  • Soft PLC dosyalarını elde etmek için Fulmatic SOFT içerisindeki PLC penceresinin sağ üst köşesinde bulunan “Soft PLC dosyalarını kaydet” butonuna tıklayın ve dosyaları bilgisayarınıza aktarın.

Windows işletim sisteminde sorunsuz bir deneyim için bilgisayarınızda Microsoft .Net Core 8.0.4 Runtime yüklü olmalıdır. Gereken bu sürümü buradan güvenle indirebilirsiniz.

Kurulum Adımları:
  • Yazılımı Başlatın: Kaydettiğiniz klasör içindeki SoftPLC.exe dosyasını çalıştırarak Soft PLC’yi başlatın.
  • Ağ Erişimi İzni Verin: Programı ilk kez çalıştırdığınızda Windows, TCP portu açılması için bir güvenlik uyarısı gösterir. Yazılımın ağ üzerinden haberleşebilmesi için bu uyarıya “Erişime İzin Ver” (Evet) diyerek onay verin.
  • Seri Port Tanımlama: Bilgisayarınızdaki seri portları Soft PLC ile kullanmak istiyorsanız; Project klasörü içindeki Config.txt dosyasını açın ve ilgili seri portları bu dosya üzerinden tanımlayın.
Serial Port:Name=COM0;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None; Serial Port:Name=COM1;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;

Aşağıdaki işlemler Raspberry Pi PLC ve benzeri cihazlar içindir.

Raspberry Pi veya Orange Pi cihazlarınızda Soft PLC kurulumunu gerçekleştirmek için aşağıdaki adımları takip edebilirsiniz:

1. Klasör Oluşturma

Terminal ekranını açın ve Soft PLC dosyalarını barındıracak yeni bir dizin oluşturun.

Not: Örnekte kullanılan /home/raspberrypi dizini, kullandığınız cihazın kullanıcı adına göre (örneğin /home/orangepi gibi) değişiklik gösterebilir.

mkdir SoftPLC
2. Dosyaların Cihaza Aktarılması

Bilgisayarınıza kaydettiğiniz Soft PLC dosyalarını bir USB bellek veya FTP (Filezilla) yöntemiyle cihazınıza taşımanız gerekir.

  • İpucu: FTP kullanımı hakkında detaylı bilgiye buradan ulaşabilirsiniz.
  • Kritik Adım: Filezilla üzerinden, bilgisayarınızdaki ARM klasörünün içindeki tüm dosyaları seçin ve cihazınızda oluşturduğunuz SoftPLC klasörüne yükleyin.

(Soft PLC, yüksek performans için 32 bit ARMv7 işlemci mimarisiyle özel olarak derlenmiştir.)

3. Soft PLC’yi Çalıştırma

Dosya kopyalama işlemi tamamlandıktan sonra, sisteminizde .NET Runtime kurulu olduğundan emin olun. Soft PLC’yi başlatmak için terminale şu komutu yazın:

sudo dotnet /home/raspberrypi/SoftPLC/SoftPLC.dll
  • Raspberry Pi için .Net Core Runtime 8.0.4’ı buradan indirebilirsiniz.
    Versiyon uyumsuzluğu olduğunda terminal ekranında hata mesajı oluşacaktır.
  • Bilgisayarınızda indirdiğiniz dosyayı bir USB flash yardımıyla veya FileZilla gibi tranfer programlarıyla Raspberry Pi’ye taşıyın. FTP ile dosya taşıma hakkında bilgi almak için burayı ziyaret edin.
  • İndirilen dosyayı /home/raspberrypi/Downloads dizinine taşıdık.
  • Raspberry Pi’de terminali açarak /home/raspberrypi altında dotnet isimli bir klasör oluşturun.

Soft PLC’nin çalışması için gerekli olan .NET Core Runtime 8.0.4 sürümünü buradan indirebilirsiniz. Eğer sürüm uyumsuzluğu yaşarsanız, terminal ekranında bir hata mesajı ile karşılaşırsınız.

1. Dosya Hazırlığı ve Aktarımı

İndirdiğiniz kurulum dosyasını USB bellek veya FileZilla gibi bir FTP programı kullanarak cihazınıza taşıyın.

  • Dosya Konumu: Bu rehberde dosyanın /home/raspberrypi/Downloads dizinine taşındığı varsayılmıştır.
  • FTP Yardımı: Dosya aktarımı konusunda desteğe ihtiyacınız varsa bu kılavuzu inceleyebilirsiniz.
2. Kurulum Adımları

Terminali açın ve aşağıdaki komutları sırasıyla uygulayarak .NET klasörünü oluşturup dosyaları çıkartın:

mkdir dotnet
  • Downloads klasörüne gidin ve indirdiğiniz dosyayı dotnet klasörüne çıkartın.
  • Buradaki dotnet-runtime-8.0.4-linux-arm.tar.gz indirilen dosya adıdır. Dosya adı indirdiğiniz sürüme göre farklılık gösterebilir
tar -xvf dotnet-runtime-8.0.4-linux-arm.tar.gz -C /home/raspberrypi/dotnet/
3. PATH (Yol) Tanımlaması

Sistemin dotnet komutunu her yerden tanıyabilmesi için PATH tanımlaması yapmalısınız. Bu işlem için aşağıdaki kodu yürütün.

sudo nano /home/raspberrypi/.bashrc
  • Dosyanın en alt satırına şunları ekleyin.
export DOTNET_ROOT=/home/raspberrypi/dotnet/
export PATH=$PATH/home/raspberrypi/dotnet/
  • Düzenlemeyi bitirdiğinizde, dosyayı kaydetmek için Ctrl + X tuşlarına basın. Ardından Y tuşuna ve Enter tuşuna basarak kaydetme işlemini onaylayın.
  • Değişikliklerin hemen uygulanması için şu komutu çalıştırın:
source ~/.bashrc
4. Güvenli Yol (Secure Path) Ayarı

Dotnet’in sudo komutlarıyla da sorunsuz çalışması için şu adımı tamamlayın:

sudo visudo
  • Defaults secure_path="..." satırını bulun ve sonuna dotnet dizinini ekleyin:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/raspberrypi/dotnet"
  • Düzenlemeyi bitirdiğinizde, dosyayı kaydedin ve kapatın.
  • Bu işlemlerden sonra Dotnet kurulumu tamamlanmış oldu.

Soft PLC, donanım pinlerini (GPIO) kontrol etmek için WiringPi kütüphanesini kullanır. Raspberry Pi üzerinde GPIO birimlerini aktif etmek için bu kütüphaneyi kurmanız şarttır.

# Gerekli araçları yükleyin ve kaynak kodunu indirin
sudo apt install git
sudo git clone https://github.com/WiringPi/WiringPi.git

# Kurulum dizinine gidin ve derleme işlemini başlatın
cd WiringPi
sudo ./build

Not: Bu adımlar Raspberry Pi için standarttır. Diğer platformlarda (Orange Pi vb.) kurulum yöntemi farklılık gösterebilir. WiringPi hakkında daha detaylı teknik bilgiye resmi sayfasından ulaşabilirsiniz.

Soft PLC’nin donanım özelliklerini kullanabilmek için Project klasörü içindeki Config.txt dosyasını düzenlemeniz gerekir. Yapılandırma sırasında dikkat etmeniz gereken temel kurallar şunlardır:

  • Sadelik: Kullanmadığınız özellikleri (örneğin dijital giriş yoksa) dosyaya eklemeyin.
  • Sıralama: Donanım (Hardware) PWM, Yazılım (Software) PWM ve Seri Portlar alt alta listelenmelidir.
  • Doğruluk: Donanımınıza ait fiziksel pin numaralarını kullandığınızdan emin olun.
Örnek Config.txt İçeriği
Shutdown Detect:29U;
Digital Inputs:33D;35U;36;37U;
Digital Outputs:38;40;
Hardware PWM:Pin=12;Clock=100000;Range=100;
Software PWM:Pin=16;Range=100;
Serial Port:Name=/dev/ttyS1;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;EnablePin=32;
Serial Port:Name=/dev/ttyS2;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;EnablePin=7;
1. Kapanış Algılama (Shutdown Detect)

Elektrik kesintilerinde verilerin güvenle kaydedilmesi için kullanılır.

  • Hafıza Yönetimi: Soft PLC 256 kB hafızaya sahiptir ancak sadece kullanılan kısım diske yazılır. Bu sayede küçük kondansatörlerle (min. 3300uf tavsiye edilir) veri güvenliği sağlanır. Kapanış için gerekli zaman yetersiz gelirse ilave kondansatörler eklenmelidir.
  • Performans: Ctrl + C ile programı kapattığınızda, terminalde kaydedilme süresini görebilirsiniz (Örn: PLC_Code.bin saving time: 70 ms). Bu süre donanım hızına ve yazılmış PLC kod büyüklüğüne bağlıdır.
Shutdown Detect:29U;

Aşağıdaki şemada, standart bir kapanış algılama devresi (SD Detect) örneğini inceleyebilirsiniz:

İpucu: Devre tasarımı ve bağlantı detayları hakkında daha derinlemesine bilgi edinmek için buraya göz atabilirsiniz.

2. Dijital Giriş (DI) Yapılandırması
  • Djital giriş olarak kullanılacak pin numaraları sırasıyla yazılır.
  • Girişler için U (Pull Up) veya D (Pull Down) modlarını belirtebilir ya da boş bırakabilirsiniz.
  • Bazı sistemlerde yazılımsal Pull Up/Down özelliği desteklenmeyebilir. Bu durumda işletim sistemi ayarlarını manuel yapın veya harici dirençler kullanın.
  • Yazdığınız ilk pin numarası, Soft PLC içerisindeki dijital giriş adresinin ilk bitine (Örn: I 0.0) karşılık gelir.
  • Yan yana eklediğiniz her pin, başlangıç adresinden itibaren bir sonraki bit adresini temsil eder.

Aşağıdaki örnek satırları inceleyerek adresleme mantığını kavrayabilirsiniz:

Digital Inputs:33D;35U;36;37U;
33D - I 0.0
35U - I 0.1
3. Dijital Çıkış(DQ) Yapılandırması
  • Çıkış pinlerini sırasıyla yazın. Girişlerin aksine, çıkışlarda U veya D gibi mod tanımlamaları kullanmayın.
  • Listeye eklediğiniz her yeni pin, bir sonraki Soft PLC bit adresine (Q 0.0, Q 0.1…) otomatik olarak atanır.

Aşağıdaki örnek satırları inceleyerek adresleme mantığını kavrayabilirsiniz:

Digital Outputs:38;40;
38 - Q 0.0
40 - Q 0.1
4. PWM (Sinyal Genişlik Modülasyonu)
  • PWM yapılandırması için Config.txt dosyasında Clock ve Range değerlerini sabit olarak belirleyin.
  • Fulmatic SOFT’ta ilk PWM çıkışı, belirlediğiniz Analog Çıkış (QW) adresinden başlar (Örn: QW 100).
  • Sistem önce Hardware (Donanımsal) PWM‘leri, ardından Software (Yazılımsal) PWM‘leri adresler.
  • PWM aralığını (range) en fazla 1024 olarak tanımlayın ve hiçbir alanda virgüllü sayı kullanmayın.

Hardware PWM
Her cihaz için hardware PWM’nin pin numaraları farklı olabilir. Burada örnek kullanımı gösterilmiştir.

Hardware PWM:Pin=12;Clock=100000;Range=100;
Pin=Hardware PWM pin numarası 12 (GPIO18-PWM0)
Clock=PWM frekansı
Range=PWM aralığı (0 ile 1024 arasında)

Software PWM
Software PWM kullanarak boştaki bir GPIO pini üzerinde PWM sinyali oluşturulabilir.

Software PWM:Pin=12;Range=100;
Pin=Software PWM pin numarası
Range= PWM aralığı
Frekans formülü: Frequency Hz. = 1.000.000 / (PWM Range x 100us)
Range 100 olduğunda: frekans Frequency Hz. = 1.000.000 / (100 x 100us) = 100 Hz
5. Seri Port Yapılandırması
  • RS232, RS485 veya USB-Seri dönüştürücüler için kullanılır.
  • Eğer RS485 entegresi kullanıyorsanız, yön kontrolü için EnablePin parametresini tanımlamanız şarttır. USB çeviricilerde ve RS232 entegresinde bu satıra gerek yoktur.
Serial Port:Name=/dev/ttyS1;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;EnablePin=32;
Serial Port:Name=/dev/ttyS2;BaudRate=115200;Parity=None;StopBits=1;DataBits=8;FlowControl=None;EnablePin=7;
#Name=Kendi donanımınıza göre yazmalısınız.
#BaudRate=Kullanabileceğiniz baudrate (iletişim hızı), cihazınızın modeline ve işletim sistemine bağlı olarak değişebilir.
#Parity=None, Even, Odd, Mark, Space olarak yazılabilir.
#StopBits=0, 1, 2 yazılabilir.
#DataBits=7, 8, 9 yazılabilir. Modbus için 8 olmak zorundadır.
#FlowControl=None, RequestToSend, RequestToSendXOnXOff, XOnXOff şeklinde yazılabilir.
#EnablePin=Seri port haberleşmesi RS485 entegresi yardımıyla sağlanacaksa, GPIO pin'lerinde birisini Enable pin olarak kullanılır.

Similar Posts

  • PLC Nedir?

    PLC “Programmable Logic Controller” cümlesinin kısaltmasıdır. Türkçe “Programlanabilen lojik kontol cihazı” olarak ifade edebiliriz. Endüstriyel otomasyon sistemlerinin temelidir. PLC’nin olmadığı bir otomasyon işi neredeyse yoktur.

  • PID

    PID FORMÜLÜ Bu yazımızda PLC ile PID kontrolünün nasıl yapılacağını ve PID algoritmasını anlatacağız. PID otomasyon projelerinin %80’inde kullanılır. PID bir formüldür, belirli zaman aralıklarında çalıştırılarak hesaplanan sonuç çıkışa aktarılır. Formül hakkında bilgi için Vikipedi sitesini ziyaret ediniz. PID formülünde kullanıcı tarafından belirlenen P oransal, I integral ve D türev parametrelerinin proses değerleri ile işlenmesi…

  • Fonksiyon Blok Timer Kullanımı

    Fulmatic 7 PLC’lerde fonksiyon bloklar içerisinde Timer, Counter gibi statik komutlar kullanılamaz. Fonksiyon bloklar için kendi Timer veya Counter’larınızı oluşturmalısınız. Örnek kodu buradan indirebilirsiniz. Speed PLC programında 256 adet 1 mili saniyelik timer bulunur. Büyük projelerde bu sayı yeterli değildir. Timer sayısını software timerlar yaparak artırabilirsiniz. Fonksiyon bloklar aynı işi bir çok farklı adres için…

Bir yanıt yazın