seri haberleşme sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

seri haberleşme sorunu

Mesaj gönderen cfyasar »

apro bileşeni kullanarak bir seri port haberleşme rutini yazdım. 10-15 bayt arası bir komut gönderip porta bağlı plc den bilgi alıyorum. ben komutu gönderdikten sonra 3 milisaniye içinde cevap gelmesi lazım. yoksa timeout hatası ile komutu tekrar yolluyorum. sanırım windows port u kontrol için haberleşmenin arasına giriyor ve orda herşey bitiyor. portun kontrolünü windows tan alma olanağım var mı veya portu kontrol zamanını değiştirebilirmiyim. veya windows portu kontrol edeceği zaman bir mesaj gönderiyor mu?
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

sorunu tam olarak anlayamadım... ama işletim sisteminin senin uygulamanı rahatsız ettiğini düşünmüyorum. Çünkü işletim sistemi com port ile hiç bir zaman 3ms zaman harcamaz. Hiçmi erişim olmuyor ?
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

erişim oluyor ama windows porta gönderdiğim bilgileri hemen yazmıyor. gecikme oluyor. mesela bir döngüyle 10 milisaniye arayla 10 tane led yakmaya çalışıyom. senkronik olarak tık, tık ,tık yanması gerekirken. windows onu tık, tık, tık, boşluk tık, tık, tık diye yakıyor. her zaman arada bir boşluk oluyor. bu boşluk hep aynı değil yani 5 led yakıp boşluk 5 led değil, bazen 3, bazen 7 o windows a kalmış.
apro ile port okurkende port a hiçbirzaman tek bayt bilgi gelmiyor.port a yazıp cevap beklemeye başladığım andan itibaren gelen buffer boyunu kontrol ediyom. 0 ,0 ,0 ,0 ondan sonra birden 8 bayt gelmiş oluyor.
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Merhaba...

- Tam olarak emin değilim ama istersen eriştiğin COM portun FIFO ara belleklemesini -hani 16550 UART- devre dışı bırakıp deneyebilirsin... :idea:

- Delphi-Windows cephesi değil de bu sorunsalın kaynağı arabellek olayında olabilir diye aklıma geldi. Sistem Aygıt Ayarları kısmındaki COM portların özelliklerindeki Gelişmiş butonuna bastığında çıkan sayfa... :?:
Resim
Resim ....Resim
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

mahsuru yoksa kullandığın PLC nin ve senin gönderdiğin veri paketinden biraz bahsedermisin. Birde senkron mu yoksa asenkronmu haberleşiyorsum... Bence gönderdiğin bilgi karşı tarafta tam olarak yorumlanamıyor veya bişekilde deforme oluyor bende apro kullanıyorum
seri port hızını yükselt(Mesala 56000 baund) olayı tekrar dene veri paketinin çok büyük ise 10ms zaman dilimine sığmıyor olabilir.
bu 10 ms süresinide biraz uzat belkide karşıdaki cihazın belirtilen işlemi gerçekleştirmesi daha uzun zaman alıyordur. buffera takip ederkende 0, 0, 0, 8 görmen çok normal çünkü byte lar arası geçen süre mikro saniyelerdedir bu yakalaman çok zor. ancak karşı cihaz bilgiyi mesala sana 10ms aralıklarla gönderirse kolaylıkla yakalarsın...
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

aslında benim de baytları mikrosaniyeyle ölçüp almam gerekiyor. modbus protokolünü yazdım. ama bu zamanları ölçüp çalışabliecek bir bileşen bulamadığım için protokolu çalıştıramıyorum. plc yi de kendimiz üretiyoruz. daha piyasaya çıkmadı.
öğrenmek, zorlukları yenmektir.
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

mikrosaniyelik bir timer buldum....
hemde mikrosaniyelik sleep yapabiliyor
çözünürük 1us Win98 de XP de sorunsuz test ettim.
Her PC için kendisini kalibre edebiliyor.
Yalnız işlemci hızı 1000MHz nin altında olan PC lerde tam olarak tutturamıyor.Yapımcısı 450MHz ile çalışıyor diyor ama ben 800 MHz de denedim olmadı zaman çok sapıttı.
İlgilenenler ve ihtiyaç duyanlara yüksek çözünürlüklü timer

http://www.torry.net/quicksearchd.php?S ... &Title=Yes
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

durumda bir hata olabilir :? şöyle düşünelim, labaratuar ortamında 192800bps a çıksanız bile,sahada 56000 bauda çıkamazsınız, özellikle hat uzunsa buradaki parazitlerden dolayı elinize bir tane bile sağlam paket ulaşamayabilir, 9600 baud kullanmanız kesintisiz bir iletişim için daha gerçekçi olur(tabi arada optik bir hat kullanmıyorsanız :D )

9600 bps kullandınız diyelim, toplam paketiniz checksum falan filan herşeyiyle 30 byte olsun(ki bu küçük bir paket :? ) (30*8 )*1000/9600 = 25 msn ye yapar, ki buna fiziksel katmanda parity hatasından dolayı hiç paketin ezilmediğini varsayılırsa.

mikrosaniyelik timera gelince, programı buna endekslemek yanlış olur, antivirüs programları, sahadaki pclerin yavaş olması vb.. durmlarda programınız istediğiniz hızlarda çalışamayabilir. real time olmayan bir işletim sistemi üzerinden real time iletişim yapamazsınız.
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

sevgili mege;
timerı real time olarakta kurabiliyorsun....
seçeneklerinde mevcut...
ayrıca timerı seri portta değil paralel portta labaratuvar ortamında test ettim paralelel porttan 500KHz ye varan pulse basabiliyorum....
osilaskop vasıtasıyla sinyalleri inceliyorum mükemmel sayılabilir. Bir adet Servo motoruda 4500 dev/dk ya puls basarak ulaştırdım...
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

zaten labaratuarda yaparsınız demiştim yanlış anlaşılmışım sanırım :)
30 metre seri kablo hazırlayın, 4kw lık bir motor ve sürücüsünün etrafından dolaştırıp pc ye takın ve motoru çalışıtırrıp deneyin bakalım sonuçlar nasıl oluyor merak ettim :) yok düzgünse bunu 3 veya 4 motora çıkartıp toprak hattınızı söküp tekrar deneyin.
.-.-.-.-.-.-.-. ^_^
stnonstop
Üye
Mesajlar: 149
Kayıt: 22 Haz 2005 04:34

Mesaj gönderen stnonstop »

Ya merak ettim 4kW lık bir elektrik motorunun yaydığı Elektro Manyetik Dalgalar Sinyalleri bozmaz mı ??? (sinyalleri bırakın sizi dahi bozabilir) Elektrikten anlamam o kadar ama...
St. NonStop
Aziz DURMAZ
Elektronik ve Haberleşme Mühendisi
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

Arkadaşlar tasarlanan sistemin kabloları (RS-232 ve paralel port) 50.000 rpm (dakikada 50.000 devir) ve çok yüksek frekansta çalışan bir motorun güç kablosu, 0,75Kw 100Hz çalışan Asenkron motorun güç kablosu, 3 adet Servo Motor 400W lık güç ve sinyal kabloları aynı hat üzerinde çalışıyor. Burada kablo kalitesi çok önem taşıyor. Burada servo motor diye bahsi geçen motorlar step motorlar gibi (Adım adım yürüyen ) çalışan asenkron motorlar bilginiz olsun "BELDEN" kablo standartlarını bi inceleyin... kablo ipek muadilli metre fiyatı 10€ motorun etrafına 10 tur değil 1000 turda sarsan sorun çıkarmayacak cisten,zırhlı ... 8) toprak konusuna gelince hangi endüstriyel cihaz topraksız sıhhatli çalışıyor...?

Konu çok dağıldı.... yerde burası değil.... sohbette devam edersek daha iyi olur...
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

önemli olan motorun çalışma frekansı değil, sürücünün ve motorun yaydıkları emg lerin büyüklüğü, 400w çok düşük bir güç bir problem çıkartmayabilir özellikle düzgün bir kablo ve toprak ile kullanılırsa, :) tabi düzgün toprakı bulma ihtimaliniz mutlak sıcaklıkta deney yapmak gibi birşey :) bulunması biraz zor.
dediğiniz gibi konu fazla uzadı :) ben susuyorum :twisted: deneyin görün :)

not :
Ya merak ettim 4kW lık bir elektrik motorunun yaydığı Elektro Manyetik Dalgalar Sinyalleri bozmaz mı ??? (sinyalleri bırakın sizi dahi bozabilir) Elektrikten anlamam o kadar ama...
4 kw fazla birşey değil :) üzerine oturup iç rahatlığıyla çayınızı içebilirsiniz, üzerine dökmemek kaydıya :D
.-.-.-.-.-.-.-. ^_^
Cevapla