mida 14 ;------------------------------------------------------------- ;Aplicación -> CEMENTERA MIDA 1 ;Fecha -> JUNIO 4 2009 ;------------------------------------------------------------- scan equ 99 &ini ld scan jz &lea jmp INICIO &lea call &leavar INICIO nop LD inipes ;inicia pesado agregados desde LV jz ini1 call pesar ;rutina proceso de pesado ini1 ld inipul ;inicia contador pulsos desde LV jz ini2 call puls ;rutina proceso de conteo de pulsos ini2 call peba ;peso basico call mezcl ;verifico la apertura de tolva de la mezcla FIN end ;-------------------------------------------------------------- ;pesar._____________rutina proceso de pesar iniciado________________ pesar nop ld pesini ;TARA SOLO PRIMERA VEZ jnz pes1 pes0 set pesini set led119 reset finpes call tara ;tarar la bascula ld 1tara ;guarda peso referencia antes de los 3 agregados jz pes1 movcf 0.1 ;tolerancia de 0.1 movif conver addf stof refpes ;peso referencia para descontar las taras pes1 movrf agrep stof setpo ;defino setpoint movrf setpo movcf 10 divf stof diez ;defino diez % de llenado movrf setpo movcf 100 divf movrf tollv ;tolerancia de LV mulf stof toler ;defino 1 % de llenado clear disri nagre 4 com 2 clear disl tagre com 1 movri nagre movci 1 cpei bach11 movri nagre movci 2 cpei bach22 movri nagre movci 3 cpei bach33 jmp bachp bach11 call diba ;peso basico set tolv1 ;control tolva1 on reset tolv2 ;control tolva2 off reset tolv3 ;control tolva3 off reset tolvp ;control tolvap off set 1tara movrf setpo movrf peso subf stof error ;obtengo el error ld parolv jnz bachp ;termina si se finalizo desde LV ld paro jnz bachp ;termina si paro local movrf error movrf diez cpgef bachff ;si error>10% continua llenando o docifica call diba ;peso basico call 1seg reset tolv1 ld parolv jnz bachp ;termina si se finalizo desde LV ld paro jnz bachp ;termina si paro local call diba ;peso basico call 1seg movrf error movrf toler cpgef bachff ;si error<1% termina llenando reset tolv1 ;control tolva1 off set finpes reset pesini reset inipes reset led119 jmp bachff bach22 call diba ;peso basico reset tolv1 ;control tolva1 off set tolv2 ;control tolva2 on reset tolv3 ;control tolva3 off reset tolvp ;control tolvap off movrf setpo movrf peso subf stof error ;obtengo el error ld parolv jnz bachp ;termina si se finalizo desde LV ld paro jnz bachp ;termina si paro local movrf error movrf diez cpgef bachff ;si error>10% continua llenando o docifica call 1seg call diba ;peso basico reset tolv2 ld parolv jnz bachp ;termina si se finalizo desde LV ld paro jnz bachp ;termina si paro local call 1seg call diba ;peso basico movrf error movrf toler cpgef bachff ;si error<1% termina llenando reset tolv2 ;control tolva2 off set finpes reset pesini reset inipes reset led119 jmp bachff bach33 call diba reset tolv1 ;control tolva1 off reset tolv2 ;control tolva2 off set tolv3 ;control tolva3 on reset tolvp ;control tolvap off movrf setpo movrf peso subf stof error ;obtengo el error ld parolv jnz bachp ;termina si se finalizo desde LV ld paro jnz bachp ;termina si paro local movrf error movrf diez cpgef bachff ;si error>10% continua llenando y docifica call 1seg call diba reset tolv3 movrf error movrf toler cpgef bachff ;si error<1% termina llenando reset tolv3 ;control tolva3 off set finpes reset pesini reset inipes reset led119 reset 1tara jmp bachff bachp reset tolv1 ;control tolva1 off reset tolv2 ;control tolva2 off reset tolv3 ;control tolva3 off reset tolvp ;control tolvap off reset impini reset inipes reset inipul reset pesini reset led119 movci 0 stoi nagre clear com 1 clear com 2 call 1seg bachff ret ;-------------------------------------------------------------- ;puls._____________rutina de conteo de pulsos iniciado________________ puls nop call diba clear disri inpul 4 ;vizualiso N. impulsos com 2 set adi1 ;valvula aditivo 1 on reset led125 set led126 ;conteo bajo set impini reset finpul ld parolv jnz pulsf ;termina si se finalizo desde LV ld paro jnz pulsf ;termina si paro local movri inpul movri oadi1 cpgei pulsf ;si N· impulsos in 4 es igual a N· jmp pulsff ;pulsos de aditivo 1 cierra valvula aditivo 1 pulsf reset adi1 ;CIERRA VALVULA ADITIVO 2 set led125 ;conteo OK reset led126 reset impini reset inipul set finpul movci 0 stoi inpul clear com 2 pulsff ret ;------------------------------------------ ;-------------------------------------------------------------- ;mezcl.____________________rutina apertura tolva mezcla_____________________ mezcl nop ld fnbach jnz mezcf ld tolmr ;Verifico estado tolva mescla jz mezcf mezc1 call diba ld tolmr jnz mezc1 reset fnbach clear com 1 clear com 2 mezcf ret ;-------------------------------------------------------------- ;peba. peso basico y entrada a menu peba nop ink borre ;si clear tare jz peba10 func 7 pesota peba10 call diba ;display basico ld izqui jz pebaf peba11 clear ;password de calibracion disl pasw com 1 clear com 2 call 1seg ini 1 stoi psste movci 1234 movri psste cpei peba12 jmp peba11 peba12 call menu ;si.... pebaf ret ;--------------------------------------------- ;diba. display basico solo el peso en com 0 diba nop diba1 movrf peso movcf 300 cplf diba2 ;si peso es muy alto visualiza lineas O MUY BAJO clear disl lineas com 0 jmp dibaf diba2 movrf peso movcf -2 cpgf diba3 clear disl lineas com 0 jmp dibaf diba3 clear disrf peso 42 com 0 dibaf ret ;----------------------------------------------- ;menu. calibracion, configuracion menu nop clear ;muestra aviso menu disl men com 0 clear ;muestra aviso c/e disl ec com 1 ink enter ;enter para entrar a calibracion jnz menu20 ;sino... se queda en loop ink borre ;oprimo clear? jnz menu10 ink arriba ;oprime arriba? and izqui ;y izqui jnz menu30 jmp menu menu10 clear com 0 clear com 1 clear com 2 jmp menuf ;si....se salio a peba menu20 func 8 0 ;si....calibra jmp menu menu30 func 9 0 ;si...parametriza jmp menu menuf ret ;------------------------------------------ ;temporizador tiempos 1 seg 1seg setri temseg 4 reset temaux3 reset temaux4 1seg1 ld temaux3 timr timseg temseg out temaux4 set temaux3 ld temaux4 jz 1seg1 1segf ret ;------------------------------------------ ;tara. tarado automatico entre tolerancias ;param. taramen=tolerancia menor, taramas=tole mayor tara movrf peso movrf taramen cplf tara1 movrf peso movrf taramas cpgf tara1 jmp taraf tara1 call tarat jmp tara taraf ret tarat func 7 pesota clear disl tare com 0 setri temtie 10 call tempo clear disrf peso 42 com 0 taratf ret ;--------------------------------------- ;tempo. temporizador generico para tiempos cortos ;parametros: temtie=registro valor de tiempo tempo reset temaux1 reset temaux2 tempo1 ld temaux1 timr timtem temtie out temaux2 set temaux1 ld temaux2 jz tempo1 tempof ret ;------------------------------------------ ;------------------------------------------ &leavar ;[REG_RELAYS] tolr3 equ 0 ;in retroalimenta tolva 3 paro equ 1 ;in parada de emergencia tolr1 equ 2 ;in retroalimenta tolva 1 tolr2 equ 3 ;in retroalimenta tolva 2 adir1 equ 4 ;in retroalimenta valvula aditivo 1 tolrp equ 5 ;in retroalimenta tolva principal IN6 equ 6 enter equ 30 borre equ 31 arriba equ 32 izqui equ 33 tolv1 equ 100 ;control tolva 1 tolv2 equ 101 ;control tolva 2 tolv3 equ 102 ;control tolva 3 tolvp equ 103 ;control tolva p adi1 equ 104 ;control valvula aditivo 1 0UTDIG6 equ 105 ; led118 equ 118 ;led 1 led119 equ 119 ;2 indicador de inicio remoto led120 equ 120 ;3 indicador de procesomanual led121 equ 121 ;led 4 led122 equ 122 ;led 5 led123 equ 123 ;led 6 led124 equ 124 ;led 7 led125 equ 125 ;led 8 conteo realizado led126 equ 126 ;led 9 conteo el proceso temaux1 equ 150 ;aux en tempo temaux2 equ 151 temaux3 equ 153 ;aux en tempo temaux4 equ 154 inipes equ 900 ;inicio pesado desde LV inipul equ 901 ;inicio conteo pulsos desde LV finpes equ 902 ;indica fin de pesado finpul equ 903 ;indica fin de conteo pesini equ 904 ;si esta pesando en proceso cmtof equ 905 ;indica que termino de pesar cemento mida 2 Y LV impini equ 906 ;indica impulsos de aditivo esta en proceso parolv equ 907 ;indica parada emer desde LV fnbach equ 908 ;rele de fin de bache defoul 1 si LV lo pasa a cero verifico apertura ;de puerta tolva mezcla, al cerrar tolva lo retorno a cero optlp equ 909 ;defoul 1 LV si es 0 abro tolp hasta peso cero y rel 909 dejo 1 1tara equ 910 ;tara 1 realizada ;[REG_INTEGERS] inpul equ 104 ;contador total impulsos conver equ 110 ;peso de convercion temtie equ 150 ;tiempo en tempo temseg equ 151 ;tiempo en tempo pesota equ 153 ;en este reg. esta el # balanza a tarar psste equ 304 ;clave introducida por teclado nagre equ 305 ;N· de agregado padi1 equ 311 ;N· pulsos por aditivo oadi1 equ 312 ;N· pulsos objeto aditivo 1 de LV ;[REG_FLOATS] peso equ 0 ;peso del canal peunto equ 120 ;peso =/- de la tolerancia unidades en pere peunmax equ 121 ;peso maximo permitido de unidades en pere peunmin equ 122 ;peso minimo permitido de unidades en pere taramen equ 127 ;tole menor de tara ej. -0.01 en tara taramas equ 128 ;tole mayor tara ej. 0.01 en tara agrep equ 129 ;peso de agregado a pesar de LV setpo equ 132 ;setpoint para pesar agragados error equ 133 ;resultado de resta peso-setpoin diez equ 134 ;diez % del setpoint toler equ 135 ;toler % del setpoint tollv equ 136 ;tolerancia de LV refpes equ 137 ;peso real tara ;[TIM] timtem equ 48 ;temporizador en tempo timseg equ 49 ;temporizador un seg ;[CNT] ;[NOP] ;[TEXTOS] bache lite "bach" ;bache lineas lite "-----" ;lineas de sobre +-peso men lite "nenu" ;menu ec lite "E/C" ;opcion enter o clear tare lite "tare" ;tarar manua lite "manu" ;forma munual pasw lite "PSS" tagre lite "agre" tagre2 lite "agr2" tagre3 lite "agr3" ;------------------------------------------------- &leavarf ret ;-----------------------------------------------