Kullanım Kılavuzları
Karakterler Karakterler Mesaj başlangıcı: Zaman- Mesaj zaman aşımı: layıcı çalışmaya başlar Mesaj alımı sonlandırılır ve mesaj alım interruptı oluşturulur Resim 6–12 Mesaj Zaman Aşımının Al Komutunu Sonlandırmak için Kullanılması 4. Maksimum karakter sayısı: Her durumda Al komutuna alınacak maksimum karakter sayısı SMB94 veya SMB194 ile bildirilmelidir. Alınan karakter sayısı bu değere eşit olur veya aşar ise mesaj alımı sonlandırılır. Alım işleminin kesilmesi istenmese bile buraya bir değer girilmelidir, aksi taktirde alınan baytlar kullanıcının tanımlanan alım alanının hemen sonrasındaki verilerinin üzerine yazılabilir. Maksimum karakter sayısıyla iletişimin sonlandırılması yöntemi, alınacak mesaj uzunluğunun sabit olduğu durumlar için uygundur. Yöntem, bitiş karakteri saptama, karakterler arası zaman aşımı veya mesaj zaman aşımı ile birlikte kullanılabilir. 5. Parite hataları: Donanım, bir parite hatası saptarsa alım işlemi otomatik olarak sonlanır. Ancak, SMB30 veya SMB130’da parite seçimi yapılmış olmalıdır. Seçildikten sonra bu fonksiyonun verdiği hatalar ihmal edilemez, zira donanımdan (örneğin iletişim kablosunda parazitten) kaynaklanan geçersiz bilgi alımı sözkonusudur. 6. Kullanıcı talebi ile: Kullanıcı, yürürlükte olan alma işlemini SMB87 veya SMB187’de yer alan EN bitini kullanarak yeni bir alma işlemi ile sonlandırabilir. Bu durumda mesaj alma fonksiyonu anında sonlanır (ve yeni alım işlemine geçilir). Veri Alımında İnterrupt’ın Kullanımı Mutlaka gerekli olmamakla beraber bazı protokollerde Al komutunu hiç kullanmadan karakter alım interrupt’ı da kullanmanız gerekebilir. S7-200, bu amaçla her karakter alımında bir interrupt oluşturma yeteneğine sahip olarak donatılmıştır. İlişkilendirilen interrupt altprogramına sıçranmadan önce alınan karakter SMB2’ye yerleştirilir ve (eğer seçildiyse) parite durumu SM3.0’da yer alır. SMB2, freeport modundaki karakter alım alanıdır. Freeport konumunda alınan her bir karaktere (ancak bir anda sadece bir karakter olmak üzere) buradan da erişilebilir. SMB3, yine freeport modunda kullanılır ve sıfırıncı bit, alınan karakterde parite hatası olup olmadığını gösterir. Bu biti kullanarak alınan karakteri geçersiz saymanız veya mesajın hatalı olduğunu belirtmeniz mümkündür. SMB3’deki diğer bitler rezervedir. Yüksek iletişim hızlarında (38.4 kbaud ila 115.2 kbaud), interrupt’lar arası zaman çok kısadır. Örneğin, 38.4 kbaud için bu değer 260 mikrosaniye, 57.6 kbaud için 173 mikrosaniye ve 115.2 kbaud için 86 mikrosaniyedir. İnterrupt altprogramının taranması için gereken süre bu sürelerden uzun ise Al komutunu kullanın, aksi taktirde bazı karakterlerin alınması mümkün olmayabilir. Bilgi Notu İki portlu cihazların her iki portunun da freeport mesaj alımı için kullanılması durumunda şunları dikkate alınız: SMB2 ve SMB3, Port 0 ve Port 1 tarafından ortak olarak kullanılır. İnterrupt olgusu 8 gerçekleştiğinde port 0’dan veri alınmış demektir. Bu durumda SMB2’deki değer port 0’dan alınan değeri ve SMB3 de bu alımla ilgili pariteyi gösterir. İnterrupt olgusu 25 gerçekleştiğinde ise, port 1’den alım vardır, ama yine de alınan değer SMB2’den, parite SMB3’den okunacaktır. 85