# Dispositivo serie

Este objeto permite establecer comunicaciones con dispositivos externos conectados al puerto serie desde una aplicación de Velneo. Para crear un objeto de este tipo seleccionar la opción **nuevo objeto/dispositivo serie** del menú **objetos** de Velneo vDevelop o a través de la galería de objetos.

Las propiedades de este objeto son:

## Identificador

Etiqueta alfanumérica que identifica de forma unívoca al objeto dentro del proyecto. Este identificador será el que usemos para referenciarlo en otras propiedades de otros objetos.

El **identificador** constará de mayúsculas y números exclusivamente. Al identificar de forma unívoca un objeto no puede haber duplicidad.

## Nombre

Etiqueta alfanumérica que servirá como descriptor del objeto. Se usará para presentar información del objeto en otros objetos y en los inspectores.

Podemos definir una etiqueta por cada idioma presente en el proyecto.

## Estilos

Podemos definir el estilo **privado** que limita el acceso del usuario final al objeto desde puntos donde no se haya programado el acceso al mismo.

## Comentarios

Esta propiedad nos permite documentar el uso del objeto.

## Configuración WIN

Esta propiedad nos permite tanto establecer la configuración del dispositivo serie para sistemas operativos Windows así como probar si la comunicación con dicho dispositivo es o no correcta. Para ello pulsaremos el botón que aparece cuando situamos el cursor en esta propiedad, lo que provocará la apertura de una ventana, en la que los parámetros a configurar son:

### Puerto

Que podrá ser un puerto comprendido entre COM1 y COM256. En el rango de puertos seleccionable encontraremos un rango de puertos con el prefijo .\\, que permite, en Windows, abrir puertos de serie COM superiores a COM9 y acceder a más dispositivos desde la misma máquina.

### Baudios

Tendremos que escogerlos de entre una lista prefijada, cuyos valores mínimo y máximo son 110 y 256000, respectivamente.

### DataBits

Bits de datos. Que podrá ser un valor comprendido entre 5 y 8.

### Paridad

Cuyos valores posibles son:

* None.
* Even.
* Odd.
* Space.

### StopBits

Bits de parada. Que podrá ser 1 ó 2.

### FlowControl

Control de flujo. Cuyos valores posibles son:

* None.
* Xon/Xoff.
* Hardware.

## Configuración POSIX

Esta propiedad nos permite tanto establecer la configuración del dispositivo serie para sistemas operativos Linux/Mac OS así como probar si la comunicación con dicho dispositivo es o no correcta. Para ello pulsaremos el botón que aparece cuando situamos el cursor en esta propiedad, lo que provocará la apertura de una ventana, en la que habrá que configurar los parámetros estándar de puerto serie:

### Puerto

Que podrá ser ttyS0 o ttyS1.

### Baudios

Tendremos que escogerlos de entre una lista prefijada, cuyos valores mínimo y máximo son 50 y 115200, respectivamente.

### DataBits

Bits de datos. Que podrá ser un valor comprendido entre 5 y 8.

### Paridad

Cuyos valores posibles son:

* None.
* Even.
* Odd.
* Space.

### StopBits

Bits de parada. Que podrá ser 1 ó 2.

### FlowControl

Control de flujo. Cuyos valores posibles son:

* None.
* Xon/Xoff.
* Hardware.

## Timeout(segs)

Tiempo, en segundos, que quedará a la espera de una respuesta al ejecutarse un comando “Recibir”. Transcurrido ese tiempo, el contenido que haya transmitido el dispositivo será enviado a la aplicación de Velneo para ser procesado. Por ejemplo, si tenemos un timeout de 5 segundos y lanzamos un comando “ls” sobre un dispositivo con un comando “Enviar” y después ejecutamos el comando “Recibir”, puede asegurarse que el comando “Recibir” no finalizará hasta que hayan trascurrido los 5 segundos fijados.

Desde esa misma ventana el usuario también podrá probar si la comunicación con el dispositivo es o no correcta, para ello se pulsará el botón “Test”; al hacerlo se presentará una ventana en la que el usuario podrá establecer el codec a usar, escribir la cadena a enviar al dispositivo serie y pulsar el botón “Enviar”; si el dispositivo envía una respuesta, ésta será mostrada bajo el epígrafe “Recibido”.

Esta ventana nos será de gran utilidad pues nos permitirá comprobar en tiempo de diseño de la aplicación (sin necesidad de haber programado nada), si la configuración del puerto serie es correcta y es posible la comunicación con el dispositivo. Esta operación como paso previo a la programación del tráfico de entrada/salida es muy útil, ya que en caso de haya problemas al ejecutar un proyecto, nos permitirá descartar un problema de configuración, pudiendo centrarnos, por tanto, en la programación para solventar el problema.

Las propiedades Configuración WIN y Configuración POSIX permiten fijar la configuración para el puerto serie de manera totalmente independiente, según se ejecute la aplicación en un entorno Windows o Linux/Mac OS.

En el manejo de puertos serie, observamos que la configuración de Linux Y Mac OS, llamada POSIX es común, esto se debe a que ambos gestionan los puertos serie bajo este mismo estándar, siendo así compatibles.

No obstante es probable que aunque se pueda configurar de distinto modo según la plataforma Windows/POSIX, dicha configuración sea común a ambos si el dispositivo conectado es el mismo.

La interacción con el dispositivo serie deberá establecerse mediante procesos o funciones, usando comandos de instrucción de proceso de [Puerto serie.](/27/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/comunicacion/puerto-serie.md)

Si queremos que la configuración definida en las propiedades de este objeto pueda ser modificada por el usuario final, podremos hacerlo desde un proceso o función, mediante el uso del comando de instrucción **Puerto serie: configurar dispositivo**.

{% hint style="warning" %}
Con el fin de garantizar tanto la estabilidad como la seguridad de [Velneo vServer](/27/velneo-vserver/que-es-velneo-vserver.md) el acceso a dispositivos serie desde procesos ésta permitido solamente en [procesos ](/27/velneo-vdevelop/buenas-practicas-de-programacion/buenas-practicas-de-rendimiento/procesos.md)ejecutados en primer o segundo [plano](/27/velneo-vdevelop/buenas-practicas-de-programacion/buenas-practicas-de-rendimiento/procesos/procesos-1-2-y-3-plano-cuando-usar-cada-uno.md) (ejecución en cliente), no siendo posible hacerlo desde procesos ejecutados en tercer plano (en el servidor).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.velneo.com/27/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-aplicacion/dispositivo-serie.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
