solkirans
Üye
- Katılım
- 10 Kas 2008
- Mesajlar
- 31
- Puanları
- 1
- Yaş
- 40
Merhaba
I0.0 ve I0.2 de bulunan Limit switchlere dokunana kadar Q0.0 dan clock sinyali üreterek dönen bir step motor uygulaması yapmak istedim. Altrpgoram içine şu kodu yazdım.
Network 1
// buraya bir label ekliyorum
LBL 3
Network 2 //
// M00 ın default degeri 0, algoritmaya girildiginde timer ı birkez calistiriyoruz
LDN M0.0
TON T33, 2
Network 3
// Eger limit switchlere dokunulmadiysa timer degeri 10ms den buyuk oldugunda Q00 cikisini 1 yapiyoruz
LDN I0.0
AN I0.2
AW>= T33, 1
= Q0.0
Network 4
// timer doldugunda M00 ı da bir yapiyoruz, timer resetleniyor, ve bastan saymaya basliyor, timer resetlendigi icin Q00 tekrar 0 oluyor, boylece cikista bir clock sinyali uretmis oluyoruz
LD T33
= M0.0
Network 5 // Network Title
// Limit switchlere dokunulmadıysa dönmeye devam etmek için label 3 e git.
LDN I0.2
AN I0.0
JMP 3
Ama buradaki jump ve labelı eklediğimde PLC nin SF/DIAG ledi kırmızıya dönüyor, bu ne anlama geliyor ve programdaki bu döngü neden hata veriyor? Timer dolmadan tekrardan başlamaya çalışıyor ve hata veriyor diye düşündüm ama M0.0 biti timer dolmadan 0 olmuyor ve timer M0.0 biti 0 olunca çalışıyor, buranın hata vermemesi lazım, aklıma da başka birşey gelmedi, yardımcı olursanız sevinirim.
Teşekkürler.
I0.0 ve I0.2 de bulunan Limit switchlere dokunana kadar Q0.0 dan clock sinyali üreterek dönen bir step motor uygulaması yapmak istedim. Altrpgoram içine şu kodu yazdım.
Network 1
// buraya bir label ekliyorum
LBL 3
Network 2 //
// M00 ın default degeri 0, algoritmaya girildiginde timer ı birkez calistiriyoruz
LDN M0.0
TON T33, 2
Network 3
// Eger limit switchlere dokunulmadiysa timer degeri 10ms den buyuk oldugunda Q00 cikisini 1 yapiyoruz
LDN I0.0
AN I0.2
AW>= T33, 1
= Q0.0
Network 4
// timer doldugunda M00 ı da bir yapiyoruz, timer resetleniyor, ve bastan saymaya basliyor, timer resetlendigi icin Q00 tekrar 0 oluyor, boylece cikista bir clock sinyali uretmis oluyoruz
LD T33
= M0.0
Network 5 // Network Title
// Limit switchlere dokunulmadıysa dönmeye devam etmek için label 3 e git.
LDN I0.2
AN I0.0
JMP 3
Ama buradaki jump ve labelı eklediğimde PLC nin SF/DIAG ledi kırmızıya dönüyor, bu ne anlama geliyor ve programdaki bu döngü neden hata veriyor? Timer dolmadan tekrardan başlamaya çalışıyor ve hata veriyor diye düşündüm ama M0.0 biti timer dolmadan 0 olmuyor ve timer M0.0 biti 0 olunca çalışıyor, buranın hata vermemesi lazım, aklıma da başka birşey gelmedi, yardımcı olursanız sevinirim.
Teşekkürler.