1. sayfa (Toplam 1 sayfa)
AS PLC ST
Gönderilme zamanı: 15 Ara 2025, 16:59
gönderen user
MalzemeGirdiR(
CLK := SiseBoyu,
Q => MalzemeGirdi
);
DoldurmaZamanıTMR (
IN := MalzemeGirdi,
PT := DoldurmaZamani,
Q => DoldurmaTamamlandi,
ET => KalanZaman,
);
DolumYap := DoldurmaTamamlandi;
böyle bir programım var. fonksiyonel blok olarak main programım içine attım.
Program da şöyle bir hata var : Plc ilk run olduğunda nasıl oluyorsa bilmiyorum DoldurmaZamanıTMR tetikleniyor
bunun hakkında bir fikriniz var mıdır
Re: AS PLC ST
Gönderilme zamanı: 17 Ara 2025, 23:32
gönderen Ahmet
user yazdı: 15 Ara 2025, 16:59
MalzemeGirdiR(
CLK := SiseBoyu,
Q => MalzemeGirdi
);
Burada bahsettiğiniz "MalzemeGirdiR" blok türü nedir?
Yükselen kenar desem TIMER tetilemek için olmaz.
user yazdı: 15 Ara 2025, 16:59
DoldurmaZamanıTMR (
IN := MalzemeGirdi,
PT := DoldurmaZamani,
Q => DoldurmaTamamlandi,
ET => KalanZaman,
);
"MalzemeGirdiR" TIMER çalışma şartı olduğundan sorun üst blokta ve tipini veya türünü bilmeden yorumlamak imkansız.
Kullandığınız timer TON_TIMER ise "TMR_IN :=" girişinide kullanarak bu timer için bir TIMER NUMAARASI (T0,T1... gibi) atamalısınız.
1- Programın ilk satırında SM402 bitiyle "SiseBoyu" bitini reset ederek dener misiniz?
("SiseBoyu" biryerlerden ON konumuna geçmiş olmalı ki TON tımer sayma yapsın.)
2- TIMER_IN girişine programda kullanmadığınız bir M biti atayarak deneyin saymayı kesmesi gerekiyor.
NOT=> Denemeyi simülasyonda yapıyorsanız nadirde olsa arada bir simülasyon bu tür hatalar verebiliyor benim başıma da birkaç defa geldi ve farklı bir bit adresiyle deneyerek çözdüm.
Hatalarınız=
1- TIMER yükselen kenar tetiklemesiyle çalışmaz.
2- "DolumYap" bitini DoldurmaTamamlandi bitine eşitlemedeki mantık hatası var. SET-RESET gibi özel durumlara tabi tutmuyorsanız direkt "DoldurmaTamamlandi" bitini kullanabilirsiniz.
3- TON timer tipinde "TMR_IN :=" girişiyle TON için bir timer numarası atamalısınız.