CPU 222 de
HC0, HC3, HC4 ve HC5 olmak üzere toplam 4 adet hızlı sayıcı vardır. Bunları kullanarak istediğin işlemleri gerçekleştirebilirsin.
Öncelikle MAIN ana subroutin de ilk networke aşağıdaki gibi bir alt program yönlendirmesi yapman gerek.
LD SM0.1 (BU komut yalnızca CPU çalışmaya başladığında ilk tarama anında 1 olup dağa sonra sürekli 0 olarak kalır. Amacı ilk çalışma anında hızlı sayıcıyı CPU içerisinde kurmaktır. Çünk Hızlı sayıcılar ilk çalışma anında 1 kez kurulması yeterli. daha sonra program içerisinde istediğin gibi kullanabilirsin.)
CALL SBR0 (Burada hızlı sayıcıyı kuracağın alt program subroutin çağırıyorsun)
SBR0 subroutin içerisine de aşağıdaki örnek gibi hızlı sayıcıyı kurabilirsin verdiğim örnek HSC0 a göre diğer HSC ler için parametre ve atama değişkenlerini SMB ve SMD gibi değiştirmen gerek
LD SM0.0
MOVB 16#F8, SMB37 (Sabit değiştirmeden aynen yaz)
HDEF 0, 9 (HSC0,1,2,3,4 hangisini kullanacağını ve çalışma modunu belirler)
MOVD +0, SMD38 (HSC.. ’nın anlık değer ataması yapılır.genelde 0 atanır. yani sıfırlama)
MOVD +2500, SMD42 (HSC0 ayar değerini 2500 yap.)
ATCH INT_0:INT0, 13 (HSC0 anlık değeri = ayar değeri olduğunda,
(13 nolu olay oluştuğunda) INT_0 aktif et (INT_0 interup ını oluşturur ve bu interup içerisine yazdığın komutlar gerçekleşir.)
ENI (İnterruptların çalışmasına izin verilir)
HSC 0 (Tüm yaptığın işlemler sonrasında da HSC0 ’ı programla. yani CPU belleğine kaydet)
Bu işlemlerden sonra MAIN ana subroutindeki istediğin satırda sayıcıyı gönlüne göre kullanbilirisin.
Örneğin
HC0 değişkenini LDD komutu(karşılaştırma komutları) ile sayıcının anlık değerini kontrol edebilirsin.
Daha ayrıntılı bilgi almak için forum içinde türkçe S7-200 kullanma klavuzu var.