merhaba arkadaşlar scl dilinde blok oluşturmak istiyorum.timer ve counters koyma istiyorum bir türlü beceremedim manuel baktıp ordan yapmak istedim bir türlü beceremedim.<Yardım edebilecek biri varmı?
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.
TIA portal hala eski sürümlerdeki aynı SCL derleyicisini kullanıyor, siz de büyük ihtimalle bir söz dizimi hatası vardır. Ne gibi bir hata iletisi alıyorsunuz?
sayın Titus ve elektronikmuh diger sayfada sormama ragmen cevap alamadım şu ana kadar basit programlar yapmaya çalışıyor bir yandan plc kavramaya çalışıyorum şu anda kafamda soru data blockları hakkında ne bilmeliyim .Neden data block oluşturmaya gerek duyuyoruz? nasıl oluşturuyoruz .nerde kullanıyoruz?
Eğer bilgisayar programcılığı ile aranız varsa datablock'u bilgisayarlardaki database'ler (veritabanları) ile eşleştirebilirsiniz. Databloklarda veri saklarız, ama daha da önemlisi databloklar(aksi belirtilmediği sürece) kalıcı hafıza alanlarıdır. Dolayısıyla datablock üzerine yazdığımız değişkenlerin değerleri saklanır.
Öte yandan program içerisinde ara değişkenleri merker bitlere yazacak olursak bunun limiti vardır (mesela CPU 315 için bu M4095.7'dir) ama ara değişkenleri datablockta saklarsak limitimiz MMC kart boyutudur.
Bir diğer kullanımı da FB ve FC farkını ortaya koyar. FC'lerde program içerisindeki ara değerler geçici hafıza alanında saklanır ve FC işletildikten sonra bu değerler kaybedilir. FB'lerde ise program içerisindeki ara değerler bir datablokta saklanır ve bu değerler (yine aksi belirtilmedikçe) kalıcıdır.
Nasıl oluşturduğumuza gelirsek. Siemens sistemlerde iki çeşit datablock vardır Shared Data Block ve Instance Data Block. Instance data blok oluşturmak çok basittir, programınıza bir FB ekleyin, eklediğiniz bloğun üst kısmınta kırmızı soru işaretleri çıkar burada DB1, DB2 vb. bir isim verin. Böyle bir databloğun olmadığına dair bir pop-up mesaji çıkar, onaylayın. Böylece databloğunuz hazır.
Shared Data blok oluşturmak için de, blokların listelendiği kısımda boş bir yere sağ tuş tıklayın ve Add Shared Data Block kısa yolu ile boş bir data block oluşturun. Daha sonra oluşturduğunuz data blocku açıp içerisine değişkenler tanımlayabilirsiniz.
elimde çalıştıığna inandığım hatta bu siteden kopyladığım bir kod var bunu TIA portal altında bir türlü çalıştıramıyorum hiç bir tanımlnmamış hatasını alıp duruyorum acaba resimden bakıp hatayı söyleyebilirmisniz.
f_lin fonksiyonunu sembol tablosunda tanımlamanız gerek, resimde 8nci satır
f_lin := (a+DWORD_TO_REAL(x)+ b); şeklinde olmalı, direk copy paste yapmamanız için bu ayrıntılar önemli bunları bazen bilerek vermiyoruz ezbercilik olmasın diye.
Birde TIA portalı ben bilmiyorum ekstra bişiler seçmen gerekebilir.
f_lin fonksiyonunu sembol tablosunda tanımlamanız gerek, resimde 8nci satır
f_lin := (a+DWORD_TO_REAL(x)+ b); şeklinde olmalı, direk copy paste yapmamanız için bu ayrıntılar önemli bunları bazen bilerek vermiyoruz ezbercilik olmasın diye.
Birde TIA portalı ben bilmiyorum ekstra bişiler seçmen gerekebilir.
Simentec managerda böyle bir tanımlama yapmıyoruz yanlışmı hatırlıyorum.TIA portalda tanımla yaptığım anda adresbilgisiyada memory biti istiyor ve kabul etmiyor
Managerda Sembol tablosunda tanımlama yapıyoruz, bu arada gözüme çarptı arayüzde Interface kısmında input olarak değişkenlerini orada tanıtmanı istiyor olabilir, fonksiyon "f_lin" return diye bir deger gönderiyor bunu da tanıtman gerek. TIA nın editörüne çalış bence...