Text Listteki öğe sayısını değişkene bağlamak istiyorum

elektronikmuh

Yönetici
Yönetici
Yönetici
Katılım
13 Ocak 2007
Mesajlar
2,241
Puanları
1,866
Yaş
47
Merhaba;
TIA v15.1+Upd5 WinCC Advanced kullanıyorum, yapmak istediğim aşağıdaki combobox a girdiğim listeleme değişkenine göre Textlist te ki istasyon sayılarını göstermesi.
Örneğin List değişkenim 2 ise combobox ı tıkladığında A1 ve B1 görünecek(0-1 ve 2 numaralar).
Liste değişkenim 4 ise combobox ı tıkladığımda A1-B1-A2-B2 textleri görünecek gibi(0-1-2-3-4)
Bunu yapmanın yolu var mıdır? Teşekkürler...

1714979380554.png
 

Ekli dosyalar

  • 1714979081586.png
    1714979081586.png
    75.9 KB · Görüntüleme: 4
Son düzenleme:
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.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
WinCC Advanced'da bunu programlamak için SCL (Structured Control Language) veya VBS (Visual Basic Script) te birşeyler yapılabilir. Bu konuda (SCL, VBS) bilgi seviyeniz nasıl?
 
Son düzenleme:
Varsa örnek kod ve yöntem yapabilirim.
 
Visual Basic diline biraz daha yakın olduğum için VBS ile çözüm önerecektim.
Ancak, ODTÜ de öretim üyesi bir arkadaşımdan yardım istedim
(gırtağına bastım diyebilirim), tamamı onun bilgileri ve fikridir.

Öncelikle yapılandırmaktan başlamak gerekiyor

İlk olarak, HMI ekranınıza Combobox ve Textlist nesnelerini
ekleyin ve bunları uygun şekilde yapılandırın.
Bunun için:
1. Combobox'un Yapılandırılması:
a) Combobox'u seçin.
b) Combobox'un özelliklerine gidin.
c) Combobox'un içeriğini belirleyin. Örneğin, Combobox'a
eklemek istediğiniz seçenekleri belirleyin.
Bu seçenekler genellikle bir liste halinde verilir.
d) Görünüm ve davranış özelliklerini ayarlayın.
Örneğin, Combobox'un boyutunu, görüntü stilini,
seçilen öğenin nasıl gösterileceğini vb. ayarlayın.
e) Combobox'un adını uygun bir şekilde belirleyin.
Ad, Combobox'a VBS kodunda referans vermek için.


2. Textlist'in Yapılandırılması:
a) Textlist'i seçin.
b) Textlist'in özelliklerine gidin.
c) Textlist'in görünümünü ve davranışını belirleyin.
Örneğin, metin boyutu, satır aralığı, sıralama
yöntemi vb. yarlayın.
d) Textlist'in adını uygun bir şekilde belirleyin.
Ad, Textlist'e VBS kodunda referans vermek içi.n


Örnek Kod:

Sub Combobox_SelectionChange
Dim selectedIndex
' Seçilen öge hangi sırada olduğu bilgisi
selectedIndex = ScreenItems("Combobox_1").SelectedIndex

' Textlist'i temizleyin
ScreenItems("Textlist_1").Clear

' Seçime göre metinleri ekleme
Select Case selectedIndex
Case 0
ScreenItems("Textlist_1").AddText "A1"
Case 1
ScreenItems("Textlist_1").AddText "B1"
Case 2
ScreenItems("Textlist_1").AddText "A1"
ScreenItems("Textlist_1").AddText "B1"
Case 3
ScreenItems("Textlist_1").AddText "A1"
ScreenItems("Textlist_1").AddText "B1"
ScreenItems("Textlist_1").AddText "A2"
' ve böyle devam eder...
End Select
End Sub


"Combobox'a Kodu Atama"şöyle yapılıyor:
1. Combobox'un özelliklerine gidin,
2. "SelectionChange" (veya benzeri bir olayı) seçin
3. Bu olay tetiklendiğinde yukarıdaki VBS kodunu
çalıştırmak için.
4. "Combobox_SelectionChange" alt rutinini atayın.
5. Bu şekilde, Combobox'ın seçimi değiştiğinde
belirlediğiniz metinleri Textlist'e ekleyebilirsiniz.
6. Kodu geliştirmek veya özelleştirmek için ve Combobox'taki
seçimi ve Textlist'e eklenen metinleri ayarlamak için
CASE ifadesini kullanın.

Kolay gelsin
 
Merhaba çok teşekkürler, kodu incelediğimde sadece txtler eklenmiş benim eksik olarak söylemediğim ama yukarıda resimde görünen A veya B istasyon seçildiğinde integer bir sayı üretiyor ve bu sayılar başka bir fb bloğu ile ürünün nereden alınacağı ile ilgili kodu çözülüyor.
Örneğin; A3 seçildiğinde PLC ye 5 geliyor, bir sonraki istasyon B4 seçili ise 8 geliyor. A tarafı her zaman tek sayı, B tarafı her zaman çift sayı olacak şekilde kodlanmış ve bu kodlama bir fb ile çözülüyor.
Bu kısmına bir çözüm üretmem gerekecek.
Teşekkürler.

1715232245422.png
 

Forum istatistikleri

Konular
128,396
Mesajlar
917,223
Kullanıcılar
450,280
Son üye
sıdıç45

Yeni konular

Geri
Üst