seri haberleşme sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
seri haberleşme sorunu
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.
- uğur alkan
- Üye
- Mesajlar: 227
- Kayıt: 29 Ağu 2004 04:49
- Konum: Istanbul
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.
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.
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...
- 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...
- Tam olarak emin değilim ama istersen eriştiğin COM portun FIFO ara belleklemesini -hani 16550 UART- devre dışı bırakıp deneyebilirsin...

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

- uğur alkan
- Üye
- Mesajlar: 227
- Kayıt: 29 Ağu 2004 04:49
- Konum: Istanbul
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...
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
- uğur alkan
- Üye
- Mesajlar: 227
- Kayıt: 29 Ağu 2004 04:49
- Konum: Istanbul
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
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
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
)
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.


9600 bps kullandınız diyelim, toplam paketiniz checksum falan filan herşeyiyle 30 byte olsun(ki bu küçük bir paket

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.
.-.-.-.-.-.-.-. ^_^
- uğur alkan
- Üye
- Mesajlar: 227
- Kayıt: 29 Ağu 2004 04:49
- Konum: Istanbul
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...
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
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.

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

.-.-.-.-.-.-.-. ^_^
- uğur alkan
- Üye
- Mesajlar: 227
- Kayıt: 29 Ağu 2004 04:49
- Konum: Istanbul
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ı ...
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...

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
ö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
deneyin görün 
not :
üzerine oturup iç rahatlığıyla çayınızı içebilirsiniz, üzerine dökmemek kaydıya 


dediğiniz gibi konu fazla uzadı



not :
4 kw fazla birşey değilYa 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...


.-.-.-.-.-.-.-. ^_^