Jump to content

Orhan

Forum kullanıcıları
  • İçerik sayısı

    18
  • Katılım

  • Son ziyaret

Orhan kullanıcısının paylaşımları

  1. Orhan

    C alt programı undeclared hatası

    Teşekkür ederim. Komik olan aslında tab karakterinin bu hataya yol açması.Yüksek ihtimalle kodların tokenization sürecinde bug var. Mesela lojik değil (!) de derleme hatasına yol açıyor. Fakat değişkenleri parantez içine alınca sorun halloldu gibi duruyor ama umarım kararsız davranış göstermez. Şurada belirttiğim ve cevap alamadığım sorunda da (ladder ile ilgili) böyle tuhaf bir problem olduğunu düşünüyorum. /* Sorunsuz Çalışan */ if(bit_var_1 == 1) { bit_var_2 = 1; int_var = 123; } /* Yada */ if(bit_var_1 == 1) { (bit_var_2) = 1; (int_var) = 123; } /* Derleme Hatası veren */ if(bit_var_1 == 1) { bit_var_2 = 1; int_var = 123; }
  2. Orhan

    Px sensör ile motor devri problemi

    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.
  3. Orhan

    C alt programı undeclared hatası

    Hem eski projede hem de yeni tamamen test amaçlı sıfırdan oluşturduğum projede aynı hatayı alıyorum. Hem offline hem de PLC'ye yüklemeye çalışırken hata veriyor. Zaten sorun compile time hatası. Derleme yapılmadığı için PLC'ye yüklenmiyor. Hata aldığım program ektedir. GMTSuite versiyonu 0.9.8.6 Çalıştırdığınız kodu ekler misiniz. undeclared_hatasi.rar
  4. Orhan

    C alt programı undeclared hatası

    Amacım olan kod bu değil. bu sadece bir test. siz isterseniz şunu da kullanabilirsiniz: if(bit_var_1 == 1) { bit_var_2 = 1; int_var = 123; } /* ladder.c:1525: error: `bit_var_2' undeclared (first use in this function) */ /* ladder.c:1525: error: (Each undeclared identifier is reported only once */ /* ladder.c:1525: error: for each function it appears in.) */ /* ladder.c:1526: error: `int_var' undeclared (first use in this function) */ mesele blok içindeki değişkenlerin undeclared hatası vermesi. sanki bir scope problemi var.
  5. Operandlar bölümünde bir değişken tanımladığımızda bunu c alt programında bir if bloğu içinde kullanamamamız bir bug mı? şu konudaki mesele olabilir diye yeni bir proje oluşturdum. Operandlar bölümünde sadece bit türünde if_param ve if_ici ve int türünde ornek_int değişkenleri oluşturdum. if_ici ve ornek_int değişkenlerini blok dışında kullandığımda sorun yok. ancak if(if_param) { ornek_int; if_ici; } gibi bir kullanımda hatası alıyorum. extern tanımı da işe yaramıyor. burada başka bir ayar, bildirim vs. mi yapılması gerekiyor?
  6. Orhan

    Açılış değeri

    Peki önceden kalıcı hafızada olmayan ama açılış değeri verilmiş bir operandı kalıcı hale getirdikten sonra açılış değerini nasıl silebiliriz? içindeki değeri doğrudan sildiğimizde girilen değer nümerik değil diye uyarı veriyor.
  7. Orhan

    Açılış değeri

    GMT Suite içinde baştan kalıcı olmayan ve açılış değeri verilmiş bir operand'ı kalıcı hale getirdiğimizde her açılışta daha önce girilen açılış değeri ile mi başlıyor?
  8. Orhan

    2 adet PLC ve 1 HMI haberleşme

    Teşekkür ederim. O zaten belli. Bu yüzden sormadım. Bahsettiğim senaryoyu da hallettim gibi ama henüz denemedim. Önce Master PLC içinde Slave taglar oluşturuluyor. HMI'ın LB ve LW adresleri kullanılarak HMI için, Slave PLC de zaten Modbus adresleri daha kolay. Tek merak ettiğim GOP programında HMI'ın NetID'sinin nasıl ayarlanacağı. Com0 settings'de Broadcast'den mi yapılıyor?
  9. 1 HMI üzerinden iki plc kontrol edilebilir mi? PLC'lerden biri master olacak. diğer plc ve HMI slave olacak şekilde ayarlayabilir miyiz? GOP HMI programında master/slave gibi bir seçenek bulamadım.
  10. Orhan

    Px sensör ile motor devri problemi

    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
  11. Ü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?
  12. Orhan

    Help Menüsü Güncelleme

    Yardım menüsünde ve örnek uygulama dosyalarında bir hata var sanki. Resimdeki örnekte Puls Çıkışı komutunun Puls Adedi bölümüne 50000 yazılmış, Frekans (Hz) bölümüne de 20000 yazılmış. Aşağıdaki açıklamada ise Puls çıkışına yazılan 50000'in frekans, 20000'in ise puls adedi olduğu yazıyor. Burada bir hata mı var?
  13. Orhan

    Window değişikliğinde bit state setting

    Teşekkür ederim
  14. Bir window/sayfadaki bir function key'e tıkladığımızda hem sayfayı değiştirip hem de plc içindeki bir bitin değerini değiştirebileceğimiz bir yöntem var mı?
  15. Orhan

    GLC 296T Vs GLC 296R

    Transistör çıkışlı serilerde transistörden alınabilecek sürekli akım kaç mA?
  16. Orhan

    HMI ile PLC'den enkoder değerini okuma hk.

    Sorunu önce AdressTag videosunda anlatılan yöntemle çözdüm. Aynı zamanda GMTCNT PLC MODBUS ADRES HARİTASI pdf dökümanındaki yöntemle de yapılabilir sanırım. Ancak henüz denemedim. Teşekkürler yine de.
  17. Merhaba; Örnek olarak bir uygulama yapmaya çalışıyorum. Sistemimde 1 adet GLC-196R 1 adet GOP43-043ATE ve bir Metronix encoder var. GMTSuite programında Konfigürasyon sekmesinden HSC Group 2 kısmından encoderi ayarladım. Aynı zamanda teknik dökümanlarınızda anlatıldığı şekilde her iki cihaz için de RS485-2 ayarlarını yaptım. Operandlar sekmesinden de Giriş sayaç, Sayma yönü ve Sayma frekansı operandlarının modbuslarını aktif ettim. 42025, 42027 ve 42029 adreslerini aldılar. HMI programında ise PLC'den Giriş sayac, Sayma yönü ve Sayma frekansı alanlarını okuyarak ekranda görüntülemek istiyorum. Bunun için bir Number Display bileşeni aldım ve asıl sorunum burada PLC'nin hangi bellek alanını nasıl göstereceğim? Bu bölümde LW, RW, FRW, ELW, HR ( MW ), IR alanları var. GMTSuite ile ayarladığım 42025, 42027 ve 42029 adreslerini nasıl okuyabilirim?
×
×
  • Yeni Oluştur...