merhaba arkadaslar encoderdan gelen palslerı sayıp ayarlanan set noktasında cıkıs verebılecek bır ındıkator varmıdır acaba
Merhaba erdincotenbulbul;
Öncelikle verdiğiniz bilgiler için çok teşlekkür ederim. Benim anlamadığım bi nokta var sıfırlama sinyalini anladım ancak ,nerde ne işime yaricak onu kestiremedim. yani reset gibimi kullanıcam orasını tam anlayamadım.Sıfırlama sinyalini nasıl nerde kullanıcam pozüsyonlama içinde. Örnek olarak diyelimki rulo sac açıp sürüyoruz kesiciye. op panelden kesilecek sacın boyları giriliyo.Bu çevrimde nerde ve nasıl kullanırım sıfırlama sinyalini.??
OP den girdiğin kesilecek saç boyunu; encoder dan gelen pals leri sayarak karşılaştırma yaptıracaksın. İstenilen ölçüye geldiğinde açım makinesinde ki gerekli mekanik kesme işlemlerini yapar iken işlemini durduracaksın. Bu durumda işlemlerinde yavaşlama oluşacaktır. Fakat işlemleri durdurmadan devam edecek bir mekanik yapı tasarımı var ise o zaman encoder pals göndermeye devam edecektir. Doğal olarak ölçü sayma işleminde mikron seviyesinde bile olsa hatalar oluşacaktır. Her ölçümde oluşan hata üst üste eklendiğinde büyük hatalara neden olabilir.
Bu nedenle OP ile Sayım arasında eşitlik sağlandığında mekanik kesme işlemleri ile birlikte sayıcı sıfırlamayı yapar iken ENCODER dan gelen Z sıfırlama sinyalini bekleyip sıfırlamayı gerçekleştirirsen her seferinde aynı konumda sıfırlama yapmış olacağından hata oluşumuna neden olmazsın.
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.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?