les 7 cascade nst

;Besturings formule start, A uit B uit A in B in (monostabiel)
;                               

Device 16F628A          ; chipke zijne naam
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE                   ; alle in en uitgangen zijn digitaal


Symbol AAN    = 0        ; geinverteerd aan (aan gnd)
Symbol UIT    = 1        ; geinverteerd uit (aan gnd)
Symbol timer = 3000    ; 3 seconden
; uitgangen
Symbol cila    = PORTA. 0 ; cilinder a monostabiel
Symbol cilb    = PORTA. 1 ; cilinder b monostabiel

;ingangen
Symbol start= PORTB. 0 ; start
Symbol a0    = PORTB. 1 ; signaalgever a0
Symbol a1    = PORTB. 2 ; signaalgever a1
Symbol b0   = PORTB. 3 ; signaalgever b0
Symbol b1   = PORTB. 4 ; signaalgever b1
Symbol nst  = PORTB. 7 ; noodstop verbreker
; variabelen declareren
Dim flag1 As Bit
Dim flag2 As Bit
PORTB_PULLUPS On       ; interne weerstanden aan voor schakelen naar gnd
Clear                  ; wis ram geheugen
; start waarde geheugens
flag1=0
flag2=0
While 1 = 1            ; loop

If nst = 1 Then                  ; noodstop en noodstopvoorwaarden
Low cila
Low cilb
flag1=0
flag2=0
EndIf

If start = AAN And flag2=0 And flag1=0 And nst = AAN Then
flag1=1
EndIf

If flag1=1 And a0 = AAN And b0 = AAN And nst = AAN Then
High cila
EndIf
 
If flag1=1 And a1 = AAN And nst = AAN Then
High cilb
EndIf

If flag1 And b1=AAN And nst=AAN Then
flag1=0
flag2=1
EndIf

If flag2=1 And nst = AAN Then
Low cila
EndIf

If flag2=1 And a0=AAN And nst = AAN Then
Low cilb
flag2=0
EndIf

Wend                    ; einde loop
End