SCADA mı Visual Basic mi ?

GencSaVaSc

Üye
Katılım
14 Nis 2009
Mesajlar
3
Puanları
1
Yaş
38
Selam arkadaşlar.

geçen 1-2 ay boyunca Şirketin üretmiş olduğu bir makine için bilgisayar programı yazdım. Makinede FATEK PLC kullanılıyor ve visual basic dili ile Fatek server kullanarak plc verilerini kontrol ettik.Ancak benim aklıma takılan bazı noktalar var.

Bunlardan ilki SCADA programları ile bizim yazmış olduğumuz programın iletişim hızı arasında bir fark olacakmı ? (arada fatek server olduğu için PLC>>Server >> PC Prog.)

İkincisi acaba giden veriyi birkez gönderdiğimde verinin PLC ye gidip gitmediğini her seferinde okumalımıyım ? ( program içerisine R2000 gibi bir konuma veri yazıp tekrar doğrulamak zorunda kaldığım bir bölüm oldu. Eğer kontrole gerek yoksa bu bölümde hata ne olabilir ? )

Bir diğer sorum. Acaba bu bağlantı sistemi PLC kontrolü yapmadan direk olarak PC üzerinden veri inceleyerek yönetmeye yetermi ? Örneğin bir su dolum tesisi için taşmadan sensörden gelen verileriye göre hemen akışı kesebilirmiyim ?


Son sorumsa Visual basic veya başka bir dil ile PLC kontrolü yapabilsemde SCADA programı öğrenmeye gerek varmıdır ? (Bu konuda karar veremiyorum)
 
Selam arkadaşlar.

geçen 1-2 ay boyunca Şirketin üretmiş olduğu bir makine için bilgisayar programı yazdım. Makinede FATEK PLC kullanılıyor ve visual basic dili ile Fatek server kullanarak plc verilerini kontrol ettik.Ancak benim aklıma takılan bazı noktalar var.

Bunlardan ilki SCADA programları ile bizim yazmış olduğumuz programın iletişim hızı arasında bir fark olacakmı ? (arada fatek server olduğu için PLC>>Server >> PC Prog.)
Olabilir, ama SCADA veya VB ile PC'de yapmış olduğunuz yazılımlarda milisaniye mertebesinde güncel olunması beklenmediği için sorun olmaması gerekir.
İkincisi acaba giden veriyi birkez gönderdiğimde verinin PLC ye gidip gitmediğini her seferinde okumalımıyım ? ( program içerisine R2000 gibi bir konuma veri yazıp tekrar doğrulamak zorunda kaldığım bir bölüm oldu. Eğer kontrole gerek yoksa bu bölümde hata ne olabilir ? )
Gönderdiğiniz bilginin hayatiyetine göre gerekebilir. Scada'larda "handshake" denen işlem otomatik olarak vardır. Şöyle örnekleyebiliriz:
PC: Bilgi göndermek istiyorum.
PLC: Şu an müsait değilim :)
PC: Bilgi göndermek istiyorum.
PLC: Olur gönder.
PC: Gönderdim, aldın mı?
PLC: Alamadım, tekrar gönder.
PC: Gönderdim, aldın mı?
PLc: Aldım.
İşte arka planda cereyan eden bu hayali "diyaloğu" programınızda sağlamalısınız.

Bir diğer sorum. Acaba bu bağlantı sistemi PLC kontrolü yapmadan direk olarak PC üzerinden veri inceleyerek yönetmeye yetermi ? Örneğin bir su dolum tesisi için taşmadan sensörden gelen verileriye göre hemen akışı kesebilirmiyim ?
Kritik işlemlerin doğrudan PC'den kumanda edilmesi doğru değildir. Verdiğiniz örnekte sadece izleme yapılıyor olsaydı sorun değildi. Kumanda etme, yani seviye yüksekse taşmayı engelleme söz konusu olduğu için ya PLC, ya da PC'ye takılan PLC özellikli kartlar kullanmanız gerekir.

Son sorumsa Visual basic veya başka bir dil ile PLC kontrolü yapabilsemde SCADA programı öğrenmeye gerek varmıdır ? (Bu konuda karar veremiyorum)
Scada'lar özellikle haberleşme kısmında, ekran oluşturmada, kayıt okumada/yazmada büyük kolaylık sağladığı için tavsiye ederim. VB biliyor olmanız büyük avantaj. Zira çoğu Scada ya doğrudan VB kullanıyor (örneğin Siemens WinCC) veya VB benzeri script imkanları içeriyor (Örneğin InTouch). VB bilen birinin Scada'ların bu ek özelliklerini kullanması kolay olacaktır.
 
Peki veritabanı işlemleride SCADA da istenilen işlemler yapılabiliyormu ?
 
Scada kendi veritabanını kurar ve gerektiğinde (örneğin grafikler, alarmlar için) çağırır, kullanır. Veritabanına erişmek için özel işlemler yapmanıza gerek yok, Scadanın sağladığı object'leri kullanırak her işlemi yaparsınız. Yine de bazı Scadalarda veritabanına isterseniz başka programlarla da erişebilirsiniz. Hepsini bilmem mümkün değil, ama örneğin WinCC MsSql kullanır ve ikinci bir kullanıcı olarak başka bir uygulamadan veritabanına bağlanıp kaydettiği bilgileri dilediğiniz gibi kullanabilirsiniz.
 
İhtiyaca göre yazılım seçmek lazım:

Eğer senin yazılımın tek bir yere yapılacaksa ve onun benzeri çok fazla yapılmayacaksa
o zaman SCADA iyidir.

Ama eğer senin yazılımın bir paket çözümse ve bazı yerlerini son kullanıcının görmesini istemiyorsan yani kaynak kodları gözükmesin istiyorsan o zaman VB Delphi vs.. ile geliştirmen daha iyi olacaktır.

PC anlamında fatek plc veya modbus olup olmaması önemli değil asıl önemli olan ihtiyacı sağlıklı olarak zamanında karşılamaktır.
 
Vbasicte geliştirmen güzel olan tarafı yazılımını istediğin gibi esnetebilmen. Bazen Scada yazılımları istediğin herşeyi karşılamayabiliyor veya biz eksik kalabiliyoruz. Fakat Vbasic dili ve Visual studio ortamına aşina isen yapabileceklerin hayal gücün ile sınırlıdır.

Bende benzer uygulamalar için C# ile çalışıyorum.
 
Eğer siz bir alet yaptıysanız ( icat ettiyseniz) bunun ara yüzünü istediğiniz dille ( VB , C+ ,
Delphi ) gibi dillerle yazabilirsiniz. Doğrusu bu ,ama kimin nerde nezaman kullanacağını
bilmediğiniz. Her sıkıştığında yanında olamayacağınız bir sistemde bilinen bir marka scada
kullanmak daha güzel oluyor. 26 yıllık tecrübem bunu ıspatlamıştır.
Kolaygelsin,
 
scada yı öğrenmende fayda var . Önce yapacağın işe benzer başkaları nasıl yapmış araştır, kullan ve deneyim kazan sonra eğer sen üzerine ben ne koyarım diye düşün.
 
Sorular çok kıymetli. Hemen cevaplamaya çalışıyım.
Hızda farklılık olucakmı?
Hayır fark olmaz. Eğer doğru mantık ile program hazırlanırsa VB. Daha hızlı bile olabilir. Tabii en önemli olanıda pc'de en altta yani plc'ye yakın çalışan programdır. (Server veya activex) Ben Modbus,S7 Mpi ve S7 Ppi için activex hazırladım. Modbus ile saniyede 75 sorgu alırken S7 Mpi ile saniyede 10kb. data transferi yaptım.
Eğer VB ile program yapıyorsan her türlü hataya karşı tedbir almalısın. Ama Scada kullanırsan bir çok hata daha oluşmadan engellendiği için pek hata çıkmaz. Vb ile yaptığın program çok zaman sonra bile hatalar oluşturabilir. Scada da ise bu ihtimal çok düşüktür.

Veri gönderiminde gidip gitmediğini ayrıca kontrol etmeye gerek yoktur. Normalde scada bilgiyi plc transfer eder. Plc gönderilen sorgu kabul edilirse işlem bitmiştir. Plc programı bu değeri değiştirebilir. Bu yüzden scada tekrar okuyup aynımı diye bakmaz. Sorgu kabul edilmez ise belli bir tekrar sayısı vardır 2 veya 3 gibi bu esnada alırsa alır almazsa eski değerine geri döner scada ekranında gösterilir. Normalde yazılan tüm değerler plc tarafından kabul edilir. Eğer server programı doğru dürüst yazılmışsa. Server sürekli bilgileri plc'den okur eğer scada tarafından plc'ye yeni bir değer girilmiş ise okuma işlemini durdurur ve gelen değeri plc'ye yazar. Bu işlem için bir saykıl buffer kullanılmalıdır. yaz komutu buffer'da bir saykıl tutulmalı sonra silinmelidir.

Pc üzerinde kontrol yapmak doğru bir yöntem değildir. Genelde kontrole etken set değerleri pc'den plc'ye yazılır işlem plc içerisinde olur. Pc'de kontrol pc'nin çalışmadığı durumda sistemin her türlü hataya açık kalması demek olacaktır.

son bir cevap tüm programlar low level'dan high level'a doğru bir kadame içersindedir. En aşağıda asembıl en yukarıda ise scada vardır. Scada öğrenmek için gereken maksimum iki günlük çalışmadır. Vb ile yapmakta bir çok avantaj ve dez avantaj vardır. bunları ayrıca tartışmak gerekebilir. Ancak scada'yı öğrenmelisiniz. Zira Vb ile aylarca uğraşıp yapabileceğiniz projeleri 1 hafta içersinde scada ile yapabilirsiniz. Vb ise mutlaka öğrenilmelidir. Eğer vb bilmeden scada yazıyorsanız ilerleminiz çok güç scada içersinde bir çok kritik işlem Vb scriptler ile yapılır.

WinTr programcısı...
 

Forum istatistikleri

Konular
130,109
Mesajlar
933,198
Kullanıcılar
453,168
Son üye
Veysel22

Yeni konular

Geri
Üst