Error 37 Cuando Trato de Escribir al Puerto Paralelo (LPT1) en LabVIEW



Software Primario: LabVIEW Development Systems
Versión de Software Primario: N/A
Versión de Software Primario Corregido: N/A
Software Secundario: N/A

Problema:
Recibo el mensaje "Error -37" (el recurso no es encontrado) en LabVIEW cuando trato de escribir datos al puerto paralelo.
La pagina C-6 del Manual de Referencia para Comunicación con Instrumentos de LabVIEW (320537C-01, Enero 1996) especifica que se puede escribir al puerto paralelo usando el VI Serial Port Write, si se especifica el puerto como número 10. El manual indica que se puede agregar una línea al archivo LabVIEW.ini para asegurarse que el puerto 10 sea la ruta correcta para el puerto paralelo. Dicho archivo esta ubicado en el directorio donde se encuentra instalado LabVIEW. La línea que se tiene que agregar es la siguiente:
serialDevices="COM1; COM2; COM3; COM4; COM5; COM6; COM7; COM8; 
   COM9; COM10; LPT1; LPT2; LPT3; LPT4;"

He intentado insertar esta línea al archivo, pero aun estoy recibiendo el error -37.

Solución:
La siguiente solución es aplicable a LabVIEW 4.x y LabVIEW 5.0. En la versión 5.1 de LabVIEW o en versiones posteriores el archivo serpdrv es incluido automáticamente (el archive daqdrv es incluido también si se crea una aplicación de adquisición de datos) a sus ejecutables. Refiérase al Ayudante para problemas con "Application Builder" que esta enlazado al final de este documento.

En las versiones 4.x y 5.0 de LabVIEW puede adicionar la siguiente línea al final al archive labview.ini:
serialDevices="COM1;COM2;COM3;COM4;COM5;COM6;COM7;COM8;COM9;
   \\.\COM10;LPT1;LPT2;LPT3;LPT4"

Asegurese de no agregar espacios después de los puntos y comas que separan los puertos. Adicionalmente, si usted usa los puertos paralelos, cualquier referencia a un puerto COM mayor que COM9 debe tener los caracteres \\.\ antes de la referencia COM. Por ejemplo, si usted tiene 13 puertos los deberá referenciar de la siguiente manera:
serialDevices="COM1;COM2;COM3;COM4;COM5;COM6;COM7;COM8;COM9;
   \\.\COM10;\\.\COM11;\\.\COM12;\\.\COM13;LPT1;LPT2"

Usted puede utilizar esta notación especial para cada uno de los puertos COM, pero es importante tener en cuenta que esta notación es opcional para los puertos 1-9.

En la pagina C-10 del mismo manual, se especifica que el Puerto LPT1 será el puerto 10 (únicamente para Windows 98/95). Esta afirmación es condicionalmente verdadera porque depende del lugar que el puerto LPT1 sea colocado en la línea de texto de serialDevices. La línea de texto original de serialDevices es:
serialDevices="COM1;COM2;COM3;COM4;COM5;COM6;COM7;COM8;COM9;
   \\.\COM10;LPT1;LPT2;LPT3;LPT4"

LPT1 es el puerto 10 a pesar de ser el onceavo elemento en la cadena. LabVIEW inicia el índice de la cadena en el numero cero.

Modificando la cadena de serialDevices
Usted no tiene que usar LPT1 como su Puerto 10. Si usted desea usar únicamente COM1, COM2 y LPT1 puede modificar los parameteros en la línea de texto de la siguiente manera:
serialDevices="COM1;COM2;LPT1"

En este caso, LPT1 es el puerto 2 debido a que es el tercer elemento en la cadena de caracteres.

Ejecutables Creados en LabVIEW
Si usted esta construyendo un ejecutable utilizando el Creador de Aplicaciones de LabVIEW y desea usar el puerto paralelo, debera crear un archivo .ini para el ejecuable que se cree. Este archivo .ini debera estar ubicado en el mismo directorio que su aplicación. La primera línea de su archivo .ini deberá contener el nombre del ejecutable encerrado por corchetes cuadrados ( [ ] ). El nombre de su ejecutable no deberá incluir la extensión. Si usted no sigue este formato podrá recibir un error -37 al ejecutar su aplicación.

Por ejemplo, si su ejecutable se llama miprograma.exe, deberá crear un archivo llamado miprograma.ini en cual tenga la siguiente primera línea de texto:
[miprograma]

El contenido de este archivo deberá ser el mismo que el archivo labview.ini. La línea de serialDevices deberá ser la misma a menos que la computadora donde se va a ejecutar la aplicación tenga una configuración diferente a la del sistema de desarrollo. Si la configuración de los puertos es diferente en la computadora donde se va ejecutar la aplicación, deberá hacer los cambios pertinentes a su ejecutable y a la línea de serialDevices para reflejar la configuración que será utilizada en esa máquina. El ejecutable deberá comportarse igual que el VI cuando es ejecutado en el ambiente de desarrollo de LabVIEW.

Usted también deberá incluir una copia del archive serpdrv en la carpeta donde se encuentra su ejecutable. Este archivo (serpdrv) se encuentra localizado en la carpeta de LabVIEW. Para mayor información al respecto, refiérase al enlace que se encuentra en la parte de debajo de este documento.

Nota: Las opciones de visualización de archivos en su Windows Explorer pueden estar configuradas para esconder ciertos tipos de archivos. Para poder mostrar todos los archivos, navegué a View»Folder Options»View»Files and Folders»Hidden Files y seleccione Show all files en Windows 98. Windows 95 es un poco diferente pero las opciones son parecidas.

Para escribir al puerto paralelo en LabVIEW 4.x, usted puede necesitar la versión 4013 o posterior del archive serpdrv. .
  1. Ejecute el VI llamado windows serpdrv number (lv\vi.lib\instr\_sersup.llb) para identificar la versión de serpdrv que tiene. .
  2. La versión 4013 del archivo serpdrv se define así mismo como 4012 a pesar que sea en realidad la versión 4013. Verifique que la fecha de la última modificación sea 5/30/97.



Ligas Relacionadas:
Ayudante para problemas con “Application Builder” (En inglés)
KnowledgeBase 0PFEJ3A1: Los VIs para el Puerto Serial no Funcionan Correctamente y Bloquean el Sistema Operativo (En inglés)

Archivos Adjuntos:





Día del Reporte: 04/04/2003
Última Actualización: 02/04/2008
Identificación del Documento: 0ISAJ838