Gray Kodunu Desimale çeviren S7 300-400 PLC kodu

elektronikmuh

Yönetici
Yönetici
Yönetici
Katılım
13 Ocak 2007
Mesajlar
2,296
Puanları
1,866
Yaş
47
Belki lazım olur diye veriyorum...("gray_in" input olarak , "dec_out" out olarak fonksiyonda tanımlıyoruz)
Not: Kod alıntıdır denemedim.

Kod:
L #gray_in
 PUSH
 SRW 8
 XOW
 PUSH
 SRW 4
 XOW
 PUSH
 SRW 2
 XOW
 PUSH
 SRW 1
 XOW
 T #dec_out
 
gray kodu bildiğim kadarı ile yüksek çözünürlüklü ve hızlı tur döndürülen Absolute(Mutlak) encoderların kullandığı kod olarak bilinir.....
 
İlginç bir konu. Biraz daha açarmısınız nasıl kullanılır.
 
analog/sürekli bir verinin kullanılacağı ortamlarda faydalı olan bir ikili kodlama tekniği. bu kodun özelliği ardışık bir artımda verinin sadece 1 bitinin değişmesi ve geri kalan diğer bitlerinin sabit kalması. böylece olası bir hatayı tesbit etmek son derece kolaylaşıyor.

bu kodun üretilmesi için teknik şu. en sol sütuna 0 1 1 0 ı tekrar tekrar yazın, soldan ikinci sütuna 0 0 1 1 1 1 0 0 şeklinde, bir soldakine 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 şeklinde, bir soldakine de aynısını, aynısını... sonuçta kaç basamaklı olursa olsun istediğiniz gray kodunu elde edersiniz.

bir başka teknik de şudur. gray kodu, en soldaki biti silindiğinde ortadan dikey yönde simetri gösterir. bunu tersten düşündüğünüzde gray kodunu bu simetri ile yaratıp en soldaki haneyi, yukarı yarıyı 0 aşağı yarıyı 1 ile doldurarak elde edebilirsiniz.

misal;

0
1

bu elimizdeki en temel gray kodu , 2 haneli gray kodunu elde etmek gerekirse bir çizgi çeker simetriğini alırsak;

0
1
--
1
0

ve bahis ettiğim gibi üst yarıya 0 alt yarıya 1 eklersek elde etmiş oluruz;

0 0
0 1
---
1 1
1 0

artık çizgimizi kaldırabilir ve 2 haneli gray kodunu elde edebiliriz.

00
01
11
10

görüldüğü gibi her hanede sadece 1 bit değişmektedir dolayısıyla süper bir olaydır gray kodu.

ileride sınavlara yardımcı olsun diye 4 haneli gray kodunu türeterek elde edelim;

elimizde 2 haneli gray kodu var, bunu yazıp aynı simetri taktiği ile 3 haneliyi ve ardından 4 haneliyi elde ediyoruz...

00
01
11
10
---
10
11
01
00

önceden yaptığımız gibi üst yarıya 0 alt yarıya 1 ekliyoruz;

0 00
0 01
0 11
0 10
-----
1 10
1 11
1 01
1 00

ve ortadaki simetri çizgisini kaldırıp 3 haneliyi elde edip bir kız elde etmiş gibi mutlu oluyoruz...

000
001
011
010
110
111
101
100

şimdi aynısını 4 haneli için açıklama yapmadan yapalım;


0 000
0 001
0 011
0 010
0 110
0 111
0 101
0 100
------
1 100
1 101
1 111
1 110
1 010
1 011
1 001
1 000

ve son rötuşları yapıp 4 haneli gray kodunu elde ediyoruz;





0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000

bu gördüğünüz 4 haneli gray kodudur, ödevlerinizde kaynak belirtmeden güle oynaya kullanabilirsiniz...


Alıntıdır.......
 
bana nedense step motorlarda kullanılan adımları anımsattı...
 

Forum istatistikleri

Konular
130,111
Mesajlar
933,230
Kullanıcılar
453,175
Son üye
dogukankaragoz
Geri
Üst