Jump to content

tbowling

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

    70
  • Katılım

  • Son ziyaret

İletiler bölümüne tbowling kullanıcısının eklediği dosyalar

  1. arkadaşlar sensör tetiklendiğinde timer saymaya başlıyor timer sayarken sensör tekrar tetiklenirse timer tekrar sıfırdan başlıyor ben bunu istemiyorum sensör tetiklenince 

    ben timer bitene kadarsensör  tetiklensede devreye girmesin istiyorum bunu nasıl yapabiliriz 

    aklıma bir çözüm gelmedi teşekkürler

    GMTSuite ver 0.9.8.8.jpg

  2. ellerinize sağlık güzel bir örnek olmuş c# ile uygulama geliştirenler bu örneği istedikleri gibi kendilerine uyarlayabilirler.

    fakat pascal-tabanlı delphi veya lazarus tarzı program kullananlar içinde benzer bir örnek çok iyi olurdu. en azından benim gibi amatör uğraşanlar zorluk çekmezdi.

    daha önce uzun süre tırmalayarak soft programı ile tcp haberleşme yapma olayını çözmüştüm.

    yavaş yavaş suite programına geçmeye çalışıyorum soft programıyla çalışan program suite ile yazdığım kodda karşılık bulmuyor. 

    zaten 1 plc var ayar olarak sadece iletişime açıyoruz onuda yaptım c# örneği çalışıyor ama internetden indirdiğim bir çok örnek ve eski uygulamalarımla 

    iletişim kuramadım. ben tırmalamaya devam edeyim inşallah çözeriz. 5 yıl öncede aynı ricada bulunmuştum inşallah c#-java cılar için yaptığınız kolaylığı amatör pascalcılar içinde yaparsınız saygılarımla

    11.jpg

    22.jpg

  3. arkadaşlar plc ile sensör bilğisini  send ASCII ile 59-60-61-62-63-64-65  80-81-82-83-84-85-86

    gibi byte değerleri bilgisayara  gönderiyorum delphi ile gelen rakamlara göre işlemler yapıyorum.

    sorunum şu modbus rtu kullandığım için wm0 registerine bir değer yazdığım zaman crc degerleri seri portdan geri geliyor. 

    çok nadirde olsa crc degeri bazen 62 olarak geliyor  (öyle tahmin ediyorum) crc kodları arasında 62 olunca program sensörden 

    bilği gelmiş gibi anılıyor ve hataya neden oluyor.  bu sorunu nasıl çözebilirim.

     

    sensör tetiklendiği zaman hızlı bir biçimde bilğisayarın haberi olması lazım bende send ascii ile bu işlemi yapıyorum 

    ama bilğisayardan başka wm registerleri kontrol etmek istediğimde seri portdan geri dönen crc değerleri benim sistemimi bozuyor.

     

    sensör bilğilerini A61-A62...  B80-B81...  şeklinde gönderip pc tarafında gelen degerleri diziye atıp analiz ederek çözebilirmiyim

    bilmiyorum 

    görüş ve önerilerinizi bekliyorum saygılarımla

     

     

     

  4. Arkadaslar bir spor komplexinde 18 plc 36 motordan olusan bir sistem var. 8 plc gmt marka  normal zamanlarda herhangi bir problem olmaz iken cuma ve cumartesi aksamlari sistem ful yogun calistigi zamanlarda plc lerde arada  bir olacak sekilde hatalar oluyor surekli hata yapmadigi icin problemin kaynagini bulamiyoruz. Tek tespitimiz sistemin yogun calistigi saatlerde hatalar olmasi.   Plc yi omron 2.5 amper ray tipi power besliyor sadece 1 plc 1 modul ve 2 adet sensor besleniyor. Bu sorun nasil cozulur ne yapmak lazim bir oneriniz var mi acaba. Saygilarim

  5. her zaman kullandığım program ve herzaman kullandığım plc kodu çalışmıyor sorunu çözemedim.

    bilğisayardan modbus rtu ile rs485 iletişimle ile WM0 reğişterine değer gönderiyordum sürekli yaptığım iş bu sabah ne yaptıysam sistem çalışmadı usb485 dönüştürücüyü değiştirdim olmadı

    plc programını yeniden yükledim olmadı kabloyu değiştirdim olmadı sorun ne olabilir acaba rs485 girişinin bozulması gibi bir durum olabilirmi sorunu çözmek için beni yönlendiriseniz sevinirim saygılarımla

  6. ilğilendiğiniz için teşekkürler. 

    c# örneğini programa uygulamaya çalıştığımda bir sorunla karşılaştım MB1-MB3-MB5-MB7  diye bit registerler atadım ve modbas adreslerini 

    elimle 1-3 -5-7  diye değiştirdim. programda değişti görükse bile ilk oluşturma sırasında ne adres verdiyse onu kabul ediyor sonradan verdiğim modbus adresini kabul etmiyor. 

    aşagıdaki örnekde çalışmıyor ama adresi  0 yaptığımda çalışıyor bu konuda bir öneriniz var mı yoksa program ne adres verirse onu kullanmak zorundamıyız 

     

    saygılarımla

     

     

    private void button7_Click_1(object sender, EventArgs e)
            {
                //mb yazma butonu
                ModbusClient tcpclient = new ModbusClient(Convert.ToString("169.254.241.153"), 502);
                tcpclient.Connect();
                tcpclient.WriteSingleCoil(1, true);
            }
    
            private void button8_Click(object sender, EventArgs e)
            {
                //mb yazma butonu
                ModbusClient tcpclient = new ModbusClient(Convert.ToString("169.254.241.153"), 502);
                tcpclient.Connect();
                tcpclient.WriteSingleCoil(1, false);
            }

     

    GMTSuite ver 0.9.8.1.2.jpg

  7. okuma ve yazma örnekleri çalıştı her şey gayet güzel ve süper kolaymış aslında kurcaladıkça daha iyi anlıyor insan .... fakat benim bir türlü çözemediğim bir sorunum 

    merakım var 

    plc den tek taraflı haberleşme hakkında;

    örnek olarak anlatmak gerekirse... :  bir sıcaklık sensörünü plc ye bağladık sürekli sıcaklık değerini okuyacak ve başka bir cihaza gönderecek

    plc ile kimse iletişim kurmayacak o sadece okuyup gönderecek bu işlemin bir yöntemi var mı tcp haberleşmede 

    başka bir cihazın veya sistemin plc ye bağlanıp değer okumasını istemiyorum isteğim plc diğer cihazlara data göndersin..

    saygılarımla

  8. iyi çalışmalar dediğiniz gibi MW0 registerini word yaptım pc den 18 gönderdiğimde role  çalıştı 

    artık  registere pc den data göndererek  istediğim değeri yazabileceğim   şimdi MW1 registerine 289 değerini kaydedip 

    pc den bu değeri almaya çalışacağım inşallah sorun yaşamam 

     

    çok teşekkürler saygılar

     

                //mw yazma butonu
                ModbusClient tcpclient = new ModbusClient(Convert.ToString(textBox1.Text), 502);
                tcpclient.Connect(); 
                //int bb = Convert.ToInt32(textBox11.Text);
                int bb = Convert.ToInt32("0"); //mw0 registeri
    
                tcpclient.WriteSingleRegister(0 + bb, Convert.ToInt32(textBox7.Text));
                //tcpclient.WriteSingleRegister(0 + bb, Convert.ToInt32("18"));

     

    word.jpg

    mw18.jpg

  9. HATAYA nedn olan satırları iptal edip programı çalıştırdım resimlere göre mb0-mb1 ve mb2 ye kumanda edebildim . fakat deneme amaçlı mw0 registerini eklediğimde

    kontrol yapamadım.

    sanırım mw0 modbus adresi 4 olarak oluştu programa bu 4 ü bir şekilde göstermek gerekmiyor mu

     

    saygılarımla

    1_2.jpg

    2.jpg

    3.jpg

    4.jpg

  10. iyi çalışmalar gmt yi delphi ve c# arayüz programlarımla kullanıyorum mevcut durumda delphi7 ile rs485 modbus ile haberleşiyorum bir taraftanda yeni suit programına 

    alışmaya çalışıyorum . sitenizde verdiğiniz örneği denemek istediğimde resimdeki hatayı alıyorum sorun ne olabilir acaba.

    birde benzer şekilde c# ile rs485 modbus için örnek yapabilirmisiniz.  saygılarımla

    PrtScr capture.jpg

  11. örnek için teşekkür ederim plc ile haberleşen 3 parti programım var fakat tam olarak kendimi ifade edemedim 

    iletişimin sadece plc den pc ye doğru olduğunu düşünün 

    plc --> pc ye data gönderecek başka iletişim metodu olmadığını düşünün 

    eski soft editöründe send ascii ile bu işi yapıyorduk yeni editörde henüz konulmamış inşallah en kısa sürede eklerler

     

    saygılarımla

×
×
  • Yeni Oluştur...