 |
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2005
الدولة: ليبيا
المشاركات: 58
|
|
نشاط [ fathiidriss ]
قوة السمعة:0
|
|
02-11-2008, 11:47 AM
المشاركة 4
|
|
['************************************************* ***************
'* Name : auto runing generator.BAS *
'* Author : Fathi Idris *
'* Notice : Copyright (c) 2008 *
'* : All Rights Reserved *
'* Date : 10/18/2008 *
'* Version : .0.0.6 *
'* Notes : LIBYA SHAHAT JABCO *
'* : *
'************************************************* ***************
device 16f84a
xtal 4
dim n1 as byte
dim n2 as byte
dim n3 as word
symbol sensor = porta.0 as bit ; detector for main suply
symbol watter = porta.1 as bit ; sensor or watter level
symbol oil = porta.2 as bit ; sensor for oil presure
symbol fuel = porta.3 as bit ; detector for fuel in tank
symbol reset = porta.4 as bit ; reset switch
symbol runing = portb.0 as bit ; generator runing sensor
symbol m_on = portb.1 as bit ; oil presure indicator lamp
symbol fault = portb.2 as bit ; fault indicator lamp
symbol alarm = portb.3 as bit ; signal alarm
symbol starter = portb.4 as bit ; indicator lamp green
symbol accl = portb.5 as bit ; fuel valve
symbol m = portb.6 as bit ; main suplly contactor
symbol g = portb.7 as bit ; generator contacter output
trisa = $1f
trisb = $01
portb = 0
while 1 = 1
main:
m = 1
m_on = 1
g = 0
if sensor = 1 then
delayms 1000
portb = 0
goto start
else goto main
endif
start:
for n1 = 1 to 3
accl = 1
starter = 1
for n2 = 1 to 5
delayms 1000
next n2
if runing = 1 then goto test_sensor
starter = 0
next n1
fault_run:
portb = 0
fault_run1:
fault = 1
sound alarm, [120,60,110,60,120,60]
toggle fault
delayms 500
if reset = 0 then goto main
goto fault_run1
test_sensor:
starter = 0
accl = 1
for n3 = 1 to 10
delayms 1000
next n3
if fuel = 1 then goto fault_run
if watter = 1 then goto fault_run
if oil = 1 then goto fault_run
delayms 1000
m = 0
delayms 1000
g = 1
m_on = 1
if sensor = 0 then
for n3 = 1 to 60
delayms 1000
next n3
g = 0
delayms 1000
m = 1
m_on = 1
for n3 = 1 to 60
delayms 1000 ; keep generator runing although main suplly come back
next n3 ; here generator is stop runing
accl = 0
goto main
else goto test_sensor
endif
goto main
wend
التعديل الأخير تم بواسطة : fathiidriss بتاريخ 12-08-2009 الساعة 06:54 AM
|