Bir PLC devresine gelen sinyalleri nasıl sıraya dizebilirim.Yardımcı olurmusunz?

züleyha

Üye
Katılım
28 Eyl 2007
Mesajlar
13
Puanları
1
Yaş
40
İyi günler. PLC ler ile çalışmaya yeni başladım. Ancak bir sorunla karıştım. Start giriş sinyallerim 10 adet ve giriş sinyaline özgü çıkışları olan bu sistemde (örneğin I0 sinyalinin çıkışı Q0. I9-Q9 gibi) sinyallerin aynı anda sisteme gelmesi durumunda örneğin aynı anda 3 sinyalin sisteme geldiği durumda kalan iki sinyali beklemeye almam ve bu kalan iki sinyalden de birine öncelik tanımam gerekiyor ayrıca kalan iki sinyal beklemedeyken tekrar giriş sinyalide gelebilir.
Ana programda gelen bir başla sinyali ile işlem 2 dk sürüyor.Örneğin 1 nolu giriş sinyali alındı 2 dk sonra çıkış sinyali alınıyor ve işlem son buluyor. Bundan sonra sıradaki sinyali alıp işleme koyacağım. Bu işlem için Siemens S700 ve S7300 de bu işlemi nasıl gerçekleştirebilirim.

Timer kullanmayı düşündüm. Örneğin ilk gelen sinyal çalıştı ikinci gelen sinyalin başlaması biten işlem ile resetlenerek başaltılabilir yada ikinci gelen sinyale timer gibi bişeyler düşündüm
yardımcı olursanız çok sevinirm.
 
zuleyha ' Alıntı:
Bu konuda çalışma yapan hiç arkadışımız yokmu:(
degerlı uyemız sız sımdı tam anlamıyla yapmak ıstedıgınız ıslemlerı adım adım yazarsanız ınput 1 geldıgınde 1 nolu output calısacak
2 no geldıgınde 2 nolu output calısacak seklınde olmalı
seklınde yazmalısınız
 
degerlı uyemız sız sımdı tam anlamıyla yapmak ıstedıgınız ıslemlerı adım adım yazarsanız ınput 1 geldıgınde 1 nolu output calısacak
2 no geldıgınde 2 nolu output calısacak seklınde olmalı
seklınde yazmalısınız
Peki
Input1 24 voltluk sinyali geldiğinde program çalışıcak. ancak aynı anda Input 1 ve Input 2 yada dahafazla gelirse işlem gören bir Input dışında kalan girişlerin beklemsi gerkiyor ve sıray dizilmesi gerkiyor.

ve sinyal girişlerim 10 adet. ancak sinyallerin ölmemesi gerkiyor yani istek sinyali gelio ama beklemsi lazım yani mühürleme şeklinde.
ve Input 1 in çıkışı ise output 1 şeklinde.benzer şekilde ise Input 9 Output 9 gibi ilişli var yani
şimdi bu sinyalleri nasıl sırada bekletrm ve işi biten sinyalden sora işleme koyarım yrdımcı olurmusun.
 
I0 dan I10 'a kadar olan girişlerininle 1 den 10 a kadar olan sayı oluşturmayı tetiklet. I0 gelince ortak dataya örnegin 1 yazsın, I9 gelince orta dataya 10 yazsın. Sinyallerin geliş sıklıgı ne kadar olacak bilemiyorum, ona uygun tetikleme yapacak puls oluştur. Shift rigt register programını kullan ve 11 adet datayı kaydır. 11.datanın içindeki kayarak gelen sayı ne ise eşitlik yapıp onun işini yaptır. İşi bitince SRR yapısını tetiklet. Sıradaki işlem gelsin. Onun da kumanda işini yaptır ve tekrar SRR tetiklet. Taki 11 datanın içi sıfır oluncaya kadar. İlk dataları alırkende 11. datanın içi sıfırsa bu datanın degeri sıfırdan farklı giriş sayılarından biri gelinceye kadar SRR tetiklemesini yaptırırsan uzun süreli tetikleme yapılamayan durumlarda yani arada bir gelen işlemlerini en kısa zamanda degerlendirirsin. Umarım çözümüne yardımcı olur. Bir nevi asansör programına benziyor bu iş. Kolay gelsin.
 
züleyha kardeş

ilk sinyali veren ilk işlem yapsın diyorsun yanlış anlamadı isem.bütün sinyaller mutlaka bir zaman farkı ile gelir ben bu tip çalışmalarda her sinyal gelişine öncelik sırasına göre 1ms fark sinyali veriyorum yada sinyal geldiği anda zamanlayıcı çalıştıracaksın her sinyal için bunları kendi aralarında karşılaştıracaksın en büyük zaman hangi sinyal ise onu seçeceksin.

iyi çalışmalar..........
 
Çok teşekkür ederim öncelikle

Zafer senin düşündüğün tabiki çok mantıklı ben PLC ler ile çalışmaya yeni başladım ve onun için çok zorlanıyorum. Ladder diyagramında bu işemi nasıl gösteririm ve ayrıca. sinyalleri sıraya dizdiğimde sinyal gelmeye devam edebilir. sinyallerin geliş sıklığı ile ilgili kesin bir süre yok::(
yardımcı olurmusun

------------------------------------------------------------------------------------------------------------------------------------

Feritt teşekkürler en kısa yöntem bu olması gerek ancak en büyük zamanı olan timer ı nasıl tespit edeceğiz.Üzgün aynı anda sinyal gelme ihtimali yokmu? aynı anda makinalr sinyal gönderirse milyonda bir ihtimal olsada:(

_________________________________________________

Düzenleme: BuRçin.

Arka arkaya mesaj atmak yerine son mesajınız üzerinde bulunan Düzenle tuşuna basarak ekleme yapınız.

 
Sevgili kardeşim umarım yazdıgım bir nebze sana ışık tutmuştur. Şimdi bunu ladder diyagramda nasıl gösteririm soruna cevap senin PLC yazılımcısı olmana baglayacagız. Henüz yeniymişsin, bunu ufak ufak komutları uygladıkça ögreneceksin. Bir fonksiyonun uygulamasında herkesin kendine göre yogurt yiyişi olur. Şimdi; burda sinyaller gelmeye devam edebilir diyorsun, burada şunu açıkça sormak lazım. "bu sinyaller birbirine baglı olarakmı geliyor yoksa bu 10 şarttan bir kaçına baglı olarakmı geliyor ? Biribirine baglı geliyorsa senin dedigin gibi olamaz, yok her zaman geliyorsa birbirine baglı degil olaylar o zaman ki bu durumda bu adımların toplam sürelerini topladıgında örnegin 10 adım 2 şer dakika sürerse 20 dakida eder, saatte 3 defa, günde 72 defa olabilir. Burdan çıkan şu 11 adet degil 73 adet datayu kaydırmak gerektigidir. Yazılımcılıkta olayları çok iyi sınıflandırmalısın. Bu konuları bir degerlendirelim. Yeniden görüşmek dilegiyle.
 
sağol ayrı 10 makinadan istek geliyor. aslında çok basit bişey bu.
10 adet makinadan sinyal geliyor ama makinaların nezamn sinyal gönderceğini bilemiyoruz. yani aynı anda sinyal yollıyabilirler.
I0-start
I1-stop
I2ve I3 yükseklik ölçen iki sensör
I4 geln start sinyallerim
I41 1. makinadan gelen sinyal
I42 2. makinadan gelen sinyal
..
I410 10. makinadan gelen sinyal
seçtim
Q0 solenoid valf standart 10 makinada ortk bu valfi kullancak sırayla ama
Q1 motor sırayla kullnılcak
Q2 motor sırayla kullnılacak
Q3 solenoid valf ortak kullnılacak sırayla
Q4 makinaya ait çıkş valfi yani
Q41 1nolu makinaya ait çıkış valfi
Q42 2 nolu makinaya ait çıkış valfi
...
Q410 da 10 nolu makinaya ait çıkış valfi
Q5 ortak motor
ise örenk 1 I41 için ladder diyagramım ekte ancak sinyalleri önceden sıraya dizmem gerekiyor.
sorunum bu yani aynı anda gelen yada peşpeşe gelen sinyalleri bekletip sıraya alıcam. örenğin en basit ve güzel fiki en çok bekleyen ilk sırada alınacak çok güzel ama timerleri nasıl karşılştrıyoruz zamnlarına göre mesela yada yeni bir fikriniz ile bana yrdımcı olurmusunz.
şimdiden çok teşekkür ederim.resmi ekleyemedim:(
Ayrıca bildiğim kadryla sonsuza dek sayan bir sayıcı yok. ama 10 sinyal geldiğin de en uzun süre 10*3=30 dk ya ayrlrım timerleri ama bir timer ın o andaki değerini bir başka timer ın aynı andaki değeriyle karşılştrabilrmiyiz?
 
olayı tam anlamıyla gozumde canlandıramadım ??? ama soyle yapabilirsin. once her girisine bir timer koy ve input gelince timer saymaya baslasın. sonra timer ları karsılastır ve en buyuk olanı (yanı en cok bekleyenin cikisini ver ve o timer ı resetle. mesela i41 e sinyal geldi, 5 saniye sonra i42 geldi,3 saniye sonra i43 geldi. aradan 5 saniye gecse durum su olur . i41=11 saniye bekledi, i42=8 saniye, i43=5 saniye. sonra bunları programda karsılastır. buyuk olan i41 olduğu için ona cıkıs ver ve timer ı resetle. sonra program timer ları tekrar karsılastırır ve buyuk olan i42 olduğu için q42 ye cıkıs verip resetle ve boylece devam eder.ama dediğim gibi makineyi gormediğim için tam olarak anlayamadım...iyi çalışmalar
 
selam;
set reset kullanabilirsin bence.. input sinyalin geldiginde belli bir registeri set edersin, ve ilgili registere ait ouput sinyalini olusturdugunda set ettigin registeri reset edersin.. bu sekilde gelen sinyalleri bekletmis olursun.. ama gelen sinyal sirasina gore islem yapacagim diyorsan, zafer in anlattigi gibi bi kuyruk olustur kendine, her sinyale bir numara ver..

ama sen tam olarak senaryoyu anlatmadigin icin cok yardimci olamiyor arkadaslar
 

Forum istatistikleri

Konular
130,047
Mesajlar
932,500
Kullanıcılar
453,017
Son üye
cnturkmenoglu00

Yeni konular

Çevrimiçi üyeler

Geri
Üst