mida 14 ;------------------------------------------------------------- ;Aplicación -> ;Fecha -> ;------------------------------------------------------------- scan equ 99 ;programa principal--------------------------------------- &ini ld scan jz &lea jmp ini10 &lea call &leavar ini10 ld pereon jz ini11 jmp ini21 ini11 call peba movrf peso ;queda ahi hasta que se descargue la plataforma movcf 1 cpgf fin reset luz102 ld inirem jnz ini20 reset pricava ;primera caja reset abor call peba ;peso basico jmp fin ini20 call cava ini21 call pere fin end ;------------------------------------------- ;cava. caja vacia ;aqui cuando se resetea el inirem se sale al basico, ojo!!!!!!!!!!!!!!!!!!!!!! cava nop cava00 reset aboini set procpes ;activa indicador proceso pesado ld inirem ;rechequeo inirem por si se desconecto en lv jz cava20 cava1 ld borre ;PROCESO DE ABORTAR !?!?!?!?!?!? and boton jz cava11 call aborta jmp cavaf cava11 clear ;display caja vacia disl cajvac com 1 clear disl cajvac1 com 2 ld pricava ;pregunta si reconocio primer caja vacia jz cava11b call diba cava11a movrf peso ;ya reconocio caja vacia movrf pemica ;peso minimo de caja cplef cava11a movrf cavafi stof pecaja jmp cavaf cava11b call diba ;es la primera caja vacia que se coloca ld borre ;quiere tarar? jz cava11c call tara ;si tare....poner en cero balanza desocupada cava11c ld boton ;taro manual? jz cava1 ;no.. sigo esperando cava12 ld boton ;se queda aqui hasta que se suelte el boton jnz cava12 set pricava ;indica primer caja vacia movrf peso ;se guarda el peso de la tara!!!!!!!!!!!!!!!! stof pecaja ; tara al lv movrf pecaja stof cavafi call tara ;unica tara se tara la caja jmp cavaf cava20 set aboini ;....se desconecto del lv!!! cavaf ret ;--------------------------------------------- ;pere. pesado de unidades pere ld pereon jnz pere2 clear ;inidades en display disl uni com 1 clear disri unipes 4 com 2 call diba movrf pesunii ;valor de peso de uni con tolerancias movif unitol mulf movcf 100 divf stof peunto ;valor del porcentaje del peso movrf pesunii ;peso mayor con tolerancia movrf peunto addf stof peunmax movrf pesunii ;peso menor con tolerancia movrf peunto subf stof peunmin pere2 set pereon ld borre ;PROCESO DE ABORTAR !?!?!?!?!?!? and boton jz pere21 pere20 call aborta jmp peref pere21 call diba ld punref jz pere22 movrf peso movcf 1.2 ;1200 gramos cpgf pere22 ;si el peso sobre la vascula es menor de 1.2Kg suena la alarma set luz103 ;enciende luz roja pere22 movrf peso ;el peso es menor al de tole? movrf peunmin cplf pere3 movrf peso ;el peso en mayor al de tole? movrf peunmax cpgf pere4 jmp pere5 pere3 set led123 ;peso por debajo enciende led y queda en loop !!!!!!!!!!!!!!!! reset led121 reset led122 reset luz102 jmp peref pere4 set led121 ;peso por encima enciende led y queda en loop !!!!!!!!!!!!!!! reset led122 reset luz102 reset led123 jmp peref pere5 call diba reset led121 ;enciende el led del centro set led122 set luz102 set punref reset led123 ld boton jz peref ;en loop mientras boton!!!!!!!!!!!!!!!!!!! set luz102 ;enciende luz verde que permite sacar caja reset punref reset luz103 movrf peso ;peso de referencia de # unidades stof peret ;PESO FINAL SOBRE LA BALANZA !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! movrf peref stof pefuni ;para enviarlo al lv movif unicaj stof unidado ;simplemente se transcribe la info de unidades en caja al lv set fincaj ;activa rele fin de caja reset pereon call dili peref ret ;----------------------------------------- ;peba peso basico en display peba nop ink borre ;si borre tare jz peba10 func 7 pesota peba10 call diba ;display basico ld izqui and tenter jz pebaf call menu ;si.... pebaf ret ;--------------------------------------------------- ;diba display basico diba nop clear disrf peso 42 com 0 dibaf ret ;---------------------------------------------- ;menu. calibracion, configuracion, estabilidad menu nop clear ;muestra aviso menu disl men com 0 clear ;muestra aviso c/e disl ec com 1 ld tenter ;se oprime cualquier tecla? or borre or arriba or izqui jz menu ;sino... se queda en loop ld borre ;oprimo borre? jnz menu10 jmp menu20 menu10 clear com 0 clear com 1 clear com 2 jmp menuf ;si....se salio a peba menu20 ld tenter ;oprime enter? jnz menu30 jmp menu40 menu30 func 8 0 ;si....calibra jmp menu menu40 ld arriba ;oprime arriba? and izqui ;y izqui jnz menu50 jmp menu menu50 func 9 0 ;si...parametriza jmp menu menuf ret ;------------------------------------------------- ;aborta aborta set abor reset procpes reset punref reset luz103 clear com 1 clear com 2 abortaf ret ;-------------------------------------- ;dili. display llenado de cajas listo dili nop ;peso actual clear disrf peso 43 com 0 clear ;unidades actuales disl cajvac com 1 clear disl listo com 2 dilif 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 2 setri temtie 10 call tempo clear disrf peso 42 com 0 taratf ret ;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] boton equ 1 ;entrada 1 boton externo tenter equ 30 borre equ 31 arriba equ 32 izqui equ 33 luz102 equ 102 ;luz verde del semaforo,indica caja aceptada luz103 equ 103 ;luz roja del semaforo, caja no aceptada led118 equ 119 ;rojo en merck y verde en protabaco led121 equ 121 ;led de peso unidades control bajo en pere led122 equ 122 ;led de peso unidades control bien en pere led123 equ 123 ;led de peso unidades control alto en pere temaux1 equ 150 ;aux en tempo temaux2 equ 151 inirem equ 301 ;inicia pesado en ppal del lv fincaj equ 302 ;fin caja al lv abor equ 303 ;abortar procpes equ 304 ;proceso de pesado activo aboini equ 305 ;reinicio proceso pesado pricava equ 307 ;indica caja vacia reconocida punref equ 308 ;punto de referencia para identificar si no se pulsa boton pereon equ 309 ;bandera de pesado de caja habilitada ;[REG_INTEGERS] rerror equ 131 ;registro de errores temtie equ 150 ;tiempo en tempo pesota equ 153 ;en este reg. esta el # balanza a tarar unitol equ 300 ;tolerancia peso referencia del lv unipes equ 301 ;# unidades a controlar del lv unicaj equ 302 ;# unidades en caja del lv pesobru2 equ 303 guaerro equ 309 ;registros de guardar errores guaerro0 equ 313 guaerro1 equ 314 guaerro2 equ 315 guaerro3 equ 316 guaerro4 equ 317 guaerro5 equ 318 guaerro6 equ 319 guaerro7 equ 320 pro1 equ 310 ;nombre producto del lv ;[REG_FLOATS] peso equ 0 ;peso del canal numcaji equ 100 ;# de caja del lv pesunii equ 101 ;peso de unidades a controlar de lv numcajo equ 105 ;# de caja al lv pefuni equ 106 ;peso neto al lv pecaja equ 107 ;peso tara al lv unidado equ 108 ;# unidades en caja al lv pesobru equ 109 ;peso bruto de la caja pesobru1 equ 110 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 peret equ 123 ;peso de referencia de # unidades en pere pereu equ 124 ;peso de referencia por unidad en pere unac equ 125 ;unidades sobre la balanza en peca unicon equ 126 ;unidades de control a mostrar en peca cavafi equ 127 ;peso de caja vacia pemica equ 128 ;peso minimo de caja vacia taramen equ 129 ;tole menor de tara ej. -0.01 en tara taramas equ 130 ;tole mayor tara ej. 0.01 en tara ;[TIM] timtem equ 48 ;temporizador en tempo ;[CNT] ;[NOP] ;[TEXTOS] men lite "nenu" ;menu ec lite "E/C" ;menu cajvac lite "caja" ;cava cajvac1 lite "vaci" ;cava tare lite "tare" ;cava manu lite "menu" ;cava uni lite "unid" ;pere listo lite "list" ;dili saldl lite "sald" ;disa plat lite "plat" ;cava ;inicio variables reset pereon setri 127 70 setri pesota 0 ;registro de balanza movcf 0.01 ;max y min de tarado stof taramas ;en tara movcf -0.01 stof taramen movcf -0.04 stof pemica ;peso que debe haber el la vascula para aceptar caja vacia movci 1 ;estado para pruebas locales movri 1100 cpei leavara jmp &leavarf leavara setri 300 2 setri 301 50 setri 302 50 movcf 1.4 stof 101 ret &leavarf ret ;----------------------------------------------- INICIO nop FIN end