Sorularınız için forum sayfası !(Türkiye)
-
Türkiyeden kullanıcıların soru ve önerileri için kullanabileceği forum sayfasıdır. Paylaşımlar sadece türkçe olmaktadır.
-
Grubu görünce heyecanlandım :)
En azından selamımı vermiş olayım. -
a.s , paylaşımlarımızla birbirimize destek olma ümidiyle, hoşgeldiniz.
-
Merhaba Arkadaşlar;
Qt ile simens PLC ler ile scada sistemi yapabilirmiyiz, Bununla ilgili bir örnek çalışma varmı?
Scada yapabilmem için aşağıdaki programlardan hangisini kurmam gerekiyor.Qt 4.8.4 for Windows (Src and VS2008 32bit Binary)
Qt Visual Studio Addin 1.1.11 for Qt4 (Binary)
Qt Visual Studio Addin 1.1.11 for Qt4 (Binary)
Qt 4.8.4 for Windows (Src and MinGW 32bit Binary)
Qt Creator 2.6.1 for Windows (32bit Binary)
Qt 4.8.4 for Windows (Src and VS2010 64bit Binary)
Qt Commercial Charts 1.1.0
Qt 4.8 SDK for Windows
Qt 5.0.0 Sources
Qt 5.0.0 Offline SDK for Windows (32-bit Binary)
Qt Visual Studio Addin 1.2.0 for Qt5 (Binary) -
Elbette Qt kullanarak geliştirme yapabilirsiniz, nitekim Qt c++ kullanılarak hazırlanmış bir kütüphanedir ve genellikle arayüz(GUI) hazırlamak için kullanılır.
Bununla ilgili bir örnek çalışma ise : "Burada İlgili Proje Sayfası":http://www.enscada.com/a7khg9/IndigoSCADA.html
"Burada ise İndirme Linki":http://sourceforge.net/projects/indigoscada/ bulunmaktadır.
Proje c / c++ dili ve Qt kütüphanesi kullanılarak geliştirilmiştir. Bu arada incemek için bir kod arama motoru kullanmanı tavsiye ederim, çünkü şuan itibariyle toplam kod satırı 532.219 satır. Arama motoru önerim ise "Buradan kaynak kodu incele ve arama yap":http://code.ohloh.net/project?pid=2mAvkVKAshY&prevcid=1&browser=Default&did=src&cid=C3lOoecw2pI , sınıf olarak, fonksiyon olarak vs. arama yapabilirsiniz. :))
Kurman gereken paket noktasında ise kullandığın sisteme ve derleyiciye göre değişmektedir. Bununla ilgili olarak yazdığım wiki sayfasının adresine "Buradan ulaşabilirsin":http://qt-project.org/wiki/Qt-Calisma-Ortamini-Hazirlama
Aynı zamanda Türkiye grubumuza üye olarak yeni güncellemelerden haberdar olabilirsin.
Not: Bu tarz sorularınız için lütfen forum içinde yeni bir konu oluşturunuz.
-
Merhabalar,
Kaç gündür sebebini bulamadığım bir sorun hakkında soru soracağım.Ben Qt4.8.3 ile com portdan veri okuyorum (winapi kullanarak) ve bunu QGraphicsScene içinde grafik çizmek için kullanıyorum. Bu işi bir döngü içinde yapıyorum, yani;
@
int a = 5;
int Byte;HANDLE hPort = openComm(L"COM4", 64, 64);
while(a--)
{
if (hPort != INVALID_HANDLE_VALUE)
{
Byte = readComm(hPort);
updateScene(Byte);
}
}
closeComm(hPort);@Sorum şu:
Her saniye veri okuyorum ve scene içindeki grafiğin her saniye sonunda değiştiğini görmek istiyorum. Ancak 5 saniye sonra döngü bitince scene bir anda güncelleniyor. Bunu nasıl düzeltebilirim? Ya da bu ne ile alakalı; nelere bakmam lazım yardımcı olabilir misiniz?
Benzer durumu şu kodda da yaşıyorum.
@
QObject::connect(ui.startButton, SIGNAL(clicked()), this, SLOT(startCom()));void linedeneme::startCom()
{
ui.portCombo->setDisabled(true);
while(1);
}
@
Yukarıdaki kodda deneme maksatlı while(1); satırını ekledim. startButton'a tıklayınca basılı kalıyor ve portCombo'nun disable edildiğini göremiyorum ve sonunda pencereyi kapatıyorum. -
Merhaba,
Kodun satır satır işlediğinden şüphe etmeye başladım dediğinizi duyar gibiyim :)
Şu koda bi göz atın:@
QObject::connect(ui.startButton, SIGNAL(clicked()), this, SLOT(startCom()));void linedeneme::startCom()
{
ui.portCombo->setDisabled(true);
while(1) break;
}
@gördüğünüz gibi satır satır işledi, bu şüpheyi kafanızdan uçurduk.
Sorun şuki bu kod (ui.portCombo->setDisabled(true);) satırı işleme alındığında arkaplanda işlenmek üzere kuyruğa alınıyor hemen sonrasında sonsuz döngü devreye girerek program kilitleniyor ve kuyruktaki işleminiz engelleniyor. Bunu kafanızda bu şekilde canlandırabilirsiniz normalde anlamak için çok daha fazla teknik bilgi gereklidir.bu işlemi düzeltmek için kodu şu şekilde değiştir:
@
QObject::connect(ui.startButton, SIGNAL(clicked()), this, SLOT(startCom()));void linedeneme::startCom()
{
ui.portCombo->setDisabled(true);
QApplication::processEvents(); // bundan sonra yoğun iş var öncekileri aman atlama yap diyor
while(1);
}
@Not: Bu tarz sorularınız için lütfen forum içinde yeni bir konu oluşturunuz.
-
Merhaba arkadaşlar