DOCA0272TR-00

Döngüsel Olmayan Veri

TeSys™ island ile döngüsel olmayan iletişimi kullanan işlev blokları için, işlev bloğu döngüsel olmayan veriyi içeren bir donanım modülüne kaynak olması gereklidir. Genellikle bu referans, işlev bloğu arayüzünde “i_hwSubmHWID” adlı “HW_IO” türünde bir giriş olarak sağlanır. Siemens TIA Portal’da bir aygıt oluşturulduğunda (örneğin bir AML dosyasının alınmasıyla), tüm aygıtlar, modüller ve alt modüller için donanım ID’ye yönelik değerlerin yer aldığı sistem sabitleri otomatik olarak oluşturulur. Bunlar, doğrudan bir avatar ya da aygıtın döngüsel olmayan verilerine erişimi parametrelendirmek için kullanılabilir. Bu sabitlerin adları, genellikle aşağıdaki düzen kullanılarak oluşturulur: <aygıt adı>~<modül adı>~<alt modül adı> (örneğin, “mytesysisland~AvPump02~Acyclic”).

TeSys™ island’ın aygıtlarının Varlık Yönetimi verilerine erişmek için bunlar da TeSys™ island’da modüller olarak temsil edilir. Aygıt modülleri, hem PROFINET IO hem de PROFIBUS DP’de 101 slot numarası ile başlayan slotlara yerleştirilir.

NOT:
  • PROFIBUS DP için bir modül içinde hiçbir alt modül bulunmaz. Dolayısıyla tüm döngüsel ve döngüsel olmayan veriler, ayrı alt modüller yerine modülün kendisine aittir. Yani döngüsel ve döngüsel olmayan iletişimlerin yer aldığı PROFIBUS DP işlev blokları için donanım ID doğrudan giriş başlangıç adreslerinden türetilebilir ve başka bir donanım ID’nin parametrelendirilmesi gerekmez. Ancak yalnızca döngüsel olmayan iletişimlerin kullanıldığı işlev bloklarında (başlıca Aygıt Varlık Yönetimi işlev blokları olmak üzere) işlev bloğu arayüzüne modülün donanım ID’si (arayüz değişkeni “i_hwModuleHWID”) sağlanmalıdır.

  • İşlev blokları, donanım ID’nin işlev bloğu arayüzü referanslarına sağladığı modül ile işlev bloğunun yapıldığı avatar ya da aygıt türü arasında bir eşleşme olup olmadığını algılayamaz. Dolayısıyla ilgili işlev blokları ile doğru donanım ID’lerinin kullanıldığından emin olmak sizin sorumluluğunuzdadır. Bunun yapılmaması, TeSys™ island’ın beklenmeyen şekilde davranmasına neden olabilir.

Döngüsel olmayan verilerin okunması ya da yazılmasının “i_xExecute” işlev bloğu girişinde bir yükselen kenarla tetiklenmesi gerekmektedir. Ancak döngüsel olmayan okuma ya da yazma, yalnızca işlev bloğu etkinse (“i_xEnable”), tespit edilmiş hiçbir hata yoksa ve “i_xAcyclicBusy” giriş değişkeni “yanlış” ise başlatılır. “i_xAcyclicBusy” değişkeni, Siemens PLC’lerin döngüsel olmayan iletişime yönelik kaynaklarının sınırlı olması nedeniyle tespit edilen hataları önlemek için döngüsel olmayan iletişim kullanan işlev bloklarının birden fazla kopyasını kilitlemek (TIA Portal’ın TeSys™ island kütüphanesinden ya da RDREC ya da WRREC işlevleri kullanılarak PLC programının diğer herhangi bir kısmından) için kullanılabilir. Döngüsel olmayan iletişimin yer aldığı her işlev bloğu, işlev bloğu tarafından bir döngüsel olmayan okuma ya da yazma isteği gerçekleştirilirken “doğru” olarak ayarlanan “q_xAcyclicBusy” çıkışı sağlar ve bu çıkış, diğer işlev bloklarının kilitlenmesi için kullanılabilir.

NOT: Kütüphanedeki işlev bloklarının biriyle döngüsel olmayan bir istek başlatırken döngüsel olmayan iletişim için yeterli kaynak olduğundan emin olmaktan siz sorumlusunuz. Farklı PLC türlerinin sınırlamalarıyla ilgili bilgi için Siemens tarafından sağlanan Üçüncü Parti belgelerine bakın.

Döngüsel olmayan iletişim sırasında bir tespit edilen hata oluşursa, işlev bloğu bu durumu “q_xError” çıkışında bir yükselen kenar ve ConstTeSysIsland veri bloğundan “q_dwErrorID”de uygun tespit edilen hata kodu ile gösterir. İletişim sonuçlarını temel alan tüm çıkışlar, varsayılan değerlerine ayarlanır (tüm diğer tespit edilen hatalarla aynı tepki—ayrıca bkz. Döngüsel Veri; ConstTeSysIsland’dan değerlerle ilgili bilgi için bkz. ConstTeSysIsland Veri Bloğu). İşlev bloğu, tespit edilen hata ID’ye ek olarak bazı durumlarda “q_dwAcyclicStatus” değişkeninde döngüsel olmayan iletişim için bir durum kodu sağlar. Aşağıdaki tabloda, kullanılan döngüsel olmayan durum kodları genel hatlarıyla verilmektedir.

Döngüsel olmayan durum kodları

Döngüsel olmayan durum kodu

Açıklama

Cdw_StsNoMsg

Durum ayrıntısı mevcut değil (ayrıca bkz. ConstTeSysIsland Veri Bloğu)

Diğer tümü

Kullanılan sistem işlevinin TIA Portal’a özgü durum/hata kodu

  • “q_dwErrorID” ConstTeSysIsland’dan aşağıdaki değerlerden biriyse RDREC/WRREC:

    • Cdw_ErrReadAcycData1

    • Cdw_ErrReadAcycData2

    • Cdw_ErrWriteAcycData

  • LOG2GEO (“q_dwErrorID”, ConstTeSysIsland’dan Cdw_ErrInvalidHwid’e eşitse)

TIA’ya özgü tespit edilen hata kodları hakkında daha fazla bilgi için Siemens TIA Portal Bilgi Sistemine ve Üçüncü Taraf Belgeleri‘a bakın.

İşlev bloğu, döngüsel olmayan iletişimi başarılı biçimde tamamlıyorsa, “q_xAcyclicBusy”, “yanlış” değerine döner, “q_dwErrorID” ilgili durum kodunu (bkz. ConstTeSysIsland Veri Bloğu) gösterir ve island’dan döngüsel olmayan şekilde okunan veriler, çıkış değişkenlerine kopyalanır. Veri, yeni bir döngüsel olmayan istek tamamlandıktan sonra üzerine yazılana, işlev bloğu devre dışı kalana ya da bir hata tespit edilene ve çıkış verilerinin üzerine varsayılan değerler yazılana kadar çıkışlarda kalmaya devam eder.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Bu yardımcı oldu mu?