Bu eğitim, Revolution Pi sisteminde CODESYS kullanarak basit bir yanıp sönen lambanın nasıl oluşturulacağını açıklıyor. Daha iyi anlaşılması için adım adım talimatlar ve görsel yardımcılar içeriyor.

Amaç #

RevPi sistemi ve CODESYS kullanarak bir LED lambanın her saniye yanıp sönmesini sağlayın.

Ön koşullar #

Donanım #

✓ RevPi Core 3
RevPi DIO
✓ LED

▷ LED'i RevPi DIO'nun herhangi bir çıkış kanalına bağlayın.

▷ PiBridge'i kullanarak RevPi Core ve RevPi DIO'yu bağlayın.

▷ Güç kaynağının doğru şekilde bağlandığından emin olun.

▷ RevPi'nizi ister headless modunda çalıştırın, isterseniz de ona bir monitör, fare ve klavye bağlayın.

Sisteminizi nasıl kuracağınıza dair ayrıntılı talimatlar için Başlarken bölümüne bakın.

Yazılım #

✓ PC'nizde yüklü CODESYS Geliştirme Sistemi

Uygun yazılımla uyumlu bir sistem sağlamak için Yazılım Uyumluluğu'na bakın.

Adım 1: CODESYS'te Yeni Bir Proje Oluşturma #

▷ PC’nizde CODESYS’i açın.

▷ Yeni bir standart proje oluşturun.

01_project

▷ Image sürümünüze bağlı olarak Linux ARM veya ARM64 için CODESYS Control'ü seçin

▷ PLC için EN 61131-3 programlama dillerinden birini seçin. Bu örnekte Ladder Logic Diagram (LD) kullanıyoruz.

01_project

❯ Bu, aşağıdaki resimde gösterildiği gibi CODESYS düzenleyicisindeki Aygıtlar penceresini günceller.

01_project

Adım 2: Aygıt Ağacını Yapılandırma #

RevPi Kontrolörünün LD'de programlanabileceği varsayılan bir POU (Program Organizasyon Birimi) PLC_PRG oluşturulacaktır. PLC_PRG, AnaGörev'de çağrılacak şekilde zaten yapılandırılmıştır. Bu nedenle, Görev Yapılandırması'nda başka bir adıma gerek yoktur.

▷ Şimdi cihazlar penceresinde kök cihazdaki bağlam menüsünü açın.

Add Device seçin.

❯ Çeşitli altında satıcı filtresi KUNBUS GmbH altında KUNBUS tabanlı desteklenen CODEYS Kontrolörleri görüntülenecektir.

▷ RevPi Core 3 seçin.

Add Device seçin.

❯ Bu, cihaz ağacına RevPi Core 3'ü ekler.

01_project

▷ RevPi_Core_3_3_S'de bağlam menüsünü açın.

▷ piBridgeLeft'te bağlam menüsünü açın.

Not

RevPi Connect kullanıyorsanız piBridgeLeft'i seçmelisiniz, çünkü RevPi DIO veya RevPi DO yalnızca RevPi Connect'in sol tarafında kullanılabilir.

▷ Tekrar Add Device seçin.

▷ Çeşitli altında listelenen cihazlara gidin.

❯ RevPi Core 3'ün sağ tarafına bağlanabilen tüm modüller burada gösterilmektedir.

RevPi_DIO seçin.

Add Device seçin.

❯ RevPi DIO cihaz ağacına eklendi.

01_project

Adım 3 I/O Modülü için Değişkenleri Atama #

▷ Aygıt ağacında RevPi_DIO'yu açın.

Revolution Pi DIO Module I/O Mapping sekmesine gidin.

İlgili modüllerin kullanılan I/O değişkenleri burada adlandırılabilir. Bunlara erişmek için bir programda çağrılmaları yeterlidir.

▷ Dijital çıkışlara WORD veri tipinde wDout değişken adını atayın.

❯ Lamba 1, RevPi DIO'nun dijital çıkışının 1. kanalına bağlanır ve wDout.0 nokta operatörü kullanılarak ilk bit ile erişilebilir. Tamsayı veri türüne sahip bir değişkendeki tek tek bitlere erişmek için şu sözdizimini kullanın: variablename.bitnumber.

01_project

Adım 4 Yanıp Sönen Lambanın Mantığını Yazma #

▷ Aygıt ağacında PLC_PRG'yi açın.

❯ Bu, RevPi DIO'ya bağlı bir yanıp sönen lambanın mantığının (programının) KOP'ta yazılacağı PLC_PRG program penceresini açacaktır.

▷ rung 1'de context menüsünü açın.

▷ Insert Negated Contact seçin.

01_project

▷ Negated Contact'ın sonundaki context menüsünü açın.

▷ Insert Empty Box seçin.

01_project

▷ CODESYS Standart Kütüphanesi'ndeki zamanlayıcı fonksiyon bloğunda TON'u seçin.

01_project

▷ TON_0 varsayılan adıyla enter'a basın.

01_project

❯ Otomatik Beyan penceresi açılır. Burada TON değişkenini varsayılan olarak bildirebilirsiniz.

▷ Çalıştırma için OK'i seçin.

01_project

▷ Daha sonra bobini TON_0'ın sağ tarafına yerleştirin.

▷ Context menüsünü açın ve ardından ağ ekleyin.

▷ Mantığı aşağıda gösterildiği gibi tamamlayınız.

TON_0 ve TON_1, 1 saniyelik periyotlarla yapılandırılmış iki TON zamanlayıcısıdır. Lamp1, RevPi DIO'da yanıp sönmesini istediğimiz çıkıştır. Zamanlayıcıların ET alanı kullanılmadıkları için boş bırakılabilir. 1. basamakta, TON_0, Lamp1'i 1 saniye sonra açacaktır. TON_1.Q açıldığında (YÜKSEK) NC kontağı TON_1.Q açılır ve bu da 1. basamağın mantıksal 0 olarak değerlendirilmesine ve Lamp1'in 1 saniye boyunca tekrar kapalı kalmasına neden olur. Böylece iki basamak, Lamp1 çıkış değişkeninin YÜKSEK (1) ve DÜŞÜK (0) durumları arasında 1 saniyelik periyotlarla periyodik olarak geçiş yapmasına yardımcı olur.

01_project

Adım 5: RevPi'yi CODESYS'e Bağlama #

▷ CODESYS aygıt ağacında kök aygıtı açın.

Communication Settings sekmesini seçin.

▷ RevPi Core3'ü bulmak için Scan network seçin.

Bu, yalnızca RevPi Core3'ün ağınıza fiziksel olarak bağlı olması ve CODESYS Çalışma Zamanı'nın yüklü olması durumunda çalışır

▷ Tanımlanan cihazı eklemek için OK seçin.

01_project

Önceki adım başarısız olduysa, günlük dosyasını kontrol ederek daha fazla araştırma yapabilirsiniz.

Not

Tarama ile RevPi cihazını bulmak için CODESYS Control'ün çalışıyor olması ve fiziksel bağlantı ile birlikte ağ IP bağlantı ayarlarının geçerli olması gerekir.

▷ Tools/Update Lim´nux Arm/Arm64'ü güncelle sekmesini açın.

▷ Geçerli giriş bilgilerinizi ve RevPi Core 3'ünüzün IP adresini girin.

▷ Ağdaki cihazları bulmak için Tara'yı seçin.

System sekmesini seçin.

System info seçin.

❯ Burada CODESYS kontrolcüsünün günlük dosyasını /tmp/codesyscontrol.log yolunda bulabilirsiniz.

01_project

Bu dosya, RevPi cihazıyla bir SSH terminal bağlantısı açılarak da görüntülenebilir. Aşağıdaki Linux komutuyla görüntüleyebilirsiniz: cat /tmp/codesyscontrol.log .
▷ Şimdi RevPi kontrolcüsüne bağlanmak için giriş simgesini seçin.

01_project

Uygulamayı ilk defa indirdiğinizde karşınıza aşağıdaki pencere gelecektir.

Yes seçin.

01_project

Adım 6: Uygulamayı Çalıştırma #

▷ Başlat düğmesini seçin veya F5 tuşuna basın. Bu, uygulamayı başlatacaktır.

01_project

❯ Artık uygulama mantığının görev döngüsünde döngüsel olarak yürütüldüğünü görebileceğiniz çevrimiçi moddasınız.

❯ RevPi DIO'ya bağlı lamba artık her saniye yanıp sönmelidir.

01_project

Sorun giderme #

  • RevPi bulunamazsa aşağıdakileri kontrol edin:

    • Log dosyası: /tmp/codesyscontrol.log.

    • Ağ bağlantısı ve IP adresi.

  • LED yanıp sönmüyorsa: wDout.0'ın RevPi DIO'nun doğru kanalına eşlendiğini doğrulayın.

    • PLC_PRG'deki mantığın doğru şekilde uygulandığından emin olun.