10 çıkışı zamanlı kontrol etme

Başlatan gubaz, 23 Temmuz 2015, 18:26:17

gubaz

merhaba arkadaşlar. Ben özel bir şirkette teknisyen olarak yıllarımı çürütmeye devam ediyorum. bir arkadaşın farklı bir iş için  istediği devreyi tasarladım. devre şu şekilde çalışıyor

10 role çıkışım          RL
10 seçici switchim    SW
1 adette para algılayan mekanizmam var    PM

çalışması şu şekilde olması lazım.

PM low olduğunda ve hangi SW low olursa onun karşılığındaki RL çekecek.

RL çekme zamanını ise kartın üzerindeki önceden jumper ile seçilen değerler belirleyecek.

10dk 20dk 30dk
1tl 2tl 3tl

mesela kartın üzerindeki 20dk ve 3tl seçili ise

PM ' ye 3 defa para attık ve ardından SW3' e bastık. RL3 çekecek ve  20dk çekili kalacak.

tabi bu arada RL3 çekili iken başka bir röleyi tekrar para atarak ve sw seçerek  çalıştırıbilecez...

program aşağıda

şimdiden yardımlarınız için teşekkürler

Cmcon=7Adcon1=7TRISA=%000000TRISB=%11111111TRISC=%11111111TRISD=%00000000TRISE=%00000111PORTA=0PORTD=0SYMBOL SW1=PORTB.0SYMBOL SW2=PORTB.1SYMBOL SW3=PORTB.2SYMBOL SW4=PORTB.3SYMBOL SW5=PORTB.4SYMBOL SW6=PORTB.5SYMBOL SW7=PORTB.6SYMBOL SW8=PORTB.7SYMBOL SW9=PORTE.0SYMBOL SW10=PORTE.1SYMBOL DK1=PORTC.0SYMBOL DK2=PORTC.1SYMBOL DK3=PORTC.2SYMBOL TL1=PORTC.3SYMBOL TL2=PORTC.4SYMBOL TL3=PORTC.5SYMBOL PM=PORTC.6SYMBOL RL1=PORTD.0SYMBOL RL2=PORTD.1SYMBOL RL3=PORTD.2SYMBOL RL4=PORTD.3SYMBOL RL5=PORTD.4SYMBOL RL6=PORTD.5SYMBOL RL7=PORTD.6SYMBOL RL8=PORTD.7SYMBOL RL9=PORTA.0SYMBOL RL10=PORTA.1i var byteDEFINE OSC 4PAUSE 5000ZAMAN:     if TL1=1 and DK1=1 then         For i=1 To 10         Pause 65535         Next i        ENDiF     if TL1=1 and DK2=1 then          For i=1 To 20         Pause 65535         Next i        endif            if TL1=1 and DK3=1 then        For i=1 To 30         Pause 65535         Next i        endif                    if TL2=1 and DK1=1 then         For i=1 To 10         Pause 65535         Next i        endif            if TL2=1 and DK2=1 then         For i=1 To 20         Pause 65535         Next i        endif            if TL2=1 and DK3=1 then        For i=1 To 30         Pause 65535         Next i        endif            if TL3=1 and DK1=1 then        For i=1 To 10         Pause 65535         Next i        endif            if TL3=1 and DK2=1 then        For i=1 To 20         Pause 65535         Next i        endif            if TL3=1 and DK3=1 then        For i=1 To 30         Pause 65535         Next i        endif    RETURN BASLA1:IF PM=0 AND SW1=1 THEN        HIGH RL1        gosub ZAMAN         LOW RL1        endif        goto BASLA1BASLA2:IF PM=0 AND SW2=1 THEN        HIGH RL2        gosub ZAMAN         LOW RL2        endif        goto BASLA2BASLA3:        IF PM=0 AND SW3=1 THEN         HIGH RL3        gosub ZAMAN         LOW RL3        endif        goto BASLA3        BASLA4:         IF PM=0 AND SW4=1 THEN         HIGH RL4        gosub ZAMAN         LOW RL4        endif        goto BASLA4        BASLA5:        IF PM=0 AND SW5=1 THEN         HIGH RL5        gosub ZAMAN         LOW RL5        endif        goto BASLA5        BASLA6:        IF PM=0 AND SW6=1 THEN         HIGH RL6        gosub ZAMAN         LOW RL6        endif        goto BASLA6        BASLA7:        IF PM=0 AND SW7=1 THEN         HIGH RL7        gosub ZAMAN         LOW RL7        endif        goto BASLA7        BASLA8:       IF PM=0 AND SW8=1 THEN         HIGH RL8        gosub ZAMAN        LOW RL8        endif        goto BASLA8        BASLA9:        IF PM=0 AND SW9=1 THEN         HIGH RL9        gosub ZAMAN         LOW RL9        endif        goto BASLA9        BASLA10:        IF PM=0 AND SW10=1 THEN         HIGH RL10        gosub ZAMAN         LOW RL10        endif        goto BASLA10              END

ete

Hiç ilgilenen çıkmadı. Demekki ya açıklamalar yetersiz yada zor bir proje. Bana göre her ikiside geçerli.
Bu proje aslında çok kolaymış gibi gözüken oldukça zor bir proje. Zorluk aslında aynı anda 10 adet rölenin aktif edilme olasılığıdır. Zira sistem bir yandan saniye sayarken bir yandan da yeni bir anahtar seçilmişmi bakmak zorunda. Yine her SN artışında aktif olan rölelerin zaman sayaçlarını artırmak ve her birinin zamanları dolmuşmu dolmamışmı hesaplamak zorundadır ki bu o kadarda kolay bir iş değil.
Açıklamalar yetersiz çünki bir şema ile desteklenmemiş. Bazen şema yerine şemanın tarifinin verilmesi yeterli olmaz.
genellikle görsel hafıza zihinsel hafızadan daha yararlı olur ve kolaylıkla çözüm elde edersiniz. Mesela tarifine göre sistemde TL ve çalışma süresi hesabı PORTC de ilk 6 bit de bağlı pinler üzerinden yapılıyor. Bunu şemada görerek kolaylıkla halletmek mümkün iken bu hesabı çok kişi bir sürü anahtarın tek tek kontrolünü yapmak ister.
Nasıl olabilirki dediğinizi duyar gibi oluyorum. Kolay şöyle;
PORTC nin ilk 3 biti %00000XXX bize rölenin çekili kalma süresini verecek.
PORTC nin sonraki 3 biti %00XXX000 ise bize kaç adet para atılmasını gösterecek.
Önce PORTC yi okurum.  Örnek ile devam edersek; PORTC=%00001010  olsun. Buradan rölenin 20 dakika açık kalacağını ve 1 adet TL atılması gerekeceğini görebiliyorum.
Önce kaç adet TL atılması gerektiğini bulalım; PARA=(PORTC & (%00111000))>>3: TL=ncd PARA
Sonra kaç dak çalışacağını bulalım.
SURE=PORTC & (%00000111): DAK=(ncd sure)*10

Açıklama yetersiz dedik. Bir yetersizlik de bir rölenin aktive edilmesi için şartlar sıralı olarak açıklanmamış.
Ben bir işlem başlatmak için PM ye mi bakacağım yoksa önce bir Switch LOW olacakmı onamı bakmalıyım. Bu belirtilmediği için sistem nasıl aktive edilecek belirlemek zor. Mantığım bana önce switch ile bir seçim yapılacağını buna bağlı olarak da para adedinin belirlenmesi gerektiğini ve ardından bu kadar paranın atılıp atılmadığının kontrol edilmesi gerektiğini söylüyor.
Peki 3 adet para atılması gerekirken kullanıcı 2 adet para attı ne olacak? sistem sürekli bir sonraki parayı geldimi gelmedimi diye kontrol ederken zaman sayma işi aksayabilir. Bu gibi olasılıklar her zaman değerlendirilmeli ve sistem güzel bir senaryoya bağlanmalıdır.

zaman saymanın sıhhatli yapılması için timer kesmesi kullanılarak geri planda ve ana programdan etkilenmeyen bir zaman saydırma sistemi seçilmeli ve bu sistem yalnızca bir tek SN sayacını artırmalı. Buna bağlı olarak aktif olan röle sayacları ayrıca artırılmalıdır.

İşin kontrol kısmı çok zaman alan bir iş gibi gözüküyor. Bu nedenle zamanı kısaltmak amacı ile aktif röleler için arı bir değişken (16 bit) kullanılmalı ve tek bir index değişkeni kullanılarak hem aktif olan röle zamanları artırılmalı hem süresi dolan röleler kapatılmalıdır.

Projenin ana hatlarını ve kritik noktalarda olası kod şeklinide gösterdim. Bu söylediklerim bile bu projeyi gerçekleştirmek için yeterli değil. Ancak bu aşamada fazlasınıda söylemek zor. Zira çıkacak zorluklar programın yazım aşamasında değerlendirilip gerekirse algoritma değişikliğine gidilmesi gerekiyor.
Projeyi toparlamak gerekir ise,
Seçilen anahtarlardan aktif rölelerin hesabı bir değişkende tutulmalı. Mesela adı AKTF olan 16 bitlik bir değişkenin ilk 10 biti bu işi kolaylıkla yapabilir.
Seçilmiş anahtarların durumu MEVCUT isimli bir 16 bitlik değişkende tutularak program akışı içinde anahtarlar sürekli okunarak MEVCUT ile karşılaştırılmalı ve farklılık var ise yeni bir rölenin aktive edileceği anlaşılmalıdır. Yeni rölede sonradan MEVCUT a ilave edilerek aynı işlem program akışı içinde tekrarlanmalıdır.
Yeni bir röle aktive edilirken önce Dakika hesabı ve TL hesabı yukardaki şekilde yapılmalı ve TL hesabı hemen PM üzerinden test edilerek yeterli para atıldımı kontrol edilerek ilgili röle aktive edilmelidir.
Sonradan süresi SURE[INDEX] şeklinde hangi röleye ait ise onun numarasını index olarak kullanıp bu değişkene yerleştirilmelidir.
Her Dakika değişiminde
FOR I=0 to 9
  IF DAK=SURE[I] and AKTIF.0[I]=1 THEN ROLEKAPAT
NEXT
şeklinde akrif olupta süresi dolmuş rölelerin kapatılması yapılmalıdır.
Şimdilik bu kadar akıl yeter herhalde. Eksikler çıktıkça sorulmalı ve tamamlanmalıdır.

Ete


ete

Bu proje için bir işlem sırası gerekir. Önce para mı atılıyor yoksa önce hangi sw yi seçecek isem onu seçip sonra mı para atacağım. Bence önce sw seçip ne yapacağımı makinaya bildirmeli sonra işe uygun para adedini atmalıyım diye düşünüyorum.
Şayet önce para atılıp sonra sw seçiliyor ise PM nin low olup olmadığını sürekli kontrol etmek gerekecek.
LOW olmuş ise yeterince adet TL atılmışmı kontrol ettikten sonra basılan sw üzerinden ilgili röle aktif edilip zaman sayacı set edilmeli.

Sıralama bu işte önemli işlem sırasını bildir lütfen.
Ete

gubaz

şöyle anlatayım...

mesela bu cihazın üstünde 2tl ile çalışır yazacak. bunun için zaten elektronik kart üzerindeki TL2ye jumper edip pici buna uyaracak. yine her ücretin kaç dak. olacağınada elektronik kart üzerinde belli edilecek. yani cihaza enerji verildiğinde DK ve TL ayarları değiştirilmeyecek.

adam 2tl atınca PM iki defa low yapacak pimi.
sonra eleman hangi röleyi kullanacaksa onun switch ine bascak. o SW low olacak ve bizim zaman döngümüz kaç dk ise o kadar süre röleyi çekili bırakacak.

dediğiniz gibi adam 1tl attı daha da para atmadı. bi dahaki para atana kadar beklesin. ama bu seferde başka biri gelip 2tl daha atarsa o önceden fazla atılan 1tlyi de yapacak birşey yok.


kudretuzuner

#4
Merhaba,
Burada en büyük sıkıntı atılan paranın gerçek olup olmadığıdır.Para gerçek ise,şöyle çalışan bir tasarım geliştirilebilir.Kısa aralıklarla atılan paraları sayan pic para atımı bittikten belli bir süre bekledikten sonra para gelmeyince kaç adet atıldı ise o röleyi aktif eder.Bence sivice gerek olmadan da çalışabilir.Ete beyin dediği gibi biraz kapsamlı bir projedir.

gubaz

hiç aklımda yokken ve basit geldiği için aldım bu projeyi. halbuki picle yakından uzaktan ilişkim yok tanımıyorum :)

10 adet sw var. bu 10 adet sw 10 farklı çıkılı kontrol ediyor

para mekanizmasını araştırdım. paranın ağırlığına göre onay için low'a çekme yada high'a çekme çıkışları var. yani sahte para derdimiz yok

ete

Para atma ile switchlerin hangisinin basıldığı arasında zaman farkı olursa basılan switchin kaçırılma ihtimali var gibi geliyor bana.
her şeyi gözümüzde canlandıramıyoruz maalesef.

Acaba basılan yada seçilen sw. basılı kalıyormu yoksa para atıldığı anda hem switche basılıp aynı zamanda paramı atılıyor.
Diyelimki açıklamana göre önce para atılıyor. Sonra program bir switche basılmasınımı beklesin yoksa o anda hangi sw basılı ise onumu değerlendirsin?

İşin bu kısmında açıklarsan sevinirim.
Ete

gogoce

usta sen tetelefon şarj istasyonu mu yapmaya çalışıyorsun
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

İlyas KAYA

Alıntı yapılan: gogoce - 24 Temmuz 2015, 17:51:12
usta sen tetelefon şarj istasyonu mu yapmaya çalışıyorsun

Bence de asıl soru bu tarz olmalı. Yani yapılacak sistem nedir ?
Belki en baştan yanlış yoldasınız. Eğer yapılacak olan sistemi bilir isek fikirler çıkacaktır.
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

MS_59

dediğiniz gibi şarj istasyonu galiba ses çıkmadı
mehmet

ete

Evet bu proje bir Şarjmatik projesi. Özel mesajla bana bildirildiği için ben açıklayayım dedim.
İstenenler şunlar;
Sistemde 10 adet anahtar, bir para algılama mekanizması (Para görünce aktif LOW oluyor)
10 adet röle çıkışı mevcut. Diğer detaylar henüz belli değil. Ama bu kadar detayla bile proje yapılabilir nitelikte.
Senaryosu ise şöyle;
- Sistem de 2 adet 3 er pinli dip switch bağlı (PORTC.0-2 Röle Çekme süresi default değer seçimi) ve PORTC.3-5 Atılacak Para adedi seçimi). Bunlarda pinler HIGH da bekliyor low olan aktif oluyor. Örneğin Röle çekme süresinde ;
PORTC.0=0 ise Sure 10 dak.  PORTC.1=0 ise 20 dak. PORTC.2=0 ise 30 dak.
PORTC.3=0 ise 1 adet TL., PORTC.4=0 ise 2 adet TL. PORTC.5=0 ise 3 adet TL atılması gerekecek.
Sistem bu dip switchleri okuyarak default çalışma süresi ile default para adedini bilecek.
- Birisi gelip default para adedi kadar para atıp , 10 adet anahtardan birisini seçer ise  ilgili röle çıkışı aktif edilecek ve default süre çalışmaya başlayacak. Diyelimki 1 nolu anahtar seçilerek 1 nolu röle çıkışı aktif edildi. Bu röle diyelimki 10 dakika sonra otomatik kapanacak.
- Bir röle aktif halde iken diyelimki bir kaç dakika sonra başka birisi para atıp başka bir anahtarı seçer ise bu sefer ona ait röle çekilecek ve yine default süresi kadar bu rölede çekili kalacaktır.
Sonuçta aynı anda veya değişik anlarda 10 ayrı röle aktif edilebilecek ve her biri kendi süreleri kadar çalışıp sonra otomatik kapanacaklar.

Atılacak para adedi birden fazla olabileceği için ve sistemde LCD falan görsel bir eleman olmadığı için atılan para sayısının yeterli seviye ye gelmesi halinde bir ledin yakılması bana göre gerekli. Böylece sisteme boş pinlerden birine (PORTC.7) bir led ilave edilmesi uygun olacaktır.

Sistem 3 adet para gerektiriyor ve 2 adet atılmış ise 3. cü para atılmadan herhangi bir röle çıkışı aktif olmamalıdır. Sistem bir yandan zaman sayarken bir yandan da atılan paraları sayabilmeli ve yeterli para miktarına ulaşınca seçilen röleyi aktif edebilmelidir.

Yeterli para atılmış ve henüz bir anahtar seçilmemiş ise sistem bunu bilmeli ve bir yandan süre sayarken (Mevcut aktif edilmiş röle zamanlarını) bir yandan da bir anahtarın seçilip seçilmediğini kontrol etmelidir.

Aklıma gelen ve olmasıgereken detaylar bunlar.  Olması gerekenler hakkında başka alternatif fikri olan var ise söylesin lütfen.

Aklıma geldi para atma ve anahtar seçme işlemleri ya önce anahtar seçip sonra para atma şeklinde yada önce para atıp sonra anahtar seçme şeklinde de olabilmelidir. Zira bazısı öncen atar sonra tuşa basar bazısı önce tuşa basar sonra parasını atar ve para atılınca tuşu bırakır şeklinde uygulama yapabilir. Elbette önce anahtar seçilmiş ise para atma süreci boyunca anahtar bırakılmamalı ve yeterli para atıldıktan sonra anahtar yada buton her neyse bırakılarak seçim yapılmış olmalıdır.
Öncen para atılıp sonra tuşa basılacak ise yeterli para atıldıktan sonra tuşa basılıp bırakılmalıdır.

Ete

İlyas KAYA

#11
Şimdi daya iyi oldu hocam. Böylece olası senaryolar netleşmiş oldu.

10 ayrı sayaç aynı anda aktif olabilmekte. Hmmm. Biraz kafa karıştırıcı ama bir algoritma çıkartarak çözülmeyecek şey değil.

- Para atılmadan zaten hiç bir işlem yapılmayacağına göre öncelik ile para girişi okunur ve tuşa basması beklenir.
- Eğer önce tuş basıldı ise para atması için uyarı verilir.

Buraya kadar sorun yok sanırım.

Asıl mesele 10 ayrı sayacı aynı anda saydırmak ve start stop sürelerini belirlemek için bir algoritma oluşturmak.

- 10 ayrı sayaç kurulur. 10 ayrı sayacın star biti (işaret) her bir butona atanır.
- Start bitini alan sayaç kendi rolesini çeker ve kendi süresi sonunda kendi rolesini bırakır.

Tek bir döngü içerisinde hepsinin bitmesi gerekecek. Biraz deneme yapayım hazır uykumu almışken.

Ekleme; İşlemci ne kullanıcak onu da belirtirseniz daha iyi olacak.

Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

ete

işlemci 16F877A olacak. Zaten fazlasına gerek yok.

Ete

İlyas KAYA

Tek eksik bişey kaldı hocam. Diyelim ki para attım role çekti. 10 dk açık kalacak.

5 dk sonra tekrar para attım ve aynı butona tekrar bastım. Sure sıfırlanmalımı ? yoksa 10 dk sonra tekrar mı aynı butona basmak gerekecek ?
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

İlyas KAYA

Aşağıdaki kodlarını bir inceleyin. Mantık hataları olabilir ama çalışıyor. Çıkışları daha kısa yoldan buton girişlerine göre de ayarlayabilirdim ancak açık olmasını daha çok seviyorum :)

Atılan para sayısı kadar hak verme işlemi yaptım.
Diyelim 2 paraya ayarlı. Her 2 parada bir 1 hak veriyor. Hak bittiğinde ise yeni eklediğim uyarı ledi yanıp sönüyor.
Bütün program 100 ms gecikme ile çalışıyor ve tek döngü içerisinde bitirildi.
Süre hesaplarını 100ms ve katları olarak yapmak gerekecek.
Butona tekrar basılırsa işlemini yapmadım artık o kadarı da size kalsın :)



'****************************************************************'*  Name    : UNTITLED.BAS                                      *'*  Author  : [select VIEW...EDITOR OPTIONS]                    *'*  Notice  : Copyright (c) 2015 [select VIEW...EDITOR OPTIONS] *'*          : All Rights Reserved                               *'*  Date    : 26.7.2015                                         *'*  Version : 1.0                                               *'*  Notes   :                                                   *'*          :                                                   *'****************************************************************   #CONFIG      __config _XT_OSC & _WDT_ON & _CP_ALL & _LVP_OFF & _PWRTE_ON#ENDCONFIG        Cmcon=7Adcon1=7TRISA=%000000TRISB=%11111111TRISC=%11111111TRISD=%00000000TRISE=%00000111          option_reg.7=0   DEFINE OSC 4   SYMBOL SW1=PORTB.0SYMBOL SW2=PORTB.1SYMBOL SW3=PORTB.2SYMBOL SW4=PORTB.3SYMBOL SW5=PORTB.4SYMBOL SW6=PORTB.5SYMBOL SW7=PORTB.6SYMBOL SW8=PORTB.7SYMBOL SW9=PORTE.0SYMBOL SW10=PORTE.1SYMBOL DK1=PORTC.0SYMBOL DK2=PORTC.1SYMBOL DK3=PORTC.2SYMBOL TL1=PORTC.3          SYMBOL TL2=PORTC.4SYMBOL TL3=PORTC.5SYMBOL PM=PORTC.6           'paramatikten gelen palsSYMBOL RL1=PORTD.0SYMBOL RL2=PORTD.1SYMBOL RL3=PORTD.2SYMBOL RL4=PORTD.3SYMBOL RL5=PORTD.4SYMBOL RL6=PORTD.5SYMBOL RL7=PORTD.6SYMBOL RL8=PORTD.7SYMBOL RL9=PORTA.0SYMBOL RL10=PORTA.1symbol uyar=porta.2PORTA=0PORTB=0PORTC=0PORTD=0TIMER1 VAR WORDTIMER2 VAR WORDTIMER3 VAR WORDTIMER4 VAR WORDTIMER5 VAR WORDTIMER6 VAR WORDTIMER7 VAR WORDTIMER8 VAR WORDTIMER9 VAR WORDTIMER10 VAR WORDADET var bytesure var bytepmkes var bitgirenpara var bytehak var byte    I VAR BYTE        LEDUYAR VAR BIT    LEDSURE VAR BYTE    LEDSAY VAR BYTE        BUTONKES VAR BIT        clearPAUSE 500'FOR I=1 TO 5'UYAR=1'PAUSE 200'UYAR=0'PAUSE 200'NEXT         HAK=0    ' deneme için 50 yapıldı.    basla:sure = (portc & %00000111)       'dip switch oku sureyi hesaplaif sure=0 then sure=1adet=((portc & %00111000) >>3 )+1 ' diwswitch oku adet hesapla   '############################# PARA ATILMALARINI SAY #############if pm=1 then pmkes=0if pm=0 and pmkes=0 then pmkes=1girenpara = girenpara+1if girenpara>=adet then           ' ayarlanan paraya eşitlenince hak verhak=hak+1girenpara=0endifendif'################################################################'##################### PARA ATILMAMIŞ İSE UYARI VER IF PORTB=255 AND PORTE=%011 THEN BUTONKES=0 IF BUTONKES=0 THEN              'BUTONLARA BAK if  SW1=0 OR SW2=0 OR SW3=0 OR SW4=0 OR SW5=0 OR SW6=0 OR SW7=0 OR SW8=0 OR SW9=0 OR SW10=0 THEN BUTONKES=1             if HAK=0 THEN             LEDUYAR=1            ELSE        HAK=HAK-1    IF HAK>200 OR HAK=0 THEN HAK=0    'PORTD = PORTD + (255- PORTB)                      'ÇIKIŞLARI AYARLAIF SW1=0 THEN PORTD.0=1IF SW2=0 THEN PORTD.1=1IF SW3=0 THEN PORTD.2=1IF SW4=0 THEN PORTD.3=1IF SW5=0 THEN PORTD.4=1IF SW6=0 THEN PORTD.5=1IF SW7=0 THEN PORTD.6=1IF SW8=0 THEN PORTD.7=1IF SW9=0 THEN PORTA.0=1IF SW10=0 THEN PORTA.1=1    ENDIF    ENDIFENDIF ' BUTON KES'################## LED YAKIP SÖNDÜR #################IF LEDUYAR=1 THENLEDSURE=LEDSURE+1LEDSAY=LEDSAY+1IF LEDSURE<2 THEN UYAR=1IF LEDSURE>3 THEN UYAR=0IF LEDSURE=5 THEN LEDSURE=0    IF LEDSAY>=10 THEN    LEDSAY=0    LEDSURE=0    LEDUYAR=0    ENDIFENDIF'########################################################################################'portd=sure'###################### ZAMANLAMALAR ###################################' süreler 600 olacak denemek için 60 yaptım 60*100 = 6 sn , 600*100 = 1dk * ayarlanan süreIF RL1=1 THEN TIMER1=TIMER1+1       IF TIMER1=60*SURE THEN       RL1=0       TIMER1=0       ENDIF              ENDIFIF RL2=1 THEN TIMER2=TIMER2+1 IF TIMER2=60*SURE THEN       RL2=0       TIMER2=0       ENDIFENDIFIF RL3=1 THEN TIMER3=TIMER3+1 IF TIMER3=60*SURE THEN       RL3=0       TIMER3=0       ENDIFENDIFIF RL4=1 THEN TIMER4=TIMER4+1 IF TIMER4=60*SURE THEN       RL4=0       TIMER4=0       ENDIFENDIFIF RL5=1 THEN TIMER5=TIMER5+1 IF TIMER5=60*SURE THEN       RL5=0       TIMER5=0       ENDIFENDIFIF RL6=1 THEN TIMER6=TIMER6+1 IF TIMER6=60*SURE THEN       RL6=0       TIMER6=0       ENDIFENDIFIF RL7=1 THEN TIMER7=TIMER7+1 IF TIMER7=60*SURE THEN       RL7=0       TIMER7=0       ENDIFENDIFIF RL8=1 THEN TIMER8=TIMER8+1 IF TIMER8=60*SURE THEN       RL8=0       TIMER8=0       ENDIFENDIFIF RL9=1 THEN TIMER9=TIMER9+1 IF TIMER9=60*SURE THEN       RL9=0       TIMER9=0       ENDIFENDIFIF RL10=1 THEN TIMER10=TIMER10+1 IF TIMER10=60*SURE THEN       RL10=0       TIMER10=0       ENDIFENDIF'#######################################################################pause 100goto baslaend
Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

Powered by EzPortal