diff --git a/common/utils/filetracker.hpp b/common/utils/filetracker.hpp index a9a1d846..62054ffa 100644 --- a/common/utils/filetracker.hpp +++ b/common/utils/filetracker.hpp @@ -97,6 +97,11 @@ class FileTracker } return *this; } + std::string name() + { + return name_; + } + private: mutable FILE* file_; std::string name_; diff --git a/ldmicro/CHANGES.txt b/ldmicro/CHANGES.txt index 6e38bb87..a36678c1 100644 --- a/ldmicro/CHANGES.txt +++ b/ldmicro/CHANGES.txt @@ -1,3 +1,15 @@ +== Release 5.4.0.2 + + * Fixed Microchip PIC16F887 44-TQFP UART, ISP,I2C pins. + + * Fixed Quad Encoder Output dialog Dir pin name. + + * Fixed Atmel AVR ATmega32U4 pins mapping for Arduino. + + * Fixed Spanish locale. Thank you very much, Paulino Cano. + lang-es.txt, manual-es.txt updated. + + == Release 5.4.0.1 String type support * Added diff --git a/ldmicro/iolist.cpp b/ldmicro/iolist.cpp index c9fae0df..0215d05d 100644 --- a/ldmicro/iolist.cpp +++ b/ldmicro/iolist.cpp @@ -909,7 +909,8 @@ bool LoadIoListFromFile(FileTracker &f) type = IO_TYPE_MODBUS_HREG; break; default: - oops(); + Warning(_("Line\n'%s'\nis skipped in IO LIST section from '%s'"), strspace(line), f.name()); + continue; } } char *s = strstr(line, " at "); diff --git a/ldmicro/lang-es.txt b/ldmicro/lang-es.txt index 3ec28168..51e71361 100644 --- a/ldmicro/lang-es.txt +++ b/ldmicro/lang-es.txt @@ -1,912 +1,969 @@ -" Name | Type | Pin\n" -" Nombre | Tipo | Pin\n" - " Name | Type | Pin | Port | Pin name\n" " Nombre | Typo | Pin | Port | Nombre \n" -"Pin#: MCU pin name: Arduino pin name:" -"Pin#: MCU pin nombre: Arduino pin nombre:" +" Name | Type | Pin\n" +" Nombre | Tipo | Pin\n" " - (not yet saved)" -" - (no guardado an)" +" - (no guardado aun)" + +" PASCAL target does not support peripherals (UART, PWM, ADC, EEPROM). Skipping that instruction." +" El objetivo PASCAL no es compatible con periféricos (UART, PWM, ADC, EEPROM). Saltarse esa instrucción." + +" SPI: Sending too many chars in one cycle may cause timing issues" +" SPI: Enviar demasiados caracteres en un ciclo puede causar problemas de tiempo" + +" \tNow not used !!!" +" \tNow no se usa!" "!!!too long!!!" "!!Muy grande!!" -"&File" -"&Archivo" - -"&New\tCtrl+N" -"&Nuevo\tCtrl+N" +"%030lld=TicksPerCycle\n%030lld=In fact\n" +"%030lld=TicksPerCycle\n%030lld=De hecho\n" -"&Open...\tCtrl+O" -"&Abrir...\tCtrl+O" +"%s=%d: out of range for 8bits target" +"%s=%d: fuera del rango para el objetivo de 8 bits" -"Open ld in notepad\tF4" -"Abrir ld en notepad\tF4" +"%sPLC cycle deviation is %.3f %%%% !" +"La desviacion del ciclo de %sPLC es %.3f %%%%!" -"Open hex in notepad\tAlt+F6" -"Abrir hex en notepad\tAlt+F6" +"%s\n\nAcceleration time=%.3f %s" +"%s\n\nTiempo de aceleracion=%.3f%s" -"Open asm in notepad\tAlt+F3" -"Abrir asm en notepad\tAlt+F3" +"&About..." +"&Acerca de..." -"Open c in notepad" -"Abrir c en notepad" +"&Compile" +"Compilar" -"Open pas in notepad" -"Abrir pas en notepad" +"&Compile\tF5" +"Compilar\tF5" -"Open ino in notepad" -"Abrir ino en notepad" +"&Copy Rungs\tCtrl+C or Ctrl+Insert" +"Copiar Lineas\tCtrl+C o Ctrl+Insert" -"Open pl in notepad\tAlt+F5" -"Abrir pl en notepad\tAlt+F5" +"&Delete Selected Element\tDel" +"&Borrar Elemento Seleccionado\tSupr" -"Open Text in notepad\tF3" -"Abrir texto en notepad\tF3" +"&Edit" +"&Editar" -"Explore ld directory" -"Explorar directorio ld" +"&Export As Text...\tCtrl+E" +"Exportar a Texto...\tCtrl+E" -"&Save\tCtrl+S or F2" -"&Guardar\tCtrl+S o F2" +"&File" +"&Archivo" -"Save &As..." -"Guardar &Como..." +"&Halt Simulation\tCtrl+H or F9" +"Detener Simulacion\tCtrl+H o F9" -"Save LDmicro0.1 file format v2.3 compatible" -"Guardar en LDmicro0.1 formato v2.3 compatible" +"&Help" +"&Ayuda" -"Save LDmicro0.2 file format" -"Guardar en LDmicro0.2 formato" +"&Insert Clear Bit In SFR" +"Insertar Limpiar Bit en SFR" -"Export As Text" -"Exportar como Texto" +"&Insert Read From SFR" +"Insertar Leer de SFR" -"E&xit\tAlt+X" -"Salir\tAlt+X" +"&Insert Set Bit In SFR" +"Insertar Establecer bit enSFR" -"&Edit" -"&Editar" +"&Insert Test If Bit Clear in SFR" +"Insertar Prueba si se Limpio Bit SFR" -"&Undo\tCtrl+Z or Alt+Backspace" -"&Deshacer\tCtrl+Z o Alt+Backspace" +"&Insert Test If Bit Set in SFR" +"Insertar Prueba si el bit se establecio en SFR" -"&Redo\tCtrl+Y or Alt+Shift+Backspace" -"&Rehacer\tCtrl+Y o Alt+Shift+Backspace" +"&Insert Write To SFR" +"Insertar Escribir en SFR" -"Insert Rung &After\tShift+V" -"Insertar Lnea Despues\tShift+V" +"&Instruction" +"Instruccion" -"Insert Rung &Before\tShift+6" -"Insertar Lnea Antes\tShift+6" +"&MCU Parameters...\tCtrl+F5" +"&MCU Parametros...\tCtrl+F5" -"Move Selected Rung &Down\tAlt+Down" -"Bajar Lnea Seleccionada\tAlt+Down" +"&Manual...\tF1" +"&Manual...\tF1" -"Move Selected Rung &Up\tAlt+Up" -"Subir Lnea Seleccionada\tAlt+Up" +"&Microcontroller" +"&Microcontrolador" -"Dup&licate Selected Rung\tCtrl+D" -"Duplicar Linea Seleccionada\tCtrl+D" +"&New\tCtrl+N" +"&Nuevo\tCtrl+N" -"Duplicate Selected Rung\tCtrl+D" -"Duplicar Linea Seleccionada\tCtrl+D" +"&Open...\tCtrl+O" +"&Abrir...\tCtrl+O" -"Select Rungs\tShift+Up or Shift+Down" -"seleccionar Lineas\tShift+Up o Shift+Down" +"&Redo\tCtrl+Y or Alt+Shift+Backspace" +"&Rehacer\tCtrl+Y o Alt+Shift+Retroceso" -"Select Rungs\tCtrl+Left Mouse Button Click" -"seleccionar Lineas\tCtrl+Left Mouse Button Click" +"&Save\tCtrl+S or F2" +"&Guardar\tCtrl+S o F2" -"Cu&t Rungs\tCtrl+X or Shift+Del" -"Cortar Lineas\tCtrl+X o Shift+Del" +"&Settings" +"Configuraciones" -"&Copy Rungs\tCtrl+C or Ctrl+Insert" -"Copiar Lineas\tCtrl+C o Ctrl+Insert" +"&Special Function" +"Funciones Especiales" -"Copy Selected Element\tInsert" -"Copiar Elemento Seleccionado\tInsert" +"&Undo\tCtrl+Z or Alt+Backspace" +"&Deshacer\tCtrl+Z o Alt+Retroceso" -"Paste Rungs\tCtrl+V or Shift+Insert" -"Pegar\tCtrl+V o Shift+Insert" +"'%s' duty < 0" +"'%s' duty < 0" -"Paste Rungs or Element &Into Rung\tAlt+Insert" -"Pegar Lineas o Elemento en Linea\tAlt+Insert" +"'%s' duty > %d" +"'%s' duty > %d" -"Cut Selected Element\tAlt+Del" -"Cortar Elemento Seleccionado\tAlt+Del" +"'%s' freq < 0" +"'%s' freq < 0" -"&Delete Selected Element\tDel" -"&Borrar Elemento Seleccionado\tSupr" +"'%s' freq > %d" +"'%s' freq > %d" -"D&elete Rung\tShift+Del" -"Borrar Lnea Seleccionada\tShift+Supr" +"'%s' freq > 100000" +"'%s' freq > 100000" -"Replace Selected Element in Group\tSpace" -"Reemplazar Elemento Seleccionado en grupo\tSpace" +"'Closed' if:" +"'Cerrado' si:" -"Scroll Up\tCtrl+Up" -"Desplazar Arriba\tCtrl+Up" +"( ) Normal" +"( ) Normal (abierto)" -"Scroll Down\tCtrl+Down" -"Desplazar Abajo\tCtrl+Down" +"(/) Negated" +"(/) Negado (Cerrado)" -"Scroll PgUp\tCtrl+PgUp" -"Desplazar Pagina Arriba\tCtrl+PgUp" +"(R) Reset-Only" +"(R) Resetear" -"Scroll PgDown\tCtrl+PgDown" -"Desplazar Pagina Abajo\tCtrl+PgDown" +"(S) Set-Only" +"(S) Activar" -"Roll Home\tCtrl+Home" -"Inicio Rotacin\tCtrl+Home" +"(T) T-trigger" +"(T) T-Pulso" -"Roll End\tCtrl+End" -"Fin Rotacin\tCtrl+End" +"(no microcontroller)" +"(no microcontrolador)" -"Moving cursor between the main window and the I/O list\tTab" -"Movimientar entre ventana principal y I/O lista\tTab" +"(no pin)" +"(falta pata)" -"&MCU Parameters...\tCtrl+F5" -"&MCU Parametros...\tCtrl+F5" +"(not assigned)" +"(no asignado)" -"&Microcontroller" -"&Microcontrolador" +"* Adjust default = 0 (LDmicro v3.5.3), typical = -1 (LDmicro v2.3)" +"* Ajustar por defecto = 0 (LDmicro v3.5.3), tipico = -1 (LDmicro v2.3)" -"Insert Co&mment\t;" -"Insertar Comentario\t;" +"** Total timer delay (ms) = Delay (ms) + Adjust * PLC cycle time (%.3f ms)" +"** Retardo total del temporizador (ms) = Retraso (ms) + Ajustar * Tiempo de ciclo del PLC (% .3f ms)" -"Operations that change the course of the program" -"Operaciones que cambian el curso del programa" +"*Attention: Not all ports have a pull-up resistor. See datasheets of the controller for details." +"Atencion: Todos los puertos no tienen pull-up resistencias." -"Insert -+ +- Open-Circuit\tShift+Enter" -"Insertar -+ +- Circuito-abierto\tShift+Enter" +"*PIC only: _RBPU:'PORTB Pull-up Enable bit' and _GPPU:'Enable Weak Pull-ups bit' available through the 'Port PB' field. 0-is enable." +"PICs solamente: Ver registros RBPU y GPPU." -"Insert -+------+- Short-Circuit\tCtrl+Enter" -"Insertar -+------+- Corto-Circuito\tCtrl+Enter" +"*PIC only: if PORT RB value is not 0, Weak Pull-ups will be enabled for all port B pins via RBPU." +"*Solo PIC: si el valor de PORT RB no es 0, se habilitarán Pull-ups débiles para todos los pines del puerto B a través de RBPU." -"Insert Master Control Relay" -"Insertar Rele de Control Maestro" +"--add comment here--" +"--anade el comentario aqui--" -"Insert LABEL declaration" -"Insertar declaracin LABEL" +"" +"" -"Insert GOTO Label or Rung" -"Insertar etiqueta o lnea GOTO" +"" +"" -"Insert SUBPROG declaration" -"Insertar declaracin SUBPROG" +"" +"" -"Insert RETURN" -"Insertar RETORNO" +"" +"" -"Insert GOSUB call" -"Insertar llamada GOSUB" +"" +"" -"Insert ENDSUB declaration" -"Insertar declaracin ENDSUB" +"" +"" -"Insert SLEEP" -"Insertar SLEEP" +"" +"" -"Insert CLRWDT" -"Insertar CLRWDT" +"" +"" -"Insert LOCK" -"Insertar LOCK" +"A zero cycle time value is available, but timers (TON, TOF, etc) will not work correctly!" +"Hay un valor de tiempo de ciclo cero disponible, pero los temporizadores (TON, TOF, etc.) no funcionaron correctamente!" -"Insert DELAY(us)" -"Insertar DELAY(us)" +"ADC Internal error" +"Error interno ADC (Analogica)" -"Insert TIME to DELAY converter" -"Insertar convertir TIME a DELAY" +"ADC pin error" +"Error de pin ADC (Analogica)" -"Contacts and Coils / Relays" -"Contacts y Bobinas / Rels " +"ANSI C target does not support peripherals (UART, PWM, ADC, EEPROM). Skipping that instruction." +"ANSI C de destino no soporta perifericos (UART, PWM, ADC, EEPROM). Evite esa instruccion." -"Insert &Contacts: Input Pin\tC" -"Insertar Contacts: Pin Entrada\tC" +"ARDUINO: Dot '.' not allowed in '%s'\nRename file!" +"ARDUINO: Punto '.' no permitido en '%s'\nArchivo de nombre de archivo! " -"Insert Contacts: Internal Relay\tShift+C" -"Insertar Contacts: Internal Relay\tShift+C" +"ARDUINO: Space ' ' not allowed in '%s'\nRename file!" +"ARDUINO: Espacio ' ' no permitido en el archivo '%s'\nRename!" -"Insert Contacts: Output Pin\tShift+L" -"Insertar Contactos: Pin Salida\tShift+L" +"ARDUINO: The leading digit '%c' not allowed at the beginning in '%s.ld'\nRename file!" +"ARDUINO: El digito inicial '%c' no se permite al principio en el archivo '%s.ld'\nRename!" -"Insert Coi&l: Output Pin\tL" -"Insertar Bobina: Pin Salida\tL" +"ARM MCUs" +"ARM MCUs" -"Insert Coil: Internal Relay\tAlt+L" -"Insertar Bobina: Rel Interno\tAlt+L" +"About LDmicro" +"Sobre LDmicro" -"Make Norm&al\tA" -"Hacer Normal\tA" +"Accel.:" +"Accel.:" -"Make &Negated\tN" -"Hacer Negado\tN" +"Achievable DELAY values (us): " +"Valores DELAY (Retraso) alcanzables (us):" -"Make &Set-Only\tS" -"Hacer Solo-Activar\tS" +"Add" +"Sumar" -"Make &Reset-Only\tR" -"Hacer Solo-Desactivar\tR" +"Address not allowed!\nLoadXAddr(%d) skiped!" +"Direccion no permitida!\nLoadXAddr(%d) omitida!" -"Make T-trigger" -"Hacer T-trigger" +"Address not allowed!\nLoadYAddr(%d) skiped!" +"Direccidn no permitida!\nLoadYAddr(%d) omitida!" -"Edge" -"Borde" +"Address not allowed!\nLoadZAddr(%d) skiped!" +"Direccion no permitida!\nLoadZAddr(%d) omitida!" -"Insert _/OSR/\\_ (One Shot Rising)\t&/" -"Insertar _/OSR/\\_ (Flanco de Subida)\t&/" +"Address" +"Direccion" -"Insert \\_OSF/\\_ (One Shot Falling)\t&\\ " -"Insertar \\_OSF/\\_ (Flanco de Bajada)\t&\\" +"Adjust:" +"Ajustar:" -"Insert \\_OSL\\/ (One Shot Low)" -"Insertar \\_OSL\\/ (Un Disparo Bajo)" +"Adjusting the timer delay to a value greater than or near than the timer delay is meaningless. Decrease the adjust value!" +"El ajuste del retardo del temporizador a un valor mayor o menor que el retardo del temporizador no tiene sentido. Disminuya el valor de ajuste!" -"Insert _/OSC/\\_/\\_ (Oscillator F=1/(2*Tcycle))" -"Insertar _/OSC/\\_/\\_ (Oscilador F=1/(2*Tcycle))" +"Apply user color scheme" +"Aplicar esquema de color de usuario" -"Pulse generators" -"Generador pulsos" +"Assign:" +"Asignar:" -"EDIT: Insert PULSER" -"EDIT: Inserta PULSER" +"Atmel AVR MCUs" +"Atmel AVR MCUs" -"EDIT: Insert STEPPER" -"EDIT: Inserta STEPPER" +"Available PLC Cycle Time: min=%.6g %ss, max=%lld ms (%.6g %ss)\n" +"Tiempo de ciclo del PLC disponible: min=%.6g %ss, max=% lld ms (%.6g %ss)\n" -"Insert PULSER" -"Inserta PULSER" +"Available PWM frequency from %.3f %sHz up to %.3f %sHz" +"Frecuencia de PWM disponible desde %.3f% sHz hasta %.3f% sHz" -"Insert STEPPER" -"Inserta STEPPER" +"BCD var" +"BCD var" -"EDIT: Insert N PULSE" -"EDIT: Inserta N PULSE" +"BCD2BIN instruction: '%s' not a valid destination." +"Instruccion BCD2BIN: '%s' no es un destino valido." -"EDIT: Insert N PULSE OFF" -"EDIT: Inserta N PULSE OFF" +"BIN2BCD instruction: '%s' not a valid destination." +"Instruccion BIN2BCD: '%s' no es un destino valido." -"Insert N PULSE" -"Inserta N PULSE" +"BUS tracer" +"Trazador de bus" -"Insert N PULSE OFF" -"Inserta N PULSE OFF" +"Background color" +"Color de fondo" -"Temporization" -"Retraso" +"Background, Simulation mode" +"Fondo, modo simulacion" -"Insert T&ON (Delayed Turn On)\tO" -"Insertar TON (Encendido Retardado)\tO" +"Bad escape '\\%c'" +"Escape caracter erroneo '\\%c'" -"Insert TO&F (Delayed Turn Off)\tF" -"Insertar TOF (Apagado Retardado)\tF" +"Bad escape sequence following \\; for a literal backslash, use \\\\" +"Secuencia de escape incorrecta siguiendo \\; para una barra invertida literal, use \\\\" -"Insert R&TO (Retentive Delayed Turn On)\tT" -"Insertar RTO (Encendido Retardado con Memoria)\tT" +"Bad escape: correct form is \\xAB." +"Escape caracter erroneo: forma correcta es \\xAB." -"Insert RTL (Retentive Delayed Turn On If Low Input)" -"Insertar RTL (Retencin Atrasada Enciende Si La Entrada Es Baja)" +"Bad use of quotes: <%s>" +"Mal uso de las comillas: <%s>" -"Insert TCY (Cyclic On/Off)" -"Insertar TCY (Ciclo On/Off)" +"Bank select error!" +"Error de seleccion de banco!" -"Insert THI (High Delay)" -"Insertar THI (Retardo Alto)" +"Bit # [0..%d]:" +"Bit # [0..%d]:" -"Insert TLO (Low Delay)" -"Insertar TLO (Retardo Bajo)" +"Bit Rate (Hz):" +"Velocidad (Hz):" -"Insert TIME to COUNTER converter" -"Insertar convertir TIME a COUNTER" +"Bitwise variable operations (Unsigned)" +"Operacion de variables bit a bit (Sin signo)" -"Counter" -"Contador" +"Blue color scheme\tJose" +"Esquema de color azul\tJose" -"Insert CT&U (Count Up)\tU" -"Insertar CTU (Contador Incremental)\tU" +"Bus instruction: '%s' not a valid destination." +"Instruccion de bus: '%s' no es un destino valido." -"Insert CT&D (Count Down)\tI" -"Insertar CTD (Contador Decremental)\tI" +"Bus instruction: '%s' not a valid source." +"Instruccion de bus: '%s' no es una fuente valida." -"Insert CT&C (Count Circular)\tJ" -"Insertar CTC (Contador Circular)\tJ" +"Busy to: '%s' you must set to internal relay 'R%s' or to output pin 'Y%s'." +"Ocupado a: '%s' debe configurarse en el rele interno 'R%s' o en el pin de salida 'Y%s'." -"Insert CT&R (Count Circular Reversive)\tK" -"Insertar CTR (Contador Circular Reversible)\tK" +"Busy to:" +"Ocupado para:" -"Insert R&ES (Counter/RTO/RTL/PWM Reset)\tE" -"Insertar RES (Contador/RTO/RTL/PWM Resetear)\tE" +"Call SUBPROG rung number or label name" +"Llame al numero de renglon de SUBPROG o al nombre de la LABEL" -"Insert Coi&l\tL" -"Insertar Bobina\tL" +"Call SUBPROG rung number or label" +"Llame al número de renglón o etiqueta SUBPROG" -"Compare variable" -"Compara variable" +"Call clear.bat" +"Llama limpio.bat" -"Insert EQU (Compare for Equals)\t=" -"Insertar EQU (Comparador si Igual)\t=" +"Call flashMcu.bat\tF6" +"Llama flashMcu.bat\tF6" -"Insert NEQ (Compare for Not Equals)\t!" -"Insertar NEQ (Comparador si No Igual)\t!" +"Call readMcu.bat\tCtrl+F6" +"Llama readMcu.bat\tCtrl+F6" -"Insert GRT (Compare for Greater Than)\t>" -"Insertar GRT (Comparador si Mayor que)\t>" +"Can only assign pin number to input/output pins (Xname or Yname or Aname or Pname)." +"Solo se puede asignar un numero de pin a los pines de entrada/salida (Xname o Yname o Aname o Pname)." -"Insert GEQ (Compare for Greater Than or Equal)\t." -"Insertar GEQ (Comparador si Mayor o Igual que)\t." +"Can only assign pin number to input/output pins (Xname or Yname or Aname)." +"Solo puede asignar numero de pata a las patas de Entrada/Salida (Xname o Yname o Aname)." -"Insert LES (Compare for Less Than)\t<" -"Insertar LES (Comparador si Menor que)\t<" +"Can select only INTs pin." +"Solo se puede seleccionar INTs pin." -"Insert LEQ (Compare for Less Than or Equal)\t," -"Insertar LEQ (Comparador si Menor o Igual que)\t," +"Can use only %d INTs on this MCU." +"Se pueden usar solo %d INT en este MCU." -"Insert Test If Bit Set" -"Insertar Prueba de Bit de Activacion" +"Can use only one N PULSE element on timer0." +"Se puede usar solo un elemento N PULSE en el temporizador0." -"Insert Test If Bit Clear" -"Insertar Prueba de Bit de Borrado" +"Can't assign prefix." +"No se puede asignar el prefix." -"Signed variable operations" -"Operaciones variables con signo" +"Can't find right assign." +"No puedo encontrar la asignacion correcta." -"Insert MOV (Move)\tM" -"Insertar MOV (Mover)\tM" +"Can't set PWM." +"No se puede establecer PWM." -"Insert ADD (16-bit Integer Add)\t+" -"Insertar ADD (Suma Entero 16-bit)\t+" +"Can't set prescale." +"No se puede establecer preescala." -"Insert SUB (16-bit Integer Subtract)\t-" -"Insertar SUB (Resta Entero 16-bit)\t-" +"Can't specify I/O assignment for ANSI C target; compile and see comments in generated source code." +"No se puede asignar la E/S especificadas para el ANSI C generado; compile y vea los comentarios generados en el codigo fuente." -"Insert MUL (16-bit Integer Multiply)\t*" -"Insertar MUL (Multiplica Entero 16-bit)\t*" +"Can't specify I/O assignment for Netzer!" +"No se puede especificar la asignacion de E/S para Netzer!" -"Insert DIV (16-bit Integer Divide)\tD" -"Insertar DIV (Divide Entero 16-bit)\tD" +"Can't specify I/O assignment for interpretable target; see comments in reference implementation of interpreter." +"No se puede asignar la E/S especificadas para el codigo generado para el interprete; vea los comentarios en la implementacion del interprete." -"Insert MOD (Integer Divide Remainder)" -"Insertar MOD (Resto de la Divison)" +"Cancel" +"Cancelar" -"Insert NEG (Integer Negate)" -"Inserta NEG (Entero Negado)" +"Cannot delete rung; program must have at least one rung." +"No puedo borrar la linea; el programa debe tener al menos una linea." -"Insert Random" -"Insertar Aleatorio" +"Caught signal %d (%s)\n" +"Señal capturada %d (%s)\n" -"Insert Seed of Random" -"Insertar Semilla Aleatorio" +"Caught signal %d\n" +"Señal capturada %d\n" -"Bitwise variable operations (Unsigned)" -"Operacin de variables bit a bit (Sin signo)" +"Choose a color" +"Elija un color" -"Insert bitwise AND" -"Insertar nivel de bit AND" +"Circular Counter Reversive, decremental" +"Contador circular reversible, decremental" -"Insert bitwise OR |" -"Insertar nivel de bit OR |" +"Circular Counter" +"Contador Circular" -"Insert bitwise XOR ^" -"Insertar nivel de bit XOR ^" +"Circular Counter, incremental" +"Contador circular, incremental" -"Insert bitwise NOT ~" -"Inserar nivel de bit NOT ~" +"Clear Bit In SFR" +"Reinitializar Bit en SFR" -"Insert SHL << arithmetic, logic shift to the left" -"Insertar SHL << desplazo aritmtico, logico a izquierda" +"Clear bit" +"Borrar bit" -"Insert SHR >> arithmetic shift to the right" -"Insertar SHR >> desplazo aritmtico a derecha" +"Coil" +"Bobina" -"Insert SR0 >> logic shift to the right" -"Insertar SR0 >> desplazo lgico a la derecha" +"Comment text" +"Texto de comentario" -"Insert ROL cyclic shift to the left" -"Insertar ROL ciclico desplazo a izquierda" +"Comment" +"Comentario" -"Insert ROR cyclic shift to the right" -"Insertar ROR ciclico desplazo a derecha" +"Common:Cathode|Anode:" +"Comun: Catodo |Anodo:" -"Insert SWAP" -"Insertar SWAP" +"Compare variable" +"Compara variable" -"Insert OPPOSITE" -"Insertar OPPOSITE" +"Compile &As..." +"Compilar Como..." -"Insert Set Bit #" -"Insert Establecer Bit #" +"Compile ANSIC" +"Compilar en ANSIC" -"Insert Clear Bit #" -"Insert Reinitializar Bit #" +"Compile ARM-GCC for 32-bit ARM" +"Compilar en ARM-GCC pora 32-bit ARM" -"Insert Shift Register" -"Insertar Registro de Desplazamiento" +"Compile ASM->HEX" +"Compilar ASM->HEX" -"Insert Look-Up Table" -"Insertar Tabla de Busqueda" +"Compile Atmel AVR-GCC" +"Compilar en AVR-GCC para Atmel AVR" -"Insert Piecewise Linear" -"Insertar Tabla de Interpolacion" +"Compile Atmel WinAVR C" +"Compilar en WinAVR C para Atmel AVR" -"Formatted string" -"String formateado" +"Compile CCS C for PIC" +"Compilar en CCS C par PIC" -"Insert Formatted String" -"Insertar String Formateado" +"Compile CodeVisionAVR C" +"Compilar en CodeVisionAVR C" -"UART functions" -"UART funciones" +"Compile HEX" +"Compilar en HEX" -"Insert Formatted String Over &UART" -"Insertar String Formateado Final &UART" +"Compile HEX->ASM" +"Compilar en HEX->ASM" -"Insert &UART SEND" -"Insertar UART Emision" +"Compile HI-TECH C for PIC" +"Compilar en HI-TECH C para PIC" -"Insert &UART RECEIVE" -"Insertar UART Reception" +"Compile Interpretable Byte Code" +"Compilar en Codigo de Bytes Interpretables" -"Insert Test if UART ready to send" -"Insertar Prueba de UART listo para enviar" +"Compile Interpretable Extended Byte Code" +"Compilar en Codigo Extendido de Bytes Interpretables" -"Insert Test if UART data available" -"Insertar Prueba de UART listo para recibir" +"Compile PASCAL" +"Compilar en PASCAL" -"Insert &UART SENDn Variable" -"Insertar UART SENDn Variable" +"Compile Sketch for ARDUINO" +"Compilar Sketch para ARDUINO" -"Insert &UART SEND: Is ready to send ?" -"Insertar Prueba de UART listo para enviar" +"Compile Successful" +"Compilacion Correcta" -"Insert &UART RECEIVE: Is data available ?" -"Insertar Prueba de UART listo para recibir" +"Compile To" +"Compilar En" -"Insert Set &PWM Output\tP" -"Insertar Salida PWM Activada\tP" +"Compile error ('%s'): " +"Error de compilacion ('%s'): " -"Insert &A/D Converter Read\tA" -"Insertar A/D Conversor Lectura" +"Compile failure." +"Fallo de compilacion." -"Insert Make Persistent" -"Insertar Hacer Permanente en EEPROM" +"Compile is successful but exceed the memory size !!!" +"La compilacion es exitosa pero excede el tamaño de memoria!" -"Insert QUADRATURE ENCODER" -"Insertar QUADRATURE ENCODER" +"Compile successful!\r\nWrote Netzer code to '%s' (CRC: 0x%.4x)." +"Compilacion exitosa!\r\n Escribe el codigo de Netzer en '%s' (CRC: 0x%.4x)." -"Displays" -"Pantallas" - -"Insert BIN2BCD converter" -"Insertar BIN2BCD Conversor" +"Compile successful; wrote C source code to '%s'.\r\n\r\nThis is not a complete C program. You have to provide the runtime and all the I/O routines. See the comments in the source code for information about how to do this." +"Compilacion correcta: escrito codigo fuente en C en '%s'.\r\n\r\nno es un programa completo en C. Tiene que añadirle el procedimiento principal y todas las rutinas de E/S. Vea los comentarios en el codigo fuente para mas informacion sobre como hacer esto" -"Insert BCD2BIN converter" -"Insertar BCD2BIN Conversor" +"Compile successful; wrote IHEX for AVR to '%s'.\r\n\r\nRemember to set the processor configuration (fuses) correctly. This does not happen automatically." +"Compilacion correcta; se escribio IHEX para AVR en '%s'.\r\n\r\nRecuerde marcar la configuracion (fuses) del micro correctamente. Esto NO se hace automaticamente." -"SIMUL: Insert BCD2BIN" -"Insertar BCD2BIN Conversor" +"Compile successful; wrote IHEX for PIC16 to '%s'.\r\n\r\nConfiguration word (fuses) has been set for crystal oscillator, BOD enabled, LVP disabled, PWRT enabled, all code protection off." +"Compilacion correcta; escrito IHEX para PIC16 en '%s'.\r\n\r\nbits de Configurarion (fuses) han sido establecidos para oscilador a cristal, BOD activado, LVP desactivado, PWRT activado, Todos los bits de proteccion desactivados." -"SIMUL: Insert BUS tracer" -"Insertar BUS tracer (Simulacion)" +"Compile successful; wrote PASCAL source code to '%s'.\r\n\r\nThis is not a complete PASCAL program. You have to provide the runtime and all the I/O routines. See the comments in the source code for information about how to do this." +"Compilación exitosa; escribió el código fuente de PASCAL en '% s'.\r\n\r\n Este no es un programa PASCAL completo. Debe proporcionar el tiempo de ejecución y todas las rutinas de E/S. Consulte los comentarios en el código fuente para obtener información sobre cómo hacer esto." -"Insert 7-SEGMENT FONT converter" -"Insertar 7-SEGMENT FONT Conversor" +"Compile successful; wrote interpretable code to '%s'.\r\n\r\nYou probably have to adapt the interpreter to your application. See the documentation." +"Compilacion correcta: Codigo para interprete escrito en '%s'.\r\n\r\nproblablemente tengas que adaptar el interprete a tu aplicacion. Mira la documentacion." -"SIMUL: Insert 9-SEGMENT FONT converter" -"Insertar 9-SEGMENT FONT Conversor (Simulacion)" +"Compiled okay, wrote '%s'\n" +"Compilado bien, escribe '%s'\n" -"SIMUL: Insert 14-SEGMENT FONT converter" -"Insertar 14-SEGMENT FONT Conversor (Simulacion)" +"Config" +"Configurar" -"SIMUL: Insert 16-SEGMENT FONT converter" -"Insertar 16-SEGMENT FONT Conversor (Simulacion)" +"Connect NPULSE to output pin YsomeName." +"Conecte NPULSE al pin de salida Ynombre." -"Special Function for AVR (Obsolete)" -"Funciones Especiales por AVR (Obsoleto)" +"Connect PULSER busy flag to output pin YsomeName or internal relay RsomeName." +"Conecte el indicador de ocupado PULSER al pin de salida YsomeName o al rele interno Rnombre." -"Replace the obsolete elements" -"reemplazar elementos obsoletos " +"Connect QUAD ENCOD dir flag to output pin YsomeName or internal relay RsomeName." +"Conecte el indicador de dirección QUAD ENCOD al pin de salida YsomeName o al relé interno RsomeName." -"Insert Read From SFR" -"Insertar Read From SFR" +"Connect QUAD ENCOD dir flag to output pin YsomeName." +"Conecte el indicador direc QUAD ENCOD al pin de salida Ynombre." -"Insert Write To SFR" -"Insertar Write To SFR" +"Connect QUAD ENCOD input A to INTs input pin IqAn." +"Conecte la entrada A de QUAD ENCOD al pin de entrada IqAn de INT." -"Insert Set Bit In SFR" -"Insertar Set Bit In SFR" +"Connect QUAD ENCOD input A to input pin XqAn." +"Conecte la entrada A de QUAD ENCOD al pin de entrada XqAn." -"Insert Clear Bit In SFR" -"Insertar Clear Bit In SFR" +"Connect QUAD ENCOD input B to input pin XqBn." +"Conecte la entrada B de QUAD ENCOD al pin de entrada XqBn." -"Insert Test If Bit Set in SFR" -"Insertar Test If Bit Set in SFR" +"Connect QUAD ENCOD input Z to input pin XqZn." +"Conecte la entrada Z de QUAD ENCOD al pin de entrada XqZn." -"Insert Test If Bit Clear in SFR" -"Insertar Test If Bit Clear in SFR" +"Connect STEPPER coil to output pin YsomeName." +"Conecte la bobina STEPPER al pin de salida Ynombre." -"&Insert Clear Bit In SFR" -"Insertar Clear Bit In SFR" +"Constant %d out of range: %d to %d inclusive." +"Constante %d fuera de rango: %d a %d inclusive" -"&Insert Read From SFR" -"Insertar Read From SFR" +"Constant %d out of range: -32768 to 32767 inclusive." +"Constante %d fuera de rango: -32768 a 32767 inclusive." -"&Insert Set Bit In SFR" -"Insertar Set Bit In SFR" +"Constant %s=%d out of variable '%s' range : -128 to 127 inclusive." +"Constante %s=%d fuera del rango de la variable '%s': -128 a 127 inclusive." -"&Insert Test If Bit Clear in SFR" -"Insertar Test If Bit Clear in SFR" +"Constant %s=%d out of variable '%s' range : 0 to 16777215 inclusive." +"Constante %s=%d fuera del rango de la variable '%s': 0 a 16777215 inclusive." -"&Insert Test If Bit Set in SFR" -"Insertar Test If Bit Set in SFR" +"Constant %s=%d out of variable '%s' range : 0 to 255 inclusive." +"Constante %s=%d fuera del rango de la variable '%s': 0 a 255 inclusive." -"&Insert Write To SFR" -"Insertar Escribir en SFR" +"Constant %s=%d out of variable '%s' range : 0 to 4294967295(0xFFFFffff) inclusive." +"Constante %s=%d fuera del rango de la variable '%s': 0 a 4294967295 (0xFFFFffff) inclusive." -"Clear Bit In SFR" -"Reinitializar Bit en SFR" +"Constant %s=%d out of variable '%s' range : 0 to 65535 inclusive." +"Constante %s=%d fuera del rango de la variable '%s': 0 a 65535 inclusive." -"SPI functions" -"SPI funciones" +"Constant %s=%d out of variable '%s' range: -2147483648 to 2147483647 inclusive." +"Constante %s=%d fuera del rango de la variable '%s': -2147483648 a 2147483647 inclusive." -"Insert SPI Send/Receive" -"Insertar SPI Send/Receive" +"Constant %s=%d out of variable '%s' range: -32768 to 32767 inclusive." +"Constante %s=%d fuera del rango de la variable '%s': -32768 a 32767 inclusive." -"Insert SPI Write" -"Insertar SPI Write" +"Constant %s=%d out of variable '%s' range: -8388608 to 8388607 inclusive." +"Constante %s=%d fuera del rango de la variable '%s': -8388608 a 8388607 inclusive." -"I2C functions" -"I2C funciones" +"Contacts and Coils / Relays" +"Contactos y bobinas / Reles " -"Insert I2C Read" -"Insertar I2C Read" +"Contacts" +"Contacto" -"Insert I2C Write" -"Insertar I2C Write" +"Convert BIN to packed BCD" +"Convertir BIN a BCD empaquetado" -"Si&mulate" -"Simular" +"Convert char to %s Segments" +"Convertir char en %s Segmentos" -"Si&mulation Mode\tCtrl+M or F7" -"Modo Simulacin\tCtrl+M o F7" +"Convert packed BCD to BIN" +"Convertir BCD empaquetado a BIN" -"Start &Real-Time Simulation\tCtrl+R or F8" -"Iniciar Simulacin tiempo Real\tCtrl+R o F8" +"Copy Selected Element\tInsert" +"Copiar Elemento Seleccionado\tInsert" -"&Halt Simulation\tCtrl+H or F9" -"Detener Simulacin\tCtrl+H o F9" +"CopyRegToReg Message 2" +"CopyRegToReg Mensaje 2" -"Single &Cycle\tSpace" -"Solo un Ciclo\tEspacio" +"CopyRegToReg Warning 1" +"CopyRegToReg Advertencia 1" -"&Compile" -"Compilar" +"Could not open file" +"No se pudo abrir el archivo" -"&Compile\tF5" -"Compilar\tF5" +"Couldn't OPEN file '%s'" +"No puedo ABRIR el archivo '%s'" -"Compile HEX" -"Compilar en HEX" +"Couldn't create a unique file name for '%s'" +"No se pudo crear un nombre de archivo unico para '%s'" -"Compile HEX->ASM" -"Compilar en HEX->ASM" +"Couldn't dump intermediate code to '%s'." +"No se pudo volcar el codigo intermedio a '%s'." -"Compile ANSIC" -"Compilar en ANSIC" +"Couldn't open '%s', running non-interactively." +"No se pudo abrir '%s', ejecutandose de forma no interactiva." -"Compile HI-TECH C for PIC" -"Compilar en HI-TECH C para PIC" +"Couldn't open '%s'." +"No puedo abrir '%s'." -"Compile CCS C for PIC" -"Compilar en CCS C for PIC" +"Couldn't open '%s'\n" +"No puedo abrir '%s'\n" -"Compile Atmel WinAVR C" -"Compilar en WinAVR C por Atmel AVR" +"Couldn't open file '%s'" +"No puedo abrir el archivo '%s'" -"Compile Atmel AVR-GCC" -"Compilar en AVR-GCC por Atmel AVR" +"Couldn't reload '%s'." +"No se pudo recargar '%s'." -"Compile ARM-GCC for 32-bit ARM" -"Compilar en ARM-GCC por 32-bit ARM" +"Couldn't rename(%s,%s)" +"No se pudo cambiar el nombre (%s,%s)" -"Compile CodeVisionAVR C" -"Compilar en CodeVisionAVR C" +"Couldn't write to '%s'" +"No puedo escribir en '%s'." -"Compile Sketch for ARDUINO" -"Compilar Sketch para ARDUINO" +"Couldn't write to '%s'." +"No puedo escribir en '%s'." -"Compile PASCAL" -"Compilar en PASCAL" +"Count Down" +"Contador Decreciente" -"Compile Interpretable Byte Code" -"Compilar en Cdigo de Bytes Interpretables" +"Count Up" +"Contador Creciente" -"Compile Interpretable Extended Byte Code" -"Compilar en Cdigo Extendido de Bytes Interpretables" +"Count per revol:" +"Cuenta por revol:" -"Call flashMcu.bat\tF6" -"Llama flashMcu.bat\tF6" +"Count:" +"Contador:" -"Call readMcu.bat\tCtrl+F6" -"Llama readMcu.bat\tCtrl+F6" +"Counter var:" +"Contador var:" -"Call clear.bat" -"Llama clear.bat" +"Counter" +"Contador" -"Config" -"Configurar" +"Counter:" +"Contador:" -"Select color scheme" -"Seleccionar combinacin de colores" +"Create new issue..." +"Crear nuevo problema..." -"Select user colors" -"Seleccionar color usuario" +"Cu&t Rungs\tCtrl+X or Shift+Del" +"Cortar Lineas\tCtrl+X o Shift+Del" -"Original black color scheme\tJonathan" -"Tema negro original\tJonathan" +"Cut Selected Element\tAlt+Del" +"Cortar Elemento Seleccionado\tAlt+Del" -"Modified black color scheme\tIhor" -"Tema modificado negro \tIhor" +"Cycle time too fast; increase cycle time, or use faster crystal." +"Tiempo del ciclo demasiado rapido; aumenta el tiempo de ciclo, o usa un cristal de mas Mhz." -"White color scheme\tIhor" -"Tema blanco\tIhor" +"Cycle time too slow; decrease cycle time, or use slower crystal." +"Tiempo del ciclo demasiado lento; incrementa el tiempo de ciclo, o usa un cristal de menos Mhz." -"White color scheme\tMark" -"Tema blanco\tMark" +"Cyclic On/Off" +"Cyclica de encendido/apagado" -"System Colors GetSysColor() in color scheme\tWindows" -"Tema GetSysColor() \tWindows" +"D&elete Rung\tShift+Del" +"Borrar Linea Seleccionada\tShift+Supr" -"User redefined color scheme\tYou" -"Tema de usuario\tUsted" +"Data Modes (CPOL, CPHA):" +"Modos de datos (CPOL, CPHA):" -"&Help" -"&Ayuda" +"Data Order:" +"Orden datos:" -"&Manual...\tF1" -"&Manual...\tF1" +"Data Size:" +"Tamaño datos:" -"HOW TO:..." -"CMO HACER:..." +"De-energized element, Simulation mode" +"Elemento desenergizado, modo simulacion" -"&About..." -"&Acerca de..." +"Default foreground" +"Primer plano por defecto" -"Releases..." -"Lanzamientos ..." +"Define ENDSUB name" +"Definir nombre ENDSUB" -"Latest release changes..." -"Cambios Ultima Versin..." +"Define LABEL name" +"Definir nombre de la LABEL" -"LDmicro Forum..." -"Foro LDmicro..." +"Define SUBPROG name" +"Definir nombre SUBPROG" -"Create new issue..." -"Crear new issue..." +"Delay (ms):" +"Retardo (ms):" -"E-mail..." -"E-mail..." +"Delay (s):" +"Retraso (s):" -"&Export As Text...\tCtrl+E" -"Exportar a Texto...\tCtrl+E" +"Delay (us):" +"Retraso (us):" -"&Instruction" -"Instruccin" +"Delay (us):" +"Retraso (us):" -"&Settings" -"Configuraciones" +"Delay cannot be zero or negative." +"El retardo no puede ser cero o negativo." -"&Special Function" -"Special Function" +"Delay too long; maximum is 2**31 us." +"Retardo demasiado largo; maximo 2**31 us." -"'Closed' if:" -"'Cerrado' si:" +"Delay, us" +"Retraso us" -"( ) Normal" -"( ) Normal" +"Dest variable of write string instruction must be located at IO register." +"La variable de destino de la instruccion de cadena de escritura debe estar ubicada en el registro IO." -"(/) Negated" -"(/) Negado" +"Dest:" +"Dest:" -"(R) Reset-Only" -"(R) Desactivar" +"Destination bits:" +"Bits de destino:" -"(S) Set-Only" -"(S) Activar" +"Destination rung(label):" +"Peldaño de destino (etiqueta):" -"(no microcontroller)" -"(no microcontrolador)" +"Destination:" +"Destino:" -"(no pin)" -"(falta pata)" +"Destination:=" +"Destino:=" -"(not assigned)" -"(no asignado)" +"Direct Addr error" +"Error de direccionamiento directo" -"--add comment here--" -"--aade el comentario aqu--" +"Displays" +"Pantallas" -"" -"" +"Divide Remainder" +"Dividir el resto" -"" -"" +"Divide" +"Dividir" -"" -"" +"Division by zero; halting simulation" +"Division por cero; parando simulacion" -"" -"" +"Don't know how to init %s." +"No se como iniciar %s." -"" -"" +"Dup&licate Selected Rung\tCtrl+D" +"Duplicar Linea Seleccionada\tCtrl+D" -"" -"" +"Duplicate Selected Rung\tCtrl+D" +"Duplicar Linea Seleccionada\tCtrl+D" -"ANSI C target does not support peripherals (UART, PWM, ADC, EEPROM). Skipping that instruction." -"ANSI C de destino no soporta perifericos (UART, PWM, ADC, EEPROM). Evite esa instruccin." +"Duty cycle:" +"Ciclo trabajo:" -"Add" -"Sumar" +"E&xit" +"Salir" -"Assign:" -"Asignar:" +"E&xit\tAlt+X" +"Salir\tAlt+X" -"Bad escape '\\%c'" -"Escape caracter erroneo '\\%c'" +"E-mail..." +"E-mail..." -"Bad escape: correct form is \\xAB." -"Escape caracter erroneo: forma correcta es \\xAB." +"EDIT: Insert N PULSE OFF" +"EDITAR: Inserta N PULSOS OFF" -"Bad use of quotes: <%s>" -"Mal uso de las comillas: <%s>" +"EDIT: Insert N PULSE" +"EDITAR: Inserta N PULSOS" -"Can only assign pin number to input/output pins (Xname or Yname or Aname)." -"Solo puede asignar numero de pata a las patas de Entrada/Salida (Xname o Yname o Aname)." +"EDIT: Insert PULSER" +"EDITAR: Inserta IMPULSOS" -"Can't specify I/O assignment for ANSI C target; compile and see comments in generated source code." -"No se puede asignar la E/S especificadas para el ANSI C generado; compile y vea los comentarios generados en el cdigo fuente." +"EDIT: Insert STEPPER" +"EDITAR: Inserta PASO A PASO" -"Can't specify I/O assignment for interpretable target; see comments in reference implementation of interpreter." -"No se puede asignar la E/S especificadas para el cdigo generado para el interprete; vea los comentarios en la implementacin del interprete." +"EEPROM not supported by this target" +"EEPROM no es compatible con este objetivo" -"Cancel" -"Cancelar" +"ENDSUB name:" +"Nombre ENDSUB:" -"Cannot delete rung; program must have at least one rung." -"No puedo borrar la linea; el programa debe tener al menos una linea." +"ENDSUB: '%s' declaration must be a single inside the rung %d" +"ENDSUB: '%s' la declaración debe ser una sola dentro del peldaño %d" -"Circular Counter" -"Contador Circular" +"ENDSUB: Only one ENDSUB '%s' is allowed!" +"ENDSUB: Solo se permite un ENDSUB '%s'!" -"Coil" -"Bobina" +"ENDSUB: SUBPROG '%s' not found!" +"ENDSUB: SUBPROG '%s' no encontrado!" -"Comment" -"Comentario" +"ESP MCUs" +"ESP MCUs" -"Compile &As..." -"Compilar Como..." +"Edge" +"Borde" -"Compile Successful" -"Compilacin Correcta" +"Edit table of ASCII values like a string" +"Editar tabla de valores ASCII como una cadena" -"Compile To" -"Compilar En" +"Empty row; delete it or add instructions before compiling." +"Fila vacia; borrela o añada instrucciones antes de compilar." -"Compile successful; wrote C source code to '%s'.\r\n\r\nThis is not a complete C program. You have to provide the runtime and all the I/O routines. See the comments in the source code for information about how to do this." -"Compilacin correcta: escrito cdigo fuente en C en '%s'.\r\n\r\nno es un programa completo en C. Tiene que aadirle el procedimiento principal y todas las rutinas de E/S. Vea los comentarios en el cdigo fuente para mas informacin sobre como hacer esto" +"Empty textbox; not permitted." +"Texto vacio; no permitido" -"Compile successful; wrote IHEX for AVR to '%s'.\r\n\r\nRemember to set the processor configuration (fuses) correctly. This does not happen automatically." -"Compilacin correcta; se escribi IHEX para AVR en '%s'.\r\n\r\nRecuerde marcar la configuracin (fuses) del micro correctamente. Esto NO se hace automaticamente." +"Empty variable name '%s'.\nrungNow=%d" +"Nombre de variable vacio '% s'.\nrungNow=%d" -"Compile successful; wrote IHEX for PIC16 to '%s'.\r\n\r\nConfiguration word (fuses) has been set for crystal oscillator, BOD enabled, LVP disabled, PWRT enabled, all code protection off." -"Compilacin correcta; escrito IHEX para PIC16 en '%s'.\r\n\r\nbits de Configurarin (fuses) han sido establecidos para oscilador a cristal, BOD activado, LVP desactivado, PWRT activado, Todos los bits de proteccin desactivados." +"Enable:" +"Habilitar:" -"Used %d/%d words of program flash (chip %d%% full)." -"Usadas %d/%d palabras de programa en flash (chip %d%% lleno)." +"Energized element, Simulation mode" +"Elemento energizado, modo simulacion" -"Compile successful; wrote interpretable code to '%s'.\r\n\r\nYou probably have to adapt the interpreter to your application. See the documentation." -"Compilacin correcta: Cdigo para interprete escrito en '%s'.\r\n\r\nproblablemente tengas que adaptar el interprete a tu aplicacin. Mira la documentacin." +"Error in RUNG %d. See error below %s" +"Error en RUNG %d. Ver error debajo de %s" -"Constant %d out of range: -32768 to 32767 inclusive." -"Constante %d fuera de rango: -32768 a 32767 inclusive." +"Error reading 'PULL-UP LIST' section from .ld file!\nError in line:\n'%s'." +"Error al leer la sección 'LISTA PULL-UP' del archivo .ld!\NError en línea:\n'%s'." -"Contacts" -"Contacto" +"Error reading 'VAR LIST' section from .ld file!\nError in line:\n'%s'." +"Error al leer la seccion 'LISTA VAR' del archivo.ld!\nError en la linea:\n'%s'." -"Couldn't open '%s'." -"No puedo abrir '%s'." +"Error when generate intermediate code:\n" +"Error al generar código intermedio:\n" -"Couldn't open '%s'\n" -"No puedo abrir '%s'\n" +"Error" +"Error" -"Couldn't open file '%s'" -"No puedo abrir el archivo '%s'" +"Error:" +"Error:" -"Couldn't OPEN file '%s'" -"No puedo ABRIR el archivo '%s'" +"Every AllocFwdAddr needs FwdAddrIsNow." +"Cada AllocFwdAddr necesita FwdAddrIsNow." -"Couldn't write to '%s'" -"No puedo escribir en '%s'." +"Every AllocFwdAddr needs FwdAddrIsNow.\ni=%d op=%d arg1=%d arg2=%d rung=%d" +"Cada AllocFwdAddr necesita FwdAddrIsNow.\ni=%d op=%d arg1=%d arg2=%d rung=%d" -"Couldn't write to '%s'." -"No puedo escribir en '%s'." +"Exceeded the limit of %d rungs!" +"Excedió el límite de% d peldaños!" -"Count Down" -"Contador Decreciente" +"Expected single-character or one simple-escape-sequence in single-quotes: <%s>!" +"Se esperaba un solo caracter o una secuencia de escape simple entre comillas simples: <%s>!" -"Count Up" -"Contador Creciente" +"Explore ld directory" +"Explorar directorio ld" -"Count:" -"Cantidad:" +"Export As Text" +"Exportar como Texto" -"Cycle time too fast; increase cycle time, or use faster crystal." -"Tiempo del ciclo demasiado rapido; aumenta el tiempo de ciclo, o usa un cristal de mas Mhz." +"File '%s' modified by another application.\r\nIts disk timestamp is newer than the editor one.\nReload from disk?" +"Archivo '%s' modificado por otra aplicacion.\r\nSu marca de tiempo del disco es mas reciente que la del editor.\noCargar desde el disco?" -"Cycle time too slow; decrease cycle time, or use slower crystal." -"Tiempo del ciclo demasiado lento; incrementa el tiempo de ciclo, o usa un cristal de menos Mhz." +"File '%s' not found!" +"Archivo '%s' no encontrado!" -"Delay (ms):" -"Retardo (ms):" +"File does not exist: '%s'" +"El archivo no existe: '%s'" -"Delay cannot be zero or negative." -"El retardo no puede ser cero o negativo." +"File format error; perhaps this program is for a newer version of LDmicro?" +"Error en el formato de archivo; quizas este programa es una version mas moderna de LDmicro?" -"Delay too long; maximum is 2**31 us." -"Retardo demasiado largo; maximo 2**31 us." +"File->Save LDmicro0.2 file format" +"Archivo-> Guardar formato de archivo LDmicro0.2" -"Destination:" -"Destino:" +"Flash program memory size %d exceeds limit by %d words\nfor %s." +"El tamaño de la memoria del programa flas %d excede el limite en %d palabras\para %s." -"Divide" -"Dividir" +"Flash program memory size %d is exceed limit %d words\nfor %s." +"El tamaño de la memoria del programa Flash% d excede el límite% d palabras\npara %s." -"Division by zero; halting simulation" -"Divisin por cero; parando simulacin" +"Format string:" +"Cadena formato:" -"Duty cycle:" -"Ciclo trabajo:" +"Formatted String Over UART" +"Cadena Formateada para UART" -"Resolution:" -"Resolucin:" +"Formatted String over %s" +"Cadena con formato sobre %s" -"E&xit" -"Salir" +"Formatted String" +"Cadena con formato" -"Edit table of ASCII values like a string" -"Editar tabla de valores ASCII como una cadena" +"Formatted String: sprintf(dest, frmtStr, var)" +"Cadena con formato: sprintf (dest, frmtStr, var)" -"Empty row; delete it or add instructions before compiling." -"Fila vacia; borrela o aada instrucciones antes de compilar." +"Formatted string" +"Cadena formateado" -"Empty textbox; not permitted." -"Texto vacio; no permitido" +"Frame format: 8 data, parity - none, 1 stop bit, handshaking - none.\r\n\r\n" +"Formato del cuadro: 8 datos, paridad - ninguno, 1 bit de parada, protocolo de enlace - ninguno.\r\ n\r\n" -"Error" -"Error" +"Frequency (Hz):" +"Frecuencia (Hz):" -"File format error; perhaps this program is for a newer version of LDmicro?" -"Error en el formato de archivo; quizas este programa es una version mas moderna de LDmicro?" +"GOSUB: SUBPROG '%s' not found!" +"GOSUB: SUBPROG '%s' no encontrado!" -"Formatted String Over UART" -"Cadena Formateada para UART" +"GOSUB: SUBPROG as number '%s' not allowed !" +"GOSUB: SUBPROG como numero '%s' no permitido!" -"Frequency (Hz):" -"Frecuencia (Hz):" +"GOTO: LABEL '%s' not found!" +"GOTO: LABEL '%s' no encontrado!" + +"Goto rung number or label name" +"Ir a numero de renglon o nombre de etiqueta" + +"Goto rung number or label" +"Ir al número de renglón o etiqueta" + +"Graph:" +"Grafico:" + +"HOW TO:..." +"COMO HACER:..." + +"High Level Delay" +"Retraso de Alto Nivel" + +"Hz" +"Hz" "I/O Pin Assignment" -"Asignacin de pata E/S" +"Asignacion de pata E/S" "I/O Pin" "E/S Pata" +"I2C - Two Wire Interface" +"I2C - Interfaz de dos hilos" + +"I2C Address:" +"I2C Direccion:" + +"I2C Internal error" +"Error interno de I2C" + +"I2C Mode:" +"Modo I2C:" + +"I2C Name:" +"Nombre de I2C:" + +"I2C Rate (Hz):" +"Frequencia I2C (Hz):" + +"I2C Register:" +"I2C Registro:" + +"I2C SCL" +"I2C SCL" + +"I2C SDA" +"I2C SDA" + +"I2C Simulation (Terminal)" +"I2C Simulación (Terminal)" + +"I2C functions used but not supported for this micro or compile mode." +"Funciones I2C utilizadas pero no compatibles con este modo de micro o compilacion." + +"I2C functions" +"I2C funciones" + +"INIT TABLE: signed %d bit %s[%d] see above" +"TABLA DE INICIO: %d bit %s [%d] firmado arriba" + "INT input" "INT entrada" @@ -928,1589 +985,1583 @@ "If Not Equals" "Si NO igual" +"If bit clear" +"Si es borrado bit" + +"If bit set" +"Si se establece bit" + +"In fact TCycle=%.6g %ss, Fcycle=%.6g %sHz, PLC Cycle deviation=%.3f%%\n" +"De hecho, TCycle=%.6g %ss, Fcycle=%.6g %sHz, desviacion del ciclo del PLC=%.3f%%\n" + "Index:" "Indice:" -"Input pin" -"Pata Entrada" +"Index=%d out of range for TABLE %s[0..%d]" +"Index=%d fuera del rango para TABLE %s[0..%d]" -"Internal error relating to PIC paging; make program smaller or reshuffle it." -"Error interno relativo a la paginacin del PIC; haz el programa mas pequeo o reorganizalo" +"Index=%d out of range for string %s[%d]" +"Index=%d fuera del rango para la cadena %s[%d]" -"Internal limit exceeded (number of vars)" -"Limite interno superado (numero de variables)" +"Input A INTs:" +"Entrada A INTs:" -"Internal relay '%s' never assigned; add its coil somewhere." -"No ha asignado el rele interno '%s'; aada la bobina en cualquier parte del programa." +"Input A:" +"Entrada A:" -"LDmicro - Program Editor" -"LDmicro Editor de Programa" +"Input B:" +"Entrada B:" -"LDmicro - Simulation (Running)" -"LDmicro - Simulacin (Ejecutando)" +"Input Pin on MCU" +"Pin de entrada en MCU" -"LDmicro - Simulation (Stopped)" -"LDmicro - Simulacin (Parada)" +"Input Z kind:" +"Tipo de input Z:" -"LDmicro Error" -"LDmicro Error" +"Input Z:" +"Entrada Z:" -"LDmicro Warning" -"LDmicro Warning" +"Input kind:" +"Tipo de entrada:" -"Look-Up Table" -"Tabla de busqueda" +"Input pin" +"Pata Entrada" -"MCU Crystal Frequency (MHz):" -"Frecuencia Cristal (MHz):" +"Inputs '%s' and '%s' must be located in same MCU PORT!" +"Las entradas '%s' y '%s' deben estar ubicadas en el mismo PUERTO MCU!" -"MCU Port" -"Puerto del Micro" +"Insert &A/D Converter Read\tA" +"Insertar A/D Conversor Lectura\tA" -"Make Persistent" -"Hacer permanente" +"Insert &Contacts: Input Pin\tC" +"IInsertar y Contactos: Pin Entrada\tC" -"Math instruction: '%s' not a valid destination." -"Instruccin Math: '%s' no es valido el destino." +"Insert &UART RECEIVE Variable" +"Insertar &UART RECIBIR variable" -"Max value:" -"Valor Max:" +"Insert &UART RECEIVE" +"Insertar UART Recepcion" -"Microcontroller '%s' not supported.\r\n\r\nDefaulting to no selected MCU." -"Microcontrolador '%s' no sorportado.\r\n\r\nForzando ninguna CPU." +"Insert &UART RECEIVE: Is data available ?" +"Insertar Prueba de UART listo para recibir" -"Move instruction: '%s' not a valid destination." -"Instruccin Move: '%s' no es valido el destino." +"Insert &UART SEND" +"Insertar UART Emision" -"Move" -"Mover" +"Insert &UART SEND: Is ready to send ?" +"Insertar Prueba de UART listo para enviar" -"Multiple escapes (\\0-9) present in format string, not allowed." -"No esta permitido mas de un caracter especial (\\0-9) dentro de la cadena de caractares." +"Insert &UART SENDn Variable" +"Insertar UART SENDn Variable" -"Multiply" -"Multiplicar" +"Insert -+ +- Open-Circuit\tShift+Enter" +"Insertar -+ +- Circuito-abierto\tShift+Enter" -"Must assign pins for all ADC inputs (name '%s')." -"Debe asignar patas para todas las entradas del ADC (nombre '%s')." +"Insert -+------+- Short-Circuit\tCtrl+Enter" +"Insertar -+------+- circuito-Cerrado\tCtrl+Enter" -"Must assign pins for all I/O.\r\n\r\n'%s' is not assigned." -"Debe asignar patas a todas las E/S.\r\n\r\n'%s' no esta asignada." +"Insert 14-SEGMENT FONT converter" +"Inserte el convertidor FONT de 14 SEGMENTOS" -"Must choose a target microcontroller before compiling." -"Debe elegir un micro antes de compilar." +"Insert 16-SEGMENT FONT converter" +"Inserte el convertidor de 16 SEGMENTOS" -"Name" -"Nombre" +"Insert 7-SEGMENT FONT converter" +"Insertar 7-FUENTE DE SEGMENTO Conversor" -"Name:" -"Nombre:" +"Insert 9-SEGMENT FONT converter" +"Inserte el convertidor FONT de 9 SEGMENTOS" -"No ADC or ADC not supported for selected micro." -"El micro seleccionado no tiene ADC o no esta soportado." +"Insert ADD (16-bit Integer Add)\t+" +"Insertar ADD (Suma Entero 16-bit)\t+" -"No ADC or ADC not supported for this micro." -"Este micro no tiene ADC o no esta soportado." +"Insert BCD2BIN converter" +"Insertar BCD2BIN Conversor" -"No microcontroller has been selected. You must select a microcontroller before you can assign I/O pins.\r\n\r\nSelect a microcontroller under the Settings menu and try again." -"No se ha seleccionado micro. Debes seleccionar un micro antes de asignar patas E/S.\r\n\r\nElije un micro en el menu de configuracin y prueba otra vez." +"Insert BIN2BCD converter" +"Insertar BIN2BCD Conversor" -"No serial instructions (UART Send/UART Receive) are in use; add one to program before setting baud rate.\r\n\r\n" -"No se han usado instrucciones (UART Enviar/UART Recibir) para el puerto serie aun; Aada una al programa antes de configurar los baudios.\r\n\r\n" +"Insert BUS tracer" +"Insertar marcador de BUS" -"No variable is interpolated into formatted string, but a variable name is specified. Include a string like '\\-3', or leave variable name blank." -"No se ha declarado un parametro dentro de la cadena de caractares pero sin embargo se ha especificado una variable. Aada un cadena como '\\-3', o quite el nombre de la variable." +"Insert CLRWDT" +"Insertar CLRWDT" -"Not a reasonable size for a shift register." -"No es un tamao razonable para el registro de desplazamiento." +"Insert CT&C (Count Circular)\tJ" +"Insertar CTC (Contador Circular)\tJ" -"Numerical problem with piecewise linear lookup table. Either make the table entries smaller, or space the points together more closely.\r\n\r\nSee the help file for details." -"Problema numrico con la tabla de interpolacion. Haz la tabla de entradas mas pequea, o aleja mas los puntos juntos.\r\n\r\nMira la ayuda para mas detalles." +"Insert CT&D (Count Down)\tI" +"Insertar CTD (Contador Decremental)\tI" -"OK" -"OK" +"Insert CT&R (Count Circular Reversive)\tK" +"Insertar CTR (Contador Circular Reversible)\tK" -"Out of memory; simplify program or choose microcontroller with more memory." -"Fuera de memoria; simplifique el programa o elija un micro con mas memoria.." +"Insert CT&U (Count Up)\tU" +"Insertar CTU (Contador Incremental)\tU" -"Output pin" -"Pata Salida" +"Insert Clear Bit #" +"Insert Reinitializar Bit #" -"PLC Configuration" -"Configuracin PLC" +"Insert Clear Bit In SFR" +"Insertar Limpiar Bit en SFR" -"PLC Cycle Time (ms):" -"Tiempo Ciclo (ms):" +"Insert Co&mment\t;" +"Insertar Comentario\t;" -"PWM frequency too fast." -"Frecuencia del PWM demasiado alta." +"Insert Coi&l: Output Pin\tL" +"Insertar Bobina: Pin Salida\tL" -"PWM frequency too slow." -"Frecuencia del PWM demasiado baja." +"Insert Coi&l\tL" +"Insertar Bobina\tL" -"PWM function used but not supported for this micro." -"Usadas Funciones para PWM. Este micro no las soporta." +"Insert Coil: Internal Relay\tAlt+L" +"Insertar Bobina: Rele Interno\tAlt+L" -"PWM in use; pin %d reserved for that." -"PWM en uso; pata %d reservada para eso." +"Insert Contacts: Internal Relay\tShift+C" +"IInsertar y Contactos: Rele interno\tShift+C" -"PWM out" -"salida PWM" +"Insert Contacts: Output Pin\tShift+L" +"Insertar Contactos: Pin Salida\tShift+L" -"Piecewise Linear Table" -"Tabla de interpolacion" +"Insert DELAY(us)" +"Insertar RETRASO(us)" -"Piecewise linear lookup table with zero elements!" -"tabla de interpolacion con cero elementos!" +"Insert DIV (16-bit Integer Divide)\tD" +"Insertar DIV (Divide Entero 16-bit)\tD" -"Pin on MCU" -"Pata del Micro" +"Insert ENDSUB declaration" +"Insertar declaracion ENDSUB" -"Pin on Processor" -"Pata del Micro" +"Insert EQU (Compare for Equals)\t=" +"Insertar EQU (Comparador si Igual)\t=" -"Please select a micro with a UART.\r\n\r\n" -"Por favor. Seleccione un micro con UART.\r\n\r\n" +"Insert Formatted String Over &UART" +"Insertar Cadena Formateado Final &UART" -"Points:" -"Puntos:" +"Insert Formatted String" +"Insertar Cadena Formateado" -"RTO: variable can only be used for RES elsewhere" -"RTO: la variable solo puede ser usada como RES en otra parte" +"Insert GEQ (Compare for Greater Than or Equal)\t." +"Insertar GEQ (Comparador si Mayor o Igual que)\t." -"Read A/D Converter" -"Leer Conversor A/D" +"Insert GOSUB call" +"Insertar llamada GOSUB" -"Read From SFR" -"Leer SFR" +"Insert GOTO Label or Rung" +"Insertar etiqueta o linea GOTO" -"Write To SFR" -"Escribir en SFR" +"Insert GRT (Compare for Greater Than)\t>" +"Insertar GRT (Comparador si Mayor que)\t>" -"Read SFR instruction: '%s' not a valid destination." -"Leer SFR instruccin: '%s' destino no valido." +"Insert I2C Read" +"Insertar I2C Leer" -"Set Bit In SFR" -"Set Bit In SFR" +"Insert I2C Write" +"Insertar I2C Escribir" -"Test if Bit Clear In SFR" -"Prueba Bit Clear In SFR" +"Insert LABEL declaration" +"Insertar declaracion LABEL" -"Test if Bit Set In SFR" -"Prueba Bit Set In SFR" +"Insert LEQ (Compare for Less Than or Equal)\t," +"Insertar LEQ (Comparador si Menor o Igual que)\t," -"Receive from UART" -"Recibir en la UART" +"Insert LES (Compare for Less Than)\t<" +"Insertar LES (Comparador si Menor que)\t<" -"Release" -"Release" +"Insert LOCK" +"Insertar LOCK" -"Release.." -"Release.." +"Insert Look-Up Table" +"Insertar Tabla de Busqueda" -"Rename I/O from default name ('%s') before assigning MCU pin." -"Cambie el nombre por defecto ('%s') antes de asignarle una pata del micro." +"Insert MOD (Integer Divide Remainder)" +"Insertar MOD (Resto de la Divison)" -"Reset" -"Reiniciar" +"Insert MOV (Move)\tM" +"Insertar MOV (Mover)\tM" -"Retentive Turn-On Delay" -"Activar Retardado con Memoria" +"Insert MUL (16-bit Integer Multiply)\t*" +"Insertar MUL (Multiplica Entero 16-bit)\t*" -"SFR position:" -"SFR position:" +"Insert Make Persistent" +"Insertar Hacer Permanente en EEPROM" -"Send to UART" -"Enviar a la UART" +"Insert Master Control Relay" +"Insertar Rele de Control Maestro" -"Serial (UART) will use pins %d and %d.\r\n" -"El Puerto Serie (UART) usar los pines %d y %d.\r\n" +"Insert N PULSE OFF" +"Inserta N PULSOS OFF" -"Set PWM Duty Cycle" -"Poner Ancho de Pulso PWM" +"Insert N PULSE" +"Inserta N PULSOS" -"Shift Register" -"Registro de Desplazamiento" +"Insert NEG (Integer Negate)" +"Inserta NEG (Entero Negado)" -"Source" -"Fuente" +"Insert NEQ (Compare for Not Equals)\t!" +"Insertar NEQ (Comparador si No Igual)\t!" -"Source:" -"Fuente:" +"Insert OPPOSITE" +"Insertar OPPOSITE OPUESTO " -"Stages:" -"Fases:" +"Insert PULSER" +"Inserta IMPULSOS" -"Start new program?" -"Empezar un nuevo programa?" +"Insert Piecewise Linear" +"Insertar Tabla de Interpolacion" -"State" -"Estado" +"Insert QUADRATURE ENCODER" +"Insertar CODIFICADOR DE CUADRATURA" -"String:" -"Cadena:" +"Insert R&ES (Counter/RTO/RTL/PWM Reset)\tE" +"Insertar RES (Contador/RTO/RTL/PWM Resetear)\tE" -"Subtract" -"Restar" +"Insert R&TO (Retentive Delayed Turn On)\tT" +"Insertar RTO (Encendido Retardado con Memoria)\tT" -"TOF: variable cannot be used elsewhere" -"TOF: variable no puede ser usada en otra parte" +"Insert RETURN" +"Insertar RETORNO" -"TON: variable cannot be used elsewhere" -"TON: variable no puede ser usada en otra parte" +"Insert ROL cyclic shift to the left" +"Insertar ROL ciclico desplazo a izquierda" -"Target PWM frequency %d Hz, closest achievable is %d Hz (warning, >5%% error)." -"Frecuencia Micro %d Hz, la mejor aproximacin es %d Hz (aviso, >5%% error)." +"Insert ROR cyclic shift to the right" +"Insertar ROR ciclico desplazo a derecha" -"The cycle time for the 'PLC' runtime generated by LDmicro is user-configurable. Very short cycle times may not be achievable due to processor speed constraints, and very long cycle times may not be achievable due to hardware overflows. Cycle times between 10 ms and 100 ms will usually be practical.\r\n\r\nThe compiler must know what speed crystal you are using with the micro to convert between timing in clock cycles and timing in seconds. A 4 MHz to 20 MHz crystal is typical; check the speed grade of the part you are using to determine the maximum allowable clock speed before choosing a crystal." -"El tiempo de ciclo de ejecucin para el 'PLC' es configurable. Un tiempo de ciclo muy corto puede no funcionar debido a la baja velocidad del micro, y un tiempo de ciclo muy largo puede no funcionar por limitaciones del temporizador del micro. Ciclos de tiempo entre 10 y 100 ms suele ser lo normal.\r\n\r\nEl compilador debe conocer la velocidad del cristal que estas usando para poder convertir entre tiempo en ciclos de reloj y tiempo en segundos. Un cristal entre 4 Mhz y 20 Mhz es lo tpico; Comprueba la velocidad a la que puede funcionar tu micro y calcula la velocidad mxima del reloj antes de elegir el cristal." +"Insert RTL (Retentive Delayed Turn On If Low Input)" +"Insertar RTL (Retencion Atrasada Enciende Si La Entrada Es Baja)" -"The program has changed since it was last saved.\r\n\r\nDo you want to save the changes?" -"El programa ha cambiado desde la ltima vez que los guardo.\r\n\r\nQuieres guardar los cambios?" +"Insert Random" +"Insertar Aleatorio" -"Timer period too long (max 32767 times cycle time); use a slower cycle time." -"Periodo del temporizador demasiado largo (max. 32767 veces el tiempo de ciclo); use un tiempo de ciclo mayor." +"Insert Read From SFR" +"Insertar Leer de SFR" -"Timer period too short (needs faster cycle time)." -"Periodo de Tiempo demasiado corto (se necesita un tiempo de ciclo menor)." +"Insert Rung &After\tShift+V" +"Insertar Linea Despues\tShift+V" -"Timer" -"Temporizador" +"Insert Rung &Before\tShift+6" +"Insertar Linea Antes\tShift+6" -"Too many elements in subcircuit!" -"Demasiados elementos en un SubCircuito!" - -"Too many rungs!" -"Demasiadas Lineas!" - -"True if >= :" -"Verdad si >= :" +"Insert SHL << arithmetic, logic shift to the left" +"Insertar SHL << desplazo aritmetico, logico a izquierda" -"Turn-Off Delay" -"Desactivar Retardado" +"Insert SHR >> arithmetic shift to the right" +"Insertar SHR >> desplazo aritmetico a derecha" -"Turn-On Delay" -"Activar Retardado" +"Insert SLEEP" +"Insertar SLEEP" -"Type" -"Tipo" +"Insert SPI Send/Receive" +"Insertar SPI Enviar/recibir" -"UART Baud Rate (bps):" -"Baudios UART (bps):" +"Insert SPI Write" +"Insertar SPI Escribir" -"UART baud rate generator: divisor=%d actual=%.4f for %.2f%% error.\r\n\r\nThis is too large; try a different baud rate (slower probably), or a crystal frequency chosen to be divisible by many common baud rates (e.g. 3.6864 MHz, 14.7456 MHz).\r\n\r\nCode will be generated anyways but serial may be unreliable or completely broken." -"UART generador de baudios: divisor=%d actual=%.4f para %.2f%% error.\r\n\r\nEs demasiado grande; Prueba con otro valor de baudios (probablemente menor), o un cristal cuya frecuencia sea divible por los baudios mas comunes (p.e. 3.6864MHz, 14.7456MHz).\r\n\r\nEl cdigo se genera de todas formas pero las tramas serie sean inestable o no entendible." +"Insert SR0 >> logic shift to the right" +"Insertar SR0 >> desplazo logico a la derecha" -"UART baud rate generator: too slow, divisor overflows. Use a slower crystal or a faster baud rate.\r\n\r\nCode will be generated anyways but serial will likely be completely broken." -"UART generador de baudios: demasiado lento, divisor demasiado grande. Use un cristal mas lento o mayor baudios.\r\n\r\nEl cdigo se genera de todas formas pero las tramas serie sern no entendible.." +"Insert STEPPER" +"Inserta PASO A PASO" -"UART function used but not supported for this micro." -"Usadas Funciones para UART. Este micro no las soporta." +"Insert SUB (16-bit Integer Subtract)\t-" +"Insertar SUB (Resta Entero 16-bit)\t-" -"UART in use; pins %d and %d reserved for that." -"UART en uso; patas %d y %d reservadas para eso." +"Insert SUBPROG declaration" +"Insertar declaracion SUBPROG" -"UART rx" -"UART rx" +"Insert SWAP" +"Insertar SWAP" -"UART tx" -"UART tx" +"Insert Seed of Random" +"Insertar Semilla Aleatorio" -"Unsupported op (anything ADC, PWM, UART, EEPROM, SFR..) for interpretable target." -"Op no soportada en el interprete (algun ADC, PWM, UART, EEPROM, SFR..)." +"Insert Set &PWM Output\tP" +"Insertar Salida PWM Activada\tP" -"Variable '%s' not assigned to, e.g. with a MOV statement, an ADD statement, etc.\r\n\r\nThis is probably a programming error; now it will always be zero." -"Variable '%s' no asignada, p.e. con el comando MOV, una instruccin ADD, etc.\r\n\r\nEsto es probablemente un error de programacin; valdr cero." +"Insert Set Bit #" +"Insert Establecer Bit #" -"Variable for '%s' incorrectly assigned: %s." -"Variable para '%s' incorrectamente asignada: %s." +"Insert Set Bit In SFR" +"Insertar Establecer bit en SFR" -"Variable is interpolated into formatted string, but none is specified." -"Se ha declarado un parametro dentro la cadena de caracteres, pero falta especificar la variable." +"Insert Shift Register" +"Insertar Registro de Desplazamiento" -"Variable:" -"Variable:" +"Insert String Over UART" +"Insertar cadena sobre UART" -"Zero baud rate not possible." -"Cero baudios no es posible." +"Insert T&ON (Delayed Turn On)\tO" +"Insertar TON (Encendido Retardado)\tO" -"Zero cycle time not valid; resetting to 10 ms." -"No es valido un tiempo de ciclo 0; forzado a 10 ms." +"Insert TCY (Cyclic On/Off)" +"Insertar TCY (Ciclo On/Off)" -"\n\nI/O ASSIGNMENT:\n\n" -"\n\nE/S ASIGNACIN:\n\n" +"Insert THI (High Delay)" +"Insertar THI (Retardo Alto)" -"adc input" -"entrada adc" +"Insert TIME to COUNTER converter" +"Insertar convertidor de TIEMPO a CONTADOR" -"counter" -"contador" +"Insert TIME to DELAY converter" +"Insertar convertir TIME a Retraso" -"cycle time %.2f ms" -"tiempo ciclo %.2f ms" +"Insert TLO (Low Delay)" +"Insertar TLO (Retardo Bajo)" -"digital in" -"entrada digital" +"Insert TO&F (Delayed Turn Off)\tF" +"Insertar TOF (Apagado Retardado)\tF" -"digital out" -"salida digital" +"Insert Test If Bit Clear in SFR" +"Insertar Prueba si Bit se limpio en SFR" -"general var" -"var general" +"Insert Test If Bit Clear" +"Insertar Prueba de Bit de Borrado" -"int. relay" -"rele interno" +"Insert Test If Bit Set in SFR" +"Insertar probar si el bit se establecio en SFR" -"is set := :" -"esta puesto := :" +"Insert Test If Bit Set" +"Insertar Prueba de Bit de Activacion" -"no MCU selected" -"micro no seleccionado" +"Insert Test if UART data available" +"Insertar Prueba de UART listo para recibir" -"processor clock %.4f MHz" -"reloj procesador %.4f MHz" +"Insert Test if UART ready to send" +"Insertar Prueba de UART listo para enviar" -"retentive timer" -"temporizador con memoria" +"Insert Write To SFR" +"Insertar Escribir a SFR" -"saved var" -"guardado var" +"Insert \\_OSF/\\_ (One Shot Falling)\t&\\ " +"Insertar \\_OSF/\\_ (Flanco de Bajada)\t&\\" -"turn-off delay" -"desactivar retardo" +"Insert \\_OSL\\/ (One Shot Low)" +"Insertar \\_OSL\\/ (Un Disparo Bajo)" -"turn-on delay" -"activar retardo" +"Insert _/OSC/\\_/\\_ (Oscillator F=1/(2*Tcycle))" +"Insertar _/OSC/\\_/\\_ (Oscilador F=1/(2*Tciclo))" -"x values in piecewise linear table must be strictly increasing." -"x valores en la tabla de interpolacion deben ser estrictamente incrementales." +"Insert _/OSR/\\_ (One Shot Rising)\t&/" +"Insertar _/OSR/\\_ (Flanco de Subida)\t&/" -"|/| Negated" -"|/| Negado" +"Insert bitwise AND" +"Insertar nivel de bit AND" -"Could not open file" -"No se pudo abrir el archivo" +"Insert bitwise NOT ~" +"Inserar nivel de bit NOT ~" -"SPI functions used but not supported for this micro or compile mode." -"Funciones SPI utilizadas pero no compatibles con este modo de micro o compilacin." +"Insert bitwise OR |" +"Insertar nivel de bit OR |" -"Must assign pins for SPI device (name '%s')." -"Debe asignar pines para el dispositivo SPI (nombre '% s')." +"Insert bitwise XOR ^" +"Insertar nivel de bit XOR ^" "Internal Relay" -"Rel interno" +"Rele interno" -"EEPROM not supported by this target" -"EEPROM no es compatible con este objetivo" - -"Must choose a target microcontroller before simulating." -"Debe elegir un microcontrolador de destino antes de simular." +"Internal error relating to PIC paging; make program smaller or reshuffle it." +"Error interno relativo a la paginacion del PIC; haz el programa mas pequeño o reorganizalo" -"PWM Internal error" -"Error interno de PWM" +"Internal error." +"Error interno." -"Pin#: MCU pin name:" -"Pin #: nombre de pin MCU:" +"Internal limit exceeded (MAX_PROGRAM_LEN)" +"Limite interno excedido (MAX_PROGRAM_LEN)" -"SPI Rate (Hz):" -"Tasa SPI (Hz):" +"Internal limit exceeded (number of relay)" +"Limite interno excedido (numero de rele)" -"SPI: Sending too many chars in one cycle may cause timing issues" -"SPI: enviar demasiados caracteres en un ciclo puede causar problemas de tiempo" +"Internal limit exceeded (number of vars)" +"Limite interno superado (numero de variables)" -"Invalid SPI name in ladder." -"Nombre no vlido SPI en la escalera." +"Internal relay '%s' never assigned; add its coil somewhere." +"No ha asignado el rele interno '%s'; añada la bobina en cualquier parte del programa." -"SPI Internal error" -"SPI error interno" +"Invalid AVR OpCode %i." +"AVR OpCode %i no valido." -"SPI Name:" -"Nombre SPI:" +"Invalid I2C name in ladder." +"Nombre no valido I2C en la escalera." -"SPI Mode:" -"Modo SPI:" +"Invalid MCU" +"MCU no valido" -"SPI Simulation (Terminal)" -"Simulacin SPI (Terminal)" +"Invalid MENU:%i" +"MENU no valido:% i" -"Send variable:" -"Enviar variable:" +"Invalid RX pin." +"Pin de RX no valido." -"Receive to variable:" -"Recibir a variable:" +"Invalid SPI name in ladder." +"Nombre no valido SPI en la escalera." -"Bit Rate (Hz):" -"Velocidad (Hz):" +"Invalid SUBPROG '%s'" +"Invalido SUBPROG '%s'" -"Data Modes (CPOL, CPHA):" -"Modos de datos (CPOL, CPHA):" +"Invalid TX pin." +"Pin de TX no valido." -"Data Size:" -"Tamao datos:" +"Invalid bit number %i." +"Numero de bit no valido %i." -"Data Order:" -"Orden datos:" +"Invalid compare." +"Comparacion invalida." -"Send string:" -"Enviar cadena:" +"Invalid instruction." +"Instruccion invalida." -"UART Simulation (Terminal)" -"Simulacin UART (Terminal)" +"Invalid intcode %d." +"Codigo de entrada no valido %d." -"Internal error." -"Error interno." +"Invalid operation %i." +"Operacion no valida %i." -"Only one SPI can be used" -"Solo se puede usar un SPI" +"Invalid prescale." +"Preescala invalida." -"PWM pin error" -"PWM pin error" +"Invalid rung index %lu!" +"Índice de peldaño no válido %lu!" -"ADC pin error" -"Error de pin ADC (Analogica)" +"Invalid size (%d) of variable '%s' set to 2!" +"El tamaño no valido (%d) de la variable '%s' se establecio en 2!" -"SPI: Sending too many chars in one cycle may cause timing issues" -"SPI: enviar demasiados caracteres en un ciclo puede causar problemas de tiempo" +"Invalid var size in swap." +"Tamaño de variable no valido en swap." -"Invalid SUBPROG '%s'" -"Invalido SUBPROG '%s'" +"Invalid variable size." +"Tamaño de variable no valido." -"Invalid MENU:%i" -"MEN no vlido:% i" +"LABEL name:" +"LABEL Nombre:" -"ADC Internal error" -"Error interno ADC (Analogica)" +"LABEL name:" +"LABEL Nombre:" -"Direct Addr error" -"Error de direccionamiento directo" +"LABEL: Only one LABEL '%s' is allowed!" +"LABEL: ¡solo se permite una LABEL '%s'!" -"Internal limit exceeded (MAX_PROGRAM_LEN)" -"Lmite interno excedido (MAX_PROGRAM_LEN)" +"LDmicro - Program Editor" +"LDmicro - Editor de Programa" -"Every AllocFwdAddr needs FwdAddrIsNow.\ni=%d op=%d arg1=%d arg2=%d rung=%d" -"Cada AllocFwdAddr necesita FwdAddrIsNow.\ni=%d op=%d arg1=%d arg2=%d rung=%d" +"LDmicro - Simulation (Running)" +"LDmicro - Simulacion (Ejecutando)" -"Flash program memory size %d exceeds limit by %d words\nfor %s." -"El tamao de la memoria del programa flas %d excede el lmite en %d palabras\para %s." +"LDmicro - Simulation (Stopped)" +"LDmicro - Simulacion (Parada)" -"Zero memory address not allowed!\nLoadXAddr(%d) skiped!" -"Direccin de memoria cero no permitida!\nLoadXAddr(%d) omitida!" +"LDmicro Error" +"LDmicro Error" -"Address not allowed!\nLoadXAddr(%d) skiped!" -"Direccin no permitida!\nLoadXAddr(%d) omitida!" +"LDmicro Forum..." +"Foro LDmicro..." -"Zero memory address not allowed!\nLoadYAddr(%d) skiped!" -"No se permite la direccin de memoria cero!\nLoadYAddr(%d) omitido!" +"LDmicro Help" +"LDmicro Ayuda" -"Address not allowed!\nLoadYAddr(%d) skiped!" -"Direccin no permitida!\nLoadYAddr(%d) omitida!" +"LDmicro Information" +"LDmicro Informacion" -"Zero memory address not allowed!\nLoadZAddr(%d) skiped!" -"Direccin de memoria cero no permitida!\nLoadZAddr(%d) omitida!" +"LDmicro Question" +"LDmicro Pregunta" -"Address not allowed!\nLoadZAddr(%d) skiped!" -"Direccin no permitida!\nLoadZAddr(%d) omitida!" +"LDmicro Warning" +"Advertencia LDmicro" -"Only values 0-7 allowed for Bit parameter" -"Slo los valores 0-7 permitidos para el parmetro Bit" +"Labels limit '%d' exceeded!" +"Límite de etiquetas '%d' excedido!" -"Zero memory address not allowed!\nSTORE(%d, %d) skiped!" -"No se permite la direccin de memoria cero!\NSTORE(%d,%d) omitido!" +"Latest release changes..." +"Cambios Ultima Version..." -"Registers less zero not allowed!\nSTORE(%d, %d) skiped." -"Los registros menos y cero no estn permitidos!\nSTORE (%d,%d) omitido." +"Line\n'%s'\nis skipped in IO LIST section from '%s'" +"La línea \n'%s'\nis omite en la sección IO LIST de '%s'" -"Zero memory address not allowed!\nLOAD(%d, %d) skiped!" -"La direccin de memoria cero no est permitida!\nLOAD (%d,%d) omitida" +"Literal number" +"Numero literal" -"Registers less zero not allowed!\nLOAD(%d, %d) skiped." -"No se permiten registros menos de cero!\ nLOAD(%d, %d) omitido." +"Look-Up Table" +"Tabla de busqueda" -"Zero memory address not allowed!\nWriteMemory(0, %d) skiped! %s %s" -"No se permite la direccin de memoria cero! \ nWriteMemory(0, %d) omitido!%s %s" +"Low Level Delay" +"Retraso de bajo nivel" -"Zero memory address not allowed!\nWriteMemoryStillAddr(0, %d) skiped!" -"Direccin de memoria cero no permitida!\nWriteMemoryStillAddr(0,%d) omitida!" +"MCU Crystal Frequency (MHz):" +"Frecuencia Cristal (MHz):" -"Zero memory address not allowed!\nOrMemory(0, %d) skiped!" -"Direccin de memoria cero no permitida!\nOrMemory(0, %d) omitida!" +"MCU PLC Timer%d: TMR%d=%d, prescaler=%d, softDivisor=%d\n" +"MCU PLC Timer%d: TMR%d=%d, prescaler=%d, softDivisor=%d\n" -"Zero memory address not allowed!\nAndMemory(0, %d) skiped!" -"No se permite la direccin de memoria cero!\\nAndMemory(0, %d) se omite" +"MCU Port" +"Puerto del Micro" -"Zero memory address not allowed!\nWriteRegToIO skiped." -"Direccin de memoria cero no permitida!\nWriteRegToIO omitido." - -"Registers less zero not allowed!\nWriteRegToIO skiped." -"Los registros menos cero no estn permitidos!\nWriteRegToIO omitido." - -"Zero memory address not allowed!\nReadIoToReg skiped." -"No se permite la direccin de memoria cero!\nReadIoToReg omitido." - -"Registers less zero not allowed!\nReadIoToReg skiped." -"Los registros menos cero no estn permitidos!\nReadIoToReg omitido." +"MCU register" +"Registro MCU" -"Only values 0-0xFFFF allowed for address parameter.\naddres=0x%4X" -"Slo se permiten valores 0-0xFFFF para el parmetro de direccin.\naddres=0x%4X" +"MCU type warning" +"Advertencia de tipo MCU" -"Only values 0-7 allowed for Bit parameter.\nbit=%d" -"Solo los valores 0-7 permitidos para el parmetro Bit.\nbit=%d" +"Make &Negated\tN" +"Hacer Negado\tN" -"Only values 0-0x1F allowed for Register parameter.\nreg=0x%02X" -"Slo se permiten los valores 0-0x1F para el parmetro Registro.\nreg=0x%02X" +"Make &Normal\tN" +"Hacer &Normal\tN" -"PLC cycle time more than %lld ms not valid." -"El tiempo de ciclo del PLC ms de %lld ms no es vlido." +"Make &Reset-Only\tR" +"Hacer Solo-Desactivar\tR" -"PLC cycle time less than %d us not valid." -"Tiempo de ciclo de PLC inferior a %d no es vlido." +"Make &Set-Only\tS" +"Hacer Solo-Activar\tS" -"Invalid intcode %d." -"Cdigo de entrada no vlido %d." +"Make Norm&al\tA" +"Hacer Normal\tA" -"Invalid operation %i." -"Operacin no vlida %i." +"Make Persistent" +"Hacer permanente" -"Invalid bit number %i." -"Nmero de bit no vlido %i." +"Make T-trigger" +"Hacer T-trigger" -"Invalid AVR OpCode %i." -"AVR OpCode %i no vlido." +"Math instruction: '%s' not a valid destination." +"Instruccion Math: '%s' no es valido el destino." -"Invalid var size in swap." -"Tamao de variable no vlido en swap." +"Max value:" +"Valor Max:" -"Invalid compare." -"Comparacin invlida." +"Maximal one format placeholder is allowed in write string instruction." +"Se permite un maximo de un marcador de posicion de formato en la instruccion de cadena de escritura." -"Invalid variable size." -"Tamao de variable no vlido." +"Maximum available timer period = %.3f s." +"Periodo maximo de temporizador disponible = %.3f s." -"Invalid instruction." -"Instruccin invlida." +"Microchip Pic10-16 MCUs" +"Microchip Pic10-16 MCUs" -"Pin '%s': PWM output not available!" -"Pin '%s':La salida PWM no est disponible!" +"Microchip Pic18 MCUs" +"Microchip Pic18 MCUs" -"Pin '%s': PWM resolution not available!" -"Pin '%s': resolucin PWM no disponible!" +"Microcontroller '%s' not supported.\r\n\r\nDefaulting to no selected MCU." +"Microcontrolador '%s' no sorportado.\r\n\r\nForzando ninguna CPU." -"Can't set prescale." -"No se puede establecer preescala." +"Microcontrollers: TODO and DONE" +"Microcontroladores: TODO y HECHO" -"Select the frequency from the possible values:" -"Seleccione la frecuencia de entre los valores posibles:" +"Min value:" +"Min valor:" -"Invalid prescale." -"Preescala invlida." +"Minimum available timer period = PLC cycle time = %.3f ms." +"Periodo de temporizador minimo disponible = tiempo de ciclo del PLC = %.3f ms." -"Can't set PWM." -"No se puede establecer PWM." +"Minimum available timer period = PLC cycle time = %.3f ms." +"Periodo de temporizador minimo disponible = tiempo de ciclo del PLC = %.3f ms." -"Unsupported operation 'INT_WRITE_STRING' for target, skipped." -"Operacin no compatible 'INT_WRITE_STRING' para el destino, omitido." +"Modbus Address" +"Direccion Modbus" -"The delay is too long!\nThe maximum possible delay is %lld us." -"El retraso es demasiado largo!\El mximo retraso posible es %lld us." +"Modbus Coil" +"Bobina de modbus" -"Don't know how to init %s." -"No s cmo iniciar %s." +"Modbus Contact" +"Contacto Modbus" -"Used %d/%d byte of RAM (chip %d%% full)." -"Se utiliz %d/%d byte de RAM (chip % d %% completo.)" +"Modbus addr" +"Direccion modbus" -"Can use only one N PULSE element on timer0." -"Se puede usar solo un elemento N PULSE en el temporizador0." +"Modbus" +"Modbus" -"Can use only %d INTs on this MCU." -"Se pueden usar solo %d INT en este MCU." +"Modified black color scheme\tIhor" +"Tema modificado negro \tIhor" -"No available ADC inputs." -"No hay entradas ADC (Digitales) disponibles." +"Move Selected Rung &Down\tAlt+Down" +"Bajar Linea Seleccionada\tAlt+Down" -"No PWM or PWM not supported for this MCU." -"No acecta o Soporta el PWM Esta MCU." +"Move Selected Rung &Up\tAlt+Up" +"Subir Linea Seleccionada\tAlt+Up" -"No available PWM outputs." -"No hay salidas PWM disponibles." +"Move instruction: '%s' not a valid destination." +"Instruccion Move: '%s' no es valido el destino." -"No UART or UART not supported for this MCU." -"No acecta o Soporta el UART para esta MCU." +"Move" +"Mover" -"No SPI or SPI not supported for this MCU." -"No acecta o Soporta el SPI para esta MCU." +"Moving cursor between the main window and the I/O list\tTab" +"Movimientar entre ventana principal y I/O lista\tTab" -"No ROM or ROM not supported for this MCU." -"No acecta o Soporta el RON para esta MCU." +"Multiple escapes (\\0-9) present in format string, not allowed." +"No esta permitido mas de un caracter especial (\\0-9) dentro de la cadena de caractares." -"You must Select rungs, then Copy or Cut, then Paste." -"Debe seleccionar los peldaos, luego Copiar o Cortar, luego Pega.r" +"Multiply" +"Multiplicar" -"(T) T-trigger" -"(T) T-Pulso" +"Must assign pins for I2C device (name '%s')." +"Debe asignar pines para el dispositivo I2C (nombre '% s')." -"Output Pin on MCU" -"Pin de salida en MCU" +"Must assign pins for SPI device (name '%s')." +"Debe asignar pines para el dispositivo SPI (nombre '% s')." -"Modbus" -"Modbus" +"Must assign pins for all ADC inputs (name '%s')." +"Debe asignar patas para todas las entradas del ADC (nombre '%s')." -"Rename the ALL other %d coils/contacts named '%s' to '%s' ?" -"Cambiar el nombre de TODAS las otras %d bobinas/contactos llamados '%s' a '%s'?" +"Must assign pins for all I/O.\r\n\r\n'%s' is not assigned." +"Debe asignar patas a todas las E/S.\r\n\r\n'%s' no esta asignada." -"Choose a color" -"Elija un color" +"Must choose a target microcontroller before compiling." +"Debe elegir un micro antes de compilar." -"Un-choose a color" -"Deseleccionar un color" +"Must choose a target microcontroller before simulating." +"Debe elegir un microcontrolador de destino antes de simular." -"Try again a color" -"Elija un nuevo color" +"Name of an item" +"Nombre de un elemento" -"Revert a color" -"Canvio de color" +"Name" +"Nombre" -"Apply user color scheme" -"Aplicar esquema de color de usuario" +"Name:" +"Nombre:" -"Revert color scheme" -"Colocar esquema de color" +"Negative cycle time is not valid; Reset to 10 ms." +"El tiempo de ciclo negativo no es valido; se restablecer a 10 ms." -"Select color for user scheme:" -"Seleccionar color para esquema de usuario:" +"No ADC or ADC not supported for selected micro." +"El micro seleccionado no tiene ADC o no esta soportado." -"Background color" -"Color de fondo" +"No ADC or ADC not supported for this micro." +"Este micro no tiene ADC o no esta soportado." -"Default foreground" -"Primer plano por defecto" +"No I2C or I2C not supported for this MCU." +"No I2C o I2C no compatible con este micro." -"Selected element" -"Elemento seleccionado" +"No PWM or PWM not supported for this MCU." +"No acecta o Soporta el PWM Esta MCU." -"OpCode (like OSR, TON, ADD, ...)" -"OpCode (como OSR, TON, ADD, ...)" +"No ROM or ROM not supported for this MCU." +"No acecta o Soporta el RON para esta MCU." -"Punctuation, like square, curly braces, etc." -"Puntuacin, como cuadrado, llaves, etc." +"No SPI or SPI not supported for this MCU." +"No acecta o Soporta el SPI para esta MCU." -"Literal number" -"Nmero literal" +"No UART or UART not supported for this MCU." +"No acecta o Soporta el UART para esta MCU." -"Name of an item" -"Nombre de un elemento" +"No available ADC inputs." +"No hay entradas ADC (Digitales) disponibles." -"Rung number" -"Nmero de peldao" +"No available PWM outputs." +"No hay salidas PWM disponibles." -"Comment text" -"Texto de comentario" +"No microcontroller has been selected. You must select a microcontroller before you can assign I/O pins.\r\n\r\nSelect a microcontroller under the Settings menu and try again." +"No se ha seleccionado micro. Debes seleccionar un micro antes de asignar patas E/S.\r\n\r\nElije un micro en el menu de configuracion y prueba otra vez." -"| The 'bus' at the right and left of screen |" -"| El 'bus' a la derecha e izquierda de la pantalla |" +"No opcodes found." +"No se encontraron codigos de operacion." -"Background, Simulation mode" -"Fondo, modo simulacin" +"No serial instructions (UART Send/UART Receive) are in use; add one to program before setting baud rate.\r\n\r\n" +"No se han usado instrucciones (UART Enviar/UART Recibir) para el puerto serie aun; Añada una al programa antes de configurar los baudios.\r\n\r\n" -"Rung number, Simulation mode" -"Nmero de peldao, modo de simulacin" +"No variable is interpolated into formatted string, but a variable name is specified. Include a string like '\\-3', or leave variable name blank." +"No se ha declarado un parametro dentro de la cadena de caractares pero sin embargo se ha especificado una variable. Añada un cadena como '\\-3', o quite el nombre de la variable." -"De-energized element, Simulation mode" -"Elemento desenergizado, modo simulacin" +"Not a #PORT/#PIN/#TRIS/%s " +"No es un #PORT/#PIN/#TRIS/%s " -"Energized element, Simulation mode" -"Elemento energizado, modo simulacin" +"Not a reasonable size for a shift register." +"No es un tamaño razonable para el registro de desplazamiento." -"| The 'bus' at the left of the screen, Simulation mode" -"| El 'bus' a la izquierda de la pantalla, modo Simulacin" +"Not a reasonable size for a variable." +"No es un tamaño razonable para una variable." -"The 'bus' at the right of the screen, Simulation mode |" -"El 'bus' a la derecha de la pantalla, modo de simulacin |" +"Not all I/O pins are saved! Use menu:\n" +"No todos los pines de E/S estan guardados. Use el menu:\n" -"RAM:" -"RAM:" +"Not available" +"No disponible" "Not described pin %d " "No descrito pin %d " -"Empty variable name '%s'.\nrungNow=%d" -"Nombre de variable vaco '% s'.\nrungNow=%d" +"Not enough memory for BANK and PAGE correction!" +"No hay suficiente memoria para la correccion de BANCO y PAGINA!" -"Not a #PORT/#PIN/#TRIS/%s " -"No es un #PORT/#PIN/#TRIS/%s " +"Not enough memory for PAGE correction!" +"No hay suficiente memoria para la correccion de PAGE!" -"Size of var '%s'(%d) reset as signed 8 bit variable." -"El tamao de la var '%s' (%d) se restableci como variable de 8 bits con signo." +"Number of bytes to receive:" +"N�mero de bytes a recibir:" -"Size of var '%s'(%d) reset as signed 32 bit variable." -"El tamao de la var '%s' (%d) se restableci como variable de 32 bits con signo." +"Number of bytes to send:" +"N�mero de bytes a enviar:" -"Var '%s' not allocated %d." -"Var '%s' no asignado %d." +"Numerical problem with piecewise linear lookup table. Either make the table entries smaller, or space the points together more closely.\r\n\r\nSee the help file for details." +"Problema numerico con la tabla de interpolacion. Haz la tabla de entradas mas peque�a, o aleja mas los puntos juntos.\r\n\r\nMira la ayuda para mas detalles." -"Invalid size (%d) of variable '%s' set to 2!" -"El tamao no vlido (%d) de la variable '%s' se estableci en 2!" +"OK" +"OK" -" \tNow not used !!!" -" \tNow no se usa!" +"OPPOSITE instruction: '%s' not a valid destination." +"Instruccion OPUESTA: '%s' no es un destino valido." -"Error reading 'VAR LIST' section from .ld file!\nError in line:\n'%s'." -"Error al leer la seccin 'LISTA VAR' del archivo.ld!\nError en la lnea:\n'%s'." +"Only 'Y-Outpur Pin' or 'R-Inrenal Relay' are allowed for Output Dir parameter '%s'" +"Solo se permiten 'Pin de salida Y' o 'Relé interno R' para el parámetro Dir de salida'%s'" -"Internal limit exceeded (number of relay)" -"Lmite interno excedido (nmero de rel)" +"Only one I2C can be used" +"Solo se puede usar un I2C" -"Unknown name >%s<" -"Nombre desconocido >%s<" +"Only one SPI can be used" +"Solo se puede usar un SPI" -"Can't find right assign." -"No puedo encontrar la asignacin correcta." +"Only the characters '-o/\\' are available!" +"Solo los caracteres '-o/\\' estan disponibles!" -"Invalid MCU" -"MCU no vlido" +"Only timers 0 and 1 are possible as PLC cycle timer.\nSelect proper timer in menu 'Settings -> MCU Parameters'!" +"Solo los temporizadores 0 y 1 son posibles como temporizador de ciclo del PLC.\nSeleccione el temporizador adecuado en el menú 'Configuración -> Parámetros MCU'!" -"Invalid TX pin." -"Pin de TX no vlido." +"Only values 0-0x1F allowed for Register parameter.\nreg=0x%02X" +"Solo se permiten los valores 0-0x1F para el parametro Registro.\nreg=0x%02X" -"Invalid RX pin." -"Pin de RX no vlido." +"Only values 0-0xFFFF allowed for address parameter.\naddres=0x%4X" +"Solo se permiten valores 0-0xFFFF para el parametro de direccion.\naddres=0x%4X" -"Timer0|1:" -"Timer0|1:" +"Only values 0-7 allowed for Bit parameter" +"Solo los valores 0-7 permitidos para el parametro Bit" -"PIC Configuration Bits:" -"Bits de configuracin PIC:" +"Only values 0-7 allowed for Bit parameter.\nbit=%d" +"Solo los valores 0-7 permitidos para el parametro Bit.\nbit=%d" -"Available PLC Cycle Time: min=%.6g %ss, max=%lld ms (%.6g %ss)\n" -"Tiempo de ciclo del PLC disponible: min=%.6g %ss, max=% lld ms (%.6g %ss)\n" +"OpCode (like OSR, TON, ADD, ...)" +"OpCode (como OSR, TON, ADD, ...)" -"MCU PLC Timer%d: TMR%d=%d, prescaler=%d, softDivisor=%d\n" -"MCU PLC Timer%d: TMR%d=%d, prescaler=%d, softDivisor=%d\n" +"Open Text in notepad\tF3" +"Abrir texto en bloc de notas\tF3" -"%030lld=TicksPerCycle\n%030lld=In fact\n" -"%030lld=TicksPerCycle\n%030lld=De hecho\n" +"Open asm in notepad\tAlt+F3" +"Abrir asm en bloc de notas\tAlt+F3" -"In fact TCycle=%.6g %ss, Fcycle=%.6g %sHz, PLC Cycle deviation=%.3f%%\n" -"De hecho, TCycle=%.6g %ss, Fcycle=%.6g %sHz, desviacin del ciclo del PLC=%.3f%%\n" +"Open c in notepad" +"Abrir c en bloc de notas" -"TON,TOF,RTO min Delay=%.6g ms (%.6g %ss)\n" -"TON,TOF,RTO Demora mnima=%.6g ms (%.6g %ss)\n" +"Open hex in notepad\tAlt+F6" +"Abrir hex en bloc de notas\tAlt+F6" -"TON,TOF,RTO 8bit max Delay=%.6g %ss\n" -"TON,TOF,RTO 8bit max Delay=%.6g %ss\n" +"Open ino in notepad" +"Abrir ino en bloc de notas" -"TON,TOF,RTO 16bit max Delay=%.6g %ss\n" -"TON,TOF,RTO 16bit max Delay=%.6g %ss\n" +"Open ld in notepad\tF4" +"Abrir ld en bloc notas\tF4" -"TON,TOF,RTO 24bit max Delay=%.6g %ss\n" -"TON,TOF,RTO 24bit max Delay=%.6g %ss\n" +"Open pas in notepad" +"Abrir pas en bloc de notas" -"Serial (UART) will use pins %d(RX) and %d(TX).\r\n" -"El serial (UART) utilizar los pines %d(RX) y %d(TX).\r\n" +"Open pl in notepad\tAlt+F5" +"Abrir pl en bloc de notas\tlt+F5" -"Frame format: 8 data, parity - none, 1 stop bit, handshaking - none.\r\n\r\n" -"Formato del cuadro: 8 datos, paridad - ninguno, 1 bit de parada, protocolo de enlace - ninguno.\r\ n\r\n" +"Operand1:" +"Operand1:" -"Zero Configuration Word(s) not valid." -"Cero palabra(s) de configuracin no es vlida." +"Operations that change the course of the program" +"Operaciones que cambian el curso del programa" -"Zero crystal frequency not valid; resetting to 16 MHz." -"La frecuencia de cristal cero no es vlida; se restablece a 16 MHz." +"Opposite source and assign to destination" +"Fuente opuesta y asignacion a destino" -"A zero cycle time value is available, but timers (TON, TOF, etc) will not work correctly!" -"Hay un valor de tiempo de ciclo cero disponible, pero los temporizadores (TON, TOF, etc.) no funcionarn correctamente!" +"Or decrease timer period." +"Or disminuir el período del temporizador." -"Negative cycle time is not valid; Reset to 10 ms." -"El tiempo de ciclo negativo no es vlido; se restablecer a 10 ms." +"Or increase timer period." +"Or aumentar el período del temporizador." -"Input Pin on MCU" -"Pin de entrada en MCU" +"Original black color scheme\tJonathan" +"Tema negro original\tJonathan" + +"Other MCUs" +"Otro MCUs" + +"Out of memory; simplify program or choose microcontroller with more memory." +"Fuera de memoria; simplifique el programa o elija un micro con mas memoria.." + +"Output Dir:" +"Salida Dir:" "Output Pin on MCU" "Pin de salida en MCU" -"Modbus Contact" -"Contacto Modbus" +"Output Pin on MCU" +"Pin de salida en MCU" -"Modbus Coil" -"Bobina de modbus" +"Output pin" +"Pata Salida" -"Set HI input level before simulation" -"Establecer el nivel de entrada ALTO antes de la simulacin" +"PASCAL target does not support peripherals (UART, PWM, ADC, EEPROM). Skipping that instruction." +"El destino PASCAL no admite perifericos (UART, PWM, ADC, EEPROM). Se omite esa instruccion." -"Rename the ALL other %d contacts/coils named '%s' to '%s' ?" -"Cambiar el nombre de TODOS los otros %d contactos/bobinas llamados '%s' a '%s' ?" +"PIC Configuration Bits:" +"Bits de configuracion PIC:" -"\nI/O ASSIGNMENT:\n" -"\nE/S ASIGNACIN:\n" +"PLC Configuration" +"Configuracion PLC" -"About LDmicro" -"Sobre LDmicro" +"PLC Cycle Time (ms):" +"Tiempo Ciclo PLC (ms):" -"Constant %d out of range: %d to %d inclusive." -"Constante %d fuera de rango: %d a %d inclusive" +"PLC Cycle Time is '0'. TON, TOF, RTO, RTL, TCY timers does not work correctly!" +"El tiempo de ciclo del PLC si es '0'. Los temporizadores TON, TOF, RTO, RTL, TCY no funcionan correctamente!" -"Couldn't dump intermediate code to '%s'." -"No se pudo volcar el cdigo intermedio a '%s'." +"PLC cycle time less than %.3f ms not valid." +"El tiempo de ciclo del PLC inferior a %.3f ms no es valido." -"Timer '%s'=%.3f ms." -"Temporizador '%s'=%.3f ms." +"PLC cycle time less than %d us not valid." +"Tiempo de ciclo de PLC inferior a %d no es valido." -"Minimum available timer period = PLC cycle time = %.3f ms." -"Periodo de temporizador mnimo disponible = tiempo de ciclo del PLC = %.3f ms." +"PLC cycle time more than %.3f ms not valid." +"El tiempo de ciclo del PLC superior a %.3f ms no es valido." -"Not available" -"No disponible" +"PLC cycle time more than %lld ms not valid." +"El tiempo de ciclo del PLC mas de %lld ms no es valido." -"Total timer delay cannot be zero or negative. Increase the adjust value!" -"El retardo total del temporizador no puede ser cero o negativo. Aumente el valor de ajuste!" +"PORT input" +"Entrada de Puerto" -"Adjusting the timer delay to a value greater than or near than the timer delay is meaningless. Decrease the adjust value!" -"El ajuste del retardo del temporizador a un valor mayor o menor que el retardo del temporizador no tiene sentido. Disminuya el valor de ajuste!" +"PORT output" +"Salida del Puerto" -"Timer period too long; (use a slower cycle time)." -"Perodo del temporizador demasiado largo; (use un tiempo de ciclo ms lento)." +"PWM '%s' and PLC cycle timer can not use the same timer %d!\nChange the PLC cycle timer to 0.\nMenu Settings->MCU parameters..." +"PWM '%s' el temporizador del ciclo del PLC no pueden usar el mismo temporizador %d!\nCambie el temporizador del ciclo del PLC a 0.\nConfiguración del menú-> Parámetros MCU..." -"Timer 'T%s'=%10.0Lf s needs %15lld PLC cycle times." -"El temporizador 'T%s'=% 10.0Lf s necesita%15lld tiempos de ciclo del PLC." +"PWM Internal error" +"Error interno de PWM" -"Timer 'T%s'=%10.0Lf s can use %15lld PLC cycle times as the MAXIMUM possible value." -"El temporizador 'T%s'=%10.0Lf s puede usar los tiempos de ciclo de %15lld PLC como el MXIMO valor posible." +"PWM frequency too fast." +"Frecuencia del PWM demasiado alta." -"PLC Cycle Time is '0'. TON, TOF, RTO, RTL, TCY timers does not work correctly!" -"El tiempo de ciclo del PLC si es '0'. Los temporizadores TON, TOF, RTO, RTL, TCY no funcionan correctamente!" +"PWM frequency too slow." +"Frecuencia del PWM demasiado baja." -"Expected single-character or one simple-escape-sequence in single-quotes: <%s>!" -"Se esperaba un solo carcter o una secuencia de escape simple entre comillas simples: <%s>!" +"PWM function used but not supported for this micro." +"Usadas Funciones para PWM. Este micro no las soporta." -"INIT TABLE: signed %d bit %s[%d] see above" -"TABLA DE INICIO: %d bit %s [%d] firmado arriba" +"PWM in use; pin %d reserved for that." +"PWM en uso; pata %d reservada para eso." -"The TIME to COUNTER converter T2CNT '%S' delay must be a number in ms!" -"El retraso de TIME a COUNTER T2CNT '%S' debe ser un nmero en ms!" +"PWM out" +"salida PWM" -"Segments instruction: '%s' not a valid destination." -"Instrucciones de segmentos: '%s' no es un destino vlido." +"PWM pin error" +"PWM pin error" -"BIN2BCD instruction: '%s' not a valid destination." -"Instruccin BIN2BCD: '%s' no es un destino vlido." +"PWM: variable can only be used for RES elsewhere" +"PWM: la variable solo se puede utilizar para RES en otros lugares" -"BCD2BIN instruction: '%s' not a valid destination." -"Instruccin BCD2BIN: '%s' no es un destino vlido." +"PWM: variable can only be used for RES elsewhere" +"PWM: la variable solo se puede utilizar para RES en otros lugares" -"OPPOSITE instruction: '%s' not a valid destination." -"Instruccin OPUESTA: '%s' no es un destino vlido." +"Page Error.[%d:%s] 0x%X 0x%X" +"Error de pagina. [% d:%s] 0x%X 0x%X" -"SWAP instruction: '%s' not a valid destination." -"Instruccin SWAP: '%s' no es un destino vlido." +"PagePreSet() error at addr 0x%X" +"Error de PagePreSet() en addr 0x%X" -"SRAND instruction: '%s' not a valid destination." -"Instruccin SRAND: '%s' no es un destino vlido." +"Paste Rungs or Element &Into Rung\tAlt+Insert" +"Pegar Lineas o Elemento en Linea\tAlt+Insert" -"Inputs '%s' and '%s' must be located in same MCU PORT!" -"Las entradas '%s' y '%s' deben estar ubicadas en el mismo PUERTO MCU!" +"Paste Rungs\tCtrl+V or Shift+Insert" +"Pegar\tCtrl+V o Shift+Insert" -"Shift constant %s=%d out of range of the '%s' variable: 0 to %d inclusive." -"La constante de cambio %s=%d fuera del rango de la variable '%s': 0 a %d inclusive." +"Piecewise Linear Table" +"Tabla de interpolacion" -"GOTO: LABEL '%s' not found!" -"GOTO: LABEL '%s' no encontrado!" +"Piecewise linear lookup table with zero elements!" +"tabla de interpolacion con cero elementos!" -"GOSUB: SUBPROG as number '%s' not allowed !" -"GOSUB: SUBPROG como nmero '%s' no permitido!" +"Pin '%s': PWM output not available!" +"Pin '%s': La salida PWM no esta disponible!" -"GOSUB: SUBPROG '%s' not found!" -"GOSUB: SUBPROG '%s' no encontrado!" +"Pin '%s': PWM resolution not available!" +"Pin '%s': resolucion PWM no disponible!" -"SUBPROG: '%s' declaration must be single inside a rung %d" -"SUBPROG: la declaracin '%s' debe estar sola dentro de un rengln %d" +"Pin Name" +"Nombre de Pin" -"SUBPROG: ENDSUB '%s' not found!" -"SUBPROG: ENDSUB '%s' no encontrado!" +"Pin on MCU" +"Pata del Micro" -"ENDSUB: SUBPROG '%s' not found!" -"ENDSUB: SUBPROG '%s' no encontrado!" +"Pin on Processor" +"Pata del Micro" -"Bad escape sequence following \\; for a literal backslash, use \\\\" -"Secuencia de escape incorrecta siguiendo \\; para una barra invertida literal, use \\\\" +"Pin#: MCU pin name: Arduino pin name:" +"Pin#: MCU pin nombre: Arduino pin nombre:" -"Rename '%s': Replace the character '-' by the '_'." -"Renombrar '%s': reemplaza el carcter '-' por el '_'." +"Pin#: MCU pin name:" +"Pin #: Nombre de pin MCU:" -"Connect QUAD ENCOD input A to INTs input pin IqAn." -"Conecte la entrada A de QUAD ENCOD al pin de entrada IqAn de INT." +"Please select a micro with a UART.\r\n\r\n" +"Por favor. Seleccione un micro con UART.\r\n\r\n" -"Connect QUAD ENCOD input A to input pin XqAn." -"Conecte la entrada A de QUAD ENCOD al pin de entrada XqAn." +"Points:" +"Puntos:" -"Connect QUAD ENCOD input B to input pin XqBn." -"Conecte la entrada B de QUAD ENCOD al pin de entrada XqBn." +"Pulse generators" +"Generador pulsos" -"Connect QUAD ENCOD input Z to input pin XqZn." -"Conecte la entrada Z de QUAD ENCOD al pin de entrada XqZn." +"Pulse to: '%s' you must set to output pin 'Y%s' or to internal relay 'R%s'." +"Pulsar a: '%s' debe configurarse para el pin de salida 'Y%s' o para el rele interno 'R%s'." -"Connect QUAD ENCOD dir flag to output pin YsomeName." -"Conecte el indicador direc QUAD ENCOD al pin de salida Ynombre." +"Pulse to:" +"Pulso a:" -"Connect NPULSE to output pin YsomeName." -"Conecte NPULSE al pin de salida Ynombre." +"Pulser information" +"Pulser informacion" -"Connect STEPPER coil to output pin YsomeName." -"Conecte la bobina STEPPER al pin de salida Ynombre." +"Pulser" +"Pulso" -"Connect PULSER busy flag to output pin YsomeName or internal relay RsomeName." -"Conecte el indicador de ocupado PULSER al pin de salida YsomeName o al rel interno Rnombre." +"Punctuation, like square, curly braces, etc." +"Puntuacion, como cuadrado, llaves, etc." -"Not all I/O pins are saved! Use menu:\n" -"No todos los pines de E/S estn guardados. Use el men:\n" +"Pwm" +"Pwm" -"File->Save LDmicro0.2 file format" -"Archivo-> Guardar formato de archivo LDmicro0.2" +"Quad Encoder" +"Quad Encoder" -"Can't specify I/O assignment for Netzer!" -"No se puede especificar la asignacin de E/S para Netzer!" +"RAM:" +"RAM:" -"Can only assign pin number to input/output pins (Xname or Yname or Aname or Pname)." -"Solo se puede asignar un nmero de pin a los pines de entrada/salida (Xname o Yname o Aname o Pname)." +"REFS:" +"REFS Referencias:" -"Slave ID:" -"ID de esclavo:" +"RES: Variable is not assigned to COUNTER or TIMER or PWM.\r\nYou must assign a variable." +"RES: La variable no esta asignada a COUNTER o TIMER para PWM.\r\nDebe asignar una variable." -"Register:" -"Registro:" +"RTL: variable can only be used for RES elsewhere" +"RTL: la variable solo se puede utilizar para RES en otros lugares" -"Modbus Address" -"Direccin Modbus" +"RTL: variable can only be used for RES elsewhere" +"RTL: la variable solo se puede utilizar para RES en otros lugares" -"Save ld before flash." -"Guardar ld antes de flash." +"RTO: variable can only be used for RES elsewhere" +"RTO: la variable solo puede ser usada como RES en otra parte" -"File does not exist: '%s'" -"El archivo no existe: '%s'" +"Random value" +"Valor aleatorio" -"MCU type warning" -"Advertencia de tipo MCU" +"Read A/D Converter" +"Leer Conversor A/D" -"You try to compile to WinAvr C, but MCU core isn't AVR.\nDo you want to continue?" -"Intenta compilar en WinAvr C, pero el ncleo de MCU no es AVR.\nDo Desea continuar?" +"Read From SFR" +"Leer SFR" -"You try to compile to AVR GCC, but MCU core isn't AVR.\nDo you want to continue?" -"Intenta compilar en AVR GCC, pero el ncleo de MCU no es AVR.\nDo Desea continuar?" +"Read SFR instruction: '%s' not a valid destination." +"Leer SFR instruccion: '%s' destino no valido." -"You try to compile to CodeVision C, but MCU core isn't AVR.\nDo you want to continue?" -"Intenta compilar en CodeVision C, pero el ncleo de MCU no es AVR.\nDo Desea continuar?" +"Receive from UART" +"Recibir en la UART" -"You try to compile to HI-TECH C, but MCU core isn't PIC.\nDo you want to continue?" -"Intenta compilar en HI-TECH C, pero el ncleo de MCU no es PIC.\nDo Desea continuar?" +"Receive to variable:" +"Recibir a variable:" -"You try to compile to CSS-PIC C, but MCU core isn't PIC.\nDo you want to continue?" -"Intenta compilar en CSS-PIC C, pero el ncleo de MCU no es PIC.\nDo Desea continuar?" +"Register:" +"Registro:" -"You try to compile to Arm GCC, but MCU core isn't ARM.\nDo you want to continue?" -"Intenta compilar para Arm GCC, pero el ncleo de MCU no es ARM.\nDo Desea continuar?" +"Registers less zero not allowed!\nLOAD(%d, %d) skiped." +"No se permiten registros menos de cero!\ nLOAD(%d, %d) omitido." -"You try to compile to Arduino sketch, but MCU core isn't AVR.\nDo you want to continue?" -"Intenta compilar para Arduinosketch, pero el ncleo de MCU no es AVR.\nDo Desea continuar?" +"Registers less zero not allowed!\nReadIoToReg skiped." +"Los registros menos cero no estan permitidos!\nReadIoToReg omitido." -"ARDUINO: Space ' ' not allowed in '%s'\nRename file!" -"ARDUINO: Espacio ' ' no permitido en el archivo '%s'\nRename!" +"Registers less zero not allowed!\nSTORE(%d, %d) skiped." +"Los registros menos y cero no estan permitidos!\nSTORE (%d,%d) omitido." -"ARDUINO: Dot '.' not allowed in '%s'\nRename file!" -"ARDUINO: Punto '.' no permitido en '%s'\nArchivo de nombre de archivo! " +"Registers less zero not allowed!\nWriteRegToIO skiped." +"Los registros menos cero no estan permitidos!\nWriteRegToIO omitido." -"ARDUINO: The leading digit '%c' not allowed at the beginning in '%s.ld'\nRename file!" -"ARDUINO: El dgito inicial '%c' no se permite al principio en el archivo '%s.ld'\nRename!" +"Release" +"Lanzamiento" -"File '%s' modified by another application.\r\nIts disk timestamp is newer than the editor one.\nReload from disk?" -"Archivo '%s' modificado por otra aplicacin.\r\nSu marca de tiempo del disco es ms reciente que la del editor.\nCargar desde el disco?" +"Release.." +"Lanzamiento.." -"Couldn't reload '%s'." -"No se pudo recargar '%s'." +"Releases..." +"Lanzamientos ..." -"Caught signal %d (%s)\n" -"Seal capturada %d (%s)\n" +"Rename '%s': Replace the character '-' by the '_'." +"Renombrar '%s': reemplaza el caracter '-' por el '_'." -"Caught signal %d\n" -"Seal capturada %d\n" +"Rename I/O from default name ('%s') before assigning MCU pin." +"Cambie el nombre por defecto ('%s') antes de asignarle una pata del micro." -"Couldn't open '%s', running non-interactively." -"No se pudo abrir '%s', ejecutndose de forma no interactiva." +"Rename the ALL other %d coils/contacts named '%s' to '%s' ?" +"Cambiar el nombre de TODAS las otras %d bobinas/contactos llamados '%s' a '%s'?" -"File '%s' not found!" -"Archivo '%s' no encontrado!" +"Rename the ALL other %d contacts/coils named '%s' to '%s' ?" +"Cambiar el nombre de TODOS los otros %d contactos/bobinas llamados '%s' a '%s' ?" -"Too many rungs in input file!\nSame rungs not loaded!" -"Demasiados peldaos en el archivo de entrada!\nLos mismos peldaos no estn cargados!" +"Replace Selected Element in Group\tSpace" +"Reemplazar Elemento Seleccionado en grupo\tSpace" -"Error in RUNG %d. See error below %s" -"Error en RUNG %d. Ver error debajo de %s" +"Replace the obsolete elements" +"Reemplazar elementos obsoletos " -"Table size:" -"Tamao de la tabla:" +"Required MCU crystal frequency from %.3g %sHz up to %.3g %sHz" +"Frecuencia de cristal MCU requerida desde %.3g %sHz hasta %.3g %sHz" -"Pin Name" -"Nombre de Pin" +"Reset" +"Reiniciar" -"Address" -"Direccin" +"Resolution:" +"Resolucion:" -"Size" -"Tamao" +"Retentive Turn-On Delay If Low Input" +"Retraso de encendido retentivo en entrada baja" -"Modbus addr" -"Direccin modbus" +"Retentive Turn-On Delay" +"Activar Retardado con Memoria" -"modified" -"modificado" +"Revert a color" +"Canvio de color" -"processor clock %.9g MHz" -"reloj del procesador %.9g MHz" +"Revert color scheme" +"Colocar esquema de color" -"Compile error ('%s'): " -"Error de compilacin ('%s'): " +"Roll End\tCtrl+End" +"Fin Rotacion\tCtrl+End" -"Compiled okay, wrote '%s'\n" -"Compilado bien, escrib '%s'\n" +"Roll Home\tCtrl+Home" +"Inicio Rotacion\tCtrl+Home" -"Compile is successful but exceed the memory size !!!" -"La compilacin es exitosa pero excede el tamao de memoria!" +"Rung %d: Variable '%s' incorrectly assigned.\n%s." +"Linea %d: Variable '%s' asignada incorrectamente.\n%s." -"modbus contact" -"contacto modbus" +"Rung %d: Variable '%s' incorrectly assigned.\n%s.\nSee rungs:%s" +"Linea %d: Variable '%s' asignada incorrectamente.\n%s.\nConsulte renglones:%s" -"modbus coil" -"bobina modbus" +"Rung number" +"Numero de peldaño" -"modbus Hreg" -"modbus Hreg" +"Rung number, Simulation mode" +"Numero de peldaño, modo de simulacion" -"cyclic on/off" -"encendido/apagado cclico" +"SFR position:" +"SFR posicion:" -"retentive timer low input" -"temporizador de retencin baja entrada" +"SIMUL: Insert 14-SEGMENT FONT converter" +"Insertar 14-FUENTE DE SEGMENTO Conversor (Simulacion)" -"hight delay" -"Retardo alto " +"SIMUL: Insert 16-SEGMENT FONT converter" +"Insertar 16-FUENTE DE SEGMENTO Conversor (Simulacion)" -"low delay" -"Retardo Bajo " +"SIMUL: Insert 9-SEGMENT FONT converter" +"Insertar 9-FUENTE DE SEGMENTO Conversor (Simulacion)" -"BCD var" -"BCD var" +"SIMUL: Insert BCD2BIN" +"Insertar BCD2BIN Conversor" -"string var" -"cadena var" +"SIMUL: Insert BUS tracer" +"Insertar BUS tracer (Simulacion)" -"table in flash" -"tabla en flash" +"SLEEP not available in this mode" +"SLEEP (Dormir) no esta disponible en este modo" -"value in flash" -"valor en flash" +"SPI & I2C can't be used together on PICs" +"No se puede usar SPI & I2C al mismo tiempo con PICs" -"PORT input" -"Entrada de Puerto" +"SPI - Serial Peripheral Interface" +"SPI - Interfaz Periferica Serial" -"PORT output" -"Salida del Puerto" +"SPI Internal error" +"SPI error interno" -"MCU register" -"Registro MCU" +"SPI MISO" +"SPI MISO" -"" -"" +"SPI MOSI" +"SPI MOSI" -"" -"" +"SPI Mode:" +"Modo SPI:" -"Dest variable of write string instruction must be located at IO register." -"La variable de destino de la instruccin de cadena de escritura debe estar ubicada en el registro IO." +"SPI Name:" +"Nombre SPI:" -"Maximal one format placeholder is allowed in write string instruction." -"Se permite un mximo de un marcador de posicin de formato en la instruccin de cadena de escritura." +"SPI Rate (Hz):" +"Tasa SPI (Hz):" -"Unsupported op (anything ADC, PWM, UART, EEPROM) for Netzer target." -"Operacin no admitida (cualquier cosa ADC, PWM, UART, EEPROM) para el objetivo de Netzer." +"SPI SCK" +"SPI SCK" -"No opcodes found." -"No se encontraron cdigos de operacin." +"SPI Simulation (Terminal)" +"Simulacion SPI (Terminal)" -"Compile successful!\r\nWrote Netzer code to '%s' (CRC: 0x%.4x)." -"Compilacin exitosa!\r\n Escribe el cdigo de Netzer en '%s' (CRC: 0x%.4x)." +"SPI _SS" +"SPI _SS" -"PASCAL target does not support peripherals (UART, PWM, ADC, EEPROM). Skipping that instruction." -"El destino PASCAL no admite perifricos (UART, PWM, ADC, EEPROM). Se omite esa instruccin." +"SPI functions used but not supported for this micro or compile mode." +"Funciones SPI utilizadas pero no compatibles con este modo de micro o compilacion." -"Bank select error!" -"Error de seleccin de banco!" +"SPI functions" +"SPI funciones" -"Not enough memory for BANK and PAGE correction!" -"No hay suficiente memoria para la correccin de BANCO y PGINA!" +"SPI: Sending too many chars in one cycle may cause timing issues" +"SPI: enviar demasiados caracteres en un ciclo puede causar problemas de tiempo" -"PagePreSet() error at addr 0x%X" -"Error de PagePreSet() en addr 0x%X" +"SPI: Sending too many chars in one cycle may cause timing issues" +"SPI: enviar demasiados caracteres en un ciclo puede causar problemas de tiempo" -"Not enough memory for PAGE correction!" -"No hay suficiente memoria para la correccin de PAGE!" +"SRAND instruction: '%s' not a valid destination." +"Instruccion SRAND: '%s' no es un destino valido." -"Page Error.[%d:%s] 0x%X 0x%X" -"Error de pgina. [% d:%s] 0x%X 0x%X" +"SUBPROG name:" +"SUBPROG nombre:" -"Every AllocFwdAddr needs FwdAddrIsNow." -"Cada AllocFwdAddr necesita FwdAddrIsNow." +"SUBPROG: '%s' declaration must be a single inside the rung %d" +"SUBPROG:la declaración '%s' debe ser una sola dentro del renglón %d" -"CopyRegToReg Warning 1" -"CopyRegToReg Advertencia 1" +"SUBPROG: '%s' declaration must be single inside a rung %d" +"SUBPROG: la declaracion '%s' debe estar sola dentro de un renglon %d" -"CopyRegToReg Message 2" -"CopyRegToReg Mensaje 2" +"SUBPROG: ENDSUB '%s' not found!" +"SUBPROG: ENDSUB '%s' no encontrado!" -"When the MCU crystal frequency is %.3g %sHz." -"Cuando la frecuencia del cristal MCU es %.3g% sHz." +"SUBPROG: Only one SUBPROG '%s' is allowed!" +"SUBPROG: Solo se permite un SUBPROG '%s'!" -"Available PWM frequency from %.3f %sHz up to %.3f %sHz" -"Frecuencia de PWM disponible desde %.3f% sHz hasta %.3f% sHz" +"SWAP instruction: '%s' not a valid destination." +"Instruccion SWAP: '%s' no es un destino valido." -"Required MCU crystal frequency from %.3g %sHz up to %.3g %sHz" -"Frecuencia de cristal MCU requerida desde %.3g %sHz hasta %.3g %sHz" +"Save &As..." +"Guardar &Como..." -"Unsupported operation for target, skipped." -"Operacin no admitida para el objetivo, omitido." +"Save LDmicro0.1 file format v2.3 compatible" +"Guardar en LDmicro0.1 formato v2.3 compatible" -"PLC cycle time more than %.3f ms not valid." -"El tiempo de ciclo del PLC superior a %.3f ms no es vlido." +"Save LDmicro0.2 file format" +"Guardar en LDmicro0.2 formato" -"PLC cycle time less than %.3f ms not valid." -"El tiempo de ciclo del PLC inferior a %.3f ms no es vlido." +"Save ld before flash." +"Guardar ld antes de flash." -"%sPLC cycle deviation is %.3f %%%% !" -"La desviacin del ciclo de %sPLC es %.3f %%%%!" +"Scroll Down\tCtrl+Down" +"Desplazar Abajo\tCtrl+Down" -"Select Timer 0 in menu 'Settings -> MCU parameters'!" -"Seleccione el temporizador 0 en el men 'Configuracin -> Parmetros de MCU'!" +"Scroll PgDown\tCtrl+PgDown" +"Desplazar Pagina Abajo\tCtrl+PgDown" -"Achievable DELAY values (us): " -"Valores DELAY (Retraso) alcanzables (us):" +"Scroll PgUp\tCtrl+PgUp" +"Desplazar Pagina Arriba\tCtrl+PgUp" -"** Total timer delay (ms) = Delay (ms) + Adjust * PLC cycle time (%.3f ms)" -"** Retardo total del temporizador (ms) = Retraso (ms) + Ajustar * Tiempo de ciclo del PLC (% .3f ms)" +"Scroll Up\tCtrl+Up" +"Desplazar Arriba\tCtrl+Up" -"Delay (us):" -"Retraso (us):" +"Seed Random : $seed_..." +"Semilla Aleatoria: $ semilla ..." -"Adjust:" -"Ajustar:" +"Segments instruction: '%s' not a valid destination." +"Instrucciones de segmentos: '%s' no es un destino valido." -"* Adjust default = 0 (LDmicro v3.5.3), typical = -1 (LDmicro v2.3)" -"* Ajustar por defecto = 0 (LDmicro v3.5.3), tpico = -1 (LDmicro v2.3)" +"Segments instruction: '%s' not a valid destination." +"Instrucciones de segmentos: '%s' no es un destino valido." -"TIME to DELAY converter" -"Tiempo de retraso de convertidor" +"Select Rungs\tCtrl+Left Mouse Button Click" +"seleccionar Lineas\tCtrl+Boton izquierdo del raton Click" -"TIME to COUNTER converter" -"Conversor de TIEMPO a CONTADOR" +"Select Rungs\tShift+Up or Shift+Down" +"seleccionar Lineas\tShift+Up o Shift+Down" -"Cyclic On/Off" -"Cclica de encendido/apagado" +"Select Timer 0 in menu 'Settings -> MCU parameters'!" +"Seleccione el temporizador 0 en el menu 'Configuracion -> Parametros de MCU'!" -"High Level Delay" -"Retraso de Alto Nivel" +"Select Timer0 in menu 'Settings -> MCU parameters'!" +"Seleccione Timer0 en el menu 'Configuracion -> Parametros de MCU'!" -"Low Level Delay" -"Retraso de bajo nivel" +"Select color for user scheme:" +"Seleccionar color para esquema de usuario:" -"Retentive Turn-On Delay If Low Input" -"Retraso de encendido retentivo en entrada baja" +"Select color scheme" +"Seleccionar combinacion de colores" -"Timer period too long.\n\rMaximum possible value is: 2^31 us = 2147483647 us = 2147,48 s = 35.79 min" -"El perodo del temporizador es demasiado largo. \n\ rEl valor mximo posible es: 2^31 us = 2147483647 us = 2147,48 s = 35.79 min" +"Select the frequency from the possible values:" +"Seleccione la frecuencia de entre los valores posibles:" -"Sleep Delay" -"Retraso del Dormir" +"Select user colors" +"Seleccionar color usuario" -"SLEEP not available in this mode" -"SLEEP (Dormir) no est disponible en este modo" +"Selected element" +"Elemento seleccionado" -"Timer '%s'=%.3f ms." -"Temporizador '%s'=%.3f ms." +"Send string:" +"Enviar cadena:" -"Minimum available timer period = PLC cycle time = %.3f ms." -"Periodo de temporizador mnimo disponible = tiempo de ciclo del PLC = %.3f ms." +"Send to UART" +"Enviar a la UART" -"Timer 'T%s'=%.3f ms needs %d PLC cycle times." -"Temporizador 'T%s'=%.3f ms necesita% d tiempos de ciclo del PLC." +"Send variable:" +"Enviar variable:" -"Maximum available timer period = %.3f s." -"Perodo mximo de temporizador disponible = %.3f s." +"Serial (UART) will use pins %d and %d.\r\n" +"El Puerto Serie (UART) usara los pines %d y %d.\r\n" -"Delay (us):" -"Retraso (us):" +"Serial (UART) will use pins %d(RX) and %d(TX).\r\n" +"El serial (UART) utilizar los pines %d(RX) y %d(TX).\r\n" -"Delay, us" -"Retraso us" +"Set Bit In SFR" +"Establecer bit en SFR" -"Constant %s=%d out of variable '%s' range : -128 to 127 inclusive." -"Constante %s=%d fuera del rango de la variable '%s': -128 a 127 inclusive." +"Set HI input level before simulation" +"Establecer el nivel de entrada ALTO antes de la simulacion" -"Constant %s=%d out of variable '%s' range : 0 to 255 inclusive." -"Constante %s=%d fuera del rango de la variable '%s': 0 a 255 inclusive." +"Set N Pulse Cycle" +"Establecer N Pulso Ciclo" -"Constant %s=%d out of variable '%s' range: -32768 to 32767 inclusive." -"Constante %s=%d fuera del rango de la variable '%s': -32768 a 32767 inclusive." +"Set PWM Duty Cycle" +"Poner Ancho de Pulso PWM" -"Constant %s=%d out of variable '%s' range : 0 to 65535 inclusive." -"Constante %s=%d fuera del rango de la variable '%s': 0 a 65535 inclusive." +"Set Pull-up input resistors" +"Activar pull-up por las entradas" -"Constant %s=%d out of variable '%s' range: -8388608 to 8388607 inclusive." -"Constante %s=%d fuera del rango de la variable '%s': -8388608 a 8388607 inclusive." +"Set bit" +"Establecer bit" -"Constant %s=%d out of variable '%s' range : 0 to 16777215 inclusive." -"Constante %s=%d fuera del rango de la variable '%s': 0 a 16777215 inclusive." +"Set variable '%s'" +"Establecer variable '%s'" -"Constant %s=%d out of variable '%s' range: -2147483648 to 2147483647 inclusive." -"Constante %s=%d fuera del rango de la variable '%s': -2147483648 a 2147483647 inclusive." +"Shift Register" +"Registro de Desplazamiento" -"Constant %s=%d out of variable '%s' range : 0 to 4294967295(0xFFFFffff) inclusive." -"Constante %s=%d fuera del rango de la variable '%s': 0 a 4294967295 (0xFFFFffff) inclusive." +"Shift constant %s=%d out of range of the '%s' variable: 0 to %d inclusive." +"La constante de cambio %s=%d fuera del rango de la variable '%s': 0 a %d inclusive." -"Variable %s=%d out of range: -128 to 127 inclusive." -"Variable %s=%d fuera del rango: -128 a 127 inclusive." +"Si&mulate" +"Simular" -"Variable %s=0x%X out of range: 0 to 0xFF inclusive." -"Variable %s=0x%X fuera de rango: 0 a 0xFF inclusive." +"Si&mulation Mode\tCtrl+M or F7" +"Modo Simulacion\tCtrl+M o F7" -"Variable %s=%d out of range: -32768 to 32767 inclusive." -"Variable %s=%d fuera del rango: -32768 a 32767 inclusive." +"Signed variable operations" +"Operaciones variables con signo" -"Variable %s=0x%X out of range: 0 to 0xFFFF inclusive." -"Variable %s=0x%X fuera de rango: 0 a 0xFFFF inclusive." +"Simulation value:" +"Valor de simulacion:" -"Variable %s=%d out of range: -8388608 to 8388607 inclusive." -"Variable %s=%d fuera del rango: -8388608 a 8388607 inclusive." +"Single &Cycle\tSpace" +"Solo un Ciclo\tEspacio" -"Variable %s=0x%X out of range: 0 to 0xffFFFF inclusive." -"Variable %s=0x%X fuera de rango: 0 a 0xffFFFF inclusive." +"Size of var '%s'(%d) reset as signed 32 bit variable." +"El tamaño de la var '%s' (%d) se restablecio como variable de 32 bits con signo." -"Variable %s=%d out of range: -2147483648 to 2147483647 inclusive." -"Variable %s=%d fuera del rango: -2147483648 a 2147483647 inclusive." +"Size of var '%s'(%d) reset as signed 8 bit variable." +"El tamaño de la var '%s' (%d) se restablecio como variable de 8 bits con signo." -"Variable %s=0x%X out of range: 0 to 0xffffFFFF inclusive." -"Variable %s=0x%X fuera de rango: 0 a 0xffffFFFF inclusive." +"Size" +"Tamano" -"Circular Counter, incremental" -"Contador circular, incremental" +"SizeOfVar:" +"SizeOfVar:" -"Circular Counter Reversive, decremental" -"Contador circular reversible, decremental" +"Slave ID:" +"ID de esclavo:" -"Start value:" -"Valor de inicio:" +"Sleep Delay" +"Retraso del Dormir" -"Min value:" -"Min valor:" +"Source bits:" +"Bits de origen:" -"True if > :" -"Cierto si >:" +"Source" +"Fuente" -"Input kind:" -"Tipo de entrada:" +"Source:" +"Fuente:" -"Only the characters '-o/\\' are available!" -"Solo los caracteres '-o/\\' estn disponibles!" +"Special Function for AVR (Obsolete)" +"Funciones Especiales pora AVR (Obsoleto)" -"If bit set" -"Si se establece bit" +"Stack size %d overflow" +"Tamaño de pila %d desbordamiento" -"If bit clear" -"Si es borrado bit" +"Stack size %d underflow" +"Tamaño de pila %d sub desbordamiento" -"Set bit" -"Establecer bit" +"Stages:" +"Fases:" -"Clear bit" -"Borrar bit" +"Start &Real-Time Simulation\tCtrl+R or F8" +"Iniciar Simulacion tiempo Real\tCtrl+R o F8" -"Bit # [0..%d]:" -"Bit # [0..%d]:" +"Start new program?" +"Empezar un nuevo programa?" -"Convert BIN to packed BCD" -"Convertir BIN a BCD empaquetado" +"Start value:" +"Valor de inicio:" -"Convert packed BCD to BIN" -"Convertir BCD empaquetado a BIN" +"State" +"Estado" -"Swap source and assign to destination" -"Intercambiar fuente y asignar a destino" +"Stepper information" +"Stepper Paso a paso Informacion " -"Opposite source and assign to destination" -"Fuente opuesta y asignacin a destino" +"Stepper" +"Paso a paso" -"Seed Random : $seed_..." -"Semilla Aleatoria: $ semilla ..." +"String Variable Over UART" +"Variable de cadena sobre UART" -"BUS tracer" -"Trazador de bus" +"String variable:" +"Variable de cadena:" -"Bus instruction: '%s' not a valid destination." -"Instruccin de bus: '%s' no es un destino vlido." +"String:" +"Cadena:" -"Bus instruction: '%s' not a valid source." -"Instruccin de bus: '%s' no es una fuente vlida." +"Subtract" +"Restar" -"SPI - Serial Peripheral Interface" -"SPI - Interfaz Perifrica Serial" +"Swap source and assign to destination" +"Intercambiar fuente y asignar a destino" -"Common:Cathode|Anode:" -"Comn: Ctodo | nodo:" +"System Colors GetSysColor() in color scheme\tWindows" +"Tema GetSysColor() \tWindows" -"Convert char to %s Segments" -"Convertir char en %s Segmentos" +"TABLE %s is not initialized." +"TABLE %s no esta inicializado." -"Segments instruction: '%s' not a valid destination." -"Instrucciones de segmentos: '%s' no es un destino vlido." +"TABLE: variable can be used only with TABLE" +"TABLE: la variable solo se puede utilizar con TABLE" -"Destination rung(label):" -"Peldao de destino (etiqueta):" +"TCY: variable can only be used for RES elsewhere" +"TCY: la variable solo se puede usar para RES en otros lugares" -"Goto rung number or label name" -"Ir a nmero de rengln o nombre de etiqueta" +"TCY: variable can only be used for RES elsewhere" +"TCY: la variable solo se puede usar para RES en otros lugares" -"Call SUBPROG rung number or label name" -"Llame al nmero de rengln de SUBPROG o al nombre de la LABEL" +"THI: variable can only be used for RES elsewhere" +"THI: la variable solo se puede usar para RES en otros lugares" -"Define LABEL name" -"Definir nombre de la LABEL" +"THI: variable can only be used for RES elsewhere" +"THI: la variable solo se puede usar para RES en otros lugares" -"LABEL name:" -"LABEL Nombre:" +"TIME to COUNTER converter" +"Conversor de TIEMPO a CONTADOR" -"Define SUBPROG name" -"Definir nombre SUBPROG" +"TIME to DELAY converter" +"Tiempo de retraso de convertidor" -"SUBPROG name:" -"SUBPROG nombre:" +"TLO: variable can only be used for RES elsewhere" +"TLO: la variable solo se puede usar para RES en otros lugares" -"Define ENDSUB name" -"Definir nombre ENDSUB" +"TLO: variable can only be used for RES elsewhere" +"TLO: la variable solo se puede usar para RES en otros lugares" -"ENDSUB name:" -"Nombre ENDSUB:" +"TODO: Insert BCD2BIN" +"TODO: Inserte BCD2BIN" -"Random value" -"Valor aleatorio" +"TODO: Insert BIN2BCD" +"TODO: Inserte BIN2BCD" -"Divide Remainder" -"Dividir el resto" +"TODO: Insert MOD (Integer Divide Remainder)" +"TODO: Insertar MOD (resto de división entera)" -"Destination:=" -"Destino:=" +"TODO: Insert NEG (Integer Negate)" +"TODO: Insertar NEG (Entero Negado)" -"SPI MOSI" -"SPI MOSI" +"TODO: Insert Software &PWM (AVR136 AppNote)\tP" +"TODO: Insertar software y PWM (AVR136 AppNote)\tP" -"SPI MISO" -"SPI MISO" +"TOF: variable can only be used for RES elsewhere" +"TOF: la variable solo se puede utilizar para RES en otros lugares" -"SPI SCK" -"SPI SCK" +"TOF: variable can only be used for RES elsewhere" +"TOF: la variable solo se puede utilizar para RES en otros lugares" -"SPI _SS" -"SPI _SS" +"TOF: variable cannot be used elsewhere" +"TOF: variable no puede ser usada en otra parte" -"Pwm" -"Pwm" +"TON,TOF,RTO 8bit max Delay=%.6g %ss\n" +"TON,TOF,RTO Retardo maximo de 8 bits=%.6g %ss\n" -"'%s' freq < 0" -"'%s' freq < 0" +"TON,TOF,RTO 16bit max Delay=%.6g %ss\n" +"TON,TOF,RTO Retardo maximo de 16 bits=%.6g %ss\n" -"'%s' freq > %d" -"'%s' freq > %d" +"TON,TOF,RTO 24bit max Delay=%.6g %ss\n" +"TON,TOF,RTO Retardo maximo de 24 bits=%.6g %ss\n" -"'%s' duty < 0" -"'%s' duty < 0" +"TON,TOF,RTO min Delay=%.6g ms (%.6g %ss)\n" +"TON,TOF,RTO Demora minima=%.6g ms (%.6g %ss)\n" -"'%s' duty > %d" -"'%s' duty > %d" +"TON: variable can only be used for RES elsewhere" +"TON: la variable solo se puede usar para RES en otros lugares" -"ms" -"ms" +"TON: variable can only be used for RES elsewhere" +"TON: la variable solo se puede usar para RES en otros lugares" -"s" -"s" +"TON: variable cannot be used elsewhere" +"TON: variable no puede ser usada en otra parte" -"Hz" -"Hz" +"Table size:" +"Tamaño de la tabla:" -"kHz" -"kHz" +"Target N PULSE frequency %d Hz, closest achievable with prescaler=%d and divider=%d is %d Hz (Warning, >5%% error)." +"Objetivo N PULSO frecuencia %d Hz, lo más cercano posible con preescalador=%d y divisor=%d es %d Hz (Advertencia, error >5%%)." -"'%s' freq > 100000" -"'%s' freq > 100000" +"Target PWM frequency %d Hz, closest achievable is %d Hz (warning, >5%% error)." +"Frecuencia Micro %d Hz, la mejor aproximacion es %d Hz (aviso, >5%% error)." -"Dest:" -"Dest:" +"Temporization" +"Temporización" -"Quad Encoder" -"Quad Encoder" +"Test if Bit Clear In SFR" +"Prueba Bit Limpiar en SFR" -"Operand1:" -"Operand1:" +"Test if Bit Set In SFR" +"Probar si Bit establecido en SFR" -"Stepper" -"Stepper" +"The 'bus' at the right of the screen, Simulation mode |" +"El 'bus' a la derecha de la pantalla, modo de simulacion |" -"Counter:" -"Counter:" +"The TIME to COUNTER converter T2CNT '%S' delay must be a number in ms!" +"El retraso de TIME a COUNTER T2CNT '%S' debe ser un numero en ms!" -"Pulser" -"Pulser" +"The cycle time for the 'PLC' runtime generated by LDmicro is user-configurable. Very short cycle times may not be achievable due to processor speed constraints, and very long cycle times may not be achievable due to hardware overflows. Cycle times between 10 ms and 100 ms will usually be practical.\r\n\r\nThe compiler must know what speed crystal you are using with the micro to convert between timing in clock cycles and timing in seconds. A 4 MHz to 20 MHz crystal is typical; check the speed grade of the part you are using to determine the maximum allowable clock speed before choosing a crystal." +"El tiempo de ciclo de ejecucion para el 'PLC' es configurable. Un tiempo de ciclo muy corto puede no funcionar debido a la baja velocidad del micro, y un tiempo de ciclo muy largo puede no funcionar por limitaciones del temporizador del micro. Ciclos de tiempo entre 10 y 100 ms suele ser lo normal.\r\n\r\nEl compilador debe conocer la velocidad del cristal que estas usando para poder convertir entre tiempo en ciclos de reloj y tiempo en segundos. Un cristal entre 4 Mhz y 20 Mhz es lo tipico; Comprueba la velocidad a la que puede funcionar tu micro y calcula la velocidad maxima del reloj antes de elegir el cristal." -"Graph:" -"Graph:" +"The delay is too long!\nThe maximum possible delay is %lld us." +"El retraso es demasiado largo!\El maximo retraso posible es %lld us." -"Accel.:" -"Accel.:" +"The program has changed since it was last saved.\r\n\r\nDo you want to save the changes?" +"El programa ha cambiado desde la ultima vez que los guardo.\r\n\r\n Quieres guardar los cambios?" -"Input A INTs:" -"Input A INTs:" +"Timer '%s'=%.3f ms." +"Temporizador '%s'=%.3f ms." -"Input A:" -"Input A:" +"Timer '%s'=%.3f ms." +"Temporizador '%s'=%.3f ms." -"Input B:" -"Input B:" +"Timer 'T%s'=%.3f ms needs %d PLC cycle times." +"Temporizador 'T%s'=%.3f ms necesita% d tiempos de ciclo del PLC." -"Input Z:" -"Input Z:" +"Timer 'T%s'=%10.0Lf s needs %15lld PLC cycle times." +"El temporizador 'T%s'=% 10.0Lf s necesita%15lld tiempos de ciclo del PLC." -"SizeOfVar:" -"SizeOfVar:" +"Timer 'T%s'=%10.0Lf s can use %15lld PLC cycle times as the MAXIMUM possible value." +"El temporizador 'T%s'=%10.0Lf s puede usar los tiempos de ciclo de %15lld PLC como el MAXIMO valor posible." -"Error:" -"Error:" +"Timer period too long (max 32767 times cycle time); use a slower cycle time." +"Periodo del temporizador demasiado largo (max. 32767 veces el tiempo de ciclo); use un tiempo de ciclo mayor." -"LABEL name:" -"LABEL Nombre:" +"Timer period too long.\n\rMaximum possible value is: 2^31 us = 2147483647 us = 2147,48 s = 35.79 min" +"El periodo del temporizador es demasiado largo. \n\ rEl valor maximo posible es: 2^31 us = 2147483647 us = 2147,48 s = 35.79 min" -"Pulse to:" -"Pulse a:" +"Timer period too long; (use a slower cycle time)." +"Periodo del temporizador demasiado largo; (use un tiempo de ciclo mas lento)." -"Pulse to: '%s' you must set to output pin 'Y%s' or to internal relay 'R%s'." -"Pulsar a: '%s' debe configurarse para el pin de salida 'Y%s' o para el rel interno 'R%s'." +"Timer period too short (needs faster cycle time)." +"Periodo de Tiempo demasiado corto (se necesita un tiempo de ciclo menor)." -"Set N Pulse Cycle" -"Establecer N Pulse Cycle" +"Timer" +"Temporizador" -"Stepper information" -"Stepper Informacin " +"Timer0|1:" +"Timer0|1:" -"Busy to:" -"Ocupado para:" +"Too many elements in subcircuit!" +"Demasiados elementos en un SubCircuito!" -"Busy to: '%s' you must set to internal relay 'R%s' or to output pin 'Y%s'." -"Ocupado a: '%s' debe configurarse en el rel interno 'R%s' o en el pin de salida 'Y%s'." +"Too many rungs in input file!\nSame rungs not loaded!" +"Demasiados peldaños en el archivo de entrada!\nLos mismos peldaños no estan cargados!" -"%s\n\nAcceleration time=%.3f %s" -"%s\n\nTiempo de aceleracin=%.3f%s" +"Too many rungs!" +"Demasiadas Lineas!" -"Pulser information" -"Pulser informacin" +"Total timer delay cannot be zero or negative. Increase the adjust value!" +"El retardo total del temporizador no puede ser cero o negativo. Aumente el valor de ajuste!" -"Counter var:" -"Contador var:" +"True if > :" +"Cierto si >:" -"Input Z kind:" -"Tipo de input Z:" +"True if >= :" +"Verdad si >= :" -"Count per revol:" -"Cuenta por revol:" +"Try again a color" +"Elija un nuevo color" -"Output Dir:" -"Salida Dir:" +"Turn-Off Delay" +"Desactivar Retardado" -"Can select only INTs pin." -"Solo se puede seleccionar INTs pin." +"Turn-On Delay" +"Activar Retardado" -"Set variable '%s'" -"Establecer variable '%s'" +"Type" +"Tipo" -"Simulation value:" -"Valor de simulacin:" +"UART Baud Rate (bps):" +"Baudios UART (bps):" -"Not a reasonable size for a variable." -"No es un tamao razonable para una variable." +"UART Simulation (Terminal)" +"Simulacion UART (Terminal)" -"Variable list:" -"Lista variables:" +"UART baud rate generator: divisor=%d actual=%.4f for %.2f%% error.\r\n\r\nThis is too large; try a different baud rate (slower probably), or a crystal frequency chosen to be divisible by many common baud rates (e.g. 3.6864 MHz, 14.7456 MHz).\r\n\r\nCode will be generated anyways but serial may be unreliable or completely broken." +"UART generador de baudios: divisor=%d actual=%.4f para %.2f%% error.\r\n\r\nEs demasiado grande; Prueba con otro valor de baudios (probablemente menor), o un cristal cuya frecuencia sea divible por los baudios mas comunes (p.e. 3.6864MHz, 14.7456MHz).\r\n\r\nEl codigo se genera de todas formas pero las tramas serie sean inestable o no entendible." -"Format string:" -"Cadena formato:" +"UART baud rate generator: too slow, divisor overflows. Use a slower crystal or a faster baud rate.\r\n\r\nCode will be generated anyways but serial will likely be completely broken." +"UART generador de baudios: demasiado lento, divisor demasiado grande. Use un cristal mas lento o mayor baudios.\r\n\r\nEl codigo se genera de todas formas pero las tramas serie seran no entendible.." -"Formatted String" -"Cadena con formato" - -"Variable list:" -"Lista de variables:" - -"Enable:" -"Habilitar:" +"UART function used but not supported for this micro." +"Usadas Funciones para UART. Este micro no las soporta." -"Formatted String over %s" -"Cadena con formato sobre %s" +"UART functions" +"UART funciones" -"PWM: variable can only be used for RES elsewhere" -"PWM: la variable solo se puede utilizar para RES en otros lugares" +"UART in use; pins %d and %d reserved for that." +"UART en uso; patas %d y %d reservadas para eso." -"TOF: variable can only be used for RES elsewhere" -"TOF: la variable solo se puede utilizar para RES en otros lugares" +"UART rx" +"UART rx" -"TON: variable can only be used for RES elsewhere" -"TON: la variable solo se puede usar para RES en otros lugares" +"UART tx" +"UART tx" -"TCY: variable can only be used for RES elsewhere" -"TCY: la variable solo se puede usar para RES en otros lugares" +"Un-choose a color" +"Deseleccionar un color" -"RTL: variable can only be used for RES elsewhere" -"RTL: la variable solo se puede utilizar para RES en otros lugares" +"Unknown name >%s<" +"Nombre desconocido >%s<" -"THI: variable can only be used for RES elsewhere" -"THI: la variable solo se puede usar para RES en otros lugares" +"Unsupported op (Peripheral) for interpretable target." +"op no admitido (periférico) para el objetivo interpretable." -"TLO: variable can only be used for RES elsewhere" -"TLO: la variable solo se puede usar para RES en otros lugares" +"Unsupported op (Peripheral) for interpretable target.\nINT_%d" +"op no compatible (periférico) para el objetivo interpretable.\nINT_%d" -"TABLE: variable can be used only with TABLE" -"TABLE: la variable solo se puede utilizar con TABLE" +"Unsupported op (anything ADC, PWM, UART, EEPROM) for Netzer target." +"Operacion no admitida (cualquier cosa ADC, PWM, UART, EEPROM) para el objetivo de Netzer." -"PWM: variable can only be used for RES elsewhere" -"PWM: la variable solo se puede utilizar para RES en otros lugares" +"Unsupported op (anything ADC, PWM, UART, EEPROM, SFR..) for interpretable target." +"Op no soportada en el interprete (algun ADC, PWM, UART, EEPROM, SFR..)." -"TOF: variable can only be used for RES elsewhere" -"TOF: la variable solo se puede utilizar para RES en otros lugares" +"Unsupported op (anything UART, EEPROM, SFR..) for interpretable target.\nINT_%d" +"Operacion no admitida (cualquier cosa UART, EEPROM, SFR...) para el objetivo interpretable.\nINT_%d" -"TON: variable can only be used for RES elsewhere" -"TON: la variable solo se puede usar para RES en otros lugares" +"Unsupported operation 'INT_STRING' for target, skipped." +"Operación no admitida 'INT_STRING' para destino, omitida." -"TCY: variable can only be used for RES elsewhere" -"TCY: la variable solo se puede usar para RES en otros lugares" +"Unsupported operation 'INT_WRITE_STRING' for target, skipped." +"Operacion no compatible 'INT_WRITE_STRING' para el destino, omitido." -"RTL: variable can only be used for RES elsewhere" -"RTL: la variable solo se puede utilizar para RES en otros lugares" +"Unsupported operation for target, skipped." +"Operacion no admitida para el objetivo, omitido." -"THI: variable can only be used for RES elsewhere" -"THI: la variable solo se puede usar para RES en otros lugares" +"Use menu: 'Compile->Compile ARM-GCC for 32-bit ARM'" +"Use el menú: 'Compilar-> Compilar ARM-GCC para ARM de 32 bits'" -"TLO: variable can only be used for RES elsewhere" -"TLO: la variable solo se puede usar para RES en otros lugares" +"Use menu: 'Compile->Compile HI-TECH C for PIC'" +"Use el menú: 'Compilar-> Compilar HI-TECH C para PIC'" -"Rung %d: Variable '%s' incorrectly assigned.\n%s.\nSee rungs:%s" -"Linea %d: Variable '%s' asignada incorrectamente.\n%s.\nConsulte renglones:%s" +"Used %d/%d byte of RAM (chip %d%% full)." +"Se utiliza %d/%d byte de RAM (chip % d %% completo.)" -"Rung %d: Variable '%s' incorrectly assigned.\n%s." -"Linea %d: Variable '%s' asignada incorrectamente.\n%s." +"Used %d/%d words of program flash (chip %d%% full)." +"Usadas %d/%d palabras de programa en flash (chip %d%% lleno)." -"RES: Variable is not assigned to COUNTER or TIMER or PWM.\r\nYou must assign a variable." -"RES: La variable no est asignada a COUNTER o TIMER para PWM.\r\nDebe asignar una variable." +"User redefined color scheme\tYou" +"Tema de usuario\tUsted" "Value 'val'=%d < 0" "Valor 'val'=%d < 0" @@ -2521,98 +2572,246 @@ "Value 'val'=0x%x not in unpacked BCD format." "Valor 'val'=0x%x no en formato BCD sin empaquetar." -"Stack size %d overflow" -"Tamao de pila %d desbordamiento" +"Var '%s' not allocated %d." +"Var '%s' no asignado %d." -"Stack size %d underflow" -"Tamao de pila %d sub desbordamiento" +"Variable %s=%d out of range: -128 to 127 inclusive." +"Variable %s=%d fuera del rango: -128 a 127 inclusive." -"TABLE %s is not initialized." -"TABLE %s no est inicializado." +"Variable %s=%d out of range: -2147483648 to 2147483647 inclusive." +"Variable %s=%d fuera del rango: -2147483648 a 2147483647 inclusive." -"Index=%d out of range for TABLE %s[0..%d]" -"Index=%d fuera del rango para TABLE %s[0..%d]" +"Variable %s=%d out of range: -32768 to 32767 inclusive." +"Variable %s=%d fuera del rango: -32768 a 32767 inclusive." -"Index=%d out of range for string %s[%d]" -"Index=%d fuera del rango para la cadena %s[%d]" +"Variable %s=%d out of range: -8388608 to 8388607 inclusive." +"Variable %s=%d fuera del rango: -8388608 a 8388607 inclusive." -"Couldn't create a unique file name for '%s'" -"No se pudo crear un nombre de archivo nico para '%s'" +"Variable %s=0x%X out of range: 0 to 0xFF inclusive." +"Variable %s=0x%X fuera de rango: 0 a 0xFF inclusive." -"Couldn't rename(%s,%s)" -"No se pudo cambiar el nombre (%s,%s)" +"Variable %s=0x%X out of range: 0 to 0xFFFF inclusive." +"Variable %s=0x%X fuera de rango: 0 a 0xFFFF inclusive." -"%s=%d: out of range for 8bits target" -"%s=%d: fuera del rango para el objetivo de 8 bits" +"Variable %s=0x%X out of range: 0 to 0xffFFFF inclusive." +"Variable %s=0x%X fuera de rango: 0 a 0xffFFFF inclusive." -"Unsupported op (anything UART, EEPROM, SFR..) for interpretable target.\nINT_%d" -"Operacin no admitida (cualquier cosa UART, EEPROM, SFR...) para el objetivo interpretable.\nINT_%d" +"Variable %s=0x%X out of range: 0 to 0xffffFFFF inclusive." +"Variable %s=0x%X fuera de rango: 0 a 0xffffFFFF inclusive." -"Select Timer0 in menu 'Settings -> MCU parameters'!" -"Seleccione Timer0 en el men 'Configuracin -> Parmetros de MCU'!" +"Variable '%s' not assigned to, e.g. with a MOV statement, an ADD statement, etc.\r\n\r\nThis is probably a programming error; now it will always be zero." +"Variable '%s' no asignada, p.e. con el comando MOV, una instruccion ADD, etc.\r\n\r\nEsto es probablemente un error de programacion; valdra cero." -"Can't assign prefix." -"No se puede asignar el prefix." +"Variable for '%s' incorrectly assigned: %s." +"Variable para '%s' incorrectamente asignada: %s." -"I2C Rate (Hz):" -"Frquence I2C (Hz):" +"Variable is interpolated into formatted string, but none is specified." +"Se ha declarado un parametro dentro la cadena de caracteres, pero falta especificar la variable." -"I2C functions used but not supported for this micro or compile mode." -"Funciones I2C utilizadas pero no compatibles con este modo de micro o compilacin." +"Variable list:" +"Lista de variables:" -"No I2C or I2C not supported for this MCU." -"No I2C o I2C no compatible con este micro." +"Variable list:" +"Lista variables:" -"Only one I2C can be used" -"Solo se puede usar un I2C" +"Variable:" +"Variable:" -"I2C Internal error" -"Error interno de I2C" +"Wait until all bytes are received:" +"Espera hasta todos recibidos:" -"Must assign pins for I2C device (name '%s')." -"Debe asignar pines para el dispositivo I2C (nombre '% s')." +"Wait until all bytes are sent:" +"Espera hasta todos enviados:" -"Invalid I2C name in ladder." -"Nombre no vlido I2C en la escalera." +"When the MCU crystal frequency is %.3g %sHz." +"Cuando la frecuencia del cristal MCU es %.3g% sHz." -"I2C - Two Wire Interface" -"I2C - Two Wire Interface" +"White color scheme\tIhor" +"Tema blanco\tIhor" -"I2C Name:" -"Nombre de I2C:" +"White color scheme\tMark" +"Tema blanco\tMark" -"I2C Mode:" -"Modo I2C:" +"Write To SFR" +"Escribir en SFR" -"I2C Address:" -"I2C Direccin:" +"You must Select rungs, then Copy or Cut, then Paste." +"Debe seleccionar los peldaños, luego Copiar o Cortar, luego Pega.r" -"I2C Register:" -"I2C Registro:" +"You try to compile to AVR GCC, but MCU core isn't AVR.\nDo you want to continue?" +"Intenta compilar en AVR GCC, pero el nucleo de MCU no es AVR.\nDo Desea continuar?" -"SPI & I2C can't be used together on PICs" -"No se puede usar SPI & I2C al mismo tiempo con PICs" +"You try to compile to Arduino sketch, but MCU core isn't AVR.\nDo you want to continue?" +"Intenta compilar para Arduinosketch, pero el nucleo de MCU no es AVR.\nDo Desea continuar?" -"Compile failure." -"Fallo de compilacin." +"You try to compile to Arm GCC, but MCU core isn't ARM.\nDo you want to continue?" +"Intenta compilar para Arm GCC, pero el nucleo de MCU no es ARM.\nDo Desea continuar?" -"Number of bytes to receive:" -"Nmero de bytes a recibir:" +"You try to compile to CSS-PIC C, but MCU core isn't PIC.\nDo you want to continue?" +"Intenta compilar en CSS-PIC C, pero el nucleo de MCU no es PIC.\nDo Desea continuar?" -"Number of bytes to send:" -"Nmero de bytes a enviar:" +"You try to compile to CodeVision C, but MCU core isn't AVR.\nDo you want to continue?" +"Intenta compilar en CodeVision C, pero el nucleo de MCU no es AVR.\nDo Desea continuar?" -"Wait until all bytes are received:" -"Espera hasta todos recibidos:" +"You try to compile to HI-TECH C, but MCU core isn't PIC.\nDo you want to continue?" +"Intenta compilar en HI-TECH C, pero el nucleo de MCU no es PIC.\nDo Desea continuar?" -"Wait until all bytes are sent:" -"Espera hasta todos enviados:" +"You try to compile to WinAvr C, but MCU core isn't AVR.\nDo you want to continue?" +"Intenta compilar en WinAvr C, pero el nucleo de MCU no es AVR.\nDo Desea continuar?" -"Set Pull-up input resistors" -"Activar pull-up por las entradas" +"Zero Configuration Word(s) not valid." +"Cero palabra(s) de configuracion no es valida." -"*Attention: Not all ports have a pull-up resistor. See datasheets of the controller for details." -"Atencin: Todos los puertos no tienen pull-up resistencias." +"Zero baud rate not possible." +"Cero baudios no es posible." + +"Zero crystal frequency not valid; resetting to 16 MHz." +"La frecuencia de cristal cero no es valida; se restablece a 16 MHz." + +"Zero cycle time not valid; resetting to 10 ms." +"No es valido un tiempo de ciclo 0; forzado a 10 ms." + +"Zero memory address not allowed!\nAndMemory(0, %d) skiped!" +"No se permite la direccion de memoria cero!\\nAndMemory(0, %d) se omite" + +"Zero memory address not allowed!\nLOAD(%d, %d) skiped!" +"La direccion de memoria cero no esta permitida!\nLOAD (%d,%d) omitida" + +"Zero memory address not allowed!\nLoadXAddr(%d) skiped!" +"Direccion de memoria cero no permitida!\nLoadXAddr(%d) omitida!" + +"Zero memory address not allowed!\nLoadYAddr(%d) skiped!" +"No se permite la direccion de memoria cero!\nLoadYAddr(%d) omitido!" + +"Zero memory address not allowed!\nLoadZAddr(%d) skiped!" +"Direccion de memoria cero no permitida!\nLoadZAddr(%d) omitida!" + +"Zero memory address not allowed!\nOrMemory(0, %d) skiped!" +"Direccion de memoria cero no permitida!\nOrMemory(0, %d) omitida!" + +"Zero memory address not allowed!\nReadIoToReg skiped." +"No se permite la direccion de memoria cero!\nReadIoToReg omitido." + +"Zero memory address not allowed!\nSTORE(%d, %d) skiped!" +"No se permite la direccion de memoria cero!\NSTORE(%d,%d) omitido!" + +"Zero memory address not allowed!\nWriteMemory(0, %d) skiped! %s %s" +"No se permite la direccion de memoria cero! \ nWriteMemory(0, %d) omitido!%s %s" + +"Zero memory address not allowed!\nWriteMemoryStillAddr(0, %d) skiped!" +"Direccion de memoria cero no permitida!\nWriteMemoryStillAddr(0,%d) omitida!" + +"Zero memory address not allowed!\nWriteRegToIO skiped." +"Direccion de memoria cero no permitida!\nWriteRegToIO omitido." + +"\nI/O ASSIGNMENT:\n" +"\nE/S ASIGNACION:\n" + +"\n\nAcceleration time=%.3f %s" +"\ n\nTiempo de aceleración=%.3f %s" + +"\n\nI/O ASSIGNMENT:\n\n" +"\n\nE/S ASIGNACION:\n\n" + +"adc input" +"entrada adc" + +"counter" +"contador" + +"cycle time %.2f ms" +"tiempo ciclo %.2f ms" + +"cyclic on/off" +"encendido/apagado ciclico" + +"digital in" +"entrada digital" + +"digital out" +"salida digital" + +"general var" +"var general" + +"high delay" +"alto retardo" + +"hight delay" +"Retardo alto " + +"int. relay" +"rele interno" + +"is set := :" +"esta puesto := :" + +"kHz" +"kHz" + +"low delay" +"Retardo Bajo " + +"modbus Hreg" +"modbus Hreg" + +"modbus coil" +"bobina modbus" + +"modbus contact" +"contacto modbus" + +"modified" +"modificado" + +"ms" +"ms" + +"no MCU selected" +"micro no seleccionado" + +"processor clock %.4f MHz" +"reloj procesador %.4f MHz" + +"processor clock %.9g MHz" +"reloj del procesador %.9g MHz" + +"retentive timer low input" +"temporizador de retencion baja entrada" + +"retentive timer" +"temporizador con memoria" + +"s" +"s" + +"saved var" +"guardado var" + +"string var" +"cadena var" + +"table in flash" +"tabla en flash" + +"turn-off delay" +"desactivar retardo" + +"turn-on delay" +"activar retardo" + +"value in flash" +"valor en flash" + +"x values in piecewise linear table must be strictly increasing." +"x valores en la tabla de interpolacion deben ser estrictamente incrementales." + +"| The 'bus' at the left of the screen, Simulation mode" +"| El 'bus' a la izquierda de la pantalla, modo Simulacion" + +"| The 'bus' at the right and left of screen |" +"| El 'bus' a la derecha e izquierda de la pantalla |" + +"|/| Negated" +"|/| Negado (Cerrado)" -"*PIC only: _RBPU:'PORTB Pull-up Enable bit' and _GPPU:'Enable Weak Pull-ups bit' available through the 'Port PB' field. 0-is enable." -"PICs solamente: Ver registros RBPU y GPPU." diff --git a/ldmicro/lang-fr.txt b/ldmicro/lang-fr.txt index 173d14fd..a3aa6bfb 100644 --- a/ldmicro/lang-fr.txt +++ b/ldmicro/lang-fr.txt @@ -2308,7 +2308,6 @@ "Destination:=" "Destination:=" - "Operand1:" "Operande 1:" diff --git a/ldmicro/lang-it.txt b/ldmicro/lang-it.txt index c7c9889d..15b34592 100644 --- a/ldmicro/lang-it.txt +++ b/ldmicro/lang-it.txt @@ -3119,4 +3119,4 @@ "| Il 'bus' a destra e a sinistra dello schermo |" "|/| Negated" -"|/| Negato" \ No newline at end of file +"|/| Negato" diff --git a/ldmicro/lang-sort.py b/ldmicro/lang-sort.py index 6dea828f..b7118d78 100644 --- a/ldmicro/lang-sort.py +++ b/ldmicro/lang-sort.py @@ -45,6 +45,9 @@ import os,sys from os import listdir +import locale +locale.setlocale(locale.LC_ALL, '') + if not os.path.exists('./lang-sort'): os.mkdir('./lang-sort') diff --git a/ldmicro/ldversion.h b/ldmicro/ldversion.h index 8e26fc39..06f217bd 100644 --- a/ldmicro/ldversion.h +++ b/ldmicro/ldversion.h @@ -1,11 +1,11 @@ #ifndef __LDMICRO_VER_H__ #define __LDMICRO_VER_H__ -#define LDMICRO_VER_STR "5.4.0.1" +#define LDMICRO_VER_STR "5.4.0.2" // | | #define LDMICRO_VER_MAJOR (5) // <-+ | #define LDMICRO_VER_MINOR (4) // | #define LDMICRO_VER_PATCH (0) // | -#define LDMICRO_VER_TWEAK (1) // <-------+ +#define LDMICRO_VER_TWEAK (2) // <-------+ #endif diff --git a/ldmicro/m.bat b/ldmicro/m.bat index d80c5bf1..408f7850 100644 --- a/ldmicro/m.bat +++ b/ldmicro/m.bat @@ -234,9 +234,6 @@ @SET PROGECT=D:\LDs\pwm\pwm_mega16.ld @SET PROGECT=D:\LDs\pwm\test.ld -@SET PROGECT="D:\LDs\servo pwm\servo pwm.ld" -@SET PROGECT="D:\LDs\servo pwm\servo pwm Pic16f887.ld" - @SET PROGECT=D:\LDs\errors\pwm3\DIMERpwm3PHASES-TesteJTAtmega328.ld @SET PROGECT=D:\LDs\marchat1\marchat1.ld @SET PROGECT=D:\LDs\errors\pic\nofeedbacksensorprogramTOOSMALL_1.ld @@ -283,8 +280,6 @@ @SET PROGECT=D:\LDs\STEPPER\stepper.ld @SET PROGECT=e:\SVARKA2\svarka.ld -@SET PROGECT=D:\LDs\pulse\pulse.ld - @SET PROGECT=D:\LDs\speed\Speed.ld @SET PROGECT=D:\LDs\pwm_led\pwm_led_TYC_328.ld @SET PROGECT=D:\LDs\Servidor\Servidor.ld @@ -395,6 +390,15 @@ rem @SET PROGECT=D:\LDs\errors\01\01.ld @SET PROGECT=D:\lds\FormattedStr\FormattedStr.ld +@SET PROGECT="D:\LDs\servo\servo pwm Pic16f887.ld" +@SET PROGECT="D:\LDs\servo\servo pwm.ld" +@SET PROGECT="D:\LDs\servo\servo_pwm_arduino_uno.ld" + +@SET PROGECT=D:\LDs\pulser\pulser.ld + +@SET PROGECT=D:\LDs\quad_test\quad_test.ld + + if "%1" == "" goto DO_BUILD @SET PROGECT="%1" :DO_BUILD diff --git a/ldmicro/make.bat b/ldmicro/make.bat index 012c261c..1da428dd 100644 --- a/ldmicro/make.bat +++ b/ldmicro/make.bat @@ -9,6 +9,7 @@ rem @SET PROGECT= @rem @nmake clean @rem @nmake LDLANG=LDLANG_RU %* @rem @nmake LDLANG=LDLANG_TR %* +@rem @nmake LDLANG=LDLANG_ES %* @nmake LDLANG=LDLANG_EN %* @if exist ldmicro.exe start ldmicro.exe %PROGECT% diff --git a/ldmicro/makelang.bat b/ldmicro/makelang.bat index 9cc1ea22..0c9b40f4 100644 --- a/ldmicro/makelang.bat +++ b/ldmicro/makelang.bat @@ -7,4 +7,4 @@ lang-make.pl lang.txt > lang.txt @rem @rem lang-sort.py [NOSORT] | [NOADD] -lang-sort.py \ No newline at end of file +lang-sort.py NOSORT NOADD \ No newline at end of file diff --git a/ldmicro/manual-es.txt b/ldmicro/manual-es.txt index 0195b247..4c9d490f 100644 --- a/ldmicro/manual-es.txt +++ b/ldmicro/manual-es.txt @@ -307,45 +307,45 @@ Normalmente, esta instrucci --[_/ OSR_/ \_]-- ^ - this is output signal + Esta es la seal de salida v _ _ --[ \_OSF_/ \_]-- ^ - this is input signal + Esta es la seal de entrada - logic level - ^ The duration of the input pulse is five cycles + nivel lgico + ^ La duracin del pulso de entrada es de cinco ciclos. OSR, OSF| _________ - input | ___/ \_______ + Entrada | ___/ \_______ | OSR | _ - output | ___/ \_______________ + Salida | ___/ \_______________ | OSF | _ - output | _____________/ \_____ - --+---------------------------> time + Salida | _____________/ \_____ + --+---------------------------> Tiempo | - PLC cycle time beat N+ 0 1 2 3 4 5 6 7 8 + Tiempo de ciclo del PLC ritmo N + 0 1 2 3 4 5 6 7 8 - logic - level - ^ Single-cycle input pulse + nivel lgico + + ^ Pulso de entrada de ciclo nico OSR, OSF| _ - input | ___/ \_______ + Entrada | ___/ \_______ | OSR | _ - output | ___/ \_______ + Salida | ___/ \_______ | OSF | _ - output | _____/ \_____ - --+------------------> time + Salida | _____/ \_____ + --+------------------> Tiempo | - PLC cycle time beat N+ 0 1 2 3 4 5 6 + Tiempo de ciclo del PLC N+ 0 1 2 3 4 5 6 > OSCILADOR _ _ @@ -358,7 +358,7 @@ Normalmente, esta instrucci Si la seal de entrada es verdadera, esta instruccin produce un meandro con (Tiempo de ciclo de 2 * PLC). Si la seal entra en la instruccin es falsa, entonces la seal de salida es falsa. -> CORTO CIRCUITO, CIRCUITO ABIERTO +> CORTO CIRCUITO Circuito Cerrado, CIRCUITO ABIERTO ----+----+---- ----+ +---- @@ -395,10 +395,10 @@ Cuando la entrada a esta instrucci Ejemplo de divison 7 % 3 = 1 https://en.wikipedia.org/wiki/Modulo_operation - NEGATIVE {NEG dest:=} + NEGATIVO {NEG dest:=} -{ - src}- - Negative -{NEG a:= -a}- es el equivalente optimizado de -{SUB a:= 0 - a}- + Negativo -{NEG a:= -a}- es el equivalente optimizado de -{SUB a:= 0 - a}- > OPERACIONES EN MODO BIT {AND var1 :=} {OR Ccnt :=} @@ -441,14 +441,14 @@ Cuando la entrada a esta instrucci 'Bit' significa nmero de bit, no mscara de bit. Por ejemplo, para establecer el bit nmero 4 en la variable 'var' v - Bit numbers: 76543210 + Bit numeros: 76543210 'var' : xxx1xxxx ^ - you must write ^ + debes escribir ^ { var} { var} - -{SetBit 4}- not -{SetBit 0x10}- + -{SetBit 4}- no -{SetBit 0x10}- - and it is equivalent to + y es equivalente a {OR var :=} -{ var | 0x10}- @@ -472,8 +472,8 @@ Si la entrada a esta instrucci 'Bit' significa nmero de bit, no mscara de bit. -Operacin - {IfBitSet var, 0} - es la condicin equivalente 'If var is odd'. -Operacin - {IfBitClr var, 0} - es la condicin equivalente 'If var is an even'. +Operacin - {IfBitSet var, 0} - es la condicin equivalente 'Si var es impar'. +Operacin - {IfBitClr var, 0} - es la condicin equivalente 'Si var es par'. > CONTADOR Cname Cname @@ -603,7 +603,7 @@ No se tiene en cuenta la condici La salida es 1 cuando hay datos no ledos en el bfer de recepcin. -> FORMATEA STRING OVER UART var +> FORMATEAR UNA CADENA SOBRE UART var -{"Pressure: \3\r\n"}- LDmicro puede generar cdigo para usar los UART incorporados a ciertas microcontroladores. En AVRS con UARTs mltiples slo UART1 (no UART0). Configure la velocidad en baudios utilizando Ajustes -> MCU parmetros. Ciertas velocidades de transmisin en baudios pueden no ser frecuencias cristalinas; LDmicro le avisar si este es el caso. @@ -618,19 +618,19 @@ Tambi Utilice `\\ 'para una barra invertida literal. Adems de la secuencia de escape para interpolar una variable entera, el siguiente control caracteres disponibles: - * \r -- CR carriage return - * \n -- NL new line - * \f -- FF form feed - * \b -- BS backspace - * \t -- TAB horizontal tab - * \v -- VTAB vertical tab - * \a -- alert - * \xAB -- character with ASCII value 0xAB (hex) + * \r -- CR retorno de carro + * \n -- NL nueva lnea + * \f -- FF salto de pgina + * \b -- BS retroceso + * \t -- TAB pestaa horizontal + * \v -- VTAB pestaa vertical + * \a -- alerta + * \xAB -- carcter con valor ASCII 0xAB (hexadecimal) La condicin rung-out de esta instruccin es verdadera mientras que es transmitir datos, sino falsos. Esta instruccin consume gran cantidad de memoria del programa, por lo que debe utilizarse con moderacin. La implementacin actual no es eficiente, pero para una mejor seran necesarias modificaciones a todos los back-ends. -> FORMATEAR STRING dest +> FORMATEAR CADENA dest -{"string", var}- Para objetivos como Netzer con implementaciones de printf ya existentes esta instruccin puede ser usada. @@ -644,10 +644,10 @@ Dest es un registro donde se escribe el resultado. Esto deber La condicin rung-out de esta instruccin es siempre verdadera. -> CPRINTF FORMATTED STRING _ ->Enanle{ CHAR dest:=}Error-> ______ +> CADENA FORMATEADA CPRINTF _ ->Enanle{ CHAR dest:=}Error-> ______ _/ ----{"string", varsList}---- __/ \___ ^ ^ - start condition busy(working) + condicin de inicio ocupado trabajando) Cuando la condicin de entrada para esta instruccin va de falsa a True, comienza a procesar la cadena como sprintf y escribe el resultado char a la variable de destino char evry si sygnal enable es true. diff --git a/ldmicro/manual.txt b/ldmicro/manual.txt index 4550ec70..0a10061d 100644 --- a/ldmicro/manual.txt +++ b/ldmicro/manual.txt @@ -933,7 +933,21 @@ Note: The several coils with the same 'YName' or 'RName' can be mentally false. These are mostly useful for debugging, temporary short the circuit or break an electrical circuit. - See https://github.com/LDmicro/LDmicro/wiki/OPEN-CIRCUIT,-SHORT-CIRCUIT + See more https://github.com/LDmicro/LDmicro/wiki/OPEN-CIRCUIT,-SHORT-CIRCUIT + Note: Be aware. + || ; The side effect demonstration. || + || Y1 || + ||----------------------------------------------------------( )-------|| + || ; Y1 is 1. || + || || + || Y1 || + ||----+ +----------------------------------------------( )-------|| + || ; COIL element always set output according to it input. || + || ; Y1 is 0 now. || + || || + || Y1 || + ||----------------------------------------------------------( )-------|| + || ; Y1 is 1 again. || > MASTER CONTROL RELAY diff --git a/ldmicro/manual_es.txt b/ldmicro/manual_es.txt new file mode 100644 index 00000000..4a8d54ac --- /dev/null +++ b/ldmicro/manual_es.txt @@ -0,0 +1,2433 @@ + +INTRODUCCION +============ + +LDmicro genera código nativo para ciertos Microchip PIC16 y Atmel AVR +microcontroladores. Por lo general, el software para estos microcontroladores está escrito +en un lenguaje de programación como ensamblador, C o BASIC. Un programa en uno +de estos idiomas comprende una lista de declaraciones. Estos idiomas son +potente y bien adaptado a la arquitectura del procesador, que +ejecuta internamente una lista de instrucciones. + +Los PLC, por otro lado, a menudo se programan en "lógica de escalera". (A) simple +El programa podría verse así: + + || || + || Xbutton1 Tdon Rchatter Yred || + 1 ||-------]/[---------[TON 1.000 s]-+-------]/[--------------( )-------|| + || | || + || Xbutton2 Tdof | || + ||-------]/[---------[TOF 2.000 s]-+ || + || || + || || + || || + || Rchatter Ton Tnew Rchatter || + 2 ||-------]/[---------[TON 1.000 s]----[TOF 1.000 s]---------( )-------|| + || || + || || + || || + ||------[END]---------------------------------------------------------|| + || || + || || + +(TON es un retraso de encendido; TOF es un retraso de apagado. --] [-- declaraciones +son entradas, que se comportan como los contactos en un relé. los +--( )-- las declaraciones son salidas, que se comportan como la bobina de un +relé. Muchas buenas referencias para la lógica de escalera están disponibles en Internet. +y en otros lugares; Los detalles específicos de esta implementación se dan a continuación.) + +Un número de diferencias son evidentes: + + * El programa se presenta en formato gráfico, no como una lista de texto. +       de declaraciones. Muchas personas inicialmente encontrarán esto más fácil de +       entender. + + * En el nivel más básico, los programas parecen diagramas de circuito, con +       Contactos de relé (entradas) y bobinas (salidas). Esto es intuitivo para +       programadores con conocimientos de teoría de circuitos eléctricos. + + * El compilador de lógica de escalera se encarga de lo que se calcula +       dónde. No tiene que escribir código para determinar cuándo las salidas +       tienen que volver a calcular en función de un cambio en las entradas o un +       temporizador de eventos, y no tiene que especificar el orden en que +       estos cálculos deben llevarse a cabo; Las herramientas PLC lo hacen por usted. + +LDmicro compila la lógica de escalera a código PIC16 o AVR. El seguimiento +Los procesadores son compatibles: + * PIC16F877 + * PIC16F628 + * PIC16F876 + * PIC16F88 + * PIC16F819 + * PIC16F887 + * PIC16F886 + * PIC16F72 + * PIC12F675 + * PIC12F683 + * PIC16F1512 + * PIC16F1516 + * PIC16F1527 + * PIC10F202 + * PIC10F200 + * ATmega128 + * ATmega64 + * ATmega162 + * ATmega32 + * ATmega32U4 + * ATmega16 + * ATmega8 + * ESP8266 + * STM32 + * "Código PASCAL "para PC LPT y COM +    * y un montón de... + +Sería fácil admitir más chips AVR o PIC16, pero no tengo +alguna forma de probarlos. Si necesita uno en particular, contácteme y +Veré que puedo hacer. + +Con LDmicro, puede dibujar un diagrama de escalera para su programa. Usted puede +simule la lógica en tiempo real en su PC. Entonces cuando estés convencido +que es correcto, puede asignar pines en el microcontrolador al +programa entradas y salidas. Una vez que haya asignado los pines, puede +compila el código PIC o AVR para tu programa. La salida del compilador es un .hex +archivo que puede programar en su microcontrolador usando cualquier PIC / AVR +programador. + +LDmicro está diseñado para ser algo similar a la mayoría de los PLC comerciales +Sistemas de programación. Hay algunas excepciones y muchas cosas. +de todos modos no son estándar en la industria. Lea atentamente la descripción +de cada instrucción, incluso si parece familiar. Este documento asume +Conocimientos básicos de la lógica de escalera y de la estructura del software PLC. +(el ciclo de ejecución: leer entradas, calcular, escribir salidas). + +PLC y seguridad + https://github.com/LDmicro/LDmicro/wiki/PLC-and-safety + +Tiempo 0 de ciclo del PLC + https://github.com/LDmicro/LDmicro/wiki/PLC-Cycle-Time-0 + +OBJETIVOS ADICIONALES +===================== + +También es posible generar código ANSI C. Podrías usar esto con cualquier +procesador para el que tiene un compilador de C, pero usted es responsable de +suministrando el tiempo de ejecución. Eso significa que LDmicro solo genera fuente +para una función PlcCycle (). Usted es responsable de llamar a PlcCycle +cada ciclo, y usted es responsable de implementar todas las E / S +(lectura / escritura de entrada digital, etc.) funciones a las que llama PlcCycle (). Ver +los comentarios en la fuente generada para más detalles. + +Finalmente, LDmicro puede generar bytecode independiente del procesador para un +Máquina virtual diseñada para ejecutar código de lógica de escalera. He proporcionado una +implementación de muestra del intérprete/VM, escrita en bastante portátil +C. Este objetivo funcionará para casi cualquier plataforma, siempre que +puede suministrar su propia VM. Esto puede ser útil para aplicaciones donde +desea utilizar la lógica de escalera como un 'lenguaje de script' para personalizar un +programa. Vea los comentarios en el intérprete de muestra para más detalles. + +Se ha agregado un nuevo objetivo "Controllino Maxi / Ext bytecode". Genera +Archivo .xint interpretable por el software LDuino PLC. Hasta ahora solo +Controllino Maxi PLC es compatible. Sin embargo, como el código de bytes es genérico, +Se puede hacer la adaptación a cualquier otra placa de PLC o CPU. Ver código fuente LDuino +para eso. + +OPCIONES DE LINEA DE COMANDO +============================ + +ldmicro.exe generalmente se ejecuta sin opciones de línea de comandos. Eso significa +que puede hacer un acceso directo al programa o guardarlo en su +escritorio y haga doble clic en el icono cuando desee ejecutarlo, y luego +puede hacer todo desde la GUI. + +Si se pasa LDmicro un solo nombre de archivo en la línea de comando +(por ejemplo, `ldmicro.exe asd.ld '), LDmicro intentará abrir` asd.ld', +si existiera. Se produce un error si `asd.ld 'no existe. Esta +significa que puede asociar ldmicro.exe con archivos .ld, para que se ejecute +automáticamente cuando hace doble clic en un archivo .ld. + +Si LDmicro se pasa argumentos de línea de comando en el formulario +`ldmicro.exe / c src.ld dest.hex ', luego intenta compilar` src.ld', +y guarde la salida como 'dest.hex'. LDmicro sale después de compilar, +si la compilación fue exitosa o no. Cualquier mensaje se imprime +a la consola Este modo es útil solo cuando se ejecuta LDmicro desde +línea de comando. + + +LO ESENCIAL +=========== + +Si ejecuta LDmicro sin argumentos, entonces comienza con el programa vacio. +Si ejecuta LDmicro con el nombre de un programa de escalera (xxx.ld) +en la línea de comando, entonces intentará cargar ese programa al inicio. +LDmicro usa su propio formato interno para el programa; no puede importar +lógica de cualquier otra herramienta. + +Si no cargó un programa existente, se le dará un programa +con un peldaño vacío Podrías agregarle una instrucción; por ejemplo +puede agregar un conjunto de contactos (Instrucción -> Insertar contactos) llamado +'Xnuevo'. 'X' significa que los contactos estarán vinculados a un pin de entrada en el +microcontrolador Puede asignarle un pin más tarde, después de elegir un +microcontrolador y cambio de nombre de los contactos (Se tienen que cambiar los nombres es obligado). +La primera letra de un nombre indica qué tipo de objeto es. Por ejemplo: + + * Xname -- vinculado a un pin de entrada en el microcontrolador + * Yname -- vinculado a un pin de salida en el microcontrolador + * Rname -- `relé interno ': un bit en la memoria + * Tname -- un temporizador retraso de encendido, retraso de apagado o retentivo + * Cname -- un contador, ya sea cuenta adelante o cuenta atrás + * Aname -- una lectura entera de un convertidor A / D + * Pname -- vinculado a un pin de salida PWM en el microcontrolador + * Mname -- vinculado a una salida de bobina MODBUS + * Iname -- vinculado a una entrada discreta MODBUS + * Hname -- vinculado to a MODBUS Holding register + * name -- una variable de propósito general (entero) + + Nombre de la variable que comienza con el símbolo. '#' como + #PORTA, #PORTB, #PORTC, ... tratado como puerto de hardware de salida. +     Nombre de la variable que comienza con el símbolo. '#' como + #PINA, #PINB, #PINC, ... tratado como puerto de entrada de hardware. + Nombre de la variable que comienza con el símbolo.'#' como + #TRISA, #TRISB, #TRISC, ... tratado como registro de dirección de datos de los puertos correspondientes + #PORTA, #PORTB, #PORTC, ... + Nota: la dirección PORTn y PINn son iguales para PIC's + + El nombre de la variable que comienza con un carácter '#' y luego un número +     (comúnmente un hexadecimal) tratada como la dirección inmediata del registro de hardware. +     Un valor como # 0xXXXX es un direccionamiento inmediato, directo y explícito. +     Por ejemplo: +     # 0x8E tratado como la dirección del registro PCON de hardware +       del microcontrolador Microchip PIC16F628. +     # 0x136 tratado como la dirección del registro UDR3 de hardware +       (Registro de datos de E/S USART3) del microcontrolador Atmel ATmega2560. + + El nombre de la variable que comienza con un carácter '#' y posterior como +     un nombre de variable de propósito general tratado como la dirección indirecta del registro de hardware. +     Un valor como #VarName es la dirección indirecta del registro de hardware (puntero de dirección indirecta). +     Por ejemplo: + {MOV portAddr:=} portAddr es una variable de propósito general que contiene el valor 0x05. + --{ 0x05}-- + + {MOV #portAddr:=} #portAddr tratada como la dirección indirecta del registro # 0x05 PORTA (Microchip PIC16F887). + --{ 0xF0}-- Los pines de salida PORTA se establecen en un valor binario de 11110000. + + {ADD portAddr:=} La variable portAddr de propósito general ahora tiene un valor de 0x06. + --{portAddr + 1}-- + + {MOV #portAddr:=} #portAddr tratada como la dirección indirecta del registro # 0x06 PORTB (Microchip PIC16F887). + --{ 0x0F}-- Los pines de salida PORTB están configurados en un valor binario de 00001111. + * Wiki: LDmicro direccionamiento indirecto + https://github.com/LDmicro/LDmicro/wiki/LDmicro-indirect-addressing + + Tenga cuidado al escribir en los registros de hardware mediante el acceso inmediato a la dirección. +     Vea cómo acceder a SPI a través de los registros de hardware. + * Wiki: SPI: Interfaz Periférica Serial + https://github.com/LDmicro/LDmicro/wiki/SPI:-Serial-Peripheral-Interface + + +Elija el resto del nombre para que describa lo que hace el objeto, +y para que sea único dentro del programa. El mismo nombre siempre se refiere +al mismo objeto dentro del programa. Por ejemplo, sería un error. +tener un retraso de encendido (TON) llamado 'Tdelay' y un retraso de apagado (TOF) +llamado 'Tdelay' en el mismo programa, ya que cada contador necesita su propio +memoria. Por otro lado, sería correcto tener un temporizador retentivo +(RTO) llamado `Tdelay 'y una instrucción de reinicio (RES) asociada con +'Tdelay', ya que en ese caso desea que ambas instrucciones funcionen +El mismo temporizador. + +Los nombres de las variables pueden consistir en letras, números y guiones bajos '_'. +Un nombre de variable no debe comenzar con un número. Los nombres de las variables son +distingue mayúsculas y minúsculas. + +Las instrucciones variables generales (MOV, ADD, EQU, etc.) pueden funcionar en +variables con cualquier nombre. Esto significa que pueden acceder al temporizador y +Contadores acumuladores. Esto a veces puede ser útil; Por ejemplo usted +podría verificar si la cuenta de un temporizador está en un rango particular. + +Las variables son siempre enteros de 16 bits. Esto significa que pueden ir +de -32768 a 32767. Las variables siempre se tratan como firmadas. + +ACTUALIZADO: Versión 4.3.0 +Las variables pueden asignar 1,2,3 o 4 bytes. Puede cambiar el tamaño de la variable +haciendo doble clic en el nombre de la variable en la lista en la parte inferior de la pantalla. +Las variables se almacenan y procesan en forma de complemento de dos. +Ver https://en.wikipedia.org/wiki/Two%27s_complement + +Bytes Tipos Intervalo de a + 1 signed int8 -2^7 = -128=0x80 2^7 -1= 127=0x7f + 2 signed int16 -2^15= -32768=0x8000 2^15-1= 32767=0x7fff + 3 signed int24 -2^23= -8388608=0x800000 2^23-1= 8388607=0x7fFFFF + 4 signed int32 -2^31=-2147483648=0x80000000 2^31-1=2147483647=0x7fffFFFF + +El valor cero decimal (0) se representa como todos los bits ceros 00 ... 000 +El valor decimal (-1) representado como todos 11 ... 111 + +Las variables int8 firmadas se utilizan para hacer que el archivo hexadecimal sea más pequeño y más rápido. +Los tipos firmados int24 e int32 se utilizan para aumentar el rango de variables. +La extensión de signo para variables de diferentes tamaños se proporciona automáticamente. +Nota: Las instrucciones MUL, DIV, MOD no pueden procesar variables int32. + +El indicador de desbordamiento aritmético (subflujo) se proporciona como relé interno ROverflowFlagV. +https://en.wikipedia.org/wiki/Overflow_flag +https://www.allaboutcircuits.com/textbook/digital/chpt-2/binary-overflow/ +El indicador de desbordamiento indica que el resultado del complemento a dos firmado +No cabe en el número de bits utilizados para la operación, y señala un error. +Por ejemplo, si la variable int8 dest = 127 (0x7f) suma 1, obtenemos -128 (0x80), +y el indicador de desbordamiento ROverflowFlagV se establecerá en 1. +En cambio, si la variable int16 dest = 127 (0x007f) agrega 1, obtenemos 128 (0x0080), +y el indicador de desbordamiento ROverflowFlagV no se ve afectado. +LDmicro restablece el ROverflowFlagV a cero durante la inicialización. +Nota: CTC genera un impulso de sobrellenado (carry) cuando Counter == Max. +       El CTR genera un impulso de sobrellenado (prestado) cuando el Contador == Min. +       Overfill no establece la bandera de desbordamiento. + +El indicador de superposición se proporciona como el estado de salida de las operaciones ADD, SUB. +El indicador de superposición indica que se ha cambiado el signo del resultado. +Por ejemplo, se produjo una superposición cuando -1 (0xf..f) agrega 1 (o sub -1), obtenemos 0 (0x0..0), +todos los 1 se cambian a todos ceros 0. +Además, se produjo una superposición cuando 0 (0x0..0) sub 1 (o agregar -1), obtenemos -1 (0xf..f), +todos los ceros 0 se cambian a todos unos 1. +Por ejemplo, se produjo una superposición cuando -10 agrega 15 (o sub -15), obtenemos 5, +fuente negativa se cambia a resultado positivo. +Además, se produjo una superposición cuando 10 sub 15 (o agregamos -15), obtenemos -5, +fuente positiva se cambia a resultado negativo. +ACTUALIZACIONES FINALES: Versión 4.3.0 + +Puede especificar literales como números decimales normales (10, 1234, -56). +También puede especificar valores de caracteres ASCII ('A', 'z') poniendo +El personaje entre comillas simples. Puedes usar un código de caracteres ASCII +en la mayoría de los lugares donde podrías usar un número decimal. +Puede usar números hexadecimales (0xA, 0x04D2, 0xffc8), +números octales (0o12, 0o2322, 0o177710), +números binarios (0b1010, 0b10011010010, 0b1111111111001000) +en la mayoría de los lugares donde podrías usar un número decimal. +LDmicro usó los prefijos C: +0x__ o 0X__ para números hexadecimales con dígitos 1234567890ABCDEF +0o__ o 0O__ o 0__ números octales con 01234567 dígitos +0b__ o 0B__ para números binarios con 01 dígitos. +Hexadecimales, la notación binaria es más cómoda para opacidades bit a bit. + +En la parte inferior de la pantalla, verá una lista de todos los objetos en +el programa. Esta lista se genera automáticamente desde el programa; +no es necesario mantenerlo actualizado a mano. La mayoría de los objetos no +Necesitan alguna configuración. Los objetos 'Xname', 'Yname' y 'Aname' deben ser +asignado a un pin en el microcontrolador, sin embargo. Primero elige que +microcontrolador que desee utilizar (Configuración -> Microcontrolador). Luego asignar +sus pines de E/S haciendo doble clic en ellos en la lista. + +Puede modificar el programa insertando o eliminando instrucciones. +el cursor en la pantalla del programa parpadea para indicar el seleccionado actualmente +instrucción y el punto de inserción actual. Si no está parpadeando, entonces +presione o haga clic en una instrucción. Ahora puedes eliminar el actual +instrucción, o puede insertar una nueva instrucción a la derecha o izquierda +(en serie con) o arriba o abajo (en paralelo con) el seleccionado +instrucción. Algunas operaciones no están permitidas. Por ejemplo, no hay instrucciones +despues de una bobina a su derecha. + +El programa comienza con un solo peldaño. Puede agregar más peldaños seleccionando +Inserte Peldaño Antes / Después en el menú Lógica. Podrías obtener el mismo efecto +colocando muchos subcircuitos complicados en paralelo dentro de un peldaño, +pero se lee mejor usando múltiples peldaños. + +Una vez que haya escrito un programa, puede probarlo en simulación y luego +puede compilarlo en un archivo .HEX para el microcontrolador de destino. + + +SIMULACION +========== + +Para ingresar al modo de simulación, elija Simular -> Modo de simulación o presione +. El programa se muestra de manera diferente en el modo de simulación. Ahi esta +Ya no es un cursor. Las instrucciones que se activan aparecen brillantes +rojo; las instrucciones que no aparecen en gris. Presione la barra espaciadora para +ejecute el PLC un ciclo. Para realizar un ciclo continuo en tiempo real, elija +Simular -> Iniciar simulación en tiempo real o presionar . La exhibición de +El programa se actualizará en tiempo real a medida que cambie el estado del programa. + +Puede establecer el estado de las entradas al programa haciendo doble clic, +en la lista en la parte inferior de la pantalla, o haciendo doble clic en una +Instrucción de contactos 'Xname' en el programa. Si cambia el estado de +un pin de entrada, entonces ese cambio no se reflejará en cómo el programa +se muestra hasta que el PLC realiza un ciclo; esto sucederá automáticamente si +está ejecutando una simulación en tiempo real o cuando presiona la barra espaciadora. + + +COMPILAR CON EL CÓDIGO NATIVO +============================= + +En última instancia, el punto es generar un archivo .hex que pueda programar +en su microcontrolador. Primero debe seleccionar el número de pieza del +microcontrolador, en el menú Configuración -> Microcontrolador. Entonces usted +debe asignar un pin de E/S a cada objeto 'Xname' o 'Yname'. Haz esto +haciendo doble clic en el nombre del objeto en la lista en la parte inferior de la pantalla. +Aparecerá un cuadro de diálogo donde podrá elegir un pin no asignado de una lista. + +Luego debe elegir el tiempo de ciclo con el que correrá, y debe +decirle al compilador a qué velocidad de reloj estará funcionando el micro. Esto +se configuran en el menú Configuración -> Parámetros MCU ... En general usted +no debería necesitar cambiar el tiempo del ciclo; 10 ms es un buen valor para la mayoría +aplicaciones. Escriba la frecuencia del cristal que usará +con el microcontrolador (o el resonador de cerámica, etc.) y haga clic en Aceptar. + +Ahora puede generar código desde su programa. Elija Compilar -> Compilar, +o Compilar -> Compilar como ... si anteriormente compiló este programa +y desea especificar un nombre de archivo de salida diferente. Si no hay +errores, entonces LDmicro generará un archivo Intel IHEX listo para +programación en tu chip. Avertencia:si lla fue copilado y lo vuelve a copilar tenga en cuenta que +suscribira el programa antiguo .hex, para que no suceda es guardar como y cambiar el nombre. + +Use cualquier software y hardware de programación que tenga para cargar el hexadecimal +archivar en el microcontrolador. Recuerde configurar los bits de configuración +(fusibles)! Para los procesadores PIC16, los bits de configuración se incluyen en +archivo hexadecimal, y la mayoría del software de programación buscará allí automáticamente. +Para los procesadores AVR, debe establecer los bits de configuración a mano. + + +RESISTENCIAS PULL UP +==================== +Resistencias Pulll-up + (Hacia ariba) +https://github.com/LDmicro/LDmicro/wiki/Pull-up-resistors + +Todos los pines de entrada intentan establecer registros desplegables por defecto. +Desde la versión 5.3.0.4 se agregó el menú Configuración-> Establecer resistencias de entrada pull-up. + +Deshabilitar resistencias pull up (Obsoleto pero posible) +https://github.com/LDmicro/LDmicro/wiki/Disable-Pull-up-resistors + +Resistencias Pulll-down - (hacia a bajo) +https://github.com/LDmicro/LDmicro/wiki/Pull-down-resistors + + +REFERENCIA DE INSTRUCCIONES +=========================== + + Terminología: +     "Nivel sensible" = salida (elemento) controlado por el nivel de la entrada. +     "Edge accionado" = la salida cambia solo en el momento +     cuando la entrada cambia de valor a la otra. Puede ser positivo +     activado por flanco (0 a 1), o activado por flanco negativo (1 a 0). +     La mayoría de los elementos de LDmicro son "sensibles al nivel", algunos elementos son +     "disparado por borde positivo". + +> CONTACTO, NORMALMENTE ABIERTO Xname Rname Yname + ----] [---- ----] [---- ----] [---- + + Si la señal que entra en la instrucción es falsa, entonces la salida +     La señal es falsa. Si la señal que entra en la instrucción es verdadera, +     entonces la señal de salida es verdadera si y solo si el pin de entrada dado, +     pin de salida, o el relé interno es verdadero, de lo contrario es falso. Esta +     instrucción puede examinar el estado de un pin de entrada, un pin de salida, +     o un relé interno. + + +> CONTACTO, NORMALMENTE CERRADO Xname Rname Yname + ----]/[---- ----]/[---- ----]/[---- + + Si la señal que entra en la instrucción es falsa, entonces la salida +     La señal es falsa. Si la señal que entra en la instrucción es verdadera, +     entonces la señal de salida es verdadera si y solo si el pin de entrada dado, +     pin de salida, o el relé interno es falso, de lo contrario es falso. Esta +     la instrucción puede examinar el estado de un pin de entrada, un pin de salida, +     o un relé interno. Esto es lo contrario de un contacto normalmente abierto. + + CÓMO: Las operaciones lógicas AND, OR, XOR en las entradas de CONTACT + Ver https://github.com/LDmicro/LDmicro/wiki/HOW-TO:-The-AND,-OR,-XOR-logic-operations-on-CONTACTs-inputs + +> BOBINA NORMAL (Abierta) Rname Yname + ----( )---- ----( )---- + + Si la señal que entra en la instrucción es falsa, entonces el +     relé interno o pin de salida se borra falso. Si la señal va +     en esta instrucción es verdadera, entonces el relé interno o la salida dada +     el pin se establece como verdadero. No tiene sentido asignar una variable de entrada a un +     bobina. Esta instrucción debe ser la instrucción más a la derecha en su peldaño. +     Nivel sensible. + + +> BOBINA NEGADA (Cerrada) Rname Yname + ----(/)---- ----(/)---- + + Si la señal que entra en la instrucción es verdadera, entonces el +     relé interno o pin de salida se borra falso. Si la señal va +     en esta instrucción es falsa, entonces el relé interno o +     el pin de salida se establece como verdadero No tiene sentido asignar una entrada +     variable a una bobina. Esto es lo contrario de una bobina normal. Esta +     la instrucción debe ser la instrucción más derecha en su peldaño. +     Nivel sensible. + + +> BOBINA, SIEMPRE ACTIVA Rname Yname + ----(S)---- ----(S)---- + + Si la señal que entra en la instrucción es verdadera, entonces +     El relé interno o el pin de salida se establece como verdadero. De lo contrario, el interno +     el estado del pin de salida o relé no cambia. Esta instrucción solo puede +     cambia el estado de una bobina de falso a verdadero, por lo que normalmente es +     usado en combinación con una bobina de solo reinicio --(R)--. Esta instrucción debe +     ser la instrucción más a la derecha en su peldaño. +     Simplemente puede presentar como un disparador con la entrada sensible al nivel SET. + + +> BOBINA, SOLO RESET Rname Yname + ----(R)---- ----(R)---- + + Si la señal que entra en la instrucción es verdadera, entonces el +     relé interno o pin de salida se borra falso. De lo contrario el +     el estado interno del pin de salida o el relé no cambia. Esta instrucción +     solo puede cambiar el estado de una bobina de verdadero a falso, +     por lo tanto, se usa típicamente en combinación con una bobina de solo ajuste. Esta +     la instrucción debe ser la instrucción más a la derecha en su peldaño. +     Simplemente puede presentar como un disparador con la entrada sensible al nivel RESET. + + +> BOBINA, DISPARADOR T Rname Yname + ----(T)---- ----(T)---- + + Un disparador en T de la bobina es un flip-flop activado por el borde (alternar, volcar, voltear). +     Un flip-flop de bobina cada borde ascendente de la condición de entrada (es decir +     cuál es la condición de entrada de falso a verdadero). +     Si se detecta un borde ascendente, si el estado de la bobina es falso, se establece como verdadero. +     Si se detecta el siguiente flanco ascendente, si el estado de la bobina es verdadero, se establece en falso. +     Esta instrucción debe ser la instrucción más a la derecha en su peldaño. +     Simplemente puede presentar como un disparador T con el positivo +     entrada activada por el borde. + +Nota: Las varias bobinas con el mismo 'YName' o 'RName' pueden ser mentalmente +     representado como un microchip con múltiples entradas y una salida. +     La entrada normal e invertida transfiere directamente el estado de entrada (normal o +     invertido) a la salida cada vez en cada ciclo del PLC. +     Las entradas R, S, T bloquean (bloquean) el estado de salida. +     La entrada T es activada por flanco positivo. Las entradas R, S son sensibles al nivel. +     Si antes de R, S inserte el "OSR: ONE-SHOT RISING" = franco alto o +     "OSF: ONE-SHOT FALLING" = Franco bajo obtienes un elemento "borde positivo activado". +     Si usa solo las entradas R y S, obtiene el disparador RS clásico. +     Si agrega la entrada T, obtendrá el "RST-trigger" . Puede haber varias entradas R..R, +     o varias entradas S..S. Puede usar cualquier combinación de entradas para un 'YName' +     o bobina 'RName'. + https://github.com/LDmicro/LDmicro/wiki/COIL + + +> RETARDO DE ENCENDIDO (tiempo en espera) Tdon + -[TON 1.000 s]- + + Cuando la señal que entra en la instrucción pasa de falso a verdadero, +     la señal de salida permanece falsa durante 1.000 s antes de volverse verdadera. Cuando +     la señal que entra en la instrucción va de verdadero a falso, la salida +     la señal se vuelve falsa de inmediato. El temporizador se reinicia cada vez que la entrada +     se vuelve falso; la entrada debe permanecer verdadera durante 1000 milisegundos consecutivos +     antes de que la salida se haga realidad. El retraso es configurable. + + La variable 'Tname' cuenta desde cero en unidades de tiempos de exploración. +     La instrucción TON da salida a true cuando la variable del contador es mayor +     que o igual al retraso dado. Es posible manipular el +     Contador variable en otro lugar, por ejemplo con una instrucción MOV. + + + Nivel + Logica + ^ La duración del pulso de entrada. + | debe ser más largo que 1s + TON | _________ + Entrada | ___/ \_______ + | | | + | | 1s | + | |<-->| | + | | | + | v v + TON | ____ + Salida | ________/ \_______ + --+---------------------------> Tiempo en,s + | + + +> RETARDO DE APAGADO (tiempo en encendido) Tdoff + -[TOF 1.000 s]- + + Cuando la señal que entra en la instrucción pasa de verdadero a falso, +     la señal de salida permanece verdadera por 1,000 s antes de volverse falsa. Cuando +     la señal que entra en la instrucción va de falso a verdadero, +     la señal de salida se cumple de inmediato. El temporizador se reinicia cada +     tiempo en que la entrada se vuelve falsa; la entrada debe permanecer falsa por 1000 +     milisegundos consecutivos antes de que la salida se vuelva falsa. El retraso +     Es configurable. + + La variable 'Tname' cuenta desde cero en unidades de tiempos de exploración. los +     La instrucción TON da salida a true cuando la variable del contador es mayor +     que o igual al retraso dado. Es posible manipular el +     Contador variable en otro lugar, por ejemplo con una instrucción MOV. + + + Nivel + Logico + ^ La duración del pulso de entrada debe ser + | más largo que el ciclo del PLC + TOF | _ + Entrada | ______/ \_________ + | | | + | | | 1s + | | |<-->| + | | | + | v v + TOF | ______ + Salida | ______/ \____ + --+----------------------> Tiempo en,s + | + + +> TEMPORIZADOR ALTO Thi + -[THI 1.000 s]- + + Cuando la señal que entra en la instrucción pasa de falso a verdadero, +     La señal de salida es verdadera durante 1.000 s. El retraso es configurable. +     La señal de salida se restablece después de 1.000 s, el contador interno del temporizador +     se restablece después de 1,000 sy si la entrada es falsa. + + + Nivel + Logico + ^ La duración del pulso de entrada debe ser + | El más largo que el ciclo del PLC + THI | _ ________ + Entrada | ___/ \_________/ \_______ + | | | + | | 1s | 1s + | |<-->| |<-->| + | | | | | + | v v v v + THI | ____ ____ + Salida | ___/ \______/ \___________ + --+------------------------------------> Tiempo en,s + | + + +> TEMPORIZADOR BAJO Tlo + -o[TLO 1.000 s]- + + Cuando la señal que entra en la instrucción pasa de verdadero a falso, +     la señal de salida es falsa durante 1.000 s. El retraso es configurable. +     La señal de salida se establece como verdadera después de 1.000 s, el contador interno del temporizador +     se restablece después de 1,000 sy si la entrada es verdadera. + + + Nivel + Logico + ^ La duración del pulso de entrada debe ser + | más largo que el ciclo del PLC + TLO | ___ _________ _______ + Entrada | \_/ \________/ + | | | + | | 1s | 1s + | |<-->| |<-->| + | | | | | + | v v v v + TLO | ___ ______ ___________ + Salida | \____/ \____/ + --+------------------------------------> Tiempo en,s + | + + See https://github.com/LDmicro/LDmicro/wiki/TON,-TOF,-etc. + + +> TEMPORIZADOR RETENTIVO Trto + -[RTO 1.000 s]- + + Esta instrucción realiza un seguimiento de cuánto tiempo su entrada ha sido verdadera (HI=Alto). +     Si su entrada ha sido verdadera durante al menos 1,000 s, entonces la salida es +     cierto. De lo contrario, la salida es falsa. La entrada no necesita haber sido +     verdadero por 1000 milisegundos consecutivos; si la entrada se cumple +     por 0.6 s, luego falso por 2.0 s, y luego verdadero por 0.4 s, luego el +     La salida se hará realidad. Después de que la salida se vuelva verdadera, seguirá siendo verdadera +     incluso después de que la entrada sea falsa, siempre que la entrada haya sido verdadera +     por más de 1.000 s. Por lo tanto, este temporizador debe restablecerse manualmente, +     usando la instrucción de reinicio. + + La variable 'Tname' cuenta desde cero en unidades de tiempos de exploración. +     La instrucción TON da salida a true cuando la variable del contador es mayor +     que o igual al retraso dado. Es posible manipular el +     Contador variable en otro lugar, por ejemplo con una instrucción MOV. + + + Nivel + Logico + ^ La duración total de los pulsos de entrada (Alta)es más de 1 s + | t1+t2+..+tn >= 1s + | + RTO | __ _ _________ + Entrada | ___/ \___/ \__/ \________ + | | | | | | + | |t1| | | |tn Trto + | |<>| >|-|< |<>| RESET + | t2 | | + | v v + RTO | __________________ + Salida | __________________/ \___ + --+-------------------------------------------> Tiempo en,s + | + + +> TEMPORIZADOR RETENTIVO BAJO Trtl + -o[RTL 1.000 s]- + + RTL funciona como RTO, pero captura entradas de bajo nivel. +     Esta instrucción realiza un seguimiento de cuánto tiempo, su entrada ha sido falsa (BAJA). +     Si su entrada ha sido falsa durante al menos 1,000 s, entonces la salida es +     cierto. De lo contrario, la salida es falsa. +     Después de que la salida sea verdadera, seguirá siendo verdadera incluso después de la entrada +     se hace realidad Por lo tanto, este temporizador debe restablecerse manualmente, +     usando la instrucción de reinicio. + + + Nivel + Logico + ^ La duración total de la entrada BAJA es más de 1 s + | t1+t2+..+tn >= 1s + | + RTL | ___ ___ __ ________ + Entrada | \__/ \_/ \_________/ + | | | | | | + | |t1| | | |tn Trtl + | |<>| >|-|< |<>| RESET + | t2 | | + | v v + RTL | __________________ + Salida | __________________/ \___ + --+-------------------------------------------> Tiempo en,s + | + + +> CYCLIC TIMER (TEMPORIZADOR CÍCLICO) Tmeander + -[TCY 500 ms]- + + Si la señal de entrada es verdadera, esta instrucción produce un meandro con +     período (500ms + 500ms) = 1s y frecuencia 1 Hz. Si la señal entra +     la instrucción es falsa, entonces la señal de salida es falsa. + + Si el valor de Tmeander = tiempo de ciclo del PLC, el TCY es igual a OSC. + + + Nivel + Logico + ^ La duración del pulso de entrada es superior a 1 s. + TCY | ______________________ + Entrada | ___/ \_______ + | | | + | | 1s 1s 1s | + | |<--->|<--->|<--->| | + | | | | v + TCY | v __| __| __| _ + Salida | ______/ \__/ \__/ \__/ \_______ + --+----------------------------------------> Tiempo en,s + | + + +> TON, TOF, THI, TLO, RTO, RTL, TCY timers Ton + -[TON valor]- + + Actualizado en la versión 4.4.1.0 +     Puede usar una variable general como retraso del temporizador. +     Debe calcular el valor correcto (correcto) de la variable de acuerdo con +     El tiempo de ciclo del PLC. +     Retardo del temporizador (ms) = Tplc (ms) * Valor de retardo + || || + || Adc || + ||-----------------------------------------{READ ADC}----|| + || || + || || + || X1 T1 Y1 || + ||-------] [-----------[TON Adc]---------------( )-------|| + || || + + +> Conversor de TIEMPO a CONTADOR Tconst + -[T2CNT 10 ms]- + + La instrucción 'Convertidor de TIEMPO a CONTADOR' obtiene el tiempo + constante en ms, lo convierte a los temporizadores (TON, TOF, ...) - + valor específico y lo guarda en la variable Const para usarlo en contadores más adelante. + Ver https://github.com/LDmicro/LDmicro/wiki/TIME-to-COUNTER-converter + + +> RESET (Reinico) Trto Citems + ----{RES}---- ----{RES}---- + + Esta instrucción restablece un temporizador o un contador. Los temporizadores TON y TOF. +     se restablece automáticamente cuando su entrada es falsa o verdadera, por lo que RES +     No es necesario para estos temporizadores, pero es posible. Temporizadores RTO y +     Los contadores CTU / CTD no se reinician automáticamente, por lo que deben reiniciarse +     a mano usando una instrucción RES. Cuando la entrada es verdadera, el contador o +     el temporizador se reinicia; cuando la entrada es falsa, no se toman medidas. Esta +     la instrucción debe ser la instrucción más correcta en su peldaño. +     ¡Nota! RES restablece solo el contador numérico dentro de RTO, CTU / CTD, +     no sus salidas! + + +> RESET (Reinicio) PWM + ----{RES}---- + + Esta instrucción deshabilita la salida PWM y la establece en nivel bajo. +     También puede establecer otra frecuencia base PWM mediante SET PWM DUTY CYCLE +     después de la activación, RESET PWM. + +     Ver SET PWM DUTY CYCLE a continuación. + + +> DELAY (RETRASO) 1 us + ---[DELAY]--- + + La instrucción DELAY causa un retraso. La instrucción DELAY no +     use cualquier temporizador / contador. Las instrucciones NOP y JMP (Dirección actual + 1) +     se usan para hacer el retraso. + See https://github.com/LDmicro/LDmicro/wiki/DELAY-us + + +> Conversor de TIEMPO a RETRASO Tconst + -[T2DELAY 10 us]- + + La instrucción 'Convertidor de TIEMPO a RETARDO' obtiene el tiempo constante en 'nosotros', +     lo convierte al valor específico de DELAY y lo guarda en la variable Tconst +     para usar como parámetro de la instrucción DELAY más tarde. + + +> ASCENDENTE DE UN SOLO DISPARO (Franco) _ _ + --[_/ OSR_/ \_]-- + + Esta instrucción normalmente genera falso. Si la entrada de la instrucción +     es cierto durante este escaneo y fue falso durante el escaneo anterior +     entonces la salida es verdadera. Por lo tanto, genera una exploración de pulso uno +     de ancho en cada borde ascendente de su señal de entrada, es decir, univibrador. Esta +     la instrucción es útil si desea desencadenar eventos fuera del alza +     borde de una señal. + + +> DESCENDENTE CAÍDA DE UN DISPARO Franco) _ _ + --[ \_OSF_/ \_]-- + + Esta instrucción normalmente genera falso. Si la entrada de la instrucción +     es falso durante este escaneo y fue cierto durante el escaneo anterior +     entonces la salida es verdadera. Por lo tanto, genera una exploración de pulso uno +     ancho en cada borde descendente de su señal de entrada, es decir, univibrador. Esta +     la instrucción es útil si desea activar eventos de la caída +     borde de una señal. + + + Esto es la +                               señal de entrada + v v + _ _ + --[_/ OSR_/ \_]-- + _ _ + --[ \_OSF_/ \_]-- + _ _ _ + --[ \_OSL \_/ ]-- + + ^ ^ + esto es la +                                     señal de salida + + + + + Nivel + Logico + ^ La duración del pulso de entrada es de cinco ciclos. + OSR, OSF| _________ + Entrada | ___/ \_______ + | + OSR | _ + Salida | ___/ \_______________ + | + OSF | _ + Salida | _____________/ \_____ + --+---------------------------> Tiempo + | + Tiempo de ciclo del PLC N+ 0 1 2 3 4 5 6 7 8 + + + + + Nivel + Logico + ^ Single-cycle input pulse + OSR, OSF| _ + Entrada | ___/ \_______ + | + OSR | _ + Salida | ___/ \_______ + | + OSF | _ + Salida | _____/ \_____ + --+------------------> Tiempo + | + Tiempo de ciclo del PLC N+ 0 1 2 3 4 5 6 + + + +> NIVEL BAJO DE UN DISPARO (Franco) _ _ _ + --[ \_OSL \_/ ]-- + + Esta instrucción normalmente emite ture. Si la entrada de la instrucción es +     falso durante este escaneo y fue cierto durante el escaneo anterior, entonces el +     La salida es falsa. Por lo tanto, genera un pulso de bajo nivel de un escaneo de ancho +     en cada borde descendente de su señal de entrada, es decir, univibrador. Esta +     la instrucción es útil si desea desencadenar eventos fuera del límite descendente +     de una señal + + + + Nivel + Logico + ^ La duración del pulso de entrada es de cinco ciclos. + OSL | ___ _______ + Entrada | \_________/ + | + OSL | ___ _______________ + Salida | \_/ + --+---------------------------> Tiempo + | + Tiempo de ciclo del PLC N+ 0 1 2 3 4 5 6 7 8 + + + + Nivel + Logico + ^ Pulso de entrada de ciclo único + OSL | ___ _______ + Entrada | \_/ + | + OSL | ___ _______ + Salida | \_/ + --+------------------> Tiempo + | + Tiempo de ciclo del PLC N+ 0 1 2 3 4 5 6 + + + +> OSCILADOR _ _ _ + --[ _/ OSC_/ \_/ \_]-- + + F=1/(2*Tcycle) + + + Nivel + Logico + ^ La duración del pulso de entrada es de siete ciclos. + OSC | ____________ + Entrada | ___/ \_______ + | + OSC | _ _ _ + Salida | ___/ \_/ \_/ \_____________ + | + --+---------------------------> Tiempo + | + Tiempo de ciclo del PLC N+ 0 1 2 3 4 5 6 7 8 + + + Si la señal de entrada es verdadera, esta instrucción produce un meandro con +     período (2 * tiempo de ciclo del PLC), es decir, multivibrador. Si la señal entra +     la instrucción es falsa, entonces la señal de salida es falsa. + + +> CIRCUITO CERRADO, CIRCUITO ABIERTO + ----+----+---- ----+ +---- + + La condición de salida de un cortocircuito es siempre igual a su +     Condición de entrada. La condición de salida de un circuito abierto es siempre +     falso. En su mayoría son útiles para depurar, el corto temporal +     circuito o desconectar un circuito eléctrico. + + Ver más https://github.com/LDmicro/LDmicro/wiki/OPEN-CIRCUIT,-SHORT-CIRCUIT + Nota: tenga en cuenta. + || ; La demostración de efectos secundarios. || + || Y1 || + ||----------------------------------------------------------( )-------|| + || ; Y1 es 1. || + || || + || abierto Y1 || + ||----+ +----------------------------------------------( )-------|| + || ; El elemento COIL (BOBINA) siempre establece la salida de acuerdo || +   || ; con su entrada Y1 es 0 ahora. || + || || + || Cerrado Y1 || + ||----+----+------------------------------------------------( )-------|| + || ; Y1 vuelve a ser 1 otra vez || + + +> RELÉ DE CONTROL MAESTRO + -{MASTER RLY}- + + Por defecto, la condición de renglón de cada renglón es verdadera. Si un maestro +     la instrucción de relé de control se ejecuta con una condición de renglón de +     falso, entonces la condición de renglón para todos los renglones siguientes se convierte en +     falso. Esto continuará hasta el próximo relé de control maestro +     se alcanza la instrucción (independientemente de la condición de renglón de ese +     instrucción). Por lo tanto, estas instrucciones deben usarse en pares: +     uno para (tal vez condicionalmente) iniciar la sección posiblemente deshabilitada, +     y uno para terminarlo. +     Ver https://github.com/LDmicro/LDmicro/wiki/MASTER-CONTROL-RELAY + + +> MOVE MOVER {MOV destvar:=} {MOV Tret :=} + -{ 123}- -{ srcvar}- + + Cuando la entrada a esta instrucción es verdadera, establece el valor dado +     variable de destino igual a la variable fuente dada o +     constante. Cuando la entrada a esta instrucción es falsa, nada +     sucede Puede asignar a cualquier variable con la instrucción de movimiento; +     Esto incluye variables de estado de contador y contador, que pueden ser +     distinguido por la principal 'T' o 'C'. Por ejemplo, una instrucción +     mover 0 a 'Tretentive' es equivalente a una instrucción de reinicio (RES) +     para ese temporizador Esta instrucción debe ser la instrucción más a la derecha. +     en su peldaño. + + +> OPERACIÓN ARITMÉTICA {ADD kay :=} {SUB Ccnt :=} + -{ 'a' + 10 }- -{ Ccnt - 10 }- + +> {MUL dest :=} {DIV dv :=} + -{ var * -990 }- -{ dv / -10000}- + + Cuando la entrada a esta instrucción es verdadera, establece el valor dado +     variable de destino igual a la expresión dada. Los operandos +     pueden ser variables (incluidas las variables de temporizador y contador) +     o constantes Estas instrucciones usan matemática firmada de 16 bits. Recuerda +     que el resultado se evalúa cada ciclo cuando la condición de entrada +     cierto. Si está aumentando o disminuyendo una variable (es decir, si +     la variable de destino también es uno de los operandos) entonces usted +     probablemente no quiera eso; normalmente usarías un solo disparo para que +     se evalúa solo en el borde ascendente o descendente de la entrada +     condición. La división se trunca; 7/3 = 2. Esta instrucción debe ser +     la instrucción más a la derecha en su peldaño. + + +> MODULO {MOD dest:=} + -{src % 2}- + + Resto de la división 7% 3 = 1 +     Ver https://en.wikipedia.org/wiki/Modulo_operation + + +> NEGATIVO {NEG dest:=} + -{ - src}- + + Negativo - {NEG a: = -a} - es el equivalente optimizado a - {SUB a: = 0 - a} - + + +> OPERATION bit A bit {AND var1 :=} {OR Ccnt :=} + -{var2 & var3 }- -{ Ccnt | 0o07}- + +> {XOR dest :=} {NOT dv := } + -{ var ^ 0xAA }- -{ ~0b11001100}- + + Cuando la entrada a esta instrucción es verdadera, establece el valor dado +     variable de destino igual a la expresión dada. Los operandos +     pueden ser variables (incluidas las variables de temporizador y contador) +     o constantes Recuerde que el resultado se evalúa en cada ciclo. +     cuando la condición de entrada es verdadera. +     Por favor lee http://en.wikipedia.org/wiki/Bitwise_operation + + +> INTERCAMBIAR bit A bit { dest:=} + -{SWAP src}- + + Esta operación intercambia los nibbles y los bytes. +     Ver https://en.wikipedia.org/wiki/Nibble + Cuando el tamaño de las variables es + 1 - luego, a nivel bit, intercambia los nibbles en un BYTE, es decir, 0x73 -> 0x37 + + MSB bits LSB + 7 6 5 4 3 2 1 0 + \________/ \________/ + ^ ^ + | | + +------+ + Cambios de bits: + 7 <-> 3 + 6 <-> 2 + 5 <-> 1 + 4 <-> 0 + + 2 - luego intercambie los bytes en una PALABRA, es decir 0x7733 -> 0x3377 + + MSB bits LSB + 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + \___________________/ \____________________/ + ^ ^ + | | + +-----------+ + Cambios de bits: + 15 <-> 7 + 14 <-> 6 + ... + 9 <-> 1 + 8 <-> 0 + + 3 - luego, a nivel bit, intercambie los nibbles de 1 byte y los bytes 2 y 0 en un INT24, es decir, 0x775A33 -> 0x33A577 + + MSB bits LSB + 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + \_____________________/ \_________/ \_________/ \_____________/ + ^ ^ ^ ^ + | | | | + | +-----------+ | + +------------------------------------------+ + Cambios de bits: + 23 <-> 7 + ... + 16 <-> 0 + 15 <-> 11 + ... + 12 <-> 8 + + 4 - a continuación, intercambie los bytes 3 y 0 y los bytes 2 y 1 en un DWORD, es decir, 0x7755AA33 -> 0x33AA5577 + + MSB bits LSB + 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + \_____________________/ \_____________________/ \___________________/ \_____________/ + ^ ^ ^ ^ + | | | | + | +-----------+ | + +--------------------------------------------------------------+ + Cambios de bits: + 31 <-> 7 + ... + 24 <-> 0 + 23 <-> 15 + ... + 16 <-> 8 + + +> bit A bit OPUESTO { dest:=} + -{OPPOSITE src}- + + Esta operación invierte la secuencia de bits al contrario. +     El MSB se mueve al LSB, y el LSB se mueve al MSB y etc. + + MSB bits LSB + n n-1 n-2 ... 2 1 0 + ^ ^ ^ ^ ^ ^ + | | | | | | + | | +------+ | | + | +-------------+ | + +-------------------+ + + +> CAMBIO ARITMÉTICO: SHL, SHR. {SHL var1 :=} {SHR cnt :=} + -{var2 << 2 }- -{ cnt >> 1 }- + + Ver https://en.wikipedia.org/wiki/Arithmetic_shift + + SHL - desplazamiento aritmético a la izquierda + MSB LSB + MSB-1 1 0 + C <- x <- x <- .... <- x <- x <- 0 + + + SHR - desplazamiento aritmético a la derecha + MSB LSB + MSB-1 1 0 + /--> x -> x -> .... -> x -> x -> C + \ / + <-- + + + Nota: MSB = bit más significativo, LSB = bit menos significativo + + +> CAMBIO LÓGICO A LA DERECHA SR0. {SR0 dest :=} + -{var sr0 3 }- + + Ver https://en.wikipedia.org/wiki/Logical_shift + + SR0 - desplazamiento lógico a la derecha + MSB LSB + MSB-1 1 0 + 0 -> x -> x -> .... -> x -> x -> C + + + NOTA: El desplazamiento lógico a la izquierda es equivalente al desplazamiento aritmético SHL a la izquierda. + + +> CAMBIO CIRCULAR: ROL, ROR. {ROL dest :=} {ROR dv :=} + -{ var rol 4 }- -{var ror 4 }- + + Ver https://en.wikipedia.org/wiki/Circular_shift + + ROL - desplazamiento circular (rotación bit a bit) a la izquierda + MSB LSB + MSB-1 1 0 + C <- x <- x <- .... <- x <- x + v ^ + \_________>____________/ + + + ROR - desplazamiento circular (rotación bit a bit) derecha + MSB LSB + MSB-1 1 0 + x -> x -> .... -> x -> x -> C + ^ v + \_________<____________/ + + SHL, SHR, SR0, ROL, ROR: + Cuando la entrada a esta instrucción es verdadera, establece el valor dado +     variable de destino igual a la expresión dada. Los operandos +     pueden ser variables (incluidas las variables de temporizador y contador) +     o constantes Recuerde que el resultado se evalúa en cada ciclo. +     cuando la condición de entrada es verdadera. + + +> OPERACIONES CON UN BIT { var} { var} + -{SET Bit bit}- -{CLR Bit bit}- + + -{SET Bit var, bit}- En la variable 'var' establece el número de bit 'bit'. + -{CLR Bit var, bit}- En la variable 'var', borre el número de bit 'bit'. + + 'Bit' significa número de bit, no máscara de bit. Por ejemplo, +     configurar el bit número 4 en la variable 'var' + v + Bit número: 76543210 + 'var' : xxx1xxxx + ^ + debe escribir ^ + { var} { var} + -{SET Bit 4}- not -{SET Bit 0x10}- + + y es equivalente a + {OR var :=} + -{ var | 0x10}- + + + Para borrar el bit número 4 en la variable 'var' +     debes escribir + { var} { var} + -{CLR Bit 4}- not -{CLR Bit 0x10}- + + y es equivalente a + {AND var :=} + -{ var & 0xEF}- + + var debe ser una variable, no un valor literal. +     El tamaño de var debe ser de 1 a 4 bytes. +     El bit puede ser un número literal o una variable. +     el bit puede tener un valor de 0-7 si tamaño de (var) == 1 byte, +                            0-15 si tamaño (var) == 2 bytes, +                            0-23 si tamaño (var) == 3 bytes, +                            0-31 si tamaño (var) == 4 bytes. + + Aprenda a usar SetBit (), ClearBit () para deshabilitar resistencias pull up + vea https://github.com/LDmicro/LDmicro/wiki/Disable-Pull-up-resistors + + +> COMPARAR [var ==] [var >] [1 >=] + -[ var2 ]- -[ 1 ]- -[ Ton]- + +> [var !=] [-4 < ] [1 <=] + -[ var2 ]- -[ vartwo]- -[ Cup]- + + Si la entrada a esta instrucción es falsa, la salida es falsa. Si +     la entrada es verdadera, entonces la salida es verdadera si y solo si +     La condición es verdadera. Esta instrucción se puede usar para comparar (igual, +     es mayor que, es mayor o igual que, no es igual, +     es menor que, es menor o igual que) una variable a una variable, +     o para comparar una variable con una constante con signo de 16 bits. + + +> ESTADO DE PRUEBA DE UN BIT [ var] [ var] + -[if Bit SET bit]- -[if Bit CLR bit]- + + Si la entrada a esta instrucción es falsa, la salida es falsa. Si +     la entrada es verdadera, entonces la salida es verdadera si y solo si +     La condición es verdadera. Esta instrucción se puede usar solo para verificar el estado +     un bit de la variable +     'Bit' significa número de bit, no máscara de bit. Vea arriba la operación del bit SET. + + La operación - {si Bit SET var, 0} - es una condición equivalente 'Si var es impar'. +    La operación - {si Bit CLR var, 0} - es una condición equivalente 'Si var es par'. + + var debe ser una variable, no un valor literal. +     El tamaño de var debe ser de 1 a 4 bytes. +     El bit puede ser un número literal o una variable. +     el bit puede tener un valor de 0-7 si tamaño de (var) == 1 byte, +                            0-15 si tamaño de(var) == 2 bytes, +                            0-23 si tamaño de(var) == 3 bytes, +                            0-31 si tamaño de(var) == 4 bytes. + + +> CONTADOR Cname Cname + --[CTU >= 5]-- --[CTD > -5]-- + + Un contador aumenta (CTU, cuenta atrás) o disminuye (CTD, cuenta +     abajo) el recuento asociado en cada borde ascendente de la entrada de renglón +     condición (es decir, la condición de entrada del renglón va de falso a +     cierto). La condición de salida del contador es verdadera si el contador +     variable CTU> = 5 (CTD> -5), y falso en caso contrario. los +     la condición de salida del renglón puede ser verdadera incluso si la condición de entrada es +     falso; solo depende de la variable del contador. Puedes tener CTU +     y las instrucciones CTD con el mismo nombre, para incrementar y +     disminuir el mismo contador. La instrucción RES puede restablecer un contador, +     o puede realizar operaciones de variables generales en la variable de conteo. + + +> CONTADOR CIRCULAR Cname Cname + --{CTC 0:7}-- --{CTR 7:0}-- + + Un contador circular funciona como un contador CTU normal, excepto que +     después de alcanzar su límite superior, restablece su variable de contador +     volver a 0. Por ejemplo, el contador que se muestra arriba contaría 0, 1, +     2, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, ... Esto es útil en +     combinación con declaraciones condicionales en la variable 'Cname'; +     puedes usar esto como un secuenciador. Contadores CTC reloj en aumento +     borde de la condición de condición de entrada de renglón. +     Obsoleto: esta instrucción debe ser la instrucción más correcta en su peldaño. + + CTR es contador circular reversible. igual CTC pero con decremento +     contando por dentro. Por ejemplo, el contador que se muestra arriba contaría +     7, 6, 5, 4, 3, 2, 1, 0, 7, 6, 5, 4, 3, 2, 1, 0, 7, ... + + Se agregó el valor 'Inicio' en los contadores CTU, CTD, CTC, CTR. +     La CTU, el contador CTC comienzan desde 'Inicio' y cuentan hasta el valor 'Máx.' +     CTC genera impulso de sobrellenado (carry) cuando Counter == Max. +     Para el trabajo adecuado, el valor 'Inicio' debe ser menor que el valor 'Máx.' + + El contador CTD, CTR comienza desde 'Inicio' y cuenta atrás hasta el valor 'Min'. +     El CTR genera un impulso de sobrellenado (préstamo) cuando el Contador == Min. +     Para el trabajo adecuado, el valor 'Inicio' debe ser mayor que el valor 'Mínimo'. + + || Rnew Tnew Rnew || + ||----] [----[TON 1 s]----------------------------------(/)------|| + || || + || || + || Rnew Css Cmm Chh Cdays || + ||----] [----[CTC 0:59]---[CTC 0:59]---[CTC 0:23]---[CTC 0:364]--|| + || || + + Actualizado en la versión 4.4.1.0 +     Tipo de entradas de elementos de escalera + https://github.com/LDmicro/LDmicro/wiki/Kind-of-inputs-of-ladder-elements + + || || + || X1 CTU1:0 Y1 || + ||--] [---+---/[CTU>=10]----( )--|| '/' Entrada dinámica activa en 0 a 1 +   || | || transición para la lógica positiva. + || | CTU2:0 Y2 || + || +---\[CTU>=10]----( )--|| '\' Entrada dinámica activa en 1 a 0 + || | || transición para la lógica positiva. + || | CTU3:0 Y3 || + || +----[CTU>=10]----( )--|| '-' Entrada lógica estática directa. + || | || Activo en el exterior 1. + || | CTU4:0 Y4 || + || +---o[CTU>=10]----( )--|| 'o' Entrada lógica estática inversa. + || || Negación lógica en la entrada. + || || Externo 0 produce interno 1. + + Nota: Los contadores de versiones anteriores tienen la entrada dinámica "/". +     Estos dos peldaños son equivalentes en la nueva versión. + || || + || X1 C1 || + ||-------] [----------/[CTC 0:9]--- || + || || + || || + || X1 _ _ C2 || + ||-------] [---------[_/ OSR_/ \_]------[CTC 0:9]---|| + || || + + '-/' es una entrada positiva activada por flanco (flanco ascendente). + '-\' es una entrada de activación por flanco negativo (flanco descendente). + '--' es entrada estática activa de alto nivel. + '--' es entrada estática, activa a un nivel alto. + '-o' es entrada estática, activa a un nivel bajo. + + +> REGISTRO DE DESPLAZAMIENTO {SHIFT REG } + -{ reg0..3 }- + + Un registro de desplazamiento está asociado con un conjunto de variables. Por ejemplo, +     este registro de desplazamiento está asociado con las variables `reg0 ',` reg1', +     `reg2 'y` reg3'. La entrada al registro de desplazamiento es 'reg0'. En +     cada borde ascendente de la condición de renglón, el registro de desplazamiento +     Desplazar a la derecha. Eso significa que asigna `reg3: = reg2 ',` reg2: = +     reg1 '. y `reg1: = reg0 '. `reg0 'no se modifica. Un gran turno +     registrarse puede consumir fácilmente mucha memoria. Esta instrucción debe +     ser la instrucción más correcta en su peldaño. + +> TABLA DE BÚSQUEDA {dest := } + -{ LUT[i] }- + + Una tabla de búsqueda es un conjunto ordenado de n valores. Cuando el peldaño +     condición es verdadera, la variable entera 'dest' se establece igual a la +     entrada en la tabla de búsqueda correspondiente a la variable entera +     'i'. El índice comienza desde cero, por lo que 'i' debe estar entre 0 y +     (n-1) El comportamiento de esta instrucción no se define si el +     El índice está fuera de este rango. Esta instrucción debe ser la más a la derecha +     en su peldaño. + + Ver https://github.com/LDmicro/LDmicro/wiki/HOW-TO:-Look-Up-Table,-UART-SEND + + +> TABLA LINEAL POR TRAMOS {yvar := } + -{ PWL[xvar] }- + + Esta es una buena manera de aproximar una función complicada o +     curva. Podría, por ejemplo, ser útil si está intentando aplicar +     una curva de calibración para convertir un voltaje de salida sin procesar de un sensor +     en unidades más convenientes. + + Suponga que está intentando aproximar una función que convierte +     una variable de entrada entera, x, a una variable de salida entera, y. Tú +     Conocer la función en varios puntos; por ejemplo, podrías saber que + + f(0) = 2 + f(5) = 10 + f(10) = 50 + f(100) = 100 + + Esto significa que los puntos + + (x0, y0) = ( 0, 2) + (x1, y1) = ( 5, 10) + (x2, y2) = ( 10, 50) + (x3, y3) = (100, 100) + + Acuéstate en esa curva. Puedes ingresar esos 4 puntos en una tabla +     asociado con la instrucción lineal por partes. El lineal por partes +     la instrucción analizará el valor de xvar y establecerá el valor de +     Yvar. Establecerá yvar de tal manera que la curva lineal por partes +     pasará por todos los puntos que le des; por ejemplo, +     si configura xvar = 10, entonces la instrucción establecerá yvar = 50. + + Si le da a la instrucción un valor de xvar que se encuentra entre dos +     de los valores de x para los que le ha dado puntos, entonces el +     la instrucción establecerá yvar para que (xvar, yvar) quede en la recta +     línea que conecta esos dos puntos en la tabla. Por ejemplo, xvar = +     55 da una salida de yvar = 75. (Los dos puntos en la tabla son +     (10, 50) y (100, 100). 55 está a medio camino entre 10 y 100, y 75 +     está a medio camino entre 50 y 100, entonces (55, 75) se encuentra en la línea que +     conecta esos dos puntos). + + Los puntos deben especificarse en orden ascendente por coordenada x. Eso +     puede no ser posible realizar operaciones matemáticas requeridas para +     ciertas tablas de búsqueda que usan matemática entera de 16 bits; si este es el +     caso, entonces LDmicro te avisará. Por ejemplo, esta tabla de consulta +     producirá un error: + + (x0, y0) = ( 0, 0) + (x1, y1) = (300, 300) + + Puede corregir estos errores haciendo la distancia entre puntos en +     La mesa más pequeña. Por ejemplo, esta tabla es equivalente a la tabla +     dado anteriormente, y no produce un error: + + (x0, y0) = ( 0, 0) + (x1, y1) = (150, 150) + (x2, y2) = (300, 300) + + Casi nunca debería ser necesario usar más de cinco o seis +     puntos. Agregar más puntos hace que su código sea más grande y más lento +     ejecutar. El comportamiento si pasa un valor de 'xvar' mayor que +     la coordenada x más grande en la tabla o menos que la x más pequeña +     La coordenada en la tabla no está definida. Esta instrucción debe ser la +     instrucción más correcta en su peldaño. + + +> CONVERTIDOR A/D LEER Aname + --{READ ADC}-- + + LDmicro puede generar código para usar los convertidores A / D integrados en +     ciertos microcontroladores. Si la condición de entrada a esta instrucción +     es cierto, se adquiere una sola muestra del convertidor A / D y +     almacenado en la variable 'Aname'. Esta variable puede ser posteriormente +     manipulado con operaciones variables generales (menor que, mayor que, +     aritmética, y así sucesivamente). Asigne un pin a la variable 'Axxx' en el +     de la misma manera que asignarías un pin a una entrada o salida digital, +     haciendo doble clic en la lista en la parte inferior de la pantalla. Si +     la condición de entrada a este renglón es falsa, entonces la variable 'Aname' +     se deja sin cambios. + + Para todos los dispositivos compatibles actualmente, la entrada de 0 voltios corresponde a +     una lectura de ADC de 0 y una entrada igual a Vdd (la tensión de alimentación) +     corresponde a una lectura de ADC de 1023. Si está utilizando un AVR, entonces +     conecta AREF a Vdd. Puede usar operaciones aritméticas para escalar el +     leer a las unidades más convenientes después, pero recuerde que usted +     están usando matemáticas enteras. En general, no todos los pines estarán disponibles +     para usar con el convertidor A/D. El software no te permitirá +     asignar pines que no sean A/D a una entrada analógica. Esta instrucción debe ser +     la instrucción más a la derecha en su peldaño. + + Actualizado: Referencia de voltaje ADC. +     El voltaje de referencia para el ADC (Vref) indica la conversión +     gama para el ADC. Los canales de un solo extremo que excedan Vref resultarán +     en códigos cercanos a 0x3FF (1023). Vref se puede seleccionar como AVCC, +     referencia interna de 2.56V, referencia interna de 1.1V o pin externo Aref. +     El parámetro REFS = 0 es compatible con versiones anteriores de LDmicro. + + Ver https://github.com/LDmicro/LDmicro/wiki/ADC-Voltage-Reference + https://github.com/LDmicro/LDmicro/wiki/How-to-measure-battery-voltage + https://github.com/LDmicro/LDmicro/wiki/How-to-measure-voltage-(PIC) + + +> CONFIGURAR EL CICLO DE TRABAJO PWM duty_cycle 3.8 kHz + -{PWM PWM1}- + + LDmicro puede generar código para usar el periférico PWM integrado en +     ciertos microcontroladores. Si la condición de entrada a esta instrucción +     es cierto, entonces el ciclo de trabajo del periférico PWM se establece en +     valor de la variable duty_cycle. +     Actualizado: LDmicro v4.3.5 permite seleccionar una resolución PWM más alta: +       0-100% (resolución máxima de 6,7 bits) +       0-256 (resolución máxima 8 bits) +       0-512 (resolución máxima 9 bits) +       0-1024 (resolución máxima 10 bits) +     El ciclo de trabajo debe ser un número entre 0 y 100/256/512/1024; +     0 corresponde a siempre bajo, y 100/256/512/1024 corresponde a +     siempre alto. (Si está familiarizado con el funcionamiento del periférico PWM, +     luego observe que eso significa que LDmicro escala automáticamente +     ciclo de trabajo variable desde porcentaje (o valor binario) hasta períodos de reloj PWM). + + Puede especificar la frecuencia PWM objetivo, en Hz. La frecuencia que +     que especifique podría no ser exactamente posible, dependiendo de cómo +     se divide en la frecuencia de reloj del microcontrolador. LDmicro will +     elija la frecuencia alcanzable más cercana; si el error es grande entonces +     Te lo advertirá. Las velocidades más rápidas (frecuencia PWM) pueden sacrificar la resolución. + + Esta instrucción debe ser la instrucción más a la derecha en su peldaño. +     El tiempo de ejecución de la lógica de escalera consume un temporizador para medir el ciclo +     hora. Eso significa que PWM solo está disponible en microcontroladores +     con al menos dos temporizadores adecuados. PWM usa el pin CCP2 (no CCP1) +     en chips PIC16 y OC1B (no OC1A) en AVR. + + Actualizado: LDmicro v4.x.x permite todo el hardware PWM. + Ver https://github.com/LDmicro/LDmicro/wiki/LDmicro-PWM + + Puede establecer otra frecuencia base de PWM solo después de activar RESET PWM. +     Ver RESET PWM arriba. + + +> HACER PERSISTENTE saved_var + --{PERSIST}-- + + Cuando la condición de entrada de esta instrucción es verdadera, causa la +     La variable entera especificada se guardará automáticamente en EEPROM. Ese +     significa que su valor persistirá, incluso cuando el micro pierde +     poder. No hay necesidad de guardar explícitamente la variable en EEPROM; +     eso sucederá automáticamente, siempre que cambie la variable. +     La variable se carga automáticamente desde EEPROM después del reinicio de encendido. Si +     una variable que cambia con frecuencia se hace persistente, luego en +     La EEPROM en su micro puede desgastarse muy rápidamente, porque eso no es +     bueno para un número limitado (~ 100 000) de escrituras. Cuando el peldaño +     la condición es falsa, no pasa nada. Esta instrucción debe ser la +     instrucción más a la derecha en su peldaño. + + Ver https://github.com/LDmicro/LDmicro/wiki/MAKE-PERSISTENT-operation + + +> UART (SERIE) RECIBIR var + --{UART RECV}-- + + LDmicro puede generar código para usar el UART integrado en ciertos +     microcontroladores. En AVR con múltiples UART solo UART1 (no +     UART0) es compatible. Configure la velocidad en baudios usando Configuración -> MCU +     Parámetros Ciertas velocidades de transmisión pueden no ser alcanzables con ciertas +     frecuencias de cristal; LDmicro te avisará si este es el caso. + + Si la condición de entrada a esta instrucción es falsa, entonces nada +     sucede Si la condición de entrada es verdadera, esta instrucción intenta +     recibir un solo caracter de la UART. Si no se lee ningún caracter +     entonces la condición de salida es falsa. Si se lee un personaje, entonces su +     El valor ASCII se almacena en `var ', y la condición de salida es verdadera +     para un solo ciclo de PLC. + + +> UART (SERIE) ENVÍO var + --{UART SEND}-- + + LDmicro puede generar código para usar los UART integrados en ciertos +     microcontroladores. En AVRS con múltiples UART solo UART1 (no +     UART0) es compatible. Configure la velocidad en baudios usando Configuración -> MCU +     Parámetros Ciertas velocidades de transmisión pueden no ser alcanzables con ciertas +     frecuencias de cristal; LDmicro te avisará si este es el caso. + + Si la condición de entrada a esta instrucción es falsa, entonces nada +     sucede Si la condición de entrada es verdadera, entonces esta instrucción escribe +     un solo caracter para el UART. El valor ASCII del personaje a +     send debe haberse almacenado previamente en 'var'. La condición de salida +     del peldaño es verdadero si el UART está ocupado (actualmente transmitiendo un +     carácter), y falso de lo contrario. + + Recuerda que los caracteres tardan un poco en transmitirse. Hay varios +     formas de organizar la transmisión: + 1) Use el tiempo de ciclo del PLC, que es conscientemente mayor que el tiempo de transmisión UART. + || || + || ; El tiempo de ciclo del PLC es de 10 ms. || + || ; La velocidad de transmisión UART es de 9600 bps. || + || || + || ; En este caso, hay una reserva de tiempo diez veces mayor. || + || ; La secuencia de caracteres se transmitirá sin pérdida. || + || || + || ; 1 2 3 4 5 6 7 8 9 10 11 12 ... || + || || + || {ADD char:=} || + ||----------------------------------------------{char + 1}-|| + || || + || char || + ||---{UART SEND}--- || + || || + + 2) Use temporizadores para insertar retrasos entre caracteres. El retraso del temporizador debe ser +     más largo que el tiempo de transmisión UART. + || || + || ; El tiempo de ciclo del PLC es de 1 ms. || + || ; La velocidad de transmisión UART es de 9600 bps. || + || || + || ; En este caso, hay una reserva de cinco veces. || + || ; La secuencia de caracteres se transmitirá sin pérdida. || + || || + || ; char1 char2 char3 char1 char2 char3 char1 char2 char3 ... || + || ; 1 5 10 2 10 20 3 15 30 ... || + || || + || T0 Rstart || + ||---[TCY 15 ms]--------------------------------------------( )-------|| + || || + || || + || Rstart T1 _ _ {ADD char1:=} || + ||-------] [----------[RTO 5 ms]------[_/ OSR_/ \_]-+{char1 + 1}-|| + || | || + || | char1 || + || +---{UART SEND}---|| + || || + || || + || Rstart T2 _ _ {ADD char2:=} || + ||-------] [----------[RTO 10 ms]-----[_/ OSR_/ \_]-+{char2 + 5}-|| + || | || + || | char2 || + || +---{UART SEND}---|| + || || + || || + || Rstart T3 _ _ {ADD char3:=} || + ||-------] [----------[RTO 15 ms]-----[_/ OSR_/ \_]-+{char3 + 10}-|| + || | || + || | char3 || + || +---{UART SEND}---|| + || | || + || | T1 || + || +------{RES}------|| + || | || + || | T2 || + || +------{RES}------|| + || | || + || | T3 || + || +------{RES}------|| + || || + + 3) Verifique la condición de salida de esta instrucción para asegurarse de que +     el carácter anterior se ha transmitido antes de intentar enviar un siguiente +     Caracter. Solo debe hacer que la condición de entrada sea verdadera (intente enviar +     un carácter) cuando la condición de salida es falsa (UART no está ocupado). + || || + || ; El tiempo de ciclo del PLC y la velocidad de || + || ; transmisión UART son independientesy puede ser diferente || + || || + || ; 1 2 3 4 5 6 7 8 9 10 11 12 ... || + || || + || Rbusy {ADD DATA:=} || + ||-------]/[------+--[_/ OSR_/ \_]-----------{DATA + 1}-|| + || | || + || | DATA Rbusy || + || +---{UART SEND}-------------------( )-------|| + || || + + + || || + || ; DATA1 DATA2 DATA1 DATA2 DATA1 DATA2 ... || + || ; 1 10 2 20 3 30 ... || + || || + || Rbusy DATA1 _ _ DATA2 Rbusy || + ||----]/[--+---{UART SEND}---[ \_OSF_/ \_]--{UART SEND}--------( )-------|| + || | || + || | _ _ {ADD DATA1:=} || + || +--[_/ OSR_/ \_]-+---------------------------{DATA1 + 1}-|| + || | || + || | {ADD DATA2:=} || + || +---------------------------{DATA2 + 10}-|| + || || + + 4) Use el mensaje 'UART SEND: ¿está listo?' instrucción antes de UART ENVIAR a los cheque +     El estado UART. + || || + || ; 0 1 2 3 4 5 6 7 8 9 10 11 12 ... || + || || + || Is ready? DATA || + ||---[UART SEND]--+---{UART SEND}---------------------|| + || | || + || | {ADD DATA:=} || + || +------------------{DATA + 1}-|| + || || + Ver: UART communication FAQ + https://github.com/LDmicro/LDmicro/wiki/UART-communication-FAQ + + Actualizado: las instrucciones UART RECEIVE, UART SEND pueden recibir / enviar más +     que las variables de longitud de un byte. Parámetro "Número de bytes a transmitir:" +     debe ser menor o igual al tamaño de la variable utilizada. El valor de 1 byte es +     compatible con la versión anterior de LDmicro. +     El parámetro "Esperar hasta que se transmitan todos los bytes:" controla el algoritmo +     de la transmisión: si 1 - todos los bytes se transmiten en un paquete, +     si 0: un byte por ciclo de PLC. Cuando todos los bytes se han transmitido, +     la condición de salida es "verdadera" durante un ciclo de PLC. El valor 0 es +     compatible con la versión anterior de LDmicro. +     Consulte: Preguntas frecuentes sobre comunicación UART, parte 2 + https://github.com/LDmicro/LDmicro/wiki/UART-communication-FAQ-part-2 + + Investigue la instrucción de cadena formateada (siguiente) antes de usar esto +     instrucción. La instrucción de cadena formateada es mucho más fácil de usar, +     y es casi seguro que es capaz de hacer lo que quieras. + + Vea https://github.com/LDmicro/LDmicro/wiki/HOW-TO:-Look-Up-Table,-UART-SEND + + +> ENVÍO UART (SERIE) var + --{UART SENDn}-- + + Si la condición de entrada a esta instrucción es falsa, entonces nada +     sucede Si la condición de entrada es verdadera, entonces esta instrucción escribe +     una variable a la UART en formato binario sin formato. Un byte envía por ciclo +     de PLC, como el elemento 'FORMATO STR OVER UART'. La condición de salida +     del peldaño es verdadero si el UART está ocupado (actualmente transmitiendo un +     variable), y falso de lo contrario. + + +> ENVÍO UART: está listo ? Is ready? + --[UART SEND]-- + + Si la condición de entrada a esta instrucción es falsa, entonces nada +     sucede Si la condición de entrada es verdadera, entonces la salida es verdadera +     cuando el búfer de transmisión está vacío y listo para cargar nuevos datos, +     y falso de lo contrario. + + +> UART RECV: está disponible? Is avail? + --[UART RECV]-- + + Si la condición de entrada a esta instrucción es falsa, entonces nada +     sucede Si la condición de entrada es verdadera, la salida es verdadera cuando +     hay datos no leídos en el búfer de recepción y falsos de lo contrario. + + +> CADENA FORMATEADA SOBRE UART var + -{"Pressure: \3\r\n"}- + + LDmicro puede generar código para usar los UART integrados en ciertos +     microcontroladores. En AVRS con múltiples UART solo UART1 (no +     UART0) es compatible. Configure la velocidad en baudios usando Configuración -> MCU +     Parámetros Ciertas velocidades de transmisión pueden no ser alcanzables con ciertas +     frecuencias de cristal; LDmicro te avisará si este es el caso. + + Cuando la condición de entrada para esta instrucción pasa de falso a +     Es cierto, comienza a enviar una cadena completa a través del puerto serie. Si +     la cadena contiene la secuencia especial `\ 3 ', entonces esa secuencia +     será reemplazado con el valor de 'var', que es automáticamente +     convertido en una cadena. La variable se formateará para tomar +     exactamente 3 caracteres; por ejemplo, si 'var' es igual a 35, entonces +     la cadena exacta impresa será 'Presión: 35 \ r \ n' (tenga en cuenta el extra +     espacio). Si, en cambio, 'var' fuera igual a 1432, entonces el comportamiento sería +     ser indefinido, porque 1432 tiene más de tres dígitos. En ese caso +     sería necesario usar `\ 4 'en su lugar. + + Si la variable puede ser negativa, use `\ -3d '(o` \ -4d' +     etc.) en su lugar. Eso hará que LDmicro imprima un espacio líder para +     números positivos y un signo menos inicial para números negativos. + + Si se activan varias instrucciones de cadena formateadas a la vez +     (o si uno se energiza antes de que otro complete), o si estos +     las instrucciones se entremezclan con las instrucciones UART TX, luego el +     El comportamiento es indefinido. + + También es posible usar esta instrucción para generar una cadena fija, +     sin interpolar el valor de una variable entera en el texto que +     se envía por serie. En ese caso, simplemente no incluya el especial +     secuencia de escape. + + La condición de salida de esta instrucción es verdadera mientras es +     transmisión de datos, de lo contrario falso. Esta instrucción consume un muy +     gran cantidad de memoria de programa, por lo que debe usarse con moderación. los +     La implementación actual no es eficiente, pero una mejor será +     requieren modificaciones a todos los back-end. + + Use `\\'para una barra invertida literal. Además de la secuencia de escape +     para interpolar una variable entera, el siguiente control +     los caracteres están disponibles: + + Escape Hex Carácter + Secuencia Valor Representado + + \a 0x07 BEL, alerta (pitido, campana) + \b 0x08 BS, Retroceso (Escape) + \e 0x1B carácter de escape + \f 0x0C FF, Formfeed + \n 0x0A NL,Nueva línea (avance de línea) + \r 0x0D CR, Retorno de carro + \t 0x09 HT, TAB, Pestaña horizontal + \v 0x0B VT, Pestaña vertical + \' 0x27 Comillas simples + \" 0x22 Comillas dobles + \? 0x3F Signo de interrogación + \\ 0x5C Barra invertida + \xhh any El byte cuyo valor numérico viene dado por + hh: interpretado como un número hexadecimal + del rango 0x00..0xFF (hex), 0..255 (dec) + por ejemplo +          \xAB es un carácter con valor ASCII 0xAB (hexadecimal) + + Vea https://en.m.wikipedia.org/wiki/Escape_sequences_in_C + + ------------------------------ Códigos de control ASCII ------------------------------------- + |Dec Hex Ctl Nombre Significado del control |Dec Hex Ctl Nombre Significado de Control + |--- --- --- ---- --------------------------- |--- --- --- ---- ------------------------------- + | 0 00 ^@ NUL nulo (cadena final) | 16 10 ^P DLE escape de línea de datos + | 1 01 ^A SOH inicio de encabezamiento | 17 11 ^Q DC1 dev ctrl 1 (X-ON) + | 2 02 ^B STX inicio de texto | 18 12 ^R DC2 Ctrl 2 del dispositivo + | 3 03 ^C ETX fin del texto | 19 13 ^S DC3 dev ctrl 3 (X-OFF) + | 4 04 ^D EOT fin de la transmisión | 20 14 ^T DC4 Ctrl 4 del dispositivo + | 5 05 ^E ENQ petición | 21 15 ^U NAK reconocimiento negativo + | 6 06 ^F ACK reconocer | 22 16 ^V SYN inactivo síncrono + | 7 07 ^G BEL campana \a | 23 17 ^W ETB bloque de transmisión final + | 8 08 ^H BS retroceso \b | 24 18 ^X CAN cancelar + | 9 09 ^I HT Pestaña horizontal TAB \t | 25 19 ^Y EM fin del medio + | 10 0a ^J LF linea de alimentación \n | 26 1a ^Z SUB sustituir + | 11 0b ^K VT pestaña vertical \v | 27 1b ^[ ESC escape (Salir) + | 12 0c ^L FF alimentación de formulario \ | 28 1c ^\ FS separador de archivos + | 13 0d ^M CR retorno de carro \r | 29 1d ^] GS separador de grupo + | 14 0e ^N SO desplazar fuera | 30 1e ^^ RS separador de registros + | 15 0f ^O SI desplazar dentro | 31 1f ^_ US separador de unidad + + +> SPI ENVIAR / RECIBIR {SPI SPI} + -{->recv send->}- + + Las funciones SPI solo están disponibles en el modo 'C', es decir, mediante la compilación de C, +     solo para ARM de 32 bits y AVR de tipo AtMega. Solo se puede usar un SPI +     en una misma escalera, llamada SPI, o SPI1, SPI2, SPI3 cuando hay varios +     disponible en el micro. SPI funciona solo en modo maestro, 8 bits de datos, con +     MSB primero, y su frecuencia se establece en el panel de configuración del micro +     en ldmicro. El pin SS se maneja para AVR pero no para ARM. Uno puede usar externo +     pines para activar / desactivar los esclavos en el bus SPI, y / o pin SS. +     En un SPI, el envío y la recepción son simultáneos, es por eso que ambas operaciones +     se combinan en una sola función. + + +> SPI ESCRIBIR {SPI_WR SPI} + -{ "Message"->}- + + La función Escribir SPI envía una cadena a través de SPI, sin importar los datos entrantes. +     La cadena puede contener caracteres especiales introducidos por \\. No abuses de esto +     función, porque SPI puede ralentizar el programa y generar tiempos de ciclo +     problemas! + + NÓTESE BIEN: + Las funciones SPI utilizan bibliotecas C externas (suministradas) que deben compilarse +     con el programa C principal generado por ldmicro al compilar a través de menús ldmicro +     o , seguido de un +     comando para construir el ejecutable .hex y, si está bien configurado, cargarlo +     ejecutable en el objetivo AVR o ARM. + + +> I2C LEER {I2C_RD I2C} + -{->recv 0x20 0}- + + Las funciones I2C solo están disponibles en el modo 'C', es decir, mediante la compilación de C, +     solo para ARM de 32 bits y AVR de tipo AtMega. Solo se puede usar un bus I2C +     en una misma escalera, llamada I2C, o I2C1, I2C2, I2C3 cuando hay varios +     disponible en el micro. I2C funciona solo en modo maestro y puede acceder a cualquier +     registrarse (basado en 0) en cualquier dirección (1-127) en el bus I2C. +     La frecuencia I2C se configura en el panel de configuración del micro. +     La función I2C READ lee un byte en un registro en el esclavo en la dirección dada. + + +> I2C ESCRIBIR {I2C_WR I2C} + -{0x20 0 send->}- + + La función I2C WRITE escribe un byte en un registro en el esclavo en la dirección dada. + + NÓTESE BIEN: + Las funciones I2C utilizan bibliotecas C externas (suministradas) que deben compilarse +     con el programa C principal generado por ldmicro al compilar a través de menús ldmicro +     o , seguido de un +     comando para construir el ejecutable .hex y, si está bien configurado, cargarlo +     ejecutable en el objetivo AVR o ARM. + + +> CADENA FORMATEADA dest + -{"string", var}- + + Para objetivos como Netzer con implementaciones de printf ya presentes +     Esta instrucción puede ser utilizada. + + Cuando la condición de entrada para esta instrucción pasa de falso a +     Es cierto, comienza a procesar la cadena con printf y escribe el resultado +     al registro de destino dado. + + Incrusta completamente la cadena dada en la imagen resultante. + + La variable dada puede ser cualquier registro del programa. Es +     utilizado como marcador de posición para imprimirf. La función printf accede +     el registro si se encuentra algún marcador de posición de estilo printf (es decir,% d). + + Dest es un registro donde se escribe el resultado. Esto debería +     ser la entrada superior de una memoria intermedia o circular. + + La condición de llamada de esta instrucción es siempre cierta. + + +> CLRWDT + --{CLRWDT}-- + + Cuando la condición de entrada de esta instrucción es verdadera, causa la +     borrar el temporizador WDT. LDmicro ejecuta el comando CLRWDT en cada ciclo del PLC +     automáticamente (al comienzo del ciclo), por lo que necesita CLRWDT adicional +     si el período de ciclo del PLC es mayor que el período WDT si WDT está habilitado +     Esta instrucción debe ser la instrucción más a la derecha en su peldaño. + + +> LOCK (BLOQUEAR) + --{LOCK}-- + + Cuando la condición de entrada de esta instrucción es verdadera, causa la +     Comando LOCK. Es un artificial +     situación para provocar el reinicio de WDT (si WDT está habilitado). Comando LOCK +     diseñado como bucle infinito. Es punto muerto, forma de congelar, bloquear el +     programa. +     El comando LOCK ejecuta goto a la dirección actual, es decir +     labelN: goto labelN (label02: rjmp label02), es decir, bucle infinito. +     El comando LOCK ejecuta el bucle infinito, pero WDT puede restablecer la MCU. +     Solo WDT o reinicio externo pueden descongelar el programa después del comando LOCK. + + +> SLEEP (DORMIR) + --{SLEEP}-- + + Cuando la condición de entrada de esta instrucción es verdadera, +     se configura el modo SLEEP (apagado). Se utiliza para ahorrar energía. +     en suministro de batería. +     PIC: Despertar desde el sueño debido a una interrupción externa en el borde ascendente del pin RB0 / INT. +     PIC10xxxx: Despertar desde el modo de suspensión en el cambio de pin GP0, GP1, GP3. +     AVR: Despertar desde el sueño debido a una interrupción externa en el borde ascendente de los pines PD2 / INT0, PD3 / INT1. +     La operación SLEEP no afecta los pines MCU IO y otras operaciones LDmicro. +     Nota: SLEEP alarga el tiempo del ciclo del PLC y los temporizadores TON, TOF, RTO, CTY. +     Esto puede frustrar los planes, romper el flujo de trabajo. +     Esta instrucción debe ser la instrucción más correcta en su peldaño. + + +>LABEL, GOTO, SUBPROG, RETURN, ENDSUB, GOSUB + + LABEL y GOTO instrucciónes + https://github.com/LDmicro/LDmicro/wiki/GOTO-instruction + + SUBPROG, RETURN, ENDSUB and GOSUB, LABEL y GOTO instrucciónes. Part 2 + https://github.com/LDmicro/LDmicro/wiki/SUBPROG,-RETURN,-ENDSUB-and-GOSUB,-LABEL-and-GOTO-instruction.-Part-2 + + SUBPROG, RETURN, ENDSUB and GOSUB, LABEL y GOTO instrucciónes. Part 3 + https://github.com/LDmicro/LDmicro/wiki/SUBPROG,-RETURN,-ENDSUB-and-GOSUB,-LABEL-and-GOTO-instruction.-Part-3 + + +> RAND Rand + --{ RAND }-- + + El generador de números pseudoaleatorios devuelve el número en el rango completo +     de la variable 'Rand'. +     Cuando la entrada a esta instrucción es verdadera, establece el valor dado +     variable de destino 'Rand' con el siguiente número pseudoaleatorio calculado +     por un generador lineal congruencial (LCG). Cuando la entrada a esto +     la instrucción es falsa no pasa nada. +     Ver https://en.m.wikipedia.org/wiki/Linear_congruential_generator +     El generador está definido por la relación de recurrencia: +     X [n + 1] = (a * X [n] + c) mod m +     Constantes usadas de MTH $ RANDOM del VMS, versiones antiguas de glibc +     a = 69069 (0x10DCD) +     c = 1 +     m = 2 ^ 32 +     X = (X * 0x10DCD + 1)% 0x100000000 +     RAND devuelve los bytes más significativos de X. +     X almacenado como $ seed_Rand variable de 32 bits. + + +> SRAND {SRAND Rand} + --{$seed:=newSeed}-- + + El generador de números pseudoaleatorios se inicializa utilizando el argumento +     pasado como nueva semilla. $ seed_Rand: = newSeed. +     Cuando la entrada a esta instrucción es verdadera, establece el valor dado +     variable de destino $ seed_Rand igual a la variable de origen dada o +     constante. Cuando la entrada a esta instrucción es falsa, nada +     sucede +     Dos inicializaciones diferentes con la misma semilla generarán la misma +     sucesión de resultados en llamadas posteriores a RAND. +     Si la semilla se establece en 1, el generador 'Rand' se reinicializa a su inicial +     valor y produce los mismos valores que antes de cualquier llamada a RAND o SRAND. +     Las fuentes de entropía pueden ser ADC, temporizadores, RAND anteriores guardados en EEPROM, etc. + +     En este ejemplo tenemos dos SEPARAR los generadores de números pseudoaleatorios LCG. +     Pero si newSeed1 es igual a newSeed2, entonces RAnd1 y Rand2 son iguales +     Secuencias de números. + || _ _ {SRAND Rand1} || + 1 ||--[_/ OSR/ \_]---{$seed:=newSeed1}- || + || || + || Rand1 || + 0 ||-----{RAND}------ || + || || + || || + || _ _ {SRAND Rand2} || + 0 ||--[_/ OSR/ \_]---{$seed:=newSeed2}- || + || || + || Rand2 || + 0 ||-----{RAND}------ || + || || + + +> 7-CONVERTIDOR DE SEGMENTOS {7SEG dest:=} + --{C src}-- + + La variable 'dest' obtiene el valor 'abcdefgDP', controla (resalta) +     los segmentos de fuente +     Puede usar la variable de puerto de acceso directo '#PORTx' como la variable 'dest'. +     Se puede conectar a los ánodos (cátodos) del módulo LED de 7 segmentos. +     a través de las resistencias limitantes de corriente. + +     Para encender (resaltar) el segmento LED "a", se requiere un nivel alto +     en el pin "a" y un nivel bajo en el pin común, cuando un módulo con +     Se utiliza la conexión LED de cátodo común. +     Cuando se utiliza un módulo con la conexión de ánodo común, para encender +     el segmento LED "a", el nivel bajo se requiere en el pin "a" y +     Se requiere un alto nivel en el pin común. Utilice el parámetro 'A' en su lugar +     de la 'C' para especificar qué tipo de conexión común se utiliza. + +     Fuente de visualización de 7 segmentos + a + -- + f| |b + | g | + -- + e| |c + | | + -- . + d DP + + SEGMENTOS DP g f e d c b a + 'dest' BIT 7 6 5 4 3 2 1 0 + DP - es un segmento de puntos + + + a --|>|-----+-- Conexión LED de cátodos común + | + b --|>|-----+ + ... | + | + DP --|>|-----+ + + a --|<|-----+-- Conexión LED de ánodos comunes + | + b --|<|-----+ + ... | + | + DP --|<|-----+ + + + La variable 'src' (char) debe estar en el rango de 0..128 y generalmente tiene un tamaño de 1 byte. +     Se implementan 128 caracteres de códigos de tabla ASCII. +     Los primeros 32 caracteres ASCII replased a los dígitos hexadecimales. +     El 129º símbolo es un símbolo de un grado 'o' para usar con un valor de temperatura. +DIRECCION= 0 16(0x10) 31(0x1F) +row+colmn | | | de 0 a 15 - dígitos hexadecimales + 0 0123456789ABCDEF0123456789ABCDEF del 16 al 31 - dígitos hexadecimales con el punto DP + 32(0x20) !"#$%&'()*+,-./0123456789:;<=>? + 64(0x40) @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ + 96(0x60) `abcdefghijklmnopqrstuvwxyz{|}~ +128(0x80) o + ^ + |_ grado char 0xB0 + + ' ' - cpace char 0x20 - en blanco + DEL char 0x7F - en blanco + + Ver pantalla LED de segmento X, ejemplo de fuente + https://github.com/LDmicro/LDmicro/wiki/X-segment-LED-display,-font-example + + +> 9-CONVERTIDOR DE SEGMENTOS {9SEG dest:=} + --{C src}-- + a + ---j + f| / |b + | / | + ---g + e| / |c + | / | + m--- + d DP + + SEGMENTO 0 0 m j DP g f e d c b a + BIT 9 8 7 6 5 4 3 2 1 0 + nibbles ^ ^ ^ ^ + El tamaño de la variable 'dest' debe ser de al menos 2 bytes. + + +> 14-CONVERTIDOR DE SEGMENTOS {14SEG dest:=} + --{C src}-- + a + h --- j + f|\ |i/|b + | \|/ | + g1-- --g2 + e| /|\ |c + |/ |l\| + m --- k + d DP + + SEGMENTO 0 g2 l k i h m j DP g1 f e d c b a + BIT 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + nibbles ^ ^ ^ ^ ^ + El tamaño de la variable 'dest' debe ser de al menos 2 bytes. + + +> 16-CONVERTIDOR DE SEGMENTOS {16SEG dest:=} + --{C src}-- + a1 a2 + h-- --j + f|\ |i/|b + | \|/ | + g1-- --g2 + e| /|\ |c + |/ |l\| + m-- --k + d1 d2 DP + + SEGMENTO 0 0 0 a2 d2 g2 l k i h m j DP g1 f e d1 c b a1 + BIT 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 + nibbles ^ ^ ^ ^ ^ ^ + El tamaño de la variable 'dest' debe ser de al menos 3 bytes. + + +> CONVERTIR BINARIO EN BCD {BIN2BCD dest:=} + --{ src}- + + El 'src' es un valor binario con una longitud de 1,2,3,4 bytes. +     El 'dest' es un valor BCD desempaquetado con 3, 5, 8, 10 bytes de longitud. +     Desempaquetado: cada número está codificado en un byte, con cuatro bits +     representando el número y los bits restantes que no tienen significado. +     El decimal 99 (0x63) se convertirá al valor 0x00 09 09. +     El decimal 100 (0x64) se convertirá al valor 0x01 00 00. +     Ver https://en.wikipedia.org/wiki/Binary-coded_decimal + + +> CODIFICADOR DE CUADRATURA ~~[XqA0 XqB0 YqDir0]- + -\[XqZ0 QUAD ENCOD qCount0]^- + + La instrucción QUADRATURE ENCODER toma dos señales codificadas en cuadratura +     (A y B) de un dispositivo codificador incremental rotativo o lineal. +     Ver https://en.wikipedia.org/wiki/Incremental_encoder + + Nivel + Logico move (mover) -> | <- move (mover) + ^ + | ___ _______ ___________ _______ ___ +Entrada A| |_______| |_______| |________| |_______| + | + | _______ _______ ___ ________ _______ +Entrada B| |_______| |_______| |_______| |_______| + | + | +Contador | 0 | | 1 | | 2 | | 3 | | 4 | | 3 | | 2 | | 1 | | 0 + | + Salida | ___________________________________ disminuir o CCW o hacia atrás + Direcion| aumentar o CW o hacia adelante |________________________________ + | + Salida | + Pulso | _______^_______^_______^_______^_______^_______^_______^_______^____ + | + --+----------------------------------------------------------------> Tiempo + | + '^' - es un impulso de tiempo de ciclo del PLC + Sugerencia: use el pulso de salida para determinar si se cambió el contador, +     No para contar. + + La instrucción QUAD ENCOD puede contener 3 o 2 entradas y 1 o 0 salida. +     Las entradas A y B deben estar ubicadas en el mismo PUERTO MCU. +     Por ejemplo, RBx y RBx, no RAx, RBx. +     La entrada Z es opcional y puede estar vacía. +     La salida Dir es opcional y puede estar vacía. +     La salida Dir puede ser Y (pin) o R (relé interno). + + || || + || R0 ~~[XqA0 XqB0 YqDir0]- R1 || + ||-------] [--------\[XqZ0 QUAD ENCOD qCount0]^---------( )-------|| + || || + + Cuando la condición R0 de entrada de la instrucción QUAD ENCOD es falsa, +     las entradas A, B, Z se ignoran. +     Cuando la condición R0 de entrada de la instrucción QUAD ENCOD es verdadera, +     los pulsos en las entradas A, B, Z se decodifican en el valor del contador, +     la señal de salida Dir es alta, cuando el contador aumenta y +     un nivel bajo cuando se disminuye el contador, se produce un pulso de salida R1. +     El valor del contador cambia cuando ambas entradas A y B cambian. +     Esto corresponde al multiplicador de reloj x2. La frecuencia de la salida +     pulsos es el doble de la frecuencia de los pulsos de entrada A (B). +     La frecuencia de los pulsos de entrada A (B) debe ser menor que la frecuencia de +     el ciclo PLC / 4, de lo contrario habrá pérdidas de pulsos de entrada. +     Un rebote de los pulsos de entrada A (B) debe ser menor que el tiempo de ciclo del PLC / 8. + + La entrada Z puede ser dinámica (activada por flanco) o estática. +     Si el parámetro 'Count per revol' es 0 y la entrada Z está activa, el contador se establece en 0. +     Si el parámetro 'Count per revol' es mayor que 0 y la entrada Z está activa, entonces +     el contador se redondeará a un múltiplo del valor 'Recuento por revolución'. +     Si el parámetro 'Count per revol' es menor que 0, entonces la entrada Z se ignora. + + + Nivel + Logico (Mover) move -> + ^ + | ___ _______ _______ _______ ________ +Entrada A| |_______| |_______| |_______| |_______| + | + | _______ _______ _______ _______ ____ +Entrada B| |_______| |_______| |_______| |_______| + | + | +Entrada Z| _______________________________________________________/\___________ + | + | + | 'Count per revol' es 0 (restablecer el contador) + | +Contador | 0 | | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 0 | | 1 + | + | + | (hay pérdidas de pulsos A, B) 'Count per revol' es 10 (recupera el contador) + | +Contador | 0 | | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | |10 | | 11 + | + --+----------------------------------------------------------------> tiempo + | + + Para simular las entradas A, B, Z: haga doble clic en el nombre de la entrada en la lista +     en la parte inferior de la pantalla. + + Ver para más detalles https://github.com/LDmicro/LDmicro/wiki/Incremental-QUADRATURE-ENCODER + Incremental QUADRATURE ENCODER controls the brightness of the LED (PWM out) + https://github.com/LDmicro/LDmicro/wiki/Incremental-QUADRATURE-ENCODER-controls-the-brightness-of-the-LED-(PWM-out) + + +UNA NOTA SOBRE EL USO DE LAS MATEMÁTICAS +======================================== + +Recuerde que LDmicro realiza solo matemáticas de enteros de 16 bits. Eso significa +que el resultado final de cualquier cálculo que realice debe ser un +entero entre -32768 y 32767. También significa que el intermedio +los resultados de su cálculo deben estar todos dentro de ese rango. + +Por ejemplo, digamos que desea calcular y = (1 / x) * 1200, +donde x está entre 1 y 20. Entonces y va entre 1200 y 60, que +cabe en un número entero de 16 bits, por lo que al menos en teoría es posible +realiza el cálculo Hay dos formas de codificar esto: +puede realizar el recíproco y luego multiplicar: + + || {DIV temp :=} || + ||---------{ 1 / x }----------|| + || || + || {MUL y := } || + ||----------{ temp * 1200}----------|| + || || + +O simplemente puede hacer la división directamente, en un solo paso: + + || {DIV y :=} || + ||-----------{ 1200 / x }-----------|| + +Matemáticamente, estos dos son equivalentes; pero si los pruebas, entonces +encontrará que el primero da un resultado incorrecto de y = 0. Que +es porque la variable 'temp' se desborda. Por ejemplo, cuando x = 3, +(1 / x) = 0.333, pero eso no es un número entero; la operación de división +aproxima esto como temp = 0. Entonces y = temp * 1200 = 0. En el segundo +En caso de que no haya un resultado intermedio para el flujo inferior, todo funciona. + +Si está viendo problemas con sus matemáticas, marque el intermedio +resultados de subdesbordamiento (o desbordamiento, que `se envuelve '; por ejemplo, +32767 + 1 = -32768). Cuando sea posible, elija unidades que pongan valores en +un rango de -100 a 100. + +Cuando necesite escalar una variable por algún factor, hágalo usando una multiplicación +y una división Por ejemplo, para escalar y = 1.8 * x, calcule y = (9/5) * x +(que es lo mismo, ya que 1.8 = 9/5), y codifique esto como y = (9 * x) / 5, +realizando la multiplicación primero: + + || {MUL temp :=} || + ||---------{ x * 9 }----------|| + || || + || {DIV y :=} || + ||-----------{ temp / 5 }-----------|| + +This works for all x < (32767 / 9), or x < 3640. For larger values of x, +the variable `temp' would overflow. There is a similar lower limit on x. + + +ESTILO DE CODIFICACIÓN +====================== + +Permito múltiples bobinas en paralelo en un solo peldaño. Esto significa que +puedes hacer cosas como esta: + + || Xa Ya || + 1 ||-------] [--------------( )-------|| + || || + || Xb Yb || + ||-------] [------+-------( )-------|| + || | || + || | Yc || + || +-------( )-------|| + || || + +En lugar de esto: + + || Xa Ya || + 1 ||-------] [--------------( )-------|| + || || + || || + || || + || || + || Xb Yb || + 2 ||-------] [--------------( )-------|| + || || + || || + || || + || || + || Xb Yc || + 3 ||-------] [--------------( )-------|| + || || + +Esto significa que, en teoría, podría escribir cualquier programa como un peldaño gigante, +y no hay necesidad de usar varios peldaños en absoluto. En la práctica eso +sería una mala idea, porque a medida que los peldaños se vuelven más complejos se vuelven +más difícil de editar sin eliminar y volver a dibujar mucha lógica. + +Aún así, a menudo es una buena idea agrupar la lógica relacionada como una sola +peldaño. Esto genera un código casi idéntico a si hiciste peldaños separados, +pero muestra que están relacionados cuando los miras en la escalera +diagrama. + + * * * + +En general, se considera una forma pobre de escribir código de tal manera que +su salida depende del orden de los peldaños. Por ejemplo, este código +no es muy bueno si tanto Xa como Xb podrían ser ciertos: + + || Xa {v := } || + 1 ||-------] [--------{ 12 MOV}--|| + || || + || Xb {v := } || + ||-------] [--------{ 23 MOV}--|| + || || + || || + || || + || || + || [v >] Yc || + 2 ||------[ 15]-------------( )-------|| + || || + +Romperé esta regla si al hacerlo puedo hacer un código +significativamente más compacto, sin embargo. Por ejemplo, así es como lo haría +Convierta una cantidad binaria de 4 bits en Xb3: 0 en un entero: + + || {v := } || + 3 ||-----------------------------------{ 0 MOV}--|| + || || + || Xb0 {ADD v :=} || + ||-------] [------------------{ v + 1 }-----------|| + || || + || Xb1 {ADD v :=} || + ||-------] [------------------{ v + 2 }-----------|| + || || + || Xb2 {ADD v :=} || + ||-------] [------------------{ v + 4 }-----------|| + || || + || Xb3 {ADD v :=} || + ||-------] [------------------{ v + 8 }-----------|| + || || + +Si la instrucción MOV se movió al final del peldaño en lugar de +arriba, entonces el valor de v cuando se lee en otra parte del programa +ser 0. La salida de este código, por lo tanto, depende del orden en que +Se evalúan las instrucciones. Considerando lo engorroso que sería +para codificar esto de otra manera, acepto eso. + +ABREVIATURAS +============ +PLC - controlador lógico programable. +PWM - modulación de ancho de pulso. +ADC - convertidor analógico a digital. +PCB - placa de circuito impreso + +BUGS +==== + +LDmicro no genera código muy eficiente; es lento de ejecutar y +derrochador de flash y RAM. A pesar de esto, un PIC o AVR de tamaño mediano puede +hacer todo lo que puede hacer un PLC pequeño, por lo que esto no me molesta mucho. + +La longitud máxima de los nombres de variables es muy limitada. Esto es para que +encajan bien en el diagrama de escalera, así que no veo una buena solución +a ese. + +Si su programa es demasiado grande para la hora, memoria de programa o memoria de datos +restricciones del dispositivo que ha elegido, entonces probablemente no lo hará +obtener un error Simplemente se arruinará en alguna parte. + +La programación descuidada en las rutinas de carga / guardado de archivos probablemente lo hace +posible bloquear o ejecutar código arbitrario dado un corrupto o malicioso +archivo .ld. + +Informe errores adicionales o solicitudes de características al autor. + +Gracias a: +    * Marcelo Solano, por informar de un error de interfaz de usuario en Win98 +    * Serge V. Polubarjev, por no solo notar que RA3: 0 en el +      PIC16F628 no funcionó, pero también me dijo cómo solucionarlo +    * Maxim Ibragimov, para informar y diagnosticar problemas importantes +      con los objetivos ATmega16 y ATmega162 hasta entonces no probados +    * Bill Kishonti, por informar que el simulador se bloqueó cuando el +      programa de lógica de escalera dividido por cero +    * Mohamed Tayae, por informar que las variables persistentes se rompieron +      en el PIC16F628 +    * David Rothwell, por informar de varios errores de interfaz de usuario y un +      problema con la función "Exportar como texto" + +COPIA Y DESCARGO DE RESPONSABILIDAD +=================================== + +NO USE EL CÓDIGO GENERADO POR LDMICRO EN APLICACIONES DONDE SOFTWARE +LA FALLA PODRÍA RESULTAR EN PELIGRO PARA LA VIDA HUMANA O DAÑAR LA PROPIEDAD. EL +EL AUTOR NO ASUME NINGUNA RESPONSABILIDAD POR NINGÚN DAÑO RESULTANTE DE LA OPERACIÓN +DE LDMICRO O CÓDIGO GENERADO POR LDMICRO. + +Este programa es software libre: puede redistribuirlo y / o modificarlo +bajo los términos de la Licencia Pública General GNU publicada por el +Free Software Foundation, ya sea la versión 3 de la Licencia, o (a su +opción) cualquier versión posterior. + +Este programa se distribuye con la esperanza de que sea útil, pero +SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD +o APTITUD PARA UN PROPÓSITO EN PARTICULAR. Ver la Licencia Pública General de GNU +para más detalles. + +Debería haber recibido una copia de la Licencia Pública General de GNU junto con +con este programa Si no, ver . + + +Jonathan Westhues + +Rijswijk -- Dec 2004 +Waterloo ON -- Jun, Jul 2005 +Cambridge MA -- Sep, Dec 2005 + Feb, Mar 2006 + Feb 2007 +Seattle WA -- Feb 2009 + +Email: user jwesthues, at host cq.cx + +Soporte LDmicro: + Foro LDmicro: http://cq.cx/ladder-forum.pl + Último lanzamiento: https://github.com/LDmicro/LDmicro/releases + Repositorio: https://github.com/LDmicro/LDmicro + Email: LDmicro.GitHub@gmail.com diff --git a/ldmicro/mcutable.h b/ldmicro/mcutable.h index ef3a20be..c506693a 100644 --- a/ldmicro/mcutable.h +++ b/ldmicro/mcutable.h @@ -450,32 +450,32 @@ McuAdcPinInfo AvrAtmega16or32AdcPinInfo44[] = { McuIoPinInfo AvrAtmega16U4or32U4IoPinInfo44[] = { // port bit pin pinName ArduinoPin ArduinoName // X Leonardo - { 'B', 0, 8, "PB0 (PCINT0/SS)" , 8, "" , 0, 0, 0, 0 }, - { 'B', 1, 9, "PB1 (PCINT1/SCL)" , 9, "" , 0, 0, 0, 0 }, - { 'B', 2, 10, "PB2 (PCINT2/PDI/MOSI)" , 10, "" , 0, 0, 0, 0 }, - { 'B', 3, 11, "PB3 (PCINT3/PDO/MISO)" , 11, "" , 0, 0, 0, 0 }, - { 'B', 4, 28, "PB4 (PCINT4/ADC11)" , 28, "8" , 0, 0, 0, 0 }, - { 'B', 5, 29, "PB5 (PCINT5/OC1A/OC4B/ADC12)" , 29, "9" , 0, 0, 0, 0 }, - { 'B', 6, 30, "PB6 (PCINT6/OC1B/_OC4B/ADC13)", 30, "10", 0, 0, 0, 0 }, - { 'B', 7, 12, "PB7 (PCINT7/OC1C/OC0A/_RTS)" , 12, "11", 0, 0, 0, 0 }, - { 'D', 0, 18, "PD0 (INT0/OC0B/SCL)" , 18, "3" , 0, 0, 0, 0 }, - { 'D', 1, 19, "PD1 (INT1/SDA)" , 19, "2" , 0, 0, 0, 0 }, - { 'D', 2, 20, "PD2 (INT2/RXD1)" , 20, "0" , 0, 0, 0, 0 }, - { 'D', 3, 21, "PD3 (INT3/TXD1)" , 21, "1" , 0, 0, 0, 0 }, - { 'D', 4, 25, "PD4 (ICP1/ADC8)" , 25, "4" , 0, 0, 0, 0 }, - { 'D', 5, 22, "PD5 (XCK1/_CTS)" , 22, "" , 0, 0, 0, 0 }, - { 'D', 6, 26, "PD6 (T1/_OC4D/ADC9)" , 26, "12", 0, 0, 0, 0 }, - { 'D', 7, 27, "PD7 (T0/OC4D/ADC10)" , 27, "6" , 0, 0, 0, 0 }, - { 'C', 6, 31, "PC6 (OC3A/_OC4A)" , 31, "5" , 0, 0, 0, 0 }, - { 'C', 7, 32, "PC7 (ICP3/CLK0/OC4A)" , 32, "13", 0, 0, 0, 0 }, - { 'F', 0, 41, "PF0 (ADC0)" , 41, "A0", 0, 0, 0, 0 }, - { 'F', 1, 40, "PF1 (ADC1)" , 40, "A1", 0, 0, 0, 0 }, - { 'F', 4, 39, "PF4 (ADC4/TCK)" , 39, "A4", 0, 0, 0, 0 }, - { 'F', 5, 38, "PF5 (ADC5/TMS)" , 38, "A5", 0, 0, 0, 0 }, - { 'F', 6, 37, "PF6 (ADC6/TDO)" , 37, "A6", 0, 0, 0, 0 }, - { 'F', 7, 36, "PF7 (ADC7/TDI)" , 36, "A7", 0, 0, 0, 0 }, - { 'E', 2, 33, "PE2 (_HWB)" , 33, "" , 0, 0, 0, 0 }, - { 'E', 6, 1, "PE6 (INT6/AIN0)" , 1, "7" , 0, 0, 0, 0 }, + { 'B', 0, 8, "PB0 (PCINT0/SS)" , 8, "17; //RXLED" , 0, 0, 0, 0 }, + { 'B', 1, 9, "PB1 (PCINT1/SCL)" , 9, "" , 0, 0, 0, 0 }, + { 'B', 2, 10, "PB2 (PCINT2/PDI/MOSI)" , 10, "" , 0, 0, 0, 0 }, + { 'B', 3, 11, "PB3 (PCINT3/PDO/MISO)" , 11, "" , 0, 0, 0, 0 }, + { 'B', 4, 28, "PB4 (PCINT4/ADC11)" , 28, "8" , 0, 0, 0, 0 }, + { 'B', 5, 29, "PB5 (PCINT5/OC1A/OC4B/ADC12)" , 29, "9; //PWM~" , 0, 0, 0, 0 }, + { 'B', 6, 30, "PB6 (PCINT6/OC1B/_OC4B/ADC13)", 30, "10; //PWM~" , 0, 0, 0, 0 }, + { 'B', 7, 12, "PB7 (PCINT7/OC1C/OC0A/_RTS)" , 12, "11; //PWM~" , 0, 0, 0, 0 }, + { 'D', 0, 18, "PD0 (INT0/OC0B/SCL)" , 18, "3; //PWM~" , 0, 0, 0, 0 }, + { 'D', 1, 19, "PD1 (INT1/SDA)" , 19, "2" , 0, 0, 0, 0 }, + { 'D', 2, 20, "PD2 (INT2/RXD1)" , 20, "0" , 0, 0, 0, 0 }, + { 'D', 3, 21, "PD3 (INT3/TXD1)" , 21, "1" , 0, 0, 0, 0 }, + { 'D', 4, 25, "PD4 (ICP1/ADC8)" , 25, "4" , 0, 0, 0, 0 }, + { 'D', 5, 22, "PD5 (XCK1/_CTS)" , 22, "30; //TXLED" , 0, 0, 0, 0 }, + { 'D', 6, 26, "PD6 (T1/_OC4D/ADC9)" , 26, "12" , 0, 0, 0, 0 }, + { 'D', 7, 27, "PD7 (T0/OC4D/ADC10)" , 27, "6; //PWM~" , 0, 0, 0, 0 }, + { 'C', 6, 31, "PC6 (OC3A/_OC4A)" , 31, "5; //PWM~" , 0, 0, 0, 0 }, + { 'C', 7, 32, "PC7 (ICP3/CLK0/OC4A)" , 32, "13; //PWM~ //LED", 0, 0, 0, 0 }, + { 'F', 0, 41, "PF0 (ADC0)" , 41, "A0" , 0, 0, 0, 0 }, + { 'F', 1, 40, "PF1 (ADC1)" , 40, "A1" , 0, 0, 0, 0 }, + { 'F', 4, 39, "PF4 (ADC4/TCK)" , 39, "A4" , 0, 0, 0, 0 }, + { 'F', 5, 38, "PF5 (ADC5/TMS)" , 38, "A5" , 0, 0, 0, 0 }, + { 'F', 6, 37, "PF6 (ADC6/TDO)" , 37, "A6" , 0, 0, 0, 0 }, + { 'F', 7, 36, "PF7 (ADC7/TDI)" , 36, "A7" , 0, 0, 0, 0 }, + { 'E', 2, 33, "PE2 (_HWB)" , 33, "" , 0, 0, 0, 0 }, + { 'E', 6, 1, "PE6 (INT6/AIN0)" , 1, "7" , 0, 0, 0, 0 }, }; McuAdcPinInfo AvrAtmega16U4or32U4AdcPinInfo44[] = { @@ -1096,6 +1096,12 @@ McuI2cInfo McuI2cInfoPic16F877[] = { // NB: All pins for a same I2C peripheral must be on the same port RBX because of PinsForI2cVariable() }; +McuI2cInfo McuI2cInfoPic16F887_44[] = { // For PIC16F877, 887 in 44 TQFP +// name, REG_CTRL, REG_STAT, REG_DATA, REG_RATE, SCL, SDA + { "I2C1", 0, 0, 0, 0, 37, 42 }, // I2C = RC3 + RC4 +// NB: All pins for a same I2C peripheral must be on the same port RBX because of PinsForI2cVariable() +}; + McuI2cInfo McuI2cInfoPic18F4520[] = { // For PIC18F4520 // name, REG_CTRL, REG_STAT, REG_DATA, REG_RATE, SCL, SDA { "I2C", 0, 0, 0, 0, 18, 23 }, // I2C = RC3 + RC4 @@ -1127,6 +1133,14 @@ McuSpiInfo McuSpiInfoPic16F877[] = { }; ///// +// Pic16F887 in 44-TQFP +McuSpiInfo McuSpiInfoPic16F887_44[] = { +// name REG_CTRL REG_STAT REG_DATA MISO MOSI SCK _SS +// PB3 PB2 PB1 PB0 + { "SPI1", 0, 0, 0, 42, 43, 37, 24 }, +}; +///// + // Pic18F4520 McuSpiInfo McuSpiInfoPic18F4520[] = { // name REG_CTRL REG_STAT REG_DATA MISO MOSI SCK _SS @@ -3252,7 +3266,7 @@ McuIoInfo SupportedMcus_[] = { Pic16F887AdcPinInfo44TQFP, arraylen(Pic16F887AdcPinInfo44TQFP), 1023, - { 26, 25 }, + { 1, 44 }, // rxPin; txPin; // 16, ISA_PIC16, MidrangeCore14bit, @@ -3274,10 +3288,10 @@ McuIoInfo SupportedMcus_[] = { arraylen(PicPwmPinInfo44), PicExtIntPinInfo44, arraylen(PicExtIntPinInfo44), - McuSpiInfoPic16F877, - arraylen(McuSpiInfoPic16F877), - McuI2cInfoPic16F877, - arraylen(McuI2cInfoPic16F877), + McuSpiInfoPic16F887_44, + arraylen(McuSpiInfoPic16F887_44), + McuI2cInfoPic16F887_44, + arraylen(McuI2cInfoPic16F887_44), {{0,0}} }, { diff --git a/ldmicro/simpledialog.cpp b/ldmicro/simpledialog.cpp index 6b117ee8..bed2ddec 100644 --- a/ldmicro/simpledialog.cpp +++ b/ldmicro/simpledialog.cpp @@ -1440,10 +1440,12 @@ void ShowQuadEncodDialog(ElemLeaf *l) else inputZ[0] = '\0'; if(strlen(dir)) { - if((dir[0] != 'Y') && (dir[0] != 'R')) - dir[0] = 'Y'; - } else { - dir[0] = '\0'; + if((dir[0] != 'Y') && (dir[0] != 'R')) { + Warning(_("Only 'Y-Outpur Pin' or 'R-Inrenal Relay' are allowed for Output Dir parameter '%s'"), dir); + char s[MAX_NAME_LEN] = "Y"; + strcat(s, dir); + strcpy(dir, s); + } } //TODO: check the available range int32_t val;