Jump to content
TUMER

olasılığa göre bir aktif etme

Önerilen İletiler

Herkese iyi çalışmalar,

Sistemde bulunan 6 adet valfin her döngüde sadece 4ünü aktif etmek istiyorum. kabaca anlatmak gerekirse 6nın 4lü permütasyon hesabına göre 360 farklı varyasyonun tamamlanması ardından döngünün başa alması gerek. c alt programda permütasyon hesaplama yapabiliyorum ancak hangi yolla bitleri aktif edebileceğimi çözemedim. konu ile ilgili yol gösterecek çözüm önerisi sunarsanız çok sevinirim. teşekkürler.

Yorum bağlantısı
Sitelerde Paylaş

Hesaplamaların sonucunda bir rakam elde edebiliyorsan bu değeri bir word değerine atıp, bu word' ün bitlerini kontrol ederek tanımlayacağın bitleri aktif ya da pasif yapabilirsin.

Fikir olsun diye örnek te verdim.

Faydalı olur umarım.

image.png.fa47c216cdc9194a960ec402aef4abbb.png                                       image.png.89d36c2872e5f0883eb798fe1ea5156d.png

 

Yorum bağlantısı
Sitelerde Paylaş

Öncelikle cevap için teşekkür ederim. Ancak ya ben örneği anlamadım ya da derdimi iyi anlatamadım. Şöyle ki A,B,C isminde çıkışlarımız olsun, her tetiklemede bu çıkışların sadece ikisi sırası değişkenlik gösterecek şekilde aktif olacağını düşünelim. Sonuç:

A,B; B,A; A,C; C,A; B,C; C,B;

şeklinde 6 ihtimal ortaya çıkıyor. Bu altı ihtimali çıkışlara tanımlayıp verdiğiniz örnekteki gibi bit operasyonuyla çıkışları kontrol edebiliriz. ancak ihtimaller yükseldiğinde, bu ihtimalleri tek tek tanımlamak oldukça güç. bu yüzden ihtimalleri listeleyecek bir algoritmaya ihtiyaç var gibi. bunu algoritmayı plc ile kurabilmem mümkün mü?

Teşekkür ederim

Yorum bağlantısı
Sitelerde Paylaş

c alt programı kullanarak 0..5 (yani 6 adet rakam üret)

/* Intializes random number generator */

srand(time(NULL));

/* bir sayı üret */

sayi=rand()%6;

 

sayi değişkenini GMTSUITE Operandlar bölümünde WORD olarak tanımlayın. Aşağıdaki örnek 2 sn. de bir 0 ila 5 arasında random rakam üretiyor.

Sonra tetiklemeyi nasıl yapılacak ise ardından bu alt programı çağırın. Her seferinde 0..5 arasında bir değer dönecek. IF cümlecikleri ile bu değer kullanılabilir.

resim.png.f02664e9a7494140d466a50fa5b8c398.png

 

Not : Çevrim dışı Simulasyon ile denedim. ANSI C deki mod işlevinin gmtsuite de farklı bir kullanımı olabilir. Gerçek ortam denemesi yapmadım.

Yorum bağlantısı
Sitelerde Paylaş

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Misafir
Bu konuyu yanıtla

×   Yapıştırdığınız içerik biçimlendirme içeriyor.   Biçimlendirmeyi Temizle

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Önceki içeriğiniz geri yüklendi.   Editör içeriğini temizle

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Yeni Oluştur...