8 Farklı Datanın sıralanması sorunu

Utkuknr

Üye
Katılım
4 Mar 2018
Mesajlar
17
Puanları
1
Yaş
29
Konum
Gaziantep-Mersin
Merhaba, harici olarak haberleştiğim CPU'dan aldığım databloktan 8 farklı data alacağım. İstediğim ise gelen dataların öncelik sıralamasına göre sıralamak. Örn: Datalara ( d1,d2,d3,d4,d5,d6,d7,d8),Sıralama(s1,s2,s3,s4,s5,s6,s7,s8) diyelim. Farz edelim ki bana gelen data öncelik sıralaması d3,d2,d6,d7,d8,d1,d4,d5(ilk gelen d3,ikinci d2... gibi ) sıralamanın şu şekilde olmasını istiyorum ;

s1:d3
s2:d2
s3:d6
s4:d7
s5:d8
s6:d1
s7:d4
s8:d5

Ladder diagramla yapmak pek mümkün mü emin değilim ancak SCL ile kolay bir şekilde yapılabilir diye düşünüyorum. Fonksiyon Bloğunun içine yazabileceğim SCL kodlarını yazabilecek olan varsa çok memnun olurum
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Merhaba.Bir array yapınız ve for döngüsü ile gelen dataları istedğiniz indexe yazdırabilirsiniz.
 
Merhaba, malesef SCL hiç bilmiyorum acaba bahsettiğiniz algoritmayı SCL olarak yazabilir misiniz
 
Kod:
PROGRAM PLC_PRG
VAR
    i: INT;
    s_array : ARRAY[0..10] OF REAL;
    YeniDataGeldi: BOOL;
    YeniData: REAL;
    reset: BOOL;
    j: INT;
END_VAR

Kod:
    IF YeniDataGeldi THEN
       YeniDataGeldi  := FALSE;
       IF i <=10 THEN
           s_array[i] := YeniData;
           i          := i+1;
       END_IF
    END_IF

    IF reset THEN
        reset := 0;
        i     := 0;
        FOR j:=0 TO 10 DO
            s_array[j] := 0;
        END_FOR
    END_IF
 
Son düzenleme:

Forum istatistikleri

Konular
127,959
Mesajlar
913,917
Kullanıcılar
449,606
Son üye
rasit.

Yeni konular

Geri
Üst