-JR-
01-26-2007, 02:17 PM
First timmer here...· For some unknown reason to me the output alias'es work but the input ones do not.· I am asuming that I am dealing with an default setup issue, why outputs work.
If I ask it to debug in0, it does say that it =1, but my ACFAIL alias returns nothing, why?
Here is a snippit of my code... ?see anything?
' {$STAMP BS2}
' {$PBASIC 2.5}
'Variables
Throttle·· VAR Word··· 'Range 500CW --> 1000CCW
Genspeed·· VAR Word··· 'ACTUAL ROTATION SPEED IN 0.5HZ
GENSETSPD· VAR Word··· 'DESIRED DISTRIBUTOR FREQ IN HZ
Cranktry·· VAR Byte··· 'NUMBER OF CRANKING TRIES
DURADJ···· VAR Word··· 'SAMPLE PERIOD FOR ENGINE SPEED IN MSEC (MUST BE GREATER THAN 1)
GENSPDD··· VAR Word··· 'THIS VALUE IS DOUBLE GENSPEED
'Constants
'Inputs / Outputs
'····· (LOW = Active state FOR inputs AND Deactive FOR outputs, unless otherwise noted)
· ACFAIL······· CON 0·· 'INPUT··· Detects AC failure
· COLDSTARTDET· CON 1·· 'INPUT··· Detects IF this is a cold start condition
· SPEEDSEN····· CON 2·· 'INPUT
· OVERTEMP····· CON 3·· 'INPUT
· OILPRESS····· CON 4·· 'INPUT
· OVERVOLT····· CON 5·· 'INPUT
· OVERAMP······ CON 6·· 'INPUT
· SHUTDOWN····· CON 7·· 'INPUT
· FAULT········ CON 8·· 'OUTPUT
· CHOKE········ CON 9·· 'OUTPUT
· IGNITION····· CON 10· 'OUTPUT
· STARTER······ CON 11· 'OUTPUT
· THROTSRVO···· CON 12· 'OUTPUT
· MAINCUT······ CON 13· 'OUTPUT
· ACPULLIN····· CON 14· 'OUTPUT
'BEING ROUTINE….
DO
DEBUG CLS
DEBUG 13, "THE CONTROLLER IS ONLINE"
PAUSE 3000
'ENVIROMENTAL SETUP
THROTTLE = 1000························ 'SETS THROTTLE FULL COUNTER CLOCKWISE, 0% THROTTLE
PULSOUT 13, THROTTLE··················· 'SETS PIN 13 FOR SERVO PWM CONTROL
DURADJ = 500··························· 'SETS POLLING PERIOD IN MSEC FOR COUNTING
GENSETSPD = 1050······················· 'SETS DESIRED DISTRIBUTOR FREQ IN HZ
INPUT·· 0············· 'ACFAIL
INPUT·· 1············· 'COLDSTARTDET
INPUT·· 2············· 'SPEEDSEN
INPUT·· 3············· 'OVERTEMP
INPUT·· 4············· 'OILPRESS
INPUT·· 5············· 'OVERVOLT
INPUT·· 6············· 'OVERAMP
INPUT·· 7············· 'SHUTDOWN
OUTPUT· 8············· 'FAULT
OUTPUT· 9············· 'CHOKE
OUTPUT· 10············ 'IGNITION
OUTPUT· 11············ 'STARTER
OUTPUT· 12············ 'THROTSRVO
OUTPUT· 13············ 'MAINCUT
OUTPUT· 14············ 'ACPULLIN
DEBUG 13, ? IN0····· '<-- DEBUGS IN0=1
DEBUG 13, ? ACFAIL·· '<-- DOESN'T DEBUG ANY INFO
'INITIALIZATION FAULT CHECKS
· IF OVERTEMP = 0 THEN HIGH FAULT
· IF OVERTEMP = 0 THEN DEBUG 13, "OVER TEMP ALARM"
· IF SHUTDOWN = 0 THEN HIGH FAULT
· IF SHUTDOWN = 0 THEN DEBUG 13, "SHUTDOWN OVERRIDE ENABLED"
· IF FAULT = 1 THEN GOTO FAULTDET
· GOTO DETECTION
FAULTDET:
· DEBUG CRSRXY, 0, 14, "GENERATOR OFFLINE DUE TO FAULT"
· DEBUG CRSRXY, 0, 15, "SYSTEM HALTED UNTIL CONDITION CORRECTED"
· PAUSE 1000
· DEBUG CLREOL, CRSRXY, 0, 14
· DEBUG CLREOL, CRSRXY, 0, 15
· PAUSE 1000
· GOTO FAULTDET
DETECTION:
· DEBUG CRSRXY, 0, 4, "NOW WATCHING FOR AC POWER FAIL"
· PAUSE 2000
· IF ACFAIL = 1 THEN DEBUG CLREOL, CRSRXY, 0, 5, "AC POWER IS NOW ON·································· "
· IF ACFAIL = 0 THEN DEBUG CLREOL, CRSRXY, 0, 5, "AC FAIL! WAITING 30SEC FOR HYDRO TO RESTORE"
· IF ACFAIL = 0 THEN PAUSE 20000·········· 'SETS DEBOUNCE WAIT TIME
· IF ACFAIL = 0 THEN DEBUG CLREOL, CRSRXY, 0, 5, "RECHECKING IN 10SEC··························· "
· IF ACFAIL = 0 THEN PAUSE 10000
· IF ACFAIL = 0 THEN GOTO CONTINUE··········· 'DECIDES IF AC FAIL IS LEGIT
· GOTO DETECTION·························· 'LOOPS THE DETECTION
· CONTINUE:
··· DEBUG CLS, "END OF CONDITIONS"
··· END
· LOOP
Thanks so much!
-JR-
·
If I ask it to debug in0, it does say that it =1, but my ACFAIL alias returns nothing, why?
Here is a snippit of my code... ?see anything?
' {$STAMP BS2}
' {$PBASIC 2.5}
'Variables
Throttle·· VAR Word··· 'Range 500CW --> 1000CCW
Genspeed·· VAR Word··· 'ACTUAL ROTATION SPEED IN 0.5HZ
GENSETSPD· VAR Word··· 'DESIRED DISTRIBUTOR FREQ IN HZ
Cranktry·· VAR Byte··· 'NUMBER OF CRANKING TRIES
DURADJ···· VAR Word··· 'SAMPLE PERIOD FOR ENGINE SPEED IN MSEC (MUST BE GREATER THAN 1)
GENSPDD··· VAR Word··· 'THIS VALUE IS DOUBLE GENSPEED
'Constants
'Inputs / Outputs
'····· (LOW = Active state FOR inputs AND Deactive FOR outputs, unless otherwise noted)
· ACFAIL······· CON 0·· 'INPUT··· Detects AC failure
· COLDSTARTDET· CON 1·· 'INPUT··· Detects IF this is a cold start condition
· SPEEDSEN····· CON 2·· 'INPUT
· OVERTEMP····· CON 3·· 'INPUT
· OILPRESS····· CON 4·· 'INPUT
· OVERVOLT····· CON 5·· 'INPUT
· OVERAMP······ CON 6·· 'INPUT
· SHUTDOWN····· CON 7·· 'INPUT
· FAULT········ CON 8·· 'OUTPUT
· CHOKE········ CON 9·· 'OUTPUT
· IGNITION····· CON 10· 'OUTPUT
· STARTER······ CON 11· 'OUTPUT
· THROTSRVO···· CON 12· 'OUTPUT
· MAINCUT······ CON 13· 'OUTPUT
· ACPULLIN····· CON 14· 'OUTPUT
'BEING ROUTINE….
DO
DEBUG CLS
DEBUG 13, "THE CONTROLLER IS ONLINE"
PAUSE 3000
'ENVIROMENTAL SETUP
THROTTLE = 1000························ 'SETS THROTTLE FULL COUNTER CLOCKWISE, 0% THROTTLE
PULSOUT 13, THROTTLE··················· 'SETS PIN 13 FOR SERVO PWM CONTROL
DURADJ = 500··························· 'SETS POLLING PERIOD IN MSEC FOR COUNTING
GENSETSPD = 1050······················· 'SETS DESIRED DISTRIBUTOR FREQ IN HZ
INPUT·· 0············· 'ACFAIL
INPUT·· 1············· 'COLDSTARTDET
INPUT·· 2············· 'SPEEDSEN
INPUT·· 3············· 'OVERTEMP
INPUT·· 4············· 'OILPRESS
INPUT·· 5············· 'OVERVOLT
INPUT·· 6············· 'OVERAMP
INPUT·· 7············· 'SHUTDOWN
OUTPUT· 8············· 'FAULT
OUTPUT· 9············· 'CHOKE
OUTPUT· 10············ 'IGNITION
OUTPUT· 11············ 'STARTER
OUTPUT· 12············ 'THROTSRVO
OUTPUT· 13············ 'MAINCUT
OUTPUT· 14············ 'ACPULLIN
DEBUG 13, ? IN0····· '<-- DEBUGS IN0=1
DEBUG 13, ? ACFAIL·· '<-- DOESN'T DEBUG ANY INFO
'INITIALIZATION FAULT CHECKS
· IF OVERTEMP = 0 THEN HIGH FAULT
· IF OVERTEMP = 0 THEN DEBUG 13, "OVER TEMP ALARM"
· IF SHUTDOWN = 0 THEN HIGH FAULT
· IF SHUTDOWN = 0 THEN DEBUG 13, "SHUTDOWN OVERRIDE ENABLED"
· IF FAULT = 1 THEN GOTO FAULTDET
· GOTO DETECTION
FAULTDET:
· DEBUG CRSRXY, 0, 14, "GENERATOR OFFLINE DUE TO FAULT"
· DEBUG CRSRXY, 0, 15, "SYSTEM HALTED UNTIL CONDITION CORRECTED"
· PAUSE 1000
· DEBUG CLREOL, CRSRXY, 0, 14
· DEBUG CLREOL, CRSRXY, 0, 15
· PAUSE 1000
· GOTO FAULTDET
DETECTION:
· DEBUG CRSRXY, 0, 4, "NOW WATCHING FOR AC POWER FAIL"
· PAUSE 2000
· IF ACFAIL = 1 THEN DEBUG CLREOL, CRSRXY, 0, 5, "AC POWER IS NOW ON·································· "
· IF ACFAIL = 0 THEN DEBUG CLREOL, CRSRXY, 0, 5, "AC FAIL! WAITING 30SEC FOR HYDRO TO RESTORE"
· IF ACFAIL = 0 THEN PAUSE 20000·········· 'SETS DEBOUNCE WAIT TIME
· IF ACFAIL = 0 THEN DEBUG CLREOL, CRSRXY, 0, 5, "RECHECKING IN 10SEC··························· "
· IF ACFAIL = 0 THEN PAUSE 10000
· IF ACFAIL = 0 THEN GOTO CONTINUE··········· 'DECIDES IF AC FAIL IS LEGIT
· GOTO DETECTION·························· 'LOOPS THE DETECTION
· CONTINUE:
··· DEBUG CLS, "END OF CONDITIONS"
··· END
· LOOP
Thanks so much!
-JR-
·