Endüstriyel Haberleşme Protokolleri Hakkında

BioDread

Üye
Katılım
15 Ocak 2016
Mesajlar
4
Puanları
1
Yaş
34
Merhaba arkadaşlar,

Bir lojistik firmasında makine mühendisi olarak görev alıyorum. Firmamızda barkod cihazlarının kontrolünü kendi geliştirdiğimiz yazılımlar ile gerçekleştirmekteyiz.

Bünyemizdeki ürün ayrıştırma sürecini makineleştirme kararı aldık ve bir proje geliştirdik. Mekanik tasarım sona erdi ve prototip üretimini gerçekleştirdik. Sıra geldi otomasyon aşamasına. Proje kapsamında ayrıştırma mekanizmasını tahrik etmek amacıyla birçok pnömatik silindir valfinin kontrolü söz konusu. Ayrıca, ürün sayma işlemi için reflektörlü lazer sensörler kullanacağız. Bu elemanların kontrolünü yukarıda bahsettiğim barkod cihazının kontrolü gibi kendi geliştirdiğimiz yazılımlar ile sağlamak istiyoruz. Dolayısıyla, Plc vs. kullanmayıp direk pc, haberleşme elemanları, tahrik elemanı ve sensörler içeren bir otomasyon sistemi mevcut olmasını arzuluyoruz.

Sizlere sorum şu;
https://www.wenglor.com/index.php?id=1015&L=6
yukarıdaki linkteki şemada da görüldüğü üzere Ethernet/IP yapılandırması ile, sensör ve valfleri ethernet bağlantı kutularına bağlayıp bunların güç kaynağı ve bilgisayar ile bağlantısını sağlayarak, kendi geliştirdiğimiz C# yazılımımız ile sensörlerden veri alıp işleyip pnömatik valflerin kontrolünü gerçekleştirebilir miyiz? Ayrıca, diğer Ethercat, Profinet vs. haberleşme protokollerine nazaran ne tür avantajlar ve dezavantajlarla karşılaşabiliriz?

İyi forumlar dilerim.
 
aynı firmanın lazer sensörünü kullandım ama plc ile beraber daha net cevap verecek arkadaş olursa zevkle okuruz
 
Ethernet/IP Rockwell otomasyonun geliştirdiği endüstriyel bir haberleşme sistemidir. Normal Ethernet ile karıştırmamanız gerekir. Bu tarz Ethernet tabanlı haberleşme sistemleri Ethernet protokollerini desteklemelerinin yanında gerçek veri haberleşmesi Real time olarak yapılır. Yani Ethernet üzerinde farklı protokoller aynı anda yürütülür. Dolayısı ile Windows ortamında bu tarz bir haberleşme prensip olarak mümkün değildir. Çünkü Windows gerçek zamanlı bir işletim sistemi değildir. Ayrıca dünya üzerindeki bir çok haberleşme mimarisi üzerinde geliştirme yapmak için üreticilere ya da bağımsız kuruluşlara çeşitli lisans ücretleri ödemeniz gerektiğini de unutmayalım.



Diğer bir konu Windows üzerinde bir otomasyon sistemi geliştirilebilir mi?

Cevap: Ne yazık ki hayır. Çünkü hiç bir işletme kontrol bilgisayarında Ctrl+Alt+Del tuşuna bastığında otomasyon sisteminin geçici bir süreliğine durmasını istemez. Ya da büyük bir Office dosyasını açarken, video oynatırken bir pistonun ya da sensörün hareketini kaçırmak istemez. Bu yüzden Windows ortamında yazılım geliştirilerek gerçek manada bir otomasyon sistemi yapılmaz. Çünkü Windows'un herhangi bir sürümü Gerçek zamanlı çalışmaz.

Detaylı bilgi:

https://en.wikipedia.org/wiki/Real-time_computing


TwinCAT kullanarak gerçek bir otomasyon uygulamasını Windows ortamında gerçekleştirebilirsiniz. Ama maliyet anlamında bakıldığında bir PLC kullanmak yerine bu tarz bir çözüm zaman-maliyet ilişkisi göz önüne alındığında akılcı bir çözüm değildir.


Detaylı Bilgi:

http://download.beckhoff.com/download/Document/catalog/Beckhoff_TwinCAT3_042012_e.pdf



Ethernet/IP hakkında daha detaylı bilgi:
http://literature.rockwellautomation.com/idc/groups/literature/documents/wp/enet-wp001_-en-p.pdf




Yukarıdaki açıklanan nedenlerden dolayı yine de ben kendi çözümümü yapacağım der iseniz aşağıdaki ürünler sizin için daha uygun olacaktır:

http://www.advantech.com/products/e...6000/sub_a67f7853-013a-4b50-9b20-01798c56b090
 
Son düzenleme:
Ethernet/IP Rockwell otomasyonun geliştirdiği endüstriyel bir haberleşme sistemidir. Normal Ethernet ile karıştırmamanız gerekir. Bu tarz Ethernet tabanlı haberleşme sistemleri Ethernet protokollerini desteklemelerinin yanında gerçek veri haberleşmesi Real time olarak yapılır. Yani Ethernet üzerinde farklı protokoller aynı anda yürütülür. Dolayısı ile Windows ortamında bu tarz bir haberleşme prensip olarak mümkün değildir. Çünkü Windows gerçek zamanlı bir işletim sistemi değildir. Ayrıca dünya üzerindeki bir çok haberleşme mimarisi üzerinde geliştirme yapmak için üreticilere ya da bağımsız kuruluşlara çeşitli lisans ücretleri ödemeniz gerektiğini de unutmayalım.



Diğer bir konu Windows üzerinde bir otomasyon sistemi geliştirilebilir mi?

Cevap: Ne yazık ki hayır. Çünkü hiç bir işletme kontrol bilgisayarında Ctrl+Alt+Del tuşuna bastığında otomasyon sisteminin geçici bir süreliğine durmasını istemez. Ya da büyük bir Office dosyasını açarken, video oynatırken bir pistonun ya da sensörün hareketini kaçırmak istemez. Bu yüzden Windows ortamında yazılım geliştirilerek gerçek manada bir otomasyon sistemi yapılmaz. Çünkü Windows'un herhangi bir sürümü Gerçek zamanlı çalışmaz.

Detaylı bilgi:

https://en.wikipedia.org/wiki/Real-time_computing


TwinCAT kullanarak gerçek bir otomasyon uygulamasını Windows ortamında gerçekleştirebilirsiniz. Ama maliyet anlamında bakıldığında bir PLC kullanmak yerine bu tarz bir çözüm zaman-maliyet ilişkisi göz önüne alındığında akılcı bir çözüm değildir.


Detaylı Bilgi:

http://download.beckhoff.com/download/Document/catalog/Beckhoff_TwinCAT3_042012_e.pdf




Ethernet/IP hakkında daha detaylı bilgi:
http://literature.rockwellautomation.com/idc/groups/literature/documents/wp/enet-wp001_-en-p.pdf




Yukarıdaki açıklanan nedenlerden dolayı yine de ben kendi çözümümü yapacağım der iseniz aşağıdaki ürünler sizin için daha uygun olacaktır:

http://www.advantech.com/products/e...6000/sub_a67f7853-013a-4b50-9b20-01798c56b090



Bravo, yabancı forumlarda görmeye alışık olduğum türden bir yorum. Bu kaliteli bilgilendirme için teşekkürler..
 
Yapamazsın !
Olmaaaaaazzzzzzzzzz !
O plc firmaları 3 günde olmadı (senelerce endüstrinin sırtında)!

SPI çıkışın olduğu sürece o endüstri haberleşmeleri falan gereksiz(SPI to ethernet,fiber,RF, wifi,etc.).
Sağlam dönüştürücüler edinirsen 100MHZ hızlara çıkabilirsin.
Mesele hızlar ise hangi sensör 10ns (nano saniye) tepki hızına ulaşabilir ? Basit entegreler bile 2-5ns tepki süresi vardır(hızlıları). Peki bu entegrelerden o sensörün içinde kaç tane var ?
Dikkat edilecek husus I/O (G/Ç) hızını yüksek tutmaktır.

Örneğin MCP23S17 expander 10mhz haberleşmesi olmasına rağmen çıkış frekansı max 100khz dir.

Endüstriyel haberleşme normları her ne kadar bazı işleri norm altında toplamaya çalışsada tüketicileri söğüşlemekten başka bir amacı yoktur(Free olanlar hariç).
Önemli olan hangi protokolü kullandığın değildir. Aşağıda bazı kriterleri yazıyorum(bildiğim & aklıma gelenler)

  • Tüm birimlere tek bir protokol uygulamak.
  • Sistem çalışırken donanımları değiştirebilmek.
  • Birbirinden bağımsız 2 veya 3 ağ oluşturmak (tek noktadan çok riskli olur).
  • Stok tutma olayını kesinlikle uygulamamak(Hazır modülleri kullanmak, "çok ucuzcu isen git gemonun ilave modülünü kullan" gibi)
  • Donanımlarınız çöp olabilir ama sunucunuz kesinlikle kaliteli olmalıdır(Sunucunuzu Monitör diye kullanmayınız, asla sunucunuzda veri depolamayınız).
  • Sisteminizin tümünün yanması durumunda tüm sistemi 3 iş gününde toplayabilmek(Şimdi o sensörü aldığınız firma eminim ki size verecektir)
  • Birden fazla ağınız olduğu gibi birden fazla sunucunuz da olmalıdır(Sanal sunucu).
  • Sunucunuzu mutlaka bir MCU kullanarak klonlayın(Maximum hızlarda olmayabilir önemli olan çarkı döndürmek)
Not : Aklıma gelenler bu kadar, daha da gelirse editleyeceğim. :)
 
Benim çalıştığım firmada lazer makinası üzerinde kullanıldı, linux üzerinden bir arayüz ile CNC ve PLC kontrolörü sağlandı ama hep akılda soru işaretleri kalıyor insanın. acaba mı! Arge projesi olduğu için başka sebeplerden ötürü proje yarım kaldı. Ancak kontrol yapılamaz değil, elbetteki PC kontrol edebilir ve hatta kontrocü görevini üstlenebilir ama tabiki tavsiyem CNC aktif iken arka planda sosyal paylaşım sitelerine yada muhtelif sanatçıların müz,k parçalarını dinleyerek zaman geçirmeyin.
 
Benim çalıştığım firmada lazer makinası üzerinde kullanıldı, linux üzerinden bir arayüz ile CNC ve PLC kontrolörü sağlandı ama hep akılda soru işaretleri kalıyor insanın. acaba mı! Arge projesi olduğu için başka sebeplerden ötürü proje yarım kaldı. Ancak kontrol yapılamaz değil, elbetteki PC kontrol edebilir ve hatta kontrocü görevini üstlenebilir ama tabiki tavsiyem CNC aktif iken arka planda sosyal paylaşım sitelerine yada muhtelif sanatçıların müz,k parçalarını dinleyerek zaman geçirmeyin.


Ben PC kontrol edemez demedim. Windows kontrol edemez dedim. Bu arada Linux gerçek zamanlı bir işletim sistemidir.

Unutmayın ki çağımızdaki ileri düzeydeki bir çok CNC ve otomasyon kontrolcüsü PC mimarisi üzerinde çalışmaktadır (Robotlar dahil)

Windows üzerinde VxWorks, QNX gibi RTOS kullanılır ise yazılımı RTOS üzerinde geliştirirsiniz Windows da kullanıcı arayüzü için kullanılabilir. Ama gerçek program gerçek zamanda RTOS üzerinde çalışabilir. Zaman kritik uygulamalar kullanılmayacaksa ve yukarıdaki bahsettiğim limitlemeler göz önünde bulundurulur ise elbette Windows üzerinde C# veya C++ ile basit bir kontrolör yaratabilirsiniz.

Şahsen ben kontrol yaptığım makineye ait yazılımımda kullandığım bir timer nesnesinin her zaman 50ms de çalışması gerekirken birinci çevrimde 50ms ikinci çevrimde 45ms üçüncü çevrimde 100ms 4. çevrimde "X" ms olmasını istemem. Ama Windows üzerinde makine kontrol yazılımı geliştirildiğinde olacak olan bu. Bunu sağlayacak olan da Windows un ta kendisi.
 
Açıklayıcı yanıt veren herkese çok teşekkür ederim.

Yazdıklarınızdan ve paylaştığınız linklerden anladığım kadarıyla; Windows, RTOS yani gerçek zamanlı bir işletim sistemi değil. Sistemde yaşanabilecek herhangi bir yavaşlama, makinenin arzu edilen zaman aralığında işlevini yerine getirememesi gibi bir durum ortaya çıkaracak.

Bu noktada birkaç sorum olacaktır.

1- Beckhoff, TwinCat otomasyon yazılımı ve diğer EtherCat tabanlı ekipmanları ile neyi başarmaktadır ki Windows gibi gerçek zamanlı olmayan bir sistem, otomasyon projelerinde kullanılabilecek bir gerçek zamanlı sisteme dönüştürmektedir?

2- Projemiz hakkında biraz daha detay vermek istiyorum. Varsayalım ki A ürününden 1 numaralı dağıtım noktasına 5 adet, 2 numaralı dağıtım noktasına 4 adet ayrıştırılacak olsun. 1 numaralı dağıtım noktasına 5. ürün ayrıştırılınca, 1 numaralı dağıtım noktasına ait pnömatik tahrik elemanının valfi devreden çıkıp, 2 numaralı dağıtım noktasına ait pnömatik tahrik elemanının valfi devreye girmesi gerekmektedir. Böylece arkadan gelen ürünler 2 numaralı dağıtım noktasına aktarılsın. Bu işlemde 1 numaralı dağıtım noktasındaki sensörün ürünü algılayıp bilgisayara sinyal göndermesi ve yazılımın bu bilgiyi alıp işleyerek, 1 numaralı dağıtım noktasındaki valfi devreden çıkarması ve 2 numaralı dağıtım noktasındaki valfi devreye sokması için sinyal göndermesi için gerekli süre maksimum 0.133 saniyedir. Yani, bizim projemiz için gerçek zaman aralığı maksimum 0.133 saniyedir. Windows üzerinde çalışan bir kontrol yazılımının bu mertebelerdeki bir zaman aralığının dışına çıkıp, makinenin 2. numaralı dağıtım noktasına aktarılacak ürünü 1. numaraya göndermesi gibi bir olumsuz durum ortaya çıkabilir mi?

3- Açıkçası video oynatma, Office dosyası açma nedeniyle yavaşlama örnekleri biraz kafamı karıştırdı. Sonuçta biz bu makinenin başına bir PC yerleştirip sadece bu makinenin otomasyon işi için geliştirdiğimiz yazılımı çalıştıracağız. Yani üzerinde ne Office işlemleri ne video ne de internette sörf yapacağız. 2. maddede verdiğim sistem çalışma mantığına göre biraz daha detaylandırabilir misiniz?

İyi akşamlar dilerim.
 
1. Sorunuzun yanıtı: TwinCAT bir ara yazılım ile Windows'u RTOS haline getiriyor. Nasıl yaptığı ve detayları burada var: http://www.google.lt/url?sa=t&sourc..._e.pdf&usg=AFQjCNGa1AhkEWyZ20NQzNGe8-XKkRQmBg
2. Sorunuzdan anladığım "benim yapacağım işlem çok yavaş Windows bu işi yapar" demek istemişsiniz. Sizin işleminizin hızı çok önemli değil. Şöyle örnek vereyim: bir barcode okuyucunuz var ve bunu bir sensörle tetiklemeniz lazım. Bu klasik bir yükselen kenar yakalama işlemini gerektirir ve plc mantığında şöyle yapılır: işleminiz çok hızlı ise sensör hızlı inputa girilir ve kesmeler ile anında yakalanır yada normal inputa girip plcnin bir yazılım çevriminde yakalanır. Bunun da süresi yazılımınızın boyutuna göre 5-10ms gibi bir süre alır.
Şimdi böyle bir işlemi Windows altına yazmış olduğunuz bir programla yapmanızın imkanı yok. Her ne kadar PC'yi sadece bu işe ayırsanız da arka planda windowsun çalıştırdığı onlarca başka program olacak.
Benim size tavsiyem boşuna Windows ile uğraşmayın. Yukarıda yapmak istediklerinizi okuduğumda bu iş en ucuzundan bir plc ile 1000 ile 3000 tl arası hallolur gibi görünüyor.

Kolay gelsin.
 
Son düzenleme:
Yazdıklarınızdan ve paylaştığınız linklerden anladığım kadarıyla; Windows, RTOS yani gerçek zamanlı bir işletim sistemi değil. Sistemde yaşanabilecek herhangi bir yavaşlama, makinenin arzu edilen zaman aralığında işlevini yerine getirememesi gibi bir durum ortaya çıkaracak.
Kesinlikle.

1- Beckhoff, TwinCat otomasyon yazılımı ve diğer EtherCat tabanlı ekipmanları ile neyi başarmaktadır ki Windows gibi gerçek zamanlı olmayan bir sistem, otomasyon projelerinde kullanılabilecek bir gerçek zamanlı sisteme dönüştürmektedir?
TwinCAT, Windows'u mucizevi bir biçimde RT bir platforma dönüştürmemektedir. Eğer dönüştürebilseydi bunu Microsoft yapardı Beckhoff değil. Aksine Windows ile hiç ilgilenmemektedir. TwinCAT bir çekirdek sürücüsü olup CPU üzerinde kendi bölgesini tamamen kontrol altına alarak Windows tarafında fırtınalar kopsa dahi kararlı ve stabil çalışmasını devam ettirmektedir. Windows altında çalışmaz. Windows ile yan yana çalışır. Yani Windows a gelen kesme istekleri ya da donanım talepleri açıkçası TwinCAT ya da başka bir RTOS sistemin umrunda olmayacaktır.

2- Projemiz hakkında biraz daha detay vermek istiyorum. Varsayalım ki A ürününden 1 numaralı dağıtım noktasına 5 adet, 2 numaralı dağıtım noktasına 4 adet ayrıştırılacak olsun. 1 numaralı dağıtım noktasına 5. ürün ayrıştırılınca, 1 numaralı dağıtım noktasına ait pnömatik tahrik elemanının valfi devreden çıkıp, 2 numaralı dağıtım noktasına ait pnömatik tahrik elemanının valfi devreye girmesi gerekmektedir. Böylece arkadan gelen ürünler 2 numaralı dağıtım noktasına aktarılsın. Bu işlemde 1 numaralı dağıtım noktasındaki sensörün ürünü algılayıp bilgisayara sinyal göndermesi ve yazılımın bu bilgiyi alıp işleyerek, 1 numaralı dağıtım noktasındaki valfi devreden çıkarması ve 2 numaralı dağıtım noktasındaki valfi devreye sokması için sinyal göndermesi için gerekli süre maksimum 0.133 saniyedir. Yani, bizim projemiz için gerçek zaman aralığı maksimum 0.133 saniyedir. Windows üzerinde çalışan bir kontrol yazılımının bu mertebelerdeki bir zaman aralığının dışına çıkıp, makinenin 2. numaralı dağıtım noktasına aktarılacak ürünü 1. numaraya göndermesi gibi bir olumsuz durum ortaya çıkabilir mi?
Kaçınılmaz. Belki hemen olmasa bile mutlaka kaçınılmaz.

3- Açıkçası video oynatma, Office dosyası açma nedeniyle yavaşlama örnekleri biraz kafamı karıştırdı. Sonuçta biz bu makinenin başına bir PC yerleştirip sadece bu makinenin otomasyon işi için geliştirdiğimiz yazılımı çalıştıracağız. Yani üzerinde ne Office işlemleri ne video ne de internette sörf yapacağız. 2. maddede verdiğim sistem çalışma mantığına göre biraz daha detaylandırabilir misiniz?

İşlemci yükünü sadece video oynatmak, internette dolaşmak belirlemez. Windows çatısı altında saniyede yüz binlerce işlemler yapılıyor. Bunların büyük bir kısmı donanım kesmeleri, servisler, Hafıza işlemleri, yan birimler vs.

Şöyle ki: Bilgisayarınıza bir USB bellek taksanız bile Windows tüm ilgisini oraya yönlendiriyor. Buna "kesme isteği" deniliyor. Bu durumda sizin programınız başı boş kalıyor gibi bir genelleme yapabiliriz. USB örneği sizin dışarıdan müdahele ile gerçekleştirdiğiniz bir eylem. Ama elinizde olmayan nedenler ile bile bu kesme isteklerinden yüz binlerce kez oluşuyor. Bu yüzden RT değil. Bu mantalite ile asla da olmayacak.
 

Forum istatistikleri

Konular
129,852
Mesajlar
930,756
Kullanıcılar
452,706
Son üye
nurbay aktaş

Yeni konular

Çevrimiçi üyeler

Geri
Üst