Otomasyon Sektöründe Kullanılması Gereken Algoritmik Yöntemler

Bu makalemizde aşağıda belirttiğimiz adımları örnek ile kod yazım aşaması Siemens Simatic Manager programı kullanılarak tasarlanmıştır. Algoritmik Yöntemler:

  • Ardışıl Mantıksal Devre Tasarım Yöntemi ile Gerçekleme
  • Otomat Yöntemi ile Gerçekleme
  • Petri Yöntemi ile Gerçekleme

herhangi bir sorunuz olursa lütfen info@kirbiyik.co adresine mail atabilirsiniz.

ARDIŞIL MANTIKSAL DEVRE TASARIM YÖNTEMİ İLE GERÇEKLEME

Şekil 1 deki istenilen durumun oluşması için ardışıl lojik tasarıma göre 8 farklı durumu göre tasarım adımı Şekil 2 deki gibi oluşturulmuştur.

Örnek

Şekil 1 Örnek Kodlama Yapılacak Senaryo

ardışıl_tasarım

Şekil 2 Ardışıl Mantıksal Devre Tasarımı

Ardışıl mantıksal devre tasarımı oluşturulduktan sonra tüm durumların gözükebilmesi için ilkel akış çizelgesi Tablo 1 de oluşturulmuştur.

Tablo 1 İlkel Akış Çizelgesi

Durum 00 01 11 10 Z
A A G B 0
B A C B 0
C D C 0
D A D E 0
E F E G 0
F A F H 1
G A G 0
H G H 0

  • Uyumlu Sıraların Belirlenmesi

 Akış çizelgesi incelendiğinde (A,B), (A,G), (A,H), (B,C), (B,G) ve (G,H) sıralarının uyumlu olduğu görülür.

ardışıl_sıra_birleştirme_diyagramı

Şekil 3 Sıra Birleştirme Diyagramı

Sıra birleştirme diyagramı oluşturulduktan sonra anlamlı bütünlük sağlanması için en uyumlu durumlar birbirleri ile birleştirildi. Bu durumda A,G ve H ile B ve C bir durum olarak kabul edildi.

Tablo 2 Durum Sayısı En Aza İngirgenmiş Akış Çizelgesi İlk Durum

Durum 00 01 11 10 Z
A,G,H (1) A G H B 0
B,C (2) A D C B 0
D (3) A D E 0
E (4) F E G 0
F (5) A F H 1

Tablo 3 Durum Sayısı En Aza İngirgenmiş Akış Çizelgesi Son Durum

Durum 00 01 11 10 Z
1 1 1 1 2 0
2 1 3 2 2 0
3 1 3 4 0
4 5 4 1 0
5 1 5 1 1

ardışıl_durum_geçiş_diyagramı

Şekil 4 Durum Geçiş Diyagramı

Durum sayısı indirgendikten sonra durum geçiş diyagramı Şekil 4 teki gibi yeniden oluşturulur. Oluşturulan durum geçiş diyagramına göre Şekil 5 teki gibi durum geçiş diyagramı elde edilir.

ardışıl_durum_geçiş_grafı

Şekil 5 Durum Geçiş Grafı

Yarış koşulunun önlenmesi için en az üç bit uzunluğunda sözcük gerekmektedir. Algoritma üç bit uzunluğunda sözcüklerle tasarlanmış olsaydı tasarımda yarış koşulu engellenemeyecekti. Bu yüzden tasarım için dört bit uzunluğunda sözcük oluşturulmuştur. Bu durumda Şekil 6 daki gibi 10 farklı durum oluşmuştur.

ardışıl_yarış_önleyici_kodlama

Şekil 6 Yarış Önleyici Kodlamaya İlişkin Durum Geçiş Diyagramı

Tablo 4 Ara Durum Geçiş Çizelgesi

Durum 00 01 11 10 Z
1(0000) 1 1 1 2 0
2(0010) 1 3 2 2 0
3(0110) 6 3 7 0
4(1100) 5 4 8 0
5(1000) 1 5 1 1
6(0100) 1 0
7(1110) 4 0
8(1101) 9 0
9(0101) 10 0
10(0001) 1 0

Şekil 6 daki tasarım yapıldıktan sonra Tablo 4 teki gibi ara durum geçiş çizelgesi oluşturulmuştur. Tablo 5 te Durum geçiş çizelgesi oluşturulduktan sonra çıkış durumu olan Z ile Q1, Q2, Q3 ve Q4 durumları da teker teker oluşturulmuştur.

Tablo 5 Durum Geçiş Çizelgesi

q1 q2 q3 q4 00 01 11 10 Z
(1)0000 0000 0000 0000 0010 0
(10)0001 0000 0
0011 0
(2)0010 0000 0110 0010 0010 0
(3)0110 0100 0110 1110 0
0111 0
(9)0101 0001 0
(6)0100 0000 0
(4)1100 1000 1100 1101 0
(8)1101 0101 0
1111 0
(7)1110 1100 0
1010 0
1011 0
1001 0
(5)1000 0000 1000 0000 1

Z=q1 q2’ q3’ q4

Tablo 6 Q1 Durum Geçiş Çizelgesi

q1 q2 q3 q4 00 01 11 10 Z
(1)0000 0 0 0 0 0
(10)0001 0 0
0011 0
(2)0010 0 0 0 0 0
(3)0110 0 0 1 0
0111 0
(9)0101 0 0
(6)0100 0 0
(4)1100 1 1 1 0
(8)1101 0 0
1111 0
(7)1110 1 0
1010 0
1011 0
1001 0
(5)1000 0 1 0 1

Q1 = x.y. q2 + q1 .q2 .q3 ‘ .q4’ + x’.y. q1

 

 Tablo 7 Q2 Durum Geçiş Çizelgesi

q1 q2 q3 q4 00 01 11 10 Z
(1)0000 0 0 0 0 0
(10)0001 0 0
0011 0
(2)0010 0 1 0 0 0
(3)0110 1 1 1 0
0111 0
(9)0101 0 0
(6)0100 0 0
(4)1100 0 1 1 0
(8)1101 1 0
1111 0
(7)1110 1 0
1010 0
1011 0
1001 0
(5)1000 0 0 0 1

Q2 = x’.y. q1 ‘ + q1 ‘.q2 .q3  .q4’ + x. q1 .q2 .q3’ + x.y. q1 .q2

Tablo 8 Q3 Durum Geçiş Çizelgesi

q1 q2 q3 q4 00 01 11 10 Z
(1)0000 0 0 0 1 0
(10)0001 0 0
0011 0
(2)0010 0 1 1 1 0
(3)0110 0 1 1 0
0111 0
(9)0101 0 0
(6)0100 0 0
(4)1100 0 0 0 0
(8)1101 0 0
1111 0
(7)1110 0 0
1010 0
1011 0
1001 0
(5)1000 0 0 0 1

Q3 = x.y’. q2 ‘ + x.y’. q1’. q3 + y. q1 ‘.q3 .q4

 Tablo 9 Q4 Durum Geçiş Çizelgesi

q1 q2 q3 q4 00 01 11 10 Z
(1)0000 0 0 0 0 0
(10)0001 0 0
0011 0
(2)0010 0 0 0 0 0
(3)0110 0 0 0 0
0111 0
(9)0101 1 0
(6)0100 0 0
(4)1100 0 0 1 0
(8)1101 1 0
1111 0
(7)1110 0 0
1010 0
1011 0
1001 0
(5)1000 0 0 0 1

Q4 = x.y’. q2 .q3

Tasarım ve Gerçekleme

Geliştirilen algoritmanın kod geliştirme aşaması simatic manager programı ile gerçeklenmiştir.

ardoşıl_sembol_tablosu

Şekil 7 Ardışıl Tasarım Sembol Tablosu

 

Oluşturulan kod;

ardışıl_prog_network1_2

ardışıl_prog_network3_4

ardışıl_prog_network5_7

ardışıl_prog_network8_9

OTOMAT YÖNTEMİ İLE GERÇEKLEME

Şekil 1 deki istenilen durumun oluşması için otomat yöntemine göre 6 farklı durumu göre tasarım adımı Şekil 8 deki gibi oluşturulmuştur.

otomat_tasarım

Şekil 8 Otomat Tasarım

Otomat tasarımındaki durum ve olaylar şu şekilde ifade edilebilmektedir.

Q1: Başlangıç durumu

Q2: X’in tetiklendikten sonraki durum

Q3: X’in düşen kenarı ile Y’nin tetiklendiği durum

Q4: X’in tetiklendiği ve Y’nin lojik 1 olduğu durum

Q5: Z=1 durumu

Q6: İlk durumda Y’nin tetiklendiği ve Z=1 iken X’in tetiklendiği durum (Olumsuz Durum)

e1: X’in tetiklendiği olay

e2: X’in düşen kenarı ve Y’nin tetiklendiği olay

e3: X’in tetiklendiği ve Y=1 olayı

e4: X’in düşen kenarı ve Y=1 olayı

e5: X’in tetiklendiği olay

e6: Y’nin tetiklendiği olay

eson: Y’nin düşen kenarının bulunduğu olay

Olaylar incelendiğinde program akışının hızlanması için e2=e4 ve e1=e5 şeklinde kabul edilmiş ve program tasarlanmıştır. Program tasarım aşamasında X’in yükselen kenarı Xr, X’in düşen kenarı Xf ve Y’in yükselen kenarı Yr, Y’in düşen kenarı Yf şeklinde oluşturulmuştur. Şekil 8 deki otomat tasarım yöntemine göre algoritma geliştirilmesi durumunun matematiksel ifadesi aşağıda gösterildiği şekilde ifade edilmektedir.

Q1= q2’. q3’ .q4’ .q5’. q6

Q2= e1. q1 + eson’. e2’. q2

Q3= e2. q2 + eson’. e3’. q3

Q4= e3. q3 + eson’. e4’. q4

Q5= e4. q4 + eson’. e1’. q5

Q6= e6. q1 + e1. q5 + eson’.q6

Z = Q5

Xr = X’in yükselen kenarı

Xf= X’in düşen kenarı

Yr = Y’in yükselen kenarı

Yf= Y’in düşen kenarı

e1 = e5 = Xr

e2 = e4 = Xf . Yr

e3 = Xr. Yr

eson = Yf

 

Tasarım ve Gerçekleme

Geliştirilen algoritmanın kod geliştirme aşaması simatic manager programı ile gerçeklenmiştir.

otomat_sembol_tablosu

Şekil 9 Otomat Tasarımı Sembol Tablosu

Oluşturulan kod;

otomat_prog_network1_3

otomat_prog_network4_6

otomat_prog_network7_9

otomat_prog_network10_12

otomat_prog_network13_14

otomat_prog_network15_16

otomat_prog_network17_19

otomat_prog_network20_22

PETRİ YÖNTEMİ İLE GERÇEKLEME

Şekil 1 deki istenilen durumun oluşması için petri yöntemine göre 6 farklı yere (place) göre tasarım adımı Şekil 10 deki gibi oluşturulmuştur.

eos_petri_tasarım

Şekil 10 Petri Tasarım

Petri tasarımındaki yerler ve geçişler şu şekilde ifade edilebilmektedir.

P1: Başlangıç yeri

P2: X’in tetiklendikten sonraki yer

P3: X’in düşen kenarı ile Y’nin tetiklendiği yer

P4: X’in tetiklendiği ve Y’nin lojik 1 olduğu yer

P5: Z=1 in bulunduğu yer

P6: İlk durumda Y’nin tetiklendiği ve Z=1 iken X’in tetiklendiği yer (Olumsuz durumun oluştuğu yer)

t_1: İlk enerjilenmenin ve jetonun ilk bulunduğu geçiş

t1_2: X’in tetiklendiği geçiş

t1_6: Y’nin tetiklendiği geçiş

t2_3: X’in düşen kenarı ve Y’nin tetiklendiği geçiş

t3_4: X’in tetiklendiği ve Y=1 in bulunduğu geçiş

t4_5: X’in düşen kenarı ve Y=1 in bulunduğu geçiş

t_: Y’nin düşen kenarının bulunduğu geçiş (Sonlandırma geçişi)

Yerler ve geçişler incelendiğinde eşdeğer geçişlerin bulunduğu ifadeler aynı geçiş ifadesi şeklinde belirtilmiştir. Bu durumda t2_3 = t4_5 = t2_3 // 4_5 ve t1_2 = t5_6 = t1_2 // 5_6 geçişleri oluşmuştur. Program tasarım aşamasında X’in yükselen kenarı Xr, X’in düşen kenarı Xf ve Y’in yükselen kenarı Yr, Y’in düşen kenarı Yf şeklinde oluşturulmuştur. Şekil 10 deki petri tasarım yöntemine göre algoritma geliştirilmesi durumunun matematiksel ifadesi aşağıda gösterildiği şekilde ifade edilmektedir.

P1 = P2’.P3’.P4’.P5’.P6’

P2 = P1 . t1_2 + P2 . t2_3’ . t_’

P3 = P2 . t2_3 + P3 . t3_4’ . t_’

P4 = P3 . t3_4 + P4 . t4_5’ . t_’

P5 = P4 . t4_5 + P5 . t5_6’ . t_’

P6 = P1 . t1_6 + P5 . t5_6 + P6 . t_’

Z = Q5

Xr = X’in yükselen kenarı

Xf= X’in düşen kenarı

Yr = Y’in yükselen kenarı

Yf= Y’in düşen kenarı

t1_2 = t5_6 = t1_2 // 5_6 = Xr

t2_3 = t4_5 = t2_3 // 4_5 = Xf . Yr

t3_4 = Xr. Yr

t_ = Yf

Tasarım ve Gerçekleme

Geliştirilen algoritmanın kod geliştirme aşaması simatic manager programı ile gerçeklenmiştir.

petri_sembol_tablosu

Şekil 11 Petri Tasarımı Sembol Tablosu

Oluşturulan kod;

petri_prog_network1_3

petri_prog_network4_6

petri_prog_network7_9

petri_prog_network10_12

petri_prog_network13_14

petri_prog_network15_16

petri_prog_network17_19

petri_prog_network20_22

Reklam

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s