HMI ekrandan seçim yaptırma hakkında

TKAY

Üye
Katılım
4 Ağu 2007
Mesajlar
177
Puanları
1
Yaş
40
Merhaba arkadaşlar;
Siemens s71200 plc ve beijer hmi ekranım mevcut.
Bu ekranda 15 tane istasyon butonu var. Bu butonlara 1 ile 50 arasında istasyon numarası seçtireceğim.
Ancak aynı istasyon numarasını iki kez seçtirmemem lazım.
Yani 15 tane butona 1 ile 50 arası birbirinden farklı numara seçtirmem lazım.
Bunu nasıl kontrol altında tutabilirim?
 
Böyle bir kod işnizi çözer mi?


Kod:
FOR i := 1 TO 15 DO

Girilen_Numara := HMI_Input; // HMI'dan gelen numara

// Girilen numara daha önce seçilmiş mi?

IF Secilen_Numaralar[Girilen_Numara] = FALSE THEN

   // Benzersiz numara, atama yap

   Istasyon_Numaralari := Girilen_Numara;

   Secilen_Numaralar[Girilen_Numara] := TRUE;
 
Moderatör tarafında düzenlendi:
Böyle bir kod işnizi çözer mi?


FOR i := 1 TO 15 DO
Girilen_Numara := HMI_Input; // HMI'dan gelen numara
// Girilen numara daha önce seçilmiş mi?
IF Secilen_Numaralar[Girilen_Numara] = FALSE THEN
// Benzersiz numara, atama yap
Istasyon_Numaralari := Girilen_Numara;
Secilen_Numaralar[Girilen_Numara] := TRUE;
girilen numarayı hangi istasyon butonuna yazdıysam o numara o butona atanacak
burada girilen numara değişkeninin daha önce girildiğini nasıl takip etmeliyim çözemedim
 
Tamam şöyle yapılabilir:
Her bir buton için, girilen numaranın "tek"(benzersiz) olup olmadığını kontrol eden bir mantık gerekir:

// Girilen numara 1-50 aralığında mı?
IF (Girilen_Numara >= 1) AND (Girilen_Numara <= 50) THEN
// Girilen numara daha önce seçilmiş mi?
IF Secilen_Numaralar[Girilen_Numara] = FALSE THEN
// Benzersiz numara, atama yap
Istasyon_Numaralari := Girilen_Numara;
Secilen_Numaralar[Girilen_Numara] := TRUE;
ELSE
// Aynı numara seçildi, hata durumu
HMI_Error_Message := 'Numara zaten seçilmiş!';
END_IF
ELSE
// Geçersiz numara, hata durumu
HMI_Error_Message := 'Geçersiz numara!';
END_IF
END_FOR
 
Ayrıca, değerlendirilmesi gereken bir "seneryo" daha var.

Eğer bir butondan numara kaldırıldığında yani, kullanıcı, bir butona atanmış olan numarayı iptal etmek veya değiştirmek istediğinde, o numaranın sistemde tekrar kullanılabilir hale gelmesini sağlamak gerekir.
Bu durumda, eski numaranın sistemde artık kullanılmadığını işaretlemek ve yeni numaranın " tek, benzersiz" olup olmadığını kontrol etmek gerekir.

Bu senaryo için, önceki numaranın kaydedilip silinebilmesi için ilave kod gereklidir.
Birinci aşamanı tamamlanınca yazın.
 

Forum istatistikleri

Konular
129,867
Mesajlar
930,872
Kullanıcılar
452,732
Son üye
erencok

Yeni konular

Geri
Üst