Merhaba s71200 plcimde reçetem mevcut , bu reçete'de 2 değişkenim var
360 derece dönen bir tabla var , ekrandan girdiğim sayı , örneğin 4
tablayı 90 derecede durdurup pistonumla ürünü tablaya itmek istiyorum , bu döngüyü tamamladıktan sonra sistemin durmasını istiyorum.
burda sormak istediğim konu şu girdiğim değeri 360 dereceye hep böleceğim matematik fonksiyonlarını yaptım
fakat döngüyü nasıl yapacağımı ve comparator mü kullanmam gerektiğini veya başka bir mantık ile nasıl yapacağımı düşünüyorum...
bu döngüyü nasıl kurabilirim ?
90 dereceye gelince duracak sonra
180 e gidecek duracak ve işlem yapılacak 270-360 derece sırasıyla bunları yapacak
fakat girilen sayı 10 olduğunda 36 derece olacak ve 36 derece de bir itme işlemi yaptırmam gerekiyor
örnek bir program var ise ve ya sadece mantığın olduğu bir tia portal yazılımı var ise paylaşım yapabilirmisiniz ya da burdan anlatma şansınız var mı ?
teşekkürler...
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
abi o olurmu olmazmı s71200 de bilmiyorum ama senin dediğin iş motionun işi s71200 le çok zor yaparsın olurda zor olur yani nc lasım sana n coder lazım sinumerik lazım . pozisyon lazım tablaya enkoder lazım
enkoderin kaç tur döndüğünde tablanın o dereceye geldiğini bilmen lazım . 0 noktasını bilmen lazım
mantık olarak sequantial function chartla yaparsın döngüye gerek kalmaz
başla dersin tabla oraya gider gittiğinde ne yapmasını istiyorsun oraya yazarsın enkoder koyarsın kaç turda 90 derece yapıyor hesaplarsın dön dersin döner sonra 3 sekansa gitmesini istersin osekansta ne yapması gerekiyor onu yap dersin sonra inşite geri gider sıfıra ordan bir daha başlar ..
ha bildiğimden değil belki sana ilham verir deye ama motion kontrollere bak derim sanki daha rahat yaparsın zorda bişi değil 1 eksenli cnc gibi kolay ama ekipmanlar yeterlimi bilmiyorum
// motion_complated --> hedef değere gittiğinde ON ( Mc_MoveAbsolute.Done çıkışı olabilir programda ne kullandığını bilmiyorum)
// motin_complated_old --> bir önceki cycle'daki değeri
// operation_cmd --> çalışma döngüsünü başlatan bit
// operation_cmd_old --> bir önceki cycle'daki değeri
// target --> hedef
// total_station --> ekrandan girilen istasyon sayısı
// next_station --> hareket edeceği istasyon
operation_rising_edge := operation_cmd AND NOT operation_cmd_old;
motion_complated_rising_edge := motion_complated AND NOT motion_complated_old;
IF motion_complated_rising_edge THEN
next_station:= next_station+1;
END_IF;
IF ((operation_rising_edge) OR (next_station == (total_station-1))) THEN // ilk hareket verildiğinde ve tüm istasyonlar gezildiğinde
next_station:= 0;
END_IF;
target := (360/total_station) * next_station;
operation_cmd_old := operation_cmd;
motion_complated_old := motion_complated;