SlideShare a Scribd company logo
1 of 17
SCADAOTOMASYONYAZILIMININ
MOBİLUYGULAMADAİZLENMESİ
ALİ MERT ÖZDEMİR
05-11-935
PROJENİN
AMACI
 Türkiye’de birçok firma SCADA programı ile endüstriyel
sistemlerini ya da enerji sistemlerini kontrol etmektedir.
 Bu kapsamda projenin hedefi SCADA Otomasyon programı
verilerininAndroid işletim sistemli mobil uygulamada izlenmesidir.
 Mobil uygulamada bu verilerin izlenmesi, endüstride birçok
kolaylığı beraberinde getirebilir. İnsan ve zaman faktörü tasarrufu
sağlayacaktır.
SCADA
NEDİR?
 Kapsamlı ve bütünleşmiş birVeriTabanlı Kontrol ve Gözetleme
Sistemi (Supervisory Control and DataAcquisition (SCADA) )
sistemi.
 Bir tesise veya işletmeye ait tüm ekipmanların kontrolünden
üretim planlamasına, çevre kontrol ünitelerinden yardımcı
işletmelere kadar tüm birimlerin otomatik kontrolü ve gözlenmesi
sağlanabilir.
 Anlık olay ve alarmları saklayarak geçmişte meydana gelen
olayları da tekrar günün tarihinde ve saatinde
gözlemleyebilmemizi de sağlayan geniş kapsamlı mükemmel bir
sistemdir.
SCADA
NETWORK
Şekil 1. Scada NetworkYapısı
SCADA
 Birçok SCADA dağıtımı olmasına rağmen en popüler olanı
SiemensWincc SCADA dır.
 SCADA Raporlama formatları CSV, DOC ve PDF’tir. En sık
kullanılan okunabilirliği ve işlenmesi bakımından CSV (Comma
SeperatedValues) tipidir.
 Projemde SCADA’nın mevcut sistemlerdeki işleyişini analiz edip
raporlama standardı üzerinde çalıştım. SCADA’nın raporlama
öncesi işlemleri zaten mevcut sistemlerde standart olarak
yapılmaktadır.
SİSTEM
MİMARİSİ
Şekil 2. Sembolik Sistem İşleyiş Şeması
SİSTEM
USECASE
ŞEMASI
Şekil 3. Programın Usecase Şeması
PROJE
ADIMLARI
 Projeyle ilgili literatür taraması yapıldı. Daha önceden bu konuda
yapılmış benzer uygulamalar incelendi. Literatür taraması özeti
teslim edildi.
 Wincc SCADA programının sensörlerden PLC yardımıyla veri
alması, verileri şematik olarak tanımlaması ve sistem verilerinin
raporlanması aşamaları incelendi.
 Verilerin sunucu tarafında işlenmesi ve telefonun minimum kaynak
tüketerek algılayabileceği formata getirilmesi aşamasında yeni
metodolojiler kullanıldı. (Bkz. RestfulWeb Service ve JSONParser)
 Sunucu tarafı yazılımları, dinamik (responsive) bir Web Service
oluşturmak için Javascript ve Ajax ile kodlandı.
PROJE
ADIMLARI
 Böylece SCADA’dan gelen CSV türündeki veriler okunarak
sıralandı.Sıralanan veriler Node.js kullanılarak sunucu tarafında
JSON tipine dönüştürüldü.
 Mobil cihazların sınırlı işlemci ve hafıza gücü olduğundan web
tarafından veriler eskiden XML olarak alınırdı.XML tipindeki
dosyalar küçük boyutlu olduğundan çok popülerdi.Ancak XML
dosyalarının hem sunucu tarafında oluşturulması hem de mobil
cihaz tarafında işlenmesi zordu.
 Yeni bir dosya tipi olan JSON formatı, şu sıralar XML’in yerini
hemen hemen her uygulamada almış durumda. Oluşturulması ve
işlenmesi XML’e göre daha kolay olmasından dolayı artık eski
sistemlerdeki XML dosyalar bile JSON formatına çevrilmekte
olduğundan ben de projemde CSV verileri JSON’a çevirerek mobil
uygulamamda kullanmayı tercih ettim.
PROJE
ADIMLARI
 Mobil uygulama tarafında ise Android işletim sistemine yazılım
geliştirildiği için Java yazılım dili kullanıldı. Java’nın Android SDK’sı
ve JSON eklentileri (JSON Plugin) kullanıldı.
 Android tarafında gelen JSON dataları telefonun ekranındaki
TextBox’a (metin kutucukları) yazdırmak için JSONParser
methodu kullanıldı. Uygulamada işletmede sürekli çalışan bir
motordan alınan verilerin tarih, saat, maksimum sıcaklık ve
örnekleme zamanı bilgileri ekrana yazdırıldı.
 İşletmedeki motorun öngörülen maksimum sıcaklık değerini
aşması durumunda kırmızı arka plan, sembolik sıcaklık
göstergesi, pop-up (Toast) uyarı yazısı ve sesli alarm ile
uygulamanın uyarı sistemi yapıldı.
 Programın menüsünden istenilen durumda işletmedeki yetkiliye
ulaşabileceği kısayol arama eklentisi yapıldı.
PROJE
ADIMLARI
 Android uygulamasında temel birkaç veriye ait bilgiler
görüntülendiğinden yazılımın içinde SCADA’dan gelen tüm
verilerin telefonun yerel klasöründeki «scadadatas.txt» dosyasına
yazılması sağlandı.
 Projenin yazılımında Eclipse IDE uygulama geliştirme ortamı
kullanıldı. Nesneye dayalı programlama (Object-oriented
programming) derleyenler için oldukça kullanışlı ve gelişmiş bir
uygulama olması bakımından tercih edildi.
 Proje web tabanlı bir uygulama olduğu için Internet güvenliği için
Android uygulama içinde gerekli olan ayarlar yapıldı.
EKRAN
ALINTILARI
Şekil 4. EclipseGeliştirmeOrtamı
EKRAN
ALINTILARI
Şekil 5. SCADAMobile ekran alıntıları
EKRAN
ALINTILARI
Şekil 6. SCADAMobile ekran alıntıları
PROBLEMLER
 Yeni yazılım teknolojileri kullanıldığından dolayı bazıAndroid
paketlerinde sık sık hatalar oluştu ve bu nedenle zamanımın büyük
çoğunluğu çözüm araştırmakla geçti.
 Yazılım geliştirme (Software development) ve Ara yüzTasarlama
(User-Interface Design) çok farklı işler olduğundan uygulamamın
ara yüzü istediğim gibi olmadı. Projemin kod işleyişi başarılı
olmasına rağmen kullanıcı ara yüzü kod kalitesine gölge
düşürmektedir.
 Projeyi tek kişi yapmış olmam dolayısıyla iş paylaşımı, bilgi
paylaşımı ve takım çalışması ortamı oluşmadığından proje arzu
ettiğim kalitede gerçekleşmemiştir.
SONUÇ
 Uygulama yenilikçilik getirmesi bakımından oldukça önemlidir.
Daha önceleri SCADA verilerinin telefona mesaj olarak
gönderilmesi mümkündü ancak mobil uygulama hali yoktu.
 Web tabanlı uygulama olduğundan ve yeni yazılım teknolojileri
kullanıldığından sadece Android platformu için değil tüm
platformlara uygundur. İstenildiğindeWindows Phone ve IOS
mobil platformları için de kolaylıkla uyarlanabilir.
 Proje açık kaynak kodlu (open source) olarak gerçekleştirilmiştir.
Proje kodları GitHub Repository’sinde olacaktır. İsteyen herkes
oradan kodları çekip geliştirmeye devam edebilir.
TEŞEKKÜRLER
Sorularınız için;
alimertozdemir@outlook.com adresine mail atabilirsiniz.

More Related Content

Similar to Final project presentation

Bunyamin sogut cv
Bunyamin sogut cvBunyamin sogut cv
Bunyamin sogut cvbnymnsgt
 
Masaüstü sanallaştırma
Masaüstü sanallaştırma Masaüstü sanallaştırma
Masaüstü sanallaştırma Eren Caner
 
Windows server 2012 v getirdiği yenilikler
Windows server 2012 v getirdiği yeniliklerWindows server 2012 v getirdiği yenilikler
Windows server 2012 v getirdiği yeniliklerTC Hikmet Koşmaz
 
Windows Azure ile Cloud Computing Uygulamaları - 9
Windows Azure ile Cloud Computing Uygulamaları - 9Windows Azure ile Cloud Computing Uygulamaları - 9
Windows Azure ile Cloud Computing Uygulamaları - 9İbrahim ATAY
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-iemre61
 
Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6İbrahim ATAY
 
Windows Azure ile Cloud Computing Uygulamaları
Windows Azure ile Cloud Computing UygulamalarıWindows Azure ile Cloud Computing Uygulamaları
Windows Azure ile Cloud Computing Uygulamalarıİbrahim ATAY
 
Avva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate IdendityAvva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate IdendityMurat Yılmaz
 
Mobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıMobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıAhmet Gürel
 
Mdop - Microsoft Masaüstü Optimizasyon Paketi
Mdop -  Microsoft Masaüstü Optimizasyon PaketiMdop -  Microsoft Masaüstü Optimizasyon Paketi
Mdop - Microsoft Masaüstü Optimizasyon Paketiwindowsblogu
 
Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7İbrahim ATAY
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeMuharrem Tac
 
Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4İbrahim ATAY
 
Elektron-Senkron Nakit Akışı Yönetimi
Elektron-Senkron Nakit Akışı YönetimiElektron-Senkron Nakit Akışı Yönetimi
Elektron-Senkron Nakit Akışı YönetimiSuat Öztürk
 
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017Serhat Dirik
 
Google bulut mesajlaşma teknolojisi (gcm) cenk derinozlu
Google bulut mesajlaşma teknolojisi (gcm) cenk derinozluGoogle bulut mesajlaşma teknolojisi (gcm) cenk derinozlu
Google bulut mesajlaşma teknolojisi (gcm) cenk derinozluCenk Derinozlu
 

Similar to Final project presentation (20)

Android
AndroidAndroid
Android
 
Bunyamin sogut cv
Bunyamin sogut cvBunyamin sogut cv
Bunyamin sogut cv
 
Android
AndroidAndroid
Android
 
Masaüstü sanallaştırma
Masaüstü sanallaştırma Masaüstü sanallaştırma
Masaüstü sanallaştırma
 
BO Katılım Emeklilik
BO Katılım EmeklilikBO Katılım Emeklilik
BO Katılım Emeklilik
 
Windows server 2012 v getirdiği yenilikler
Windows server 2012 v getirdiği yeniliklerWindows server 2012 v getirdiği yenilikler
Windows server 2012 v getirdiği yenilikler
 
Windows Azure ile Cloud Computing Uygulamaları - 9
Windows Azure ile Cloud Computing Uygulamaları - 9Windows Azure ile Cloud Computing Uygulamaları - 9
Windows Azure ile Cloud Computing Uygulamaları - 9
 
Internet programcılığı-i
Internet programcılığı-iInternet programcılığı-i
Internet programcılığı-i
 
Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6Windows Azure ile Cloud Computing Uygulamaları - 6
Windows Azure ile Cloud Computing Uygulamaları - 6
 
Windows Azure ile Cloud Computing Uygulamaları
Windows Azure ile Cloud Computing UygulamalarıWindows Azure ile Cloud Computing Uygulamaları
Windows Azure ile Cloud Computing Uygulamaları
 
Avva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate IdendityAvva Mobile Enterprise Solutions - Corporate Idendity
Avva Mobile Enterprise Solutions - Corporate Idendity
 
Mobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim DökümanıMobil Pentest Eğitim Dökümanı
Mobil Pentest Eğitim Dökümanı
 
Mdop - Microsoft Masaüstü Optimizasyon Paketi
Mdop -  Microsoft Masaüstü Optimizasyon PaketiMdop -  Microsoft Masaüstü Optimizasyon Paketi
Mdop - Microsoft Masaüstü Optimizasyon Paketi
 
Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7Windows Azure ile Cloud Computing Uygulamaları - 7
Windows Azure ile Cloud Computing Uygulamaları - 7
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
 
Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4Windows Azure ile Cloud Computing Uygulamaları - 4
Windows Azure ile Cloud Computing Uygulamaları - 4
 
Elektron-Senkron Nakit Akışı Yönetimi
Elektron-Senkron Nakit Akışı YönetimiElektron-Senkron Nakit Akışı Yönetimi
Elektron-Senkron Nakit Akışı Yönetimi
 
Asp.net ajax
Asp.net ajaxAsp.net ajax
Asp.net ajax
 
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
OPENSHIFT KONTEYNER PLATFORM İLE GELİŞTİRMEYE HIZLI BAŞLANGIÇ - Webinar-Aug2017
 
Google bulut mesajlaşma teknolojisi (gcm) cenk derinozlu
Google bulut mesajlaşma teknolojisi (gcm) cenk derinozluGoogle bulut mesajlaşma teknolojisi (gcm) cenk derinozlu
Google bulut mesajlaşma teknolojisi (gcm) cenk derinozlu
 

Final project presentation

  • 2. PROJENİN AMACI  Türkiye’de birçok firma SCADA programı ile endüstriyel sistemlerini ya da enerji sistemlerini kontrol etmektedir.  Bu kapsamda projenin hedefi SCADA Otomasyon programı verilerininAndroid işletim sistemli mobil uygulamada izlenmesidir.  Mobil uygulamada bu verilerin izlenmesi, endüstride birçok kolaylığı beraberinde getirebilir. İnsan ve zaman faktörü tasarrufu sağlayacaktır.
  • 3. SCADA NEDİR?  Kapsamlı ve bütünleşmiş birVeriTabanlı Kontrol ve Gözetleme Sistemi (Supervisory Control and DataAcquisition (SCADA) ) sistemi.  Bir tesise veya işletmeye ait tüm ekipmanların kontrolünden üretim planlamasına, çevre kontrol ünitelerinden yardımcı işletmelere kadar tüm birimlerin otomatik kontrolü ve gözlenmesi sağlanabilir.  Anlık olay ve alarmları saklayarak geçmişte meydana gelen olayları da tekrar günün tarihinde ve saatinde gözlemleyebilmemizi de sağlayan geniş kapsamlı mükemmel bir sistemdir.
  • 5. SCADA  Birçok SCADA dağıtımı olmasına rağmen en popüler olanı SiemensWincc SCADA dır.  SCADA Raporlama formatları CSV, DOC ve PDF’tir. En sık kullanılan okunabilirliği ve işlenmesi bakımından CSV (Comma SeperatedValues) tipidir.  Projemde SCADA’nın mevcut sistemlerdeki işleyişini analiz edip raporlama standardı üzerinde çalıştım. SCADA’nın raporlama öncesi işlemleri zaten mevcut sistemlerde standart olarak yapılmaktadır.
  • 6. SİSTEM MİMARİSİ Şekil 2. Sembolik Sistem İşleyiş Şeması
  • 8. PROJE ADIMLARI  Projeyle ilgili literatür taraması yapıldı. Daha önceden bu konuda yapılmış benzer uygulamalar incelendi. Literatür taraması özeti teslim edildi.  Wincc SCADA programının sensörlerden PLC yardımıyla veri alması, verileri şematik olarak tanımlaması ve sistem verilerinin raporlanması aşamaları incelendi.  Verilerin sunucu tarafında işlenmesi ve telefonun minimum kaynak tüketerek algılayabileceği formata getirilmesi aşamasında yeni metodolojiler kullanıldı. (Bkz. RestfulWeb Service ve JSONParser)  Sunucu tarafı yazılımları, dinamik (responsive) bir Web Service oluşturmak için Javascript ve Ajax ile kodlandı.
  • 9. PROJE ADIMLARI  Böylece SCADA’dan gelen CSV türündeki veriler okunarak sıralandı.Sıralanan veriler Node.js kullanılarak sunucu tarafında JSON tipine dönüştürüldü.  Mobil cihazların sınırlı işlemci ve hafıza gücü olduğundan web tarafından veriler eskiden XML olarak alınırdı.XML tipindeki dosyalar küçük boyutlu olduğundan çok popülerdi.Ancak XML dosyalarının hem sunucu tarafında oluşturulması hem de mobil cihaz tarafında işlenmesi zordu.  Yeni bir dosya tipi olan JSON formatı, şu sıralar XML’in yerini hemen hemen her uygulamada almış durumda. Oluşturulması ve işlenmesi XML’e göre daha kolay olmasından dolayı artık eski sistemlerdeki XML dosyalar bile JSON formatına çevrilmekte olduğundan ben de projemde CSV verileri JSON’a çevirerek mobil uygulamamda kullanmayı tercih ettim.
  • 10. PROJE ADIMLARI  Mobil uygulama tarafında ise Android işletim sistemine yazılım geliştirildiği için Java yazılım dili kullanıldı. Java’nın Android SDK’sı ve JSON eklentileri (JSON Plugin) kullanıldı.  Android tarafında gelen JSON dataları telefonun ekranındaki TextBox’a (metin kutucukları) yazdırmak için JSONParser methodu kullanıldı. Uygulamada işletmede sürekli çalışan bir motordan alınan verilerin tarih, saat, maksimum sıcaklık ve örnekleme zamanı bilgileri ekrana yazdırıldı.  İşletmedeki motorun öngörülen maksimum sıcaklık değerini aşması durumunda kırmızı arka plan, sembolik sıcaklık göstergesi, pop-up (Toast) uyarı yazısı ve sesli alarm ile uygulamanın uyarı sistemi yapıldı.  Programın menüsünden istenilen durumda işletmedeki yetkiliye ulaşabileceği kısayol arama eklentisi yapıldı.
  • 11. PROJE ADIMLARI  Android uygulamasında temel birkaç veriye ait bilgiler görüntülendiğinden yazılımın içinde SCADA’dan gelen tüm verilerin telefonun yerel klasöründeki «scadadatas.txt» dosyasına yazılması sağlandı.  Projenin yazılımında Eclipse IDE uygulama geliştirme ortamı kullanıldı. Nesneye dayalı programlama (Object-oriented programming) derleyenler için oldukça kullanışlı ve gelişmiş bir uygulama olması bakımından tercih edildi.  Proje web tabanlı bir uygulama olduğu için Internet güvenliği için Android uygulama içinde gerekli olan ayarlar yapıldı.
  • 15. PROBLEMLER  Yeni yazılım teknolojileri kullanıldığından dolayı bazıAndroid paketlerinde sık sık hatalar oluştu ve bu nedenle zamanımın büyük çoğunluğu çözüm araştırmakla geçti.  Yazılım geliştirme (Software development) ve Ara yüzTasarlama (User-Interface Design) çok farklı işler olduğundan uygulamamın ara yüzü istediğim gibi olmadı. Projemin kod işleyişi başarılı olmasına rağmen kullanıcı ara yüzü kod kalitesine gölge düşürmektedir.  Projeyi tek kişi yapmış olmam dolayısıyla iş paylaşımı, bilgi paylaşımı ve takım çalışması ortamı oluşmadığından proje arzu ettiğim kalitede gerçekleşmemiştir.
  • 16. SONUÇ  Uygulama yenilikçilik getirmesi bakımından oldukça önemlidir. Daha önceleri SCADA verilerinin telefona mesaj olarak gönderilmesi mümkündü ancak mobil uygulama hali yoktu.  Web tabanlı uygulama olduğundan ve yeni yazılım teknolojileri kullanıldığından sadece Android platformu için değil tüm platformlara uygundur. İstenildiğindeWindows Phone ve IOS mobil platformları için de kolaylıkla uyarlanabilir.  Proje açık kaynak kodlu (open source) olarak gerçekleştirilmiştir. Proje kodları GitHub Repository’sinde olacaktır. İsteyen herkes oradan kodları çekip geliştirmeye devam edebilir.