Px sensör ile motor devri problemi - GMTSuite - GMT Forum
By Orhan, May 21 in GMTSuite
Üzerinde çalıştığım projede 1 adet 196T ve 11 adet genişleme modülü kullandım. Makinanın 25 adet bölümünden 2'şer adet sensör bilgisi, bir buton girişi, kontaktör açıp kapama ve indikatör gibi çıkışlar bulunmakta. 25 adet Px sensör motor devrini okuyor. Turda 1 pulse olacak şekilde mekanik ayarlandı. Diğer sensörler 3-5 dakikada bir sinyal veriyor. Ladder uzunluğu yaklaşık 700 satır. Px pulseları yükselen kontakta ilgili sayacı 1 artırıyor ve hesap periyoduyla birlikte gereken katsayı ile çarpılarak rpm bulunuyor.
Sorunum şu; Px'den gelen devir sinyallerini önce 1sn'de hesapladım. 800d/dk üzerinde devir sıfırlanıyordu. Süreyi 2 saniyeye çıkardım. 1000 devirden sonra düşmeye başladı. Denemeler neticesinde 6 saniyeye kadar çıkarmama rağmen 1250 devir üzerini bir türlü hesaplayamıyorum. Px sensör girişleri filtreleri 0 olarak ayarlı.
Bu sorunun sebebi ne olabilir? Girişlerin fazla olmasının ve kod uzunluğunun etkisi var mıdır? Hatırladığım kadarıyla tarama frekansı 0.1 ms gibiydi. Bunun maksimum bir değeri var mıdır?
PLC ye bağlandığınızda Tarama frekansı GMTSuite yazılımında sağ alt köşede belirtilmektedir. Program yoğunluğuna göre değişmekle beraber bu değer 10-15 kHz mertebelerindedir.
Devir hesaplama yönteminizi paylaşırsanız inceleriz. Sizin sensörünüzden gelecek sinyalinizin max. da hızı nedir?
Hesap yöntemi ekteki dosyadaki gibidir.
Temsili olarak 2 tane bölüm için ve sadece px sinyal kısmı için koydum
V2-1 icin hesapyontemi - foruma.rar
Algoritmayı defalarca yeniledik. Son olarak geldiğimiz ve gözlemlediğimiz nokta şu: PLC enerjili durumdayken program yüklediğimizde günlerce durmadan sorunsuz çalışıyor. Ancak makinanın enerjisi kesildiğinde (makinanın tamamen kapatılması ya da elektrik kesintisi) ve tekrar enerjilendiğinde Px sinyallerinin işlenmesinde problemler oluşuyor.
Motor devri en fazla 2000rpm. Turda 1 pulse yaklaşık 33Hz yapıyor. Bu girişlerin 1kHz okuyabildiği göz önüne alındığında oldukça uygun bir frekans. Diğer taraftan PLC çalışır durumdayken bilgisayar bağlantısı kurduğumuzda tarama frekansı yaklaşık 0.1ms olarak görünüyor. Bir pulse ise en kısa 30ms sürüyor. bu da oldukça uygun görünüyor. Yani bir yükselen kenar gelene kadar 300 defa tarama yapmış olması gerekiyor.
Zaten PLC enerjiliyken program yüklendiğinde elektrik kesilene kadar sorunsuz çalışması ama elektrik kesintisinden sonra çalışmaya başladığında sorun çıkması işin açıkçası bana giriş filtre değerlerinin enerjilenme sırasında konfigürasyonda belirttiğimiz değerde (sıfır) initialize edilmediği, default değerde ayarlandığı izlenimi veriyor. Tabi bu söylediklerim genişleme modülleri için olduğunu özellikle belirtmek istiyorum.