Döngüsel Veri
Döngüsel verilere erişen tüm işlev blokları, döngüsel verilere erişimi parametrelendirmek için iki arayüz değişkeni kullanır:
-
Döngüsel giriş verileri için i_hwStartAddress
-
Döngüsel çıkış verileri için iq_hwQWAddress
“i_hwStartAddress” arayüz değişkeni (veri türü “Değişken”), işlev blokları tarafından avatarla ilişkili tüm döngüsel giriş verilerini almak için kullanılır. İşlev bloğunun bunu yapabilmesi için avatar giriş aralığının başlangıç adresi ile parametrelendirilmesi gerekir (PROFINET IO için avatarın giriş alt modülü, PROFIBUS DP için avatar modülü). Yaygın olarak kullanılan yöntem, aralığın başlangıcındaki adres için PLC Etiketleri oluşturmaktır. PLC etiketinin veri boyutu, aralığın başında olduğu sürece önemli değildir (örneğin, aşağıdaki örnekte yer alan Pompa avatarı için “%I4.0” Adresini işaret eden BOOL “AvPump02_StartAddress”).
Çıkış veri yönü için işlev blokları “iq_hwQWAddress” input/output değişkenini kullanır (avatar için sadece tek Bayt çıkış verisi olduğundan bazı durumlarda aynı zamanda “iq_hwQBAddress”). Giriş verisinin aksine bu değişken island’ın tüm çıkış verilerine karşılık gelmektedir (çoğu durumda tek Sözcük) ve işlev bloğuna input/output değişkeni olarak bağlıdır — bazı durumlarda birden fazla işlev bloğu aynı avatarın çıkış verilerine farklı alanlarda (örneğin Avatar Kontrolü işlev bloğu ile birlikte Avatar Tanılama işlev bloğu) ulaşır ve dolayısıyla çıkışa bir değişiklik yazılmadan önce geçerli durumun okunması gerekir. Genellikle avatarın çıkış alanına erişimin de tüm çıkış alanı için bir PLC etiketi kullanılarak yapılandırılması gerekir (yukarıdaki örnekte, “%QW5” adresine karşılık gelen, Sözcük türünde “AvConveyorOneDir03_OutAddress”).
“i_xEnable” giriş değişkeni programda “doğru” olarak ayarlanır ayarlanmaz, döngüsel iletişimin kullanıldığı işlev blokları çalışacak ve döngüsel verileri güncelleyecektir. Yani avatarı döngüsel iletişimle kontrol eden işlev bloğu arayüzündeki her türlü giriş değişkeni (örneğin, aşağıdaki örnekte “i_xRunFwd”) avatarın çıkış verisi alanına yazılacaktır. Aynı zamanda avatarın giriş verisi alanındaki ilgili durum bilgileri işlev bloğu tarafından okunur ve çıkış arayüzüne kopyalanır (örneğin “q_xRunFwd”).
İşlev bloklarının “q_xActive” durum çıkışı, “i_xEnable”ın karşılığıdır. İşlev bloğunun çalıştırılması etkinleştirilir ve tespit edilmiş hata oluşmazsa “q_xActive”, “doğru”dur. İşlev bloğunun çalışması sırasında tespit edilen bir hata oluşursa, bu hata “q_xError” üzerinde bir yükselen kenarla belirtilir. Döngüsel giriş verilerinin alımı ve işlev bloğunun çalıştırılması durdurulur. Ayrıca “q_dwErrorID”, ConstTeSysIsland veri bloğundaki hata kodu değerlerinin birini kullanarak gerçekleşen tespit edilen hatanın türü hakkında bilgiler sağlar (bkz. ConstTeSysIsland Veri Bloğu). Aynı zamanda TeSys island ile döngüsel ya da döngüsel olmayan iletişimin sonuçları olan işlev bloklarının tüm çıkışları, ilgili varsayılan değerlerine ayarlanır. Bunun anlamı şudur:
-
(WORD, DWORD, …) bit alanlarının sayısal (INT, UINT, …) türdeki tüm sonuçları 0’a ayarlanır
. -
String türündeki tüm sonuçlar boş dizeye ayarlanır.
-
Boolean türündeki tüm sonuçlar YANLIŞ’a ayarlanır.
-
Tarih ve saat türündeki (bu kütüphanede DTL) tüm sonuçlar, ilgili türün minimum değerine (DTL#1970-01-01-00:00:00.0) ayarlanır.
-
Kullanıcı tanımlı tür (UDT) ya da Struct olarak gruplanan tüm sonuçlar, tür tanımında belirtilen varsayılan değerlerine ayarlanır. Bunlar genel olarak yukarıdaki kuralları da uygular.
![]() |
---|
Ekipmanın yanlışlıkla çalışması
Bu talimatlara uyulmaması ölüm, ciddi yaralanma veya ekipman hasarına neden olabilir.
|
İşlev bloğu, tespit edilen hata durumunu yalnızca “i_xEnable” üzerinde yeni bir yükselen kenar tespit edildiğinde ya da işlev bloğunun tespit edilen hata durumuna girmesine neden olan koşul ortadan kalktığında bırakır.