merhaba arkadaşlar plc deki yükselen ve düşen kenar mantıgını plc yapabiliyorum ama kod olarak arduino gelince yapamıyorum bu konuda bana
mantıgını anlatarak yardımcı olabilirmisiniz?
örnegin plc yükselen kenarın yanına bir_arttır sayac komutu koyarak butona
her basıldıgında sayac bir artıyo bunu arduino kodunda nasıl yapabilirim
ve diğer kullanma yöntemlerinde nasıl yapabilirim ? yardımlarınız için teşekkürler şimdiden
Yükselen olması High/1 olması durumu.
Pini direnç ile Low/0 da tutarız, butona
basılınca yükselen durumu oluşur.
if(Button == 1)
{
...
}
Kesme kullanılabilir. İlgili giriş her tetiklendiğinde sayac artırılır. Tabi bu yükselen kenar için.
yılmaz hocamın dediği gibi kesmeler kullanılabilir.
https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/ (https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/) bu adreste kesmeler anlatılmış, attachInterrupt fonksiyonuna yükselen veya düşen kenar parametrelerinden hangisi girilirse tanımlı kesme fonksiyonu devreye giriyor.
hocam verdiğiniz bilgilerle mantığı anladım teşekkürederim
şimdi merak ettim plc gelcek olursak plc lerin input girişleri sizce dış kesmemi kullanmışlardır yoksa timer kesmesimi yada başka bir kesme çeşitimi kullanmışlardır bunu merak ettim
IEC 61131 standardına uygun yazılmış yükselen düşen kenar örneği..
FUNCTION_BLOCK B_TRIG
VAR_INPUT
CLK : BOOL;
END_VAR
VAR_OUTPUT
Q : BOOL;
END_VAR
VAR
edge : BOOL;
END_VAR
(*Program orneği*)
Q := clk XOR edge;
edge := CLK;