Ana SayfaAlgoritma ve ProgramlamaAndroid ile plc Kontrol

Android ile plc Kontrol

İlk başta plc kontrol için Android geliştirme araçlarını indirmeniz ve yüklemeniz gerekmektedir: Aşağıdaki link Android gelişimi için gerekli tüm araçları içeren bir arşiv dosyası indirmenize izin veriyor. developer.android.com/sdk/index.html

  • JDK, 5-6.Sürüm: Java Development Kit ve Java Runtime Environment (JRE, JDK ile birlikte geliyor). Java kodu, yazma işlemi ve çalıştırmak için gereken dosyalar ve küçük programlar (araçlar) içerir.
  • Eclipse IDE (Eclipse Integrated Development Environment): Android uygulama oluşturmak, derlemek ve paketlemek için gerekli araçları içerir ve aynı zamanda bir Android cihaz emülatörü sağlar. Böylece Android uygulamaları gerçek bir Android telefon olmadan test edilebilir.
  • Android SDK: Android Yazılım Geliştirme Kiti bir takım kapsamlı geliştirme araçları içerir.
  • ADT: Google, Eclipse ile Android uygulamaları geliştirmek için Android Geliştirme Araçları (ADT) sağlıyor. Android geliştirme özellikleriyle ADT, Eclipse IDE içindeki bir takım yapılandırılmış (extend edilmiş) bileşenleri düzenler.

Android ile plc Kontrol Nasıl Yapılır?

eclipse properties view

Bir sonraki adım, plc ile bir Android uygulaması ve kontrol gerçekleştirmek: 

Bu amaç için, Wifi ve özgür kütüphane (free library) Libnodave kullanabilirsiniz:

  • Wi-Fi için HSPA ile bir 3G/UMTS yönlendirici; SCALANCE m875 ve endüstriyel uygulamalar için VPN özelliğini tercih edebilirsiniz.
  • PLC ile Android uygulamalarını bağlaman için ayrıca şu siteden libnodave.sourceforge.net gelen LibNoDave kütüphanelerini indirmeniz ve bunu değiştirmeniz gereklidir.

Bir Android uygulaması oluşturun:

Biz mümkün olduğunca basit bir test uygulaması oluşturacağız. Aşağıdaki veriler ile yeni bir Android Projesi oluşturmak için File → New → Other… → Android → Android Application Project adımlarını izleyin.

  • Application Name (Uygulama İsmi) – S7 NoDaveTest
  • Project Name (Proje İsmi) – S7NoDaveTest
  • Package Name (Paket İsmi) – com.example.s7libnodavetest
  • Target SDK (Hedef SDK) – API 17: Android 4.2 (Jelly Bean)
  • Template (Şablon) – BlankActivity
  • Activity (Etkinlik) – MainActivity
  • Layout (Katman)– activity_main

Görünüş ve özelliklerini ekleyin:

Android uygulaması için bir layout (Katman) oluşturun: res/layout/activity_main.xml seçin ve sürükle ve bırak yoluyla veya XML kaynak kodu ile aşağıdaki gibi katmanları oluşturun;

  • Plain Text for IP address – IP Adresi için Düz Metin
  • Plain Text for entries variable type “test” – Giriş Değişken Türü “test” için Düz Metin
  • Plain Text for entries variable type “value” – Giriş Değişken Türü “değer” için Düz Metin
  • Widgets butonu – PLC ile bağlamak için
  • Widgets butonu – Değerleri okumak için
  • Widgets butonu – Değerleri yazmak için ekleyin.

res/values/string.xml dosyasını seçin ve statik özellikler ekleyin;

  • Ip address – IP adresi
  • Connection – Bağlantı
  • Read – Okuma
  • Write – Yazma

Görünüm özelliklerini düzenleyin. Her bir kullanıcının arabirimi bileşenini (bir view kopyasını) seçin ve onların özelliklerini Eclipse Properties view bağlantısı ile değiştirin.

LibNoDave library Verilerini Alma:

  • Package explorer içerisinde, sizin yeni projenize sağ tıklayın ve import (veri alı) seçin.
  • Sonra “File system” seçeneğini tıklayın. Burada size dizine göz atmak için bir diyalog penceresi karşınıza çıkmış da olabilir.
  • Kaynak dosyalarını içeren Base directory seçin ve ardından almak istediğiniz dosya/dizinleri kontrol edin.

İndirilen kütüphane bir test kütüphanesidir bu nedenle değiştirmeniz gereklidir. Tüm hata ayıklama işlevlerini (debug functions) kapatın, tüm kullanılmayan değişkenleri silin, sadece gerekli fonksiyonları bırakın ve başka tip iletişimler için olan fonksiyonları silin. Ayrıca köprü sınıfı (bridge class) oluşturmanız gereklidir. PLC ile bağlantılıyken, bu class bağlanmak için LibNoDave library ve android uygulamalarının UI’lerini kullanır, değişkenleri okuma/yazma vb işlemleri yapar.

Örneğe Başlıyoruz:

Kaynak kodlarını buradan indirebilirsiniz.

Değişkenler tablosu S7:

Buradaki amaç, Tablo S7 deki değişkenler gibi aynı çalışan bir android uygulaması oluşturmaktır.

Kaynak kodlarını buradan indirebilirsiniz.

Değişken tablosu için izin verilen adresler ve değişken tipleri örneği:

Android emülatörü ve “gerçek” bir ağ arabirimi ile test edilmiştir. Telnet ve ADB ile TCP Port (bağlantı noktası) emülatöre yönlendiriliyor:

  • adb forward tcp:sourceport tcp:destport
  • Telnet localhost 5554
  • redir add udp:sourceport:destport

Değişken Tablo Yapısı:

  • Giriş ve doğrulama talimatları S7 ve adresleri:
  • PLC ile veri alışverişi:
  • PLC ile bağlantı:
  • Info instructions – Bilgi Talimatları
  • Force values – Kuvvet Değerleri

Furkan Gümüş
Furkan Gümüş
Karadeniz Teknik Üniversitesi Makine Mühendisliği bölümü mezunu. Yüksek lisans eğitimini Marmara Üniversitesi Makine Mühendisliği bölümünde tamamladı. Doktora eğitimine Yıldız Teknik Üniversitesi Mekatronik Mühendisliği alanında devam ettiriyor. Uzmanlığı Robot ve Mekatronik Sistemler, Otomatik Kontrol, Mekanik Tasarım, Gömülü Sistem ve Kontrol Yazılımlarıdır.

2 Yorum

Subscribe
Bildir
guest
2 Yorum
Inline Feedbacks
View all comments
Arıcılık Malzemeleri

Yeni Yazılar

Mühendislik Maaşları

Bunları Gördünüz mü?